Subversion Repositories shark

Rev

Rev 3 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 pj 1
/*
2
 * Copyright (c) 1997-1999 Massachusetts Institute of Technology
3
 *
4
 * This program is free software; you can redistribute it and/or modify
5
 * it under the terms of the GNU General Public License as published by
6
 * the Free Software Foundation; either version 2 of the License, or
7
 * (at your option) any later version.
8
 *
9
 * This program is distributed in the hope that it will be useful,
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
 * GNU General Public License for more details.
13
 *
14
 * You should have received a copy of the GNU General Public License
15
 * along with this program; if not, write to the Free Software
16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17
 *
18
 */
19
 
20
/* This file was automatically generated --- DO NOT EDIT */
21
/* Generated on Tue May 18 13:55:24 EDT 1999 */
22
 
107 pj 23
#include <fftw-int.h>
24
#include <fftw.h>
2 pj 25
 
26
/* Generated by: ./genfft -magic-alignment-check -magic-twiddle-load-all -magic-variables 4 -magic-loopi -twiddle 32 */
27
 
28
/*
29
 * This function contains 434 FP additions, 208 FP multiplications,
30
 * (or, 340 additions, 114 multiplications, 94 fused multiply/add),
31
 * 90 stack variables, and 128 memory accesses
32
 */
33
static const fftw_real K195090322 = FFTW_KONST(+0.195090322016128267848284868477022240927691618);
34
static const fftw_real K980785280 = FFTW_KONST(+0.980785280403230449126182236134239036973933731);
35
static const fftw_real K831469612 = FFTW_KONST(+0.831469612302545237078788377617905756738560812);
36
static const fftw_real K555570233 = FFTW_KONST(+0.555570233019602224742830813948532874374937191);
37
static const fftw_real K382683432 = FFTW_KONST(+0.382683432365089771728459984030398866761344562);
38
static const fftw_real K923879532 = FFTW_KONST(+0.923879532511286756128183189396788286822416626);
39
static const fftw_real K707106781 = FFTW_KONST(+0.707106781186547524400844362104849039284835938);
40
 
41
/*
42
 * Generator Id's :
107 pj 43
 * $Id: ftw_32.c,v 1.2 2003-03-24 11:14:52 pj Exp $
44
 * $Id: ftw_32.c,v 1.2 2003-03-24 11:14:52 pj Exp $
45
 * $Id: ftw_32.c,v 1.2 2003-03-24 11:14:52 pj Exp $
2 pj 46
 */
47
 
48
void fftw_twiddle_32(fftw_complex *A, const fftw_complex *W, int iostride, int m, int dist)
49
{
50
     int i;
51
     fftw_complex *inout;
52
     inout = A;
53
     for (i = m; i > 0; i = i - 1, inout = inout + dist, W = W + 31) {
54
          fftw_real tmp19;
55
          fftw_real tmp351;
56
          fftw_real tmp472;
57
          fftw_real tmp486;
58
          fftw_real tmp442;
59
          fftw_real tmp456;
60
          fftw_real tmp191;
61
          fftw_real tmp303;
62
          fftw_real tmp161;
63
          fftw_real tmp379;
64
          fftw_real tmp276;
65
          fftw_real tmp326;
66
          fftw_real tmp386;
67
          fftw_real tmp422;
68
          fftw_real tmp259;
69
          fftw_real tmp323;
70
          fftw_real tmp42;
71
          fftw_real tmp455;
72
          fftw_real tmp201;
73
          fftw_real tmp305;
74
          fftw_real tmp354;
75
          fftw_real tmp437;
76
          fftw_real tmp196;
77
          fftw_real tmp304;
78
          fftw_real tmp184;
79
          fftw_real tmp387;
80
          fftw_real tmp382;
81
          fftw_real tmp423;
82
          fftw_real tmp270;
83
          fftw_real tmp327;
84
          fftw_real tmp279;
85
          fftw_real tmp324;
86
          fftw_real tmp66;
87
          fftw_real tmp359;
88
          fftw_real tmp213;
89
          fftw_real tmp309;
90
          fftw_real tmp358;
91
          fftw_real tmp412;
92
          fftw_real tmp208;
93
          fftw_real tmp308;
94
          fftw_real tmp114;
95
          fftw_real tmp373;
96
          fftw_real tmp249;
97
          fftw_real tmp316;
98
          fftw_real tmp370;
99
          fftw_real tmp417;
100
          fftw_real tmp232;
101
          fftw_real tmp319;
102
          fftw_real tmp89;
103
          fftw_real tmp361;
104
          fftw_real tmp224;
105
          fftw_real tmp312;
106
          fftw_real tmp364;
107
          fftw_real tmp413;
108
          fftw_real tmp219;
109
          fftw_real tmp311;
110
          fftw_real tmp137;
111
          fftw_real tmp371;
112
          fftw_real tmp376;
113
          fftw_real tmp418;
114
          fftw_real tmp243;
115
          fftw_real tmp317;
116
          fftw_real tmp252;
117
          fftw_real tmp320;
118
          ASSERT_ALIGNED_DOUBLE();
119
          {
120
               fftw_real tmp1;
121
               fftw_real tmp440;
122
               fftw_real tmp6;
123
               fftw_real tmp439;
124
               fftw_real tmp12;
125
               fftw_real tmp188;
126
               fftw_real tmp17;
127
               fftw_real tmp189;
128
               ASSERT_ALIGNED_DOUBLE();
129
               tmp1 = c_re(inout[0]);
130
               tmp440 = c_im(inout[0]);
131
               {
132
                    fftw_real tmp3;
133
                    fftw_real tmp5;
134
                    fftw_real tmp2;
135
                    fftw_real tmp4;
136
                    ASSERT_ALIGNED_DOUBLE();
137
                    tmp3 = c_re(inout[16 * iostride]);
138
                    tmp5 = c_im(inout[16 * iostride]);
139
                    tmp2 = c_re(W[15]);
140
                    tmp4 = c_im(W[15]);
141
                    tmp6 = (tmp2 * tmp3) - (tmp4 * tmp5);
142
                    tmp439 = (tmp4 * tmp3) + (tmp2 * tmp5);
143
               }
144
               {
145
                    fftw_real tmp9;
146
                    fftw_real tmp11;
147
                    fftw_real tmp8;
148
                    fftw_real tmp10;
149
                    ASSERT_ALIGNED_DOUBLE();
150
                    tmp9 = c_re(inout[8 * iostride]);
151
                    tmp11 = c_im(inout[8 * iostride]);
152
                    tmp8 = c_re(W[7]);
153
                    tmp10 = c_im(W[7]);
154
                    tmp12 = (tmp8 * tmp9) - (tmp10 * tmp11);
155
                    tmp188 = (tmp10 * tmp9) + (tmp8 * tmp11);
156
               }
157
               {
158
                    fftw_real tmp14;
159
                    fftw_real tmp16;
160
                    fftw_real tmp13;
161
                    fftw_real tmp15;
162
                    ASSERT_ALIGNED_DOUBLE();
163
                    tmp14 = c_re(inout[24 * iostride]);
164
                    tmp16 = c_im(inout[24 * iostride]);
165
                    tmp13 = c_re(W[23]);
166
                    tmp15 = c_im(W[23]);
167
                    tmp17 = (tmp13 * tmp14) - (tmp15 * tmp16);
168
                    tmp189 = (tmp15 * tmp14) + (tmp13 * tmp16);
169
               }
170
               {
171
                    fftw_real tmp7;
172
                    fftw_real tmp18;
173
                    fftw_real tmp470;
174
                    fftw_real tmp471;
175
                    ASSERT_ALIGNED_DOUBLE();
176
                    tmp7 = tmp1 + tmp6;
177
                    tmp18 = tmp12 + tmp17;
178
                    tmp19 = tmp7 + tmp18;
179
                    tmp351 = tmp7 - tmp18;
180
                    tmp470 = tmp440 - tmp439;
181
                    tmp471 = tmp12 - tmp17;
182
                    tmp472 = tmp470 - tmp471;
183
                    tmp486 = tmp471 + tmp470;
184
               }
185
               {
186
                    fftw_real tmp438;
187
                    fftw_real tmp441;
188
                    fftw_real tmp187;
189
                    fftw_real tmp190;
190
                    ASSERT_ALIGNED_DOUBLE();
191
                    tmp438 = tmp188 + tmp189;
192
                    tmp441 = tmp439 + tmp440;
193
                    tmp442 = tmp438 + tmp441;
194
                    tmp456 = tmp441 - tmp438;
195
                    tmp187 = tmp1 - tmp6;
196
                    tmp190 = tmp188 - tmp189;
197
                    tmp191 = tmp187 - tmp190;
198
                    tmp303 = tmp187 + tmp190;
199
               }
200
          }
201
          {
202
               fftw_real tmp143;
203
               fftw_real tmp272;
204
               fftw_real tmp159;
205
               fftw_real tmp257;
206
               fftw_real tmp148;
207
               fftw_real tmp273;
208
               fftw_real tmp154;
209
               fftw_real tmp256;
210
               ASSERT_ALIGNED_DOUBLE();
211
               {
212
                    fftw_real tmp140;
213
                    fftw_real tmp142;
214
                    fftw_real tmp139;
215
                    fftw_real tmp141;
216
                    ASSERT_ALIGNED_DOUBLE();
217
                    tmp140 = c_re(inout[31 * iostride]);
218
                    tmp142 = c_im(inout[31 * iostride]);
219
                    tmp139 = c_re(W[30]);
220
                    tmp141 = c_im(W[30]);
221
                    tmp143 = (tmp139 * tmp140) - (tmp141 * tmp142);
222
                    tmp272 = (tmp141 * tmp140) + (tmp139 * tmp142);
223
               }
224
               {
225
                    fftw_real tmp156;
226
                    fftw_real tmp158;
227
                    fftw_real tmp155;
228
                    fftw_real tmp157;
229
                    ASSERT_ALIGNED_DOUBLE();
230
                    tmp156 = c_re(inout[23 * iostride]);
231
                    tmp158 = c_im(inout[23 * iostride]);
232
                    tmp155 = c_re(W[22]);
233
                    tmp157 = c_im(W[22]);
234
                    tmp159 = (tmp155 * tmp156) - (tmp157 * tmp158);
235
                    tmp257 = (tmp157 * tmp156) + (tmp155 * tmp158);
236
               }
237
               {
238
                    fftw_real tmp145;
239
                    fftw_real tmp147;
240
                    fftw_real tmp144;
241
                    fftw_real tmp146;
242
                    ASSERT_ALIGNED_DOUBLE();
243
                    tmp145 = c_re(inout[15 * iostride]);
244
                    tmp147 = c_im(inout[15 * iostride]);
245
                    tmp144 = c_re(W[14]);
246
                    tmp146 = c_im(W[14]);
247
                    tmp148 = (tmp144 * tmp145) - (tmp146 * tmp147);
248
                    tmp273 = (tmp146 * tmp145) + (tmp144 * tmp147);
249
               }
250
               {
251
                    fftw_real tmp151;
252
                    fftw_real tmp153;
253
                    fftw_real tmp150;
254
                    fftw_real tmp152;
255
                    ASSERT_ALIGNED_DOUBLE();
256
                    tmp151 = c_re(inout[7 * iostride]);
257
                    tmp153 = c_im(inout[7 * iostride]);
258
                    tmp150 = c_re(W[6]);
259
                    tmp152 = c_im(W[6]);
260
                    tmp154 = (tmp150 * tmp151) - (tmp152 * tmp153);
261
                    tmp256 = (tmp152 * tmp151) + (tmp150 * tmp153);
262
               }
263
               {
264
                    fftw_real tmp149;
265
                    fftw_real tmp160;
266
                    fftw_real tmp274;
267
                    fftw_real tmp275;
268
                    ASSERT_ALIGNED_DOUBLE();
269
                    tmp149 = tmp143 + tmp148;
270
                    tmp160 = tmp154 + tmp159;
271
                    tmp161 = tmp149 + tmp160;
272
                    tmp379 = tmp149 - tmp160;
273
                    tmp274 = tmp272 - tmp273;
274
                    tmp275 = tmp154 - tmp159;
275
                    tmp276 = tmp274 + tmp275;
276
                    tmp326 = tmp274 - tmp275;
277
               }
278
               {
279
                    fftw_real tmp384;
280
                    fftw_real tmp385;
281
                    fftw_real tmp255;
282
                    fftw_real tmp258;
283
                    ASSERT_ALIGNED_DOUBLE();
284
                    tmp384 = tmp272 + tmp273;
285
                    tmp385 = tmp256 + tmp257;
286
                    tmp386 = tmp384 - tmp385;
287
                    tmp422 = tmp384 + tmp385;
288
                    tmp255 = tmp143 - tmp148;
289
                    tmp258 = tmp256 - tmp257;
290
                    tmp259 = tmp255 - tmp258;
291
                    tmp323 = tmp255 + tmp258;
292
               }
293
          }
294
          {
295
               fftw_real tmp24;
296
               fftw_real tmp192;
297
               fftw_real tmp40;
298
               fftw_real tmp199;
299
               fftw_real tmp29;
300
               fftw_real tmp193;
301
               fftw_real tmp35;
302
               fftw_real tmp198;
303
               ASSERT_ALIGNED_DOUBLE();
304
               {
305
                    fftw_real tmp21;
306
                    fftw_real tmp23;
307
                    fftw_real tmp20;
308
                    fftw_real tmp22;
309
                    ASSERT_ALIGNED_DOUBLE();
310
                    tmp21 = c_re(inout[4 * iostride]);
311
                    tmp23 = c_im(inout[4 * iostride]);
312
                    tmp20 = c_re(W[3]);
313
                    tmp22 = c_im(W[3]);
314
                    tmp24 = (tmp20 * tmp21) - (tmp22 * tmp23);
315
                    tmp192 = (tmp22 * tmp21) + (tmp20 * tmp23);
316
               }
317
               {
318
                    fftw_real tmp37;
319
                    fftw_real tmp39;
320
                    fftw_real tmp36;
321
                    fftw_real tmp38;
322
                    ASSERT_ALIGNED_DOUBLE();
323
                    tmp37 = c_re(inout[12 * iostride]);
324
                    tmp39 = c_im(inout[12 * iostride]);
325
                    tmp36 = c_re(W[11]);
326
                    tmp38 = c_im(W[11]);
327
                    tmp40 = (tmp36 * tmp37) - (tmp38 * tmp39);
328
                    tmp199 = (tmp38 * tmp37) + (tmp36 * tmp39);
329
               }
330
               {
331
                    fftw_real tmp26;
332
                    fftw_real tmp28;
333
                    fftw_real tmp25;
334
                    fftw_real tmp27;
335
                    ASSERT_ALIGNED_DOUBLE();
336
                    tmp26 = c_re(inout[20 * iostride]);
337
                    tmp28 = c_im(inout[20 * iostride]);
338
                    tmp25 = c_re(W[19]);
339
                    tmp27 = c_im(W[19]);
340
                    tmp29 = (tmp25 * tmp26) - (tmp27 * tmp28);
341
                    tmp193 = (tmp27 * tmp26) + (tmp25 * tmp28);
342
               }
343
               {
344
                    fftw_real tmp32;
345
                    fftw_real tmp34;
346
                    fftw_real tmp31;
347
                    fftw_real tmp33;
348
                    ASSERT_ALIGNED_DOUBLE();
349
                    tmp32 = c_re(inout[28 * iostride]);
350
                    tmp34 = c_im(inout[28 * iostride]);
351
                    tmp31 = c_re(W[27]);
352
                    tmp33 = c_im(W[27]);
353
                    tmp35 = (tmp31 * tmp32) - (tmp33 * tmp34);
354
                    tmp198 = (tmp33 * tmp32) + (tmp31 * tmp34);
355
               }
356
               {
357
                    fftw_real tmp30;
358
                    fftw_real tmp41;
359
                    fftw_real tmp197;
360
                    fftw_real tmp200;
361
                    ASSERT_ALIGNED_DOUBLE();
362
                    tmp30 = tmp24 + tmp29;
363
                    tmp41 = tmp35 + tmp40;
364
                    tmp42 = tmp30 + tmp41;
365
                    tmp455 = tmp41 - tmp30;
366
                    tmp197 = tmp35 - tmp40;
367
                    tmp200 = tmp198 - tmp199;
368
                    tmp201 = tmp197 + tmp200;
369
                    tmp305 = tmp197 - tmp200;
370
               }
371
               {
372
                    fftw_real tmp352;
373
                    fftw_real tmp353;
374
                    fftw_real tmp194;
375
                    fftw_real tmp195;
376
                    ASSERT_ALIGNED_DOUBLE();
377
                    tmp352 = tmp192 + tmp193;
378
                    tmp353 = tmp198 + tmp199;
379
                    tmp354 = tmp352 - tmp353;
380
                    tmp437 = tmp352 + tmp353;
381
                    tmp194 = tmp192 - tmp193;
382
                    tmp195 = tmp24 - tmp29;
383
                    tmp196 = tmp194 - tmp195;
384
                    tmp304 = tmp195 + tmp194;
385
               }
386
          }
387
          {
388
               fftw_real tmp166;
389
               fftw_real tmp260;
390
               fftw_real tmp171;
391
               fftw_real tmp261;
392
               fftw_real tmp262;
393
               fftw_real tmp263;
394
               fftw_real tmp177;
395
               fftw_real tmp266;
396
               fftw_real tmp182;
397
               fftw_real tmp267;
398
               fftw_real tmp265;
399
               fftw_real tmp268;
400
               ASSERT_ALIGNED_DOUBLE();
401
               {
402
                    fftw_real tmp163;
403
                    fftw_real tmp165;
404
                    fftw_real tmp162;
405
                    fftw_real tmp164;
406
                    ASSERT_ALIGNED_DOUBLE();
407
                    tmp163 = c_re(inout[3 * iostride]);
408
                    tmp165 = c_im(inout[3 * iostride]);
409
                    tmp162 = c_re(W[2]);
410
                    tmp164 = c_im(W[2]);
411
                    tmp166 = (tmp162 * tmp163) - (tmp164 * tmp165);
412
                    tmp260 = (tmp164 * tmp163) + (tmp162 * tmp165);
413
               }
414
               {
415
                    fftw_real tmp168;
416
                    fftw_real tmp170;
417
                    fftw_real tmp167;
418
                    fftw_real tmp169;
419
                    ASSERT_ALIGNED_DOUBLE();
420
                    tmp168 = c_re(inout[19 * iostride]);
421
                    tmp170 = c_im(inout[19 * iostride]);
422
                    tmp167 = c_re(W[18]);
423
                    tmp169 = c_im(W[18]);
424
                    tmp171 = (tmp167 * tmp168) - (tmp169 * tmp170);
425
                    tmp261 = (tmp169 * tmp168) + (tmp167 * tmp170);
426
               }
427
               tmp262 = tmp260 - tmp261;
428
               tmp263 = tmp166 - tmp171;
429
               {
430
                    fftw_real tmp174;
431
                    fftw_real tmp176;
432
                    fftw_real tmp173;
433
                    fftw_real tmp175;
434
                    ASSERT_ALIGNED_DOUBLE();
435
                    tmp174 = c_re(inout[27 * iostride]);
436
                    tmp176 = c_im(inout[27 * iostride]);
437
                    tmp173 = c_re(W[26]);
438
                    tmp175 = c_im(W[26]);
439
                    tmp177 = (tmp173 * tmp174) - (tmp175 * tmp176);
440
                    tmp266 = (tmp175 * tmp174) + (tmp173 * tmp176);
441
               }
442
               {
443
                    fftw_real tmp179;
444
                    fftw_real tmp181;
445
                    fftw_real tmp178;
446
                    fftw_real tmp180;
447
                    ASSERT_ALIGNED_DOUBLE();
448
                    tmp179 = c_re(inout[11 * iostride]);
449
                    tmp181 = c_im(inout[11 * iostride]);
450
                    tmp178 = c_re(W[10]);
451
                    tmp180 = c_im(W[10]);
452
                    tmp182 = (tmp178 * tmp179) - (tmp180 * tmp181);
453
                    tmp267 = (tmp180 * tmp179) + (tmp178 * tmp181);
454
               }
455
               tmp265 = tmp177 - tmp182;
456
               tmp268 = tmp266 - tmp267;
457
               {
458
                    fftw_real tmp172;
459
                    fftw_real tmp183;
460
                    fftw_real tmp380;
461
                    fftw_real tmp381;
462
                    ASSERT_ALIGNED_DOUBLE();
463
                    tmp172 = tmp166 + tmp171;
464
                    tmp183 = tmp177 + tmp182;
465
                    tmp184 = tmp172 + tmp183;
466
                    tmp387 = tmp183 - tmp172;
467
                    tmp380 = tmp260 + tmp261;
468
                    tmp381 = tmp266 + tmp267;
469
                    tmp382 = tmp380 - tmp381;
470
                    tmp423 = tmp380 + tmp381;
471
               }
472
               {
473
                    fftw_real tmp264;
474
                    fftw_real tmp269;
475
                    fftw_real tmp277;
476
                    fftw_real tmp278;
477
                    ASSERT_ALIGNED_DOUBLE();
478
                    tmp264 = tmp262 - tmp263;
479
                    tmp269 = tmp265 + tmp268;
480
                    tmp270 = K707106781 * (tmp264 - tmp269);
481
                    tmp327 = K707106781 * (tmp264 + tmp269);
482
                    tmp277 = tmp265 - tmp268;
483
                    tmp278 = tmp263 + tmp262;
484
                    tmp279 = K707106781 * (tmp277 - tmp278);
485
                    tmp324 = K707106781 * (tmp278 + tmp277);
486
               }
487
          }
488
          {
489
               fftw_real tmp48;
490
               fftw_real tmp204;
491
               fftw_real tmp64;
492
               fftw_real tmp211;
493
               fftw_real tmp53;
494
               fftw_real tmp205;
495
               fftw_real tmp59;
496
               fftw_real tmp210;
497
               ASSERT_ALIGNED_DOUBLE();
498
               {
499
                    fftw_real tmp45;
500
                    fftw_real tmp47;
501
                    fftw_real tmp44;
502
                    fftw_real tmp46;
503
                    ASSERT_ALIGNED_DOUBLE();
504
                    tmp45 = c_re(inout[2 * iostride]);
505
                    tmp47 = c_im(inout[2 * iostride]);
506
                    tmp44 = c_re(W[1]);
507
                    tmp46 = c_im(W[1]);
508
                    tmp48 = (tmp44 * tmp45) - (tmp46 * tmp47);
509
                    tmp204 = (tmp46 * tmp45) + (tmp44 * tmp47);
510
               }
511
               {
512
                    fftw_real tmp61;
513
                    fftw_real tmp63;
514
                    fftw_real tmp60;
515
                    fftw_real tmp62;
516
                    ASSERT_ALIGNED_DOUBLE();
517
                    tmp61 = c_re(inout[26 * iostride]);
518
                    tmp63 = c_im(inout[26 * iostride]);
519
                    tmp60 = c_re(W[25]);
520
                    tmp62 = c_im(W[25]);
521
                    tmp64 = (tmp60 * tmp61) - (tmp62 * tmp63);
522
                    tmp211 = (tmp62 * tmp61) + (tmp60 * tmp63);
523
               }
524
               {
525
                    fftw_real tmp50;
526
                    fftw_real tmp52;
527
                    fftw_real tmp49;
528
                    fftw_real tmp51;
529
                    ASSERT_ALIGNED_DOUBLE();
530
                    tmp50 = c_re(inout[18 * iostride]);
531
                    tmp52 = c_im(inout[18 * iostride]);
532
                    tmp49 = c_re(W[17]);
533
                    tmp51 = c_im(W[17]);
534
                    tmp53 = (tmp49 * tmp50) - (tmp51 * tmp52);
535
                    tmp205 = (tmp51 * tmp50) + (tmp49 * tmp52);
536
               }
537
               {
538
                    fftw_real tmp56;
539
                    fftw_real tmp58;
540
                    fftw_real tmp55;
541
                    fftw_real tmp57;
542
                    ASSERT_ALIGNED_DOUBLE();
543
                    tmp56 = c_re(inout[10 * iostride]);
544
                    tmp58 = c_im(inout[10 * iostride]);
545
                    tmp55 = c_re(W[9]);
546
                    tmp57 = c_im(W[9]);
547
                    tmp59 = (tmp55 * tmp56) - (tmp57 * tmp58);
548
                    tmp210 = (tmp57 * tmp56) + (tmp55 * tmp58);
549
               }
550
               {
551
                    fftw_real tmp54;
552
                    fftw_real tmp65;
553
                    fftw_real tmp209;
554
                    fftw_real tmp212;
555
                    ASSERT_ALIGNED_DOUBLE();
556
                    tmp54 = tmp48 + tmp53;
557
                    tmp65 = tmp59 + tmp64;
558
                    tmp66 = tmp54 + tmp65;
559
                    tmp359 = tmp54 - tmp65;
560
                    tmp209 = tmp48 - tmp53;
561
                    tmp212 = tmp210 - tmp211;
562
                    tmp213 = tmp209 - tmp212;
563
                    tmp309 = tmp209 + tmp212;
564
               }
565
               {
566
                    fftw_real tmp356;
567
                    fftw_real tmp357;
568
                    fftw_real tmp206;
569
                    fftw_real tmp207;
570
                    ASSERT_ALIGNED_DOUBLE();
571
                    tmp356 = tmp204 + tmp205;
572
                    tmp357 = tmp210 + tmp211;
573
                    tmp358 = tmp356 - tmp357;
574
                    tmp412 = tmp356 + tmp357;
575
                    tmp206 = tmp204 - tmp205;
576
                    tmp207 = tmp59 - tmp64;
577
                    tmp208 = tmp206 + tmp207;
578
                    tmp308 = tmp206 - tmp207;
579
               }
580
          }
581
          {
582
               fftw_real tmp96;
583
               fftw_real tmp228;
584
               fftw_real tmp112;
585
               fftw_real tmp247;
586
               fftw_real tmp101;
587
               fftw_real tmp229;
588
               fftw_real tmp107;
589
               fftw_real tmp246;
590
               ASSERT_ALIGNED_DOUBLE();
591
               {
592
                    fftw_real tmp93;
593
                    fftw_real tmp95;
594
                    fftw_real tmp92;
595
                    fftw_real tmp94;
596
                    ASSERT_ALIGNED_DOUBLE();
597
                    tmp93 = c_re(inout[iostride]);
598
                    tmp95 = c_im(inout[iostride]);
599
                    tmp92 = c_re(W[0]);
600
                    tmp94 = c_im(W[0]);
601
                    tmp96 = (tmp92 * tmp93) - (tmp94 * tmp95);
602
                    tmp228 = (tmp94 * tmp93) + (tmp92 * tmp95);
603
               }
604
               {
605
                    fftw_real tmp109;
606
                    fftw_real tmp111;
607
                    fftw_real tmp108;
608
                    fftw_real tmp110;
609
                    ASSERT_ALIGNED_DOUBLE();
610
                    tmp109 = c_re(inout[25 * iostride]);
611
                    tmp111 = c_im(inout[25 * iostride]);
612
                    tmp108 = c_re(W[24]);
613
                    tmp110 = c_im(W[24]);
614
                    tmp112 = (tmp108 * tmp109) - (tmp110 * tmp111);
615
                    tmp247 = (tmp110 * tmp109) + (tmp108 * tmp111);
616
               }
617
               {
618
                    fftw_real tmp98;
619
                    fftw_real tmp100;
620
                    fftw_real tmp97;
621
                    fftw_real tmp99;
622
                    ASSERT_ALIGNED_DOUBLE();
623
                    tmp98 = c_re(inout[17 * iostride]);
624
                    tmp100 = c_im(inout[17 * iostride]);
625
                    tmp97 = c_re(W[16]);
626
                    tmp99 = c_im(W[16]);
627
                    tmp101 = (tmp97 * tmp98) - (tmp99 * tmp100);
628
                    tmp229 = (tmp99 * tmp98) + (tmp97 * tmp100);
629
               }
630
               {
631
                    fftw_real tmp104;
632
                    fftw_real tmp106;
633
                    fftw_real tmp103;
634
                    fftw_real tmp105;
635
                    ASSERT_ALIGNED_DOUBLE();
636
                    tmp104 = c_re(inout[9 * iostride]);
637
                    tmp106 = c_im(inout[9 * iostride]);
638
                    tmp103 = c_re(W[8]);
639
                    tmp105 = c_im(W[8]);
640
                    tmp107 = (tmp103 * tmp104) - (tmp105 * tmp106);
641
                    tmp246 = (tmp105 * tmp104) + (tmp103 * tmp106);
642
               }
643
               {
644
                    fftw_real tmp102;
645
                    fftw_real tmp113;
646
                    fftw_real tmp245;
647
                    fftw_real tmp248;
648
                    ASSERT_ALIGNED_DOUBLE();
649
                    tmp102 = tmp96 + tmp101;
650
                    tmp113 = tmp107 + tmp112;
651
                    tmp114 = tmp102 + tmp113;
652
                    tmp373 = tmp102 - tmp113;
653
                    tmp245 = tmp96 - tmp101;
654
                    tmp248 = tmp246 - tmp247;
655
                    tmp249 = tmp245 - tmp248;
656
                    tmp316 = tmp245 + tmp248;
657
               }
658
               {
659
                    fftw_real tmp368;
660
                    fftw_real tmp369;
661
                    fftw_real tmp230;
662
                    fftw_real tmp231;
663
                    ASSERT_ALIGNED_DOUBLE();
664
                    tmp368 = tmp228 + tmp229;
665
                    tmp369 = tmp246 + tmp247;
666
                    tmp370 = tmp368 - tmp369;
667
                    tmp417 = tmp368 + tmp369;
668
                    tmp230 = tmp228 - tmp229;
669
                    tmp231 = tmp107 - tmp112;
670
                    tmp232 = tmp230 + tmp231;
671
                    tmp319 = tmp230 - tmp231;
672
               }
673
          }
674
          {
675
               fftw_real tmp71;
676
               fftw_real tmp215;
677
               fftw_real tmp87;
678
               fftw_real tmp222;
679
               fftw_real tmp76;
680
               fftw_real tmp216;
681
               fftw_real tmp82;
682
               fftw_real tmp221;
683
               ASSERT_ALIGNED_DOUBLE();
684
               {
685
                    fftw_real tmp68;
686
                    fftw_real tmp70;
687
                    fftw_real tmp67;
688
                    fftw_real tmp69;
689
                    ASSERT_ALIGNED_DOUBLE();
690
                    tmp68 = c_re(inout[30 * iostride]);
691
                    tmp70 = c_im(inout[30 * iostride]);
692
                    tmp67 = c_re(W[29]);
693
                    tmp69 = c_im(W[29]);
694
                    tmp71 = (tmp67 * tmp68) - (tmp69 * tmp70);
695
                    tmp215 = (tmp69 * tmp68) + (tmp67 * tmp70);
696
               }
697
               {
698
                    fftw_real tmp84;
699
                    fftw_real tmp86;
700
                    fftw_real tmp83;
701
                    fftw_real tmp85;
702
                    ASSERT_ALIGNED_DOUBLE();
703
                    tmp84 = c_re(inout[22 * iostride]);
704
                    tmp86 = c_im(inout[22 * iostride]);
705
                    tmp83 = c_re(W[21]);
706
                    tmp85 = c_im(W[21]);
707
                    tmp87 = (tmp83 * tmp84) - (tmp85 * tmp86);
708
                    tmp222 = (tmp85 * tmp84) + (tmp83 * tmp86);
709
               }
710
               {
711
                    fftw_real tmp73;
712
                    fftw_real tmp75;
713
                    fftw_real tmp72;
714
                    fftw_real tmp74;
715
                    ASSERT_ALIGNED_DOUBLE();
716
                    tmp73 = c_re(inout[14 * iostride]);
717
                    tmp75 = c_im(inout[14 * iostride]);
718
                    tmp72 = c_re(W[13]);
719
                    tmp74 = c_im(W[13]);
720
                    tmp76 = (tmp72 * tmp73) - (tmp74 * tmp75);
721
                    tmp216 = (tmp74 * tmp73) + (tmp72 * tmp75);
722
               }
723
               {
724
                    fftw_real tmp79;
725
                    fftw_real tmp81;
726
                    fftw_real tmp78;
727
                    fftw_real tmp80;
728
                    ASSERT_ALIGNED_DOUBLE();
729
                    tmp79 = c_re(inout[6 * iostride]);
730
                    tmp81 = c_im(inout[6 * iostride]);
731
                    tmp78 = c_re(W[5]);
732
                    tmp80 = c_im(W[5]);
733
                    tmp82 = (tmp78 * tmp79) - (tmp80 * tmp81);
734
                    tmp221 = (tmp80 * tmp79) + (tmp78 * tmp81);
735
               }
736
               {
737
                    fftw_real tmp77;
738
                    fftw_real tmp88;
739
                    fftw_real tmp220;
740
                    fftw_real tmp223;
741
                    ASSERT_ALIGNED_DOUBLE();
742
                    tmp77 = tmp71 + tmp76;
743
                    tmp88 = tmp82 + tmp87;
744
                    tmp89 = tmp77 + tmp88;
745
                    tmp361 = tmp77 - tmp88;
746
                    tmp220 = tmp71 - tmp76;
747
                    tmp223 = tmp221 - tmp222;
748
                    tmp224 = tmp220 - tmp223;
749
                    tmp312 = tmp220 + tmp223;
750
               }
751
               {
752
                    fftw_real tmp362;
753
                    fftw_real tmp363;
754
                    fftw_real tmp217;
755
                    fftw_real tmp218;
756
                    ASSERT_ALIGNED_DOUBLE();
757
                    tmp362 = tmp215 + tmp216;
758
                    tmp363 = tmp221 + tmp222;
759
                    tmp364 = tmp362 - tmp363;
760
                    tmp413 = tmp362 + tmp363;
761
                    tmp217 = tmp215 - tmp216;
762
                    tmp218 = tmp82 - tmp87;
763
                    tmp219 = tmp217 + tmp218;
764
                    tmp311 = tmp217 - tmp218;
765
               }
766
          }
767
          {
768
               fftw_real tmp119;
769
               fftw_real tmp239;
770
               fftw_real tmp124;
771
               fftw_real tmp240;
772
               fftw_real tmp238;
773
               fftw_real tmp241;
774
               fftw_real tmp130;
775
               fftw_real tmp234;
776
               fftw_real tmp135;
777
               fftw_real tmp235;
778
               fftw_real tmp233;
779
               fftw_real tmp236;
780
               ASSERT_ALIGNED_DOUBLE();
781
               {
782
                    fftw_real tmp116;
783
                    fftw_real tmp118;
784
                    fftw_real tmp115;
785
                    fftw_real tmp117;
786
                    ASSERT_ALIGNED_DOUBLE();
787
                    tmp116 = c_re(inout[5 * iostride]);
788
                    tmp118 = c_im(inout[5 * iostride]);
789
                    tmp115 = c_re(W[4]);
790
                    tmp117 = c_im(W[4]);
791
                    tmp119 = (tmp115 * tmp116) - (tmp117 * tmp118);
792
                    tmp239 = (tmp117 * tmp116) + (tmp115 * tmp118);
793
               }
794
               {
795
                    fftw_real tmp121;
796
                    fftw_real tmp123;
797
                    fftw_real tmp120;
798
                    fftw_real tmp122;
799
                    ASSERT_ALIGNED_DOUBLE();
800
                    tmp121 = c_re(inout[21 * iostride]);
801
                    tmp123 = c_im(inout[21 * iostride]);
802
                    tmp120 = c_re(W[20]);
803
                    tmp122 = c_im(W[20]);
804
                    tmp124 = (tmp120 * tmp121) - (tmp122 * tmp123);
805
                    tmp240 = (tmp122 * tmp121) + (tmp120 * tmp123);
806
               }
807
               tmp238 = tmp119 - tmp124;
808
               tmp241 = tmp239 - tmp240;
809
               {
810
                    fftw_real tmp127;
811
                    fftw_real tmp129;
812
                    fftw_real tmp126;
813
                    fftw_real tmp128;
814
                    ASSERT_ALIGNED_DOUBLE();
815
                    tmp127 = c_re(inout[29 * iostride]);
816
                    tmp129 = c_im(inout[29 * iostride]);
817
                    tmp126 = c_re(W[28]);
818
                    tmp128 = c_im(W[28]);
819
                    tmp130 = (tmp126 * tmp127) - (tmp128 * tmp129);
820
                    tmp234 = (tmp128 * tmp127) + (tmp126 * tmp129);
821
               }
822
               {
823
                    fftw_real tmp132;
824
                    fftw_real tmp134;
825
                    fftw_real tmp131;
826
                    fftw_real tmp133;
827
                    ASSERT_ALIGNED_DOUBLE();
828
                    tmp132 = c_re(inout[13 * iostride]);
829
                    tmp134 = c_im(inout[13 * iostride]);
830
                    tmp131 = c_re(W[12]);
831
                    tmp133 = c_im(W[12]);
832
                    tmp135 = (tmp131 * tmp132) - (tmp133 * tmp134);
833
                    tmp235 = (tmp133 * tmp132) + (tmp131 * tmp134);
834
               }
835
               tmp233 = tmp130 - tmp135;
836
               tmp236 = tmp234 - tmp235;
837
               {
838
                    fftw_real tmp125;
839
                    fftw_real tmp136;
840
                    fftw_real tmp374;
841
                    fftw_real tmp375;
842
                    ASSERT_ALIGNED_DOUBLE();
843
                    tmp125 = tmp119 + tmp124;
844
                    tmp136 = tmp130 + tmp135;
845
                    tmp137 = tmp125 + tmp136;
846
                    tmp371 = tmp136 - tmp125;
847
                    tmp374 = tmp239 + tmp240;
848
                    tmp375 = tmp234 + tmp235;
849
                    tmp376 = tmp374 - tmp375;
850
                    tmp418 = tmp374 + tmp375;
851
               }
852
               {
853
                    fftw_real tmp237;
854
                    fftw_real tmp242;
855
                    fftw_real tmp250;
856
                    fftw_real tmp251;
857
                    ASSERT_ALIGNED_DOUBLE();
858
                    tmp237 = tmp233 - tmp236;
859
                    tmp242 = tmp238 + tmp241;
860
                    tmp243 = K707106781 * (tmp237 - tmp242);
861
                    tmp317 = K707106781 * (tmp242 + tmp237);
862
                    tmp250 = tmp241 - tmp238;
863
                    tmp251 = tmp233 + tmp236;
864
                    tmp252 = K707106781 * (tmp250 - tmp251);
865
                    tmp320 = K707106781 * (tmp250 + tmp251);
866
               }
867
          }
868
          {
869
               fftw_real tmp91;
870
               fftw_real tmp431;
871
               fftw_real tmp444;
872
               fftw_real tmp446;
873
               fftw_real tmp186;
874
               fftw_real tmp445;
875
               fftw_real tmp434;
876
               fftw_real tmp435;
877
               ASSERT_ALIGNED_DOUBLE();
878
               {
879
                    fftw_real tmp43;
880
                    fftw_real tmp90;
881
                    fftw_real tmp436;
882
                    fftw_real tmp443;
883
                    ASSERT_ALIGNED_DOUBLE();
884
                    tmp43 = tmp19 + tmp42;
885
                    tmp90 = tmp66 + tmp89;
886
                    tmp91 = tmp43 + tmp90;
887
                    tmp431 = tmp43 - tmp90;
888
                    tmp436 = tmp412 + tmp413;
889
                    tmp443 = tmp437 + tmp442;
890
                    tmp444 = tmp436 + tmp443;
891
                    tmp446 = tmp443 - tmp436;
892
               }
893
               {
894
                    fftw_real tmp138;
895
                    fftw_real tmp185;
896
                    fftw_real tmp432;
897
                    fftw_real tmp433;
898
                    ASSERT_ALIGNED_DOUBLE();
899
                    tmp138 = tmp114 + tmp137;
900
                    tmp185 = tmp161 + tmp184;
901
                    tmp186 = tmp138 + tmp185;
902
                    tmp445 = tmp185 - tmp138;
903
                    tmp432 = tmp417 + tmp418;
904
                    tmp433 = tmp422 + tmp423;
905
                    tmp434 = tmp432 - tmp433;
906
                    tmp435 = tmp432 + tmp433;
907
               }
908
               c_re(inout[16 * iostride]) = tmp91 - tmp186;
909
               c_re(inout[0]) = tmp91 + tmp186;
910
               c_re(inout[24 * iostride]) = tmp431 - tmp434;
911
               c_re(inout[8 * iostride]) = tmp431 + tmp434;
912
               c_im(inout[0]) = tmp435 + tmp444;
913
               c_im(inout[16 * iostride]) = tmp444 - tmp435;
914
               c_im(inout[8 * iostride]) = tmp445 + tmp446;
915
               c_im(inout[24 * iostride]) = tmp446 - tmp445;
916
          }
917
          {
918
               fftw_real tmp415;
919
               fftw_real tmp427;
920
               fftw_real tmp450;
921
               fftw_real tmp452;
922
               fftw_real tmp420;
923
               fftw_real tmp428;
924
               fftw_real tmp425;
925
               fftw_real tmp429;
926
               ASSERT_ALIGNED_DOUBLE();
927
               {
928
                    fftw_real tmp411;
929
                    fftw_real tmp414;
930
                    fftw_real tmp448;
931
                    fftw_real tmp449;
932
                    ASSERT_ALIGNED_DOUBLE();
933
                    tmp411 = tmp19 - tmp42;
934
                    tmp414 = tmp412 - tmp413;
935
                    tmp415 = tmp411 + tmp414;
936
                    tmp427 = tmp411 - tmp414;
937
                    tmp448 = tmp89 - tmp66;
938
                    tmp449 = tmp442 - tmp437;
939
                    tmp450 = tmp448 + tmp449;
940
                    tmp452 = tmp449 - tmp448;
941
               }
942
               {
943
                    fftw_real tmp416;
944
                    fftw_real tmp419;
945
                    fftw_real tmp421;
946
                    fftw_real tmp424;
947
                    ASSERT_ALIGNED_DOUBLE();
948
                    tmp416 = tmp114 - tmp137;
949
                    tmp419 = tmp417 - tmp418;
950
                    tmp420 = tmp416 + tmp419;
951
                    tmp428 = tmp419 - tmp416;
952
                    tmp421 = tmp161 - tmp184;
953
                    tmp424 = tmp422 - tmp423;
954
                    tmp425 = tmp421 - tmp424;
955
                    tmp429 = tmp421 + tmp424;
956
               }
957
               {
958
                    fftw_real tmp426;
959
                    fftw_real tmp451;
960
                    fftw_real tmp430;
961
                    fftw_real tmp447;
962
                    ASSERT_ALIGNED_DOUBLE();
963
                    tmp426 = K707106781 * (tmp420 + tmp425);
964
                    c_re(inout[20 * iostride]) = tmp415 - tmp426;
965
                    c_re(inout[4 * iostride]) = tmp415 + tmp426;
966
                    tmp451 = K707106781 * (tmp425 - tmp420);
967
                    c_im(inout[12 * iostride]) = tmp451 + tmp452;
968
                    c_im(inout[28 * iostride]) = tmp452 - tmp451;
969
                    tmp430 = K707106781 * (tmp428 - tmp429);
970
                    c_re(inout[28 * iostride]) = tmp427 - tmp430;
971
                    c_re(inout[12 * iostride]) = tmp427 + tmp430;
972
                    tmp447 = K707106781 * (tmp428 + tmp429);
973
                    c_im(inout[4 * iostride]) = tmp447 + tmp450;
974
                    c_im(inout[20 * iostride]) = tmp450 - tmp447;
975
               }
976
          }
977
          {
978
               fftw_real tmp355;
979
               fftw_real tmp395;
980
               fftw_real tmp366;
981
               fftw_real tmp454;
982
               fftw_real tmp398;
983
               fftw_real tmp462;
984
               fftw_real tmp378;
985
               fftw_real tmp392;
986
               fftw_real tmp457;
987
               fftw_real tmp463;
988
               fftw_real tmp402;
989
               fftw_real tmp408;
990
               fftw_real tmp389;
991
               fftw_real tmp393;
992
               fftw_real tmp405;
993
               fftw_real tmp409;
994
               ASSERT_ALIGNED_DOUBLE();
995
               {
996
                    fftw_real tmp360;
997
                    fftw_real tmp365;
998
                    fftw_real tmp400;
999
                    fftw_real tmp401;
1000
                    ASSERT_ALIGNED_DOUBLE();
1001
                    tmp355 = tmp351 - tmp354;
1002
                    tmp395 = tmp351 + tmp354;
1003
                    tmp360 = tmp358 - tmp359;
1004
                    tmp365 = tmp361 + tmp364;
1005
                    tmp366 = K707106781 * (tmp360 - tmp365);
1006
                    tmp454 = K707106781 * (tmp360 + tmp365);
1007
                    {
1008
                         fftw_real tmp396;
1009
                         fftw_real tmp397;
1010
                         fftw_real tmp372;
1011
                         fftw_real tmp377;
1012
                         ASSERT_ALIGNED_DOUBLE();
1013
                         tmp396 = tmp359 + tmp358;
1014
                         tmp397 = tmp361 - tmp364;
1015
                         tmp398 = K707106781 * (tmp396 + tmp397);
1016
                         tmp462 = K707106781 * (tmp397 - tmp396);
1017
                         tmp372 = tmp370 - tmp371;
1018
                         tmp377 = tmp373 - tmp376;
1019
                         tmp378 = (K923879532 * tmp372) + (K382683432 * tmp377);
1020
                         tmp392 = (K382683432 * tmp372) - (K923879532 * tmp377);
1021
                    }
1022
                    tmp457 = tmp455 + tmp456;
1023
                    tmp463 = tmp456 - tmp455;
1024
                    tmp400 = tmp370 + tmp371;
1025
                    tmp401 = tmp373 + tmp376;
1026
                    tmp402 = (K382683432 * tmp400) + (K923879532 * tmp401);
1027
                    tmp408 = (K923879532 * tmp400) - (K382683432 * tmp401);
1028
                    {
1029
                         fftw_real tmp383;
1030
                         fftw_real tmp388;
1031
                         fftw_real tmp403;
1032
                         fftw_real tmp404;
1033
                         ASSERT_ALIGNED_DOUBLE();
1034
                         tmp383 = tmp379 - tmp382;
1035
                         tmp388 = tmp386 - tmp387;
1036
                         tmp389 = (K382683432 * tmp383) - (K923879532 * tmp388);
1037
                         tmp393 = (K382683432 * tmp388) + (K923879532 * tmp383);
1038
                         tmp403 = tmp379 + tmp382;
1039
                         tmp404 = tmp386 + tmp387;
1040
                         tmp405 = (K923879532 * tmp403) - (K382683432 * tmp404);
1041
                         tmp409 = (K923879532 * tmp404) + (K382683432 * tmp403);
1042
                    }
1043
               }
1044
               {
1045
                    fftw_real tmp367;
1046
                    fftw_real tmp390;
1047
                    fftw_real tmp391;
1048
                    fftw_real tmp394;
1049
                    ASSERT_ALIGNED_DOUBLE();
1050
                    tmp367 = tmp355 + tmp366;
1051
                    tmp390 = tmp378 + tmp389;
1052
                    c_re(inout[22 * iostride]) = tmp367 - tmp390;
1053
                    c_re(inout[6 * iostride]) = tmp367 + tmp390;
1054
                    tmp391 = tmp355 - tmp366;
1055
                    tmp394 = tmp392 - tmp393;
1056
                    c_re(inout[30 * iostride]) = tmp391 - tmp394;
1057
                    c_re(inout[14 * iostride]) = tmp391 + tmp394;
1058
               }
1059
               {
1060
                    fftw_real tmp461;
1061
                    fftw_real tmp464;
1062
                    fftw_real tmp465;
1063
                    fftw_real tmp466;
1064
                    ASSERT_ALIGNED_DOUBLE();
1065
                    tmp461 = tmp392 + tmp393;
1066
                    tmp464 = tmp462 + tmp463;
1067
                    c_im(inout[6 * iostride]) = tmp461 + tmp464;
1068
                    c_im(inout[22 * iostride]) = tmp464 - tmp461;
1069
                    tmp465 = tmp389 - tmp378;
1070
                    tmp466 = tmp463 - tmp462;
1071
                    c_im(inout[14 * iostride]) = tmp465 + tmp466;
1072
                    c_im(inout[30 * iostride]) = tmp466 - tmp465;
1073
               }
1074
               {
1075
                    fftw_real tmp399;
1076
                    fftw_real tmp406;
1077
                    fftw_real tmp407;
1078
                    fftw_real tmp410;
1079
                    ASSERT_ALIGNED_DOUBLE();
1080
                    tmp399 = tmp395 + tmp398;
1081
                    tmp406 = tmp402 + tmp405;
1082
                    c_re(inout[18 * iostride]) = tmp399 - tmp406;
1083
                    c_re(inout[2 * iostride]) = tmp399 + tmp406;
1084
                    tmp407 = tmp395 - tmp398;
1085
                    tmp410 = tmp408 - tmp409;
1086
                    c_re(inout[26 * iostride]) = tmp407 - tmp410;
1087
                    c_re(inout[10 * iostride]) = tmp407 + tmp410;
1088
               }
1089
               {
1090
                    fftw_real tmp453;
1091
                    fftw_real tmp458;
1092
                    fftw_real tmp459;
1093
                    fftw_real tmp460;
1094
                    ASSERT_ALIGNED_DOUBLE();
1095
                    tmp453 = tmp408 + tmp409;
1096
                    tmp458 = tmp454 + tmp457;
1097
                    c_im(inout[2 * iostride]) = tmp453 + tmp458;
1098
                    c_im(inout[18 * iostride]) = tmp458 - tmp453;
1099
                    tmp459 = tmp405 - tmp402;
1100
                    tmp460 = tmp457 - tmp454;
1101
                    c_im(inout[10 * iostride]) = tmp459 + tmp460;
1102
                    c_im(inout[26 * iostride]) = tmp460 - tmp459;
1103
               }
1104
          }
1105
          {
1106
               fftw_real tmp307;
1107
               fftw_real tmp335;
1108
               fftw_real tmp338;
1109
               fftw_real tmp478;
1110
               fftw_real tmp473;
1111
               fftw_real tmp479;
1112
               fftw_real tmp314;
1113
               fftw_real tmp468;
1114
               fftw_real tmp322;
1115
               fftw_real tmp332;
1116
               fftw_real tmp342;
1117
               fftw_real tmp348;
1118
               fftw_real tmp329;
1119
               fftw_real tmp333;
1120
               fftw_real tmp345;
1121
               fftw_real tmp349;
1122
               ASSERT_ALIGNED_DOUBLE();
1123
               {
1124
                    fftw_real tmp306;
1125
                    fftw_real tmp336;
1126
                    fftw_real tmp337;
1127
                    fftw_real tmp469;
1128
                    fftw_real tmp310;
1129
                    fftw_real tmp313;
1130
                    ASSERT_ALIGNED_DOUBLE();
1131
                    tmp306 = K707106781 * (tmp304 + tmp305);
1132
                    tmp307 = tmp303 - tmp306;
1133
                    tmp335 = tmp303 + tmp306;
1134
                    tmp336 = (K382683432 * tmp308) + (K923879532 * tmp309);
1135
                    tmp337 = (K923879532 * tmp312) - (K382683432 * tmp311);
1136
                    tmp338 = tmp336 + tmp337;
1137
                    tmp478 = tmp337 - tmp336;
1138
                    tmp469 = K707106781 * (tmp196 + tmp201);
1139
                    tmp473 = tmp469 + tmp472;
1140
                    tmp479 = tmp472 - tmp469;
1141
                    tmp310 = (K923879532 * tmp308) - (K382683432 * tmp309);
1142
                    tmp313 = (K923879532 * tmp311) + (K382683432 * tmp312);
1143
                    tmp314 = tmp310 - tmp313;
1144
                    tmp468 = tmp310 + tmp313;
1145
               }
1146
               {
1147
                    fftw_real tmp318;
1148
                    fftw_real tmp321;
1149
                    fftw_real tmp340;
1150
                    fftw_real tmp341;
1151
                    ASSERT_ALIGNED_DOUBLE();
1152
                    tmp318 = tmp316 - tmp317;
1153
                    tmp321 = tmp319 - tmp320;
1154
                    tmp322 = (K555570233 * tmp318) + (K831469612 * tmp321);
1155
                    tmp332 = (K555570233 * tmp321) - (K831469612 * tmp318);
1156
                    tmp340 = tmp316 + tmp317;
1157
                    tmp341 = tmp319 + tmp320;
1158
                    tmp342 = (K980785280 * tmp340) + (K195090322 * tmp341);
1159
                    tmp348 = (K980785280 * tmp341) - (K195090322 * tmp340);
1160
               }
1161
               {
1162
                    fftw_real tmp325;
1163
                    fftw_real tmp328;
1164
                    fftw_real tmp343;
1165
                    fftw_real tmp344;
1166
                    ASSERT_ALIGNED_DOUBLE();
1167
                    tmp325 = tmp323 - tmp324;
1168
                    tmp328 = tmp326 - tmp327;
1169
                    tmp329 = (K555570233 * tmp325) - (K831469612 * tmp328);
1170
                    tmp333 = (K831469612 * tmp325) + (K555570233 * tmp328);
1171
                    tmp343 = tmp323 + tmp324;
1172
                    tmp344 = tmp326 + tmp327;
1173
                    tmp345 = (K980785280 * tmp343) - (K195090322 * tmp344);
1174
                    tmp349 = (K195090322 * tmp343) + (K980785280 * tmp344);
1175
               }
1176
               {
1177
                    fftw_real tmp315;
1178
                    fftw_real tmp330;
1179
                    fftw_real tmp331;
1180
                    fftw_real tmp334;
1181
                    ASSERT_ALIGNED_DOUBLE();
1182
                    tmp315 = tmp307 + tmp314;
1183
                    tmp330 = tmp322 + tmp329;
1184
                    c_re(inout[21 * iostride]) = tmp315 - tmp330;
1185
                    c_re(inout[5 * iostride]) = tmp315 + tmp330;
1186
                    tmp331 = tmp307 - tmp314;
1187
                    tmp334 = tmp332 - tmp333;
1188
                    c_re(inout[29 * iostride]) = tmp331 - tmp334;
1189
                    c_re(inout[13 * iostride]) = tmp331 + tmp334;
1190
               }
1191
               {
1192
                    fftw_real tmp477;
1193
                    fftw_real tmp480;
1194
                    fftw_real tmp481;
1195
                    fftw_real tmp482;
1196
                    ASSERT_ALIGNED_DOUBLE();
1197
                    tmp477 = tmp332 + tmp333;
1198
                    tmp480 = tmp478 + tmp479;
1199
                    c_im(inout[5 * iostride]) = tmp477 + tmp480;
1200
                    c_im(inout[21 * iostride]) = tmp480 - tmp477;
1201
                    tmp481 = tmp329 - tmp322;
1202
                    tmp482 = tmp479 - tmp478;
1203
                    c_im(inout[13 * iostride]) = tmp481 + tmp482;
1204
                    c_im(inout[29 * iostride]) = tmp482 - tmp481;
1205
               }
1206
               {
1207
                    fftw_real tmp339;
1208
                    fftw_real tmp346;
1209
                    fftw_real tmp347;
1210
                    fftw_real tmp350;
1211
                    ASSERT_ALIGNED_DOUBLE();
1212
                    tmp339 = tmp335 + tmp338;
1213
                    tmp346 = tmp342 + tmp345;
1214
                    c_re(inout[17 * iostride]) = tmp339 - tmp346;
1215
                    c_re(inout[iostride]) = tmp339 + tmp346;
1216
                    tmp347 = tmp335 - tmp338;
1217
                    tmp350 = tmp348 - tmp349;
1218
                    c_re(inout[25 * iostride]) = tmp347 - tmp350;
1219
                    c_re(inout[9 * iostride]) = tmp347 + tmp350;
1220
               }
1221
               {
1222
                    fftw_real tmp467;
1223
                    fftw_real tmp474;
1224
                    fftw_real tmp475;
1225
                    fftw_real tmp476;
1226
                    ASSERT_ALIGNED_DOUBLE();
1227
                    tmp467 = tmp348 + tmp349;
1228
                    tmp474 = tmp468 + tmp473;
1229
                    c_im(inout[iostride]) = tmp467 + tmp474;
1230
                    c_im(inout[17 * iostride]) = tmp474 - tmp467;
1231
                    tmp475 = tmp345 - tmp342;
1232
                    tmp476 = tmp473 - tmp468;
1233
                    c_im(inout[9 * iostride]) = tmp475 + tmp476;
1234
                    c_im(inout[25 * iostride]) = tmp476 - tmp475;
1235
               }
1236
          }
1237
          {
1238
               fftw_real tmp203;
1239
               fftw_real tmp287;
1240
               fftw_real tmp290;
1241
               fftw_real tmp492;
1242
               fftw_real tmp487;
1243
               fftw_real tmp493;
1244
               fftw_real tmp226;
1245
               fftw_real tmp484;
1246
               fftw_real tmp254;
1247
               fftw_real tmp284;
1248
               fftw_real tmp294;
1249
               fftw_real tmp300;
1250
               fftw_real tmp281;
1251
               fftw_real tmp285;
1252
               fftw_real tmp297;
1253
               fftw_real tmp301;
1254
               ASSERT_ALIGNED_DOUBLE();
1255
               {
1256
                    fftw_real tmp202;
1257
                    fftw_real tmp288;
1258
                    fftw_real tmp289;
1259
                    fftw_real tmp485;
1260
                    fftw_real tmp214;
1261
                    fftw_real tmp225;
1262
                    ASSERT_ALIGNED_DOUBLE();
1263
                    tmp202 = K707106781 * (tmp196 - tmp201);
1264
                    tmp203 = tmp191 - tmp202;
1265
                    tmp287 = tmp191 + tmp202;
1266
                    tmp288 = (K923879532 * tmp208) + (K382683432 * tmp213);
1267
                    tmp289 = (K382683432 * tmp224) - (K923879532 * tmp219);
1268
                    tmp290 = tmp288 + tmp289;
1269
                    tmp492 = tmp289 - tmp288;
1270
                    tmp485 = K707106781 * (tmp305 - tmp304);
1271
                    tmp487 = tmp485 + tmp486;
1272
                    tmp493 = tmp486 - tmp485;
1273
                    tmp214 = (K382683432 * tmp208) - (K923879532 * tmp213);
1274
                    tmp225 = (K382683432 * tmp219) + (K923879532 * tmp224);
1275
                    tmp226 = tmp214 - tmp225;
1276
                    tmp484 = tmp214 + tmp225;
1277
               }
1278
               {
1279
                    fftw_real tmp244;
1280
                    fftw_real tmp253;
1281
                    fftw_real tmp292;
1282
                    fftw_real tmp293;
1283
                    ASSERT_ALIGNED_DOUBLE();
1284
                    tmp244 = tmp232 - tmp243;
1285
                    tmp253 = tmp249 - tmp252;
1286
                    tmp254 = (K980785280 * tmp244) + (K195090322 * tmp253);
1287
                    tmp284 = (K195090322 * tmp244) - (K980785280 * tmp253);
1288
                    tmp292 = tmp232 + tmp243;
1289
                    tmp293 = tmp249 + tmp252;
1290
                    tmp294 = (K555570233 * tmp292) + (K831469612 * tmp293);
1291
                    tmp300 = (K831469612 * tmp292) - (K555570233 * tmp293);
1292
               }
1293
               {
1294
                    fftw_real tmp271;
1295
                    fftw_real tmp280;
1296
                    fftw_real tmp295;
1297
                    fftw_real tmp296;
1298
                    ASSERT_ALIGNED_DOUBLE();
1299
                    tmp271 = tmp259 - tmp270;
1300
                    tmp280 = tmp276 - tmp279;
1301
                    tmp281 = (K195090322 * tmp271) - (K980785280 * tmp280);
1302
                    tmp285 = (K195090322 * tmp280) + (K980785280 * tmp271);
1303
                    tmp295 = tmp259 + tmp270;
1304
                    tmp296 = tmp276 + tmp279;
1305
                    tmp297 = (K831469612 * tmp295) - (K555570233 * tmp296);
1306
                    tmp301 = (K831469612 * tmp296) + (K555570233 * tmp295);
1307
               }
1308
               {
1309
                    fftw_real tmp227;
1310
                    fftw_real tmp282;
1311
                    fftw_real tmp283;
1312
                    fftw_real tmp286;
1313
                    ASSERT_ALIGNED_DOUBLE();
1314
                    tmp227 = tmp203 + tmp226;
1315
                    tmp282 = tmp254 + tmp281;
1316
                    c_re(inout[23 * iostride]) = tmp227 - tmp282;
1317
                    c_re(inout[7 * iostride]) = tmp227 + tmp282;
1318
                    tmp283 = tmp203 - tmp226;
1319
                    tmp286 = tmp284 - tmp285;
1320
                    c_re(inout[31 * iostride]) = tmp283 - tmp286;
1321
                    c_re(inout[15 * iostride]) = tmp283 + tmp286;
1322
               }
1323
               {
1324
                    fftw_real tmp491;
1325
                    fftw_real tmp494;
1326
                    fftw_real tmp495;
1327
                    fftw_real tmp496;
1328
                    ASSERT_ALIGNED_DOUBLE();
1329
                    tmp491 = tmp284 + tmp285;
1330
                    tmp494 = tmp492 + tmp493;
1331
                    c_im(inout[7 * iostride]) = tmp491 + tmp494;
1332
                    c_im(inout[23 * iostride]) = tmp494 - tmp491;
1333
                    tmp495 = tmp281 - tmp254;
1334
                    tmp496 = tmp493 - tmp492;
1335
                    c_im(inout[15 * iostride]) = tmp495 + tmp496;
1336
                    c_im(inout[31 * iostride]) = tmp496 - tmp495;
1337
               }
1338
               {
1339
                    fftw_real tmp291;
1340
                    fftw_real tmp298;
1341
                    fftw_real tmp299;
1342
                    fftw_real tmp302;
1343
                    ASSERT_ALIGNED_DOUBLE();
1344
                    tmp291 = tmp287 + tmp290;
1345
                    tmp298 = tmp294 + tmp297;
1346
                    c_re(inout[19 * iostride]) = tmp291 - tmp298;
1347
                    c_re(inout[3 * iostride]) = tmp291 + tmp298;
1348
                    tmp299 = tmp287 - tmp290;
1349
                    tmp302 = tmp300 - tmp301;
1350
                    c_re(inout[27 * iostride]) = tmp299 - tmp302;
1351
                    c_re(inout[11 * iostride]) = tmp299 + tmp302;
1352
               }
1353
               {
1354
                    fftw_real tmp483;
1355
                    fftw_real tmp488;
1356
                    fftw_real tmp489;
1357
                    fftw_real tmp490;
1358
                    ASSERT_ALIGNED_DOUBLE();
1359
                    tmp483 = tmp300 + tmp301;
1360
                    tmp488 = tmp484 + tmp487;
1361
                    c_im(inout[3 * iostride]) = tmp483 + tmp488;
1362
                    c_im(inout[19 * iostride]) = tmp488 - tmp483;
1363
                    tmp489 = tmp297 - tmp294;
1364
                    tmp490 = tmp487 - tmp484;
1365
                    c_im(inout[11 * iostride]) = tmp489 + tmp490;
1366
                    c_im(inout[27 * iostride]) = tmp490 - tmp489;
1367
               }
1368
          }
1369
     }
1370
}
1371
 
1372
static const int twiddle_order[] =
1373
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31};
1374
fftw_codelet_desc fftw_twiddle_32_desc =
1375
{
1376
     "fftw_twiddle_32",
1377
     (void (*)()) fftw_twiddle_32,
1378
     32,
1379
     FFTW_FORWARD,
1380
     FFTW_TWIDDLE,
1381
     704,
1382
     31,
1383
     twiddle_order,
1384
};