Subversion Repositories shark

Rev

Rev 3 | Go to most recent revision | 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:54:32 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 -notwiddle 64 */
27
 
28
/*
29
 * This function contains 912 FP additions, 248 FP multiplications,
30
 * (or, 808 additions, 144 multiplications, 104 fused multiply/add),
31
 * 156 stack variables, and 256 memory accesses
32
 */
33
static const fftw_real K555570233 = FFTW_KONST(+0.555570233019602224742830813948532874374937191);
34
static const fftw_real K831469612 = FFTW_KONST(+0.831469612302545237078788377617905756738560812);
35
static const fftw_real K881921264 = FFTW_KONST(+0.881921264348355029712756863660388349508442621);
36
static const fftw_real K471396736 = FFTW_KONST(+0.471396736825997648556387625905254377657460319);
37
static const fftw_real K290284677 = FFTW_KONST(+0.290284677254462367636192375817395274691476278);
38
static const fftw_real K956940335 = FFTW_KONST(+0.956940335732208864935797886980269969482849206);
39
static const fftw_real K980785280 = FFTW_KONST(+0.980785280403230449126182236134239036973933731);
40
static const fftw_real K195090322 = FFTW_KONST(+0.195090322016128267848284868477022240927691618);
41
static const fftw_real K995184726 = FFTW_KONST(+0.995184726672196886244836953109479921575474869);
42
static const fftw_real K098017140 = FFTW_KONST(+0.098017140329560601994195563888641845861136673);
43
static const fftw_real K773010453 = FFTW_KONST(+0.773010453362736960810906609758469800971041293);
44
static const fftw_real K634393284 = FFTW_KONST(+0.634393284163645498215171613225493370675687095);
45
static const fftw_real K923879532 = FFTW_KONST(+0.923879532511286756128183189396788286822416626);
46
static const fftw_real K382683432 = FFTW_KONST(+0.382683432365089771728459984030398866761344562);
47
static const fftw_real K707106781 = FFTW_KONST(+0.707106781186547524400844362104849039284835938);
48
 
49
/*
50
 * Generator Id's :
107 pj 51
 * $Id: fn_64.c,v 1.2 2003-03-24 11:14:50 pj Exp $
52
 * $Id: fn_64.c,v 1.2 2003-03-24 11:14:50 pj Exp $
53
 * $Id: fn_64.c,v 1.2 2003-03-24 11:14:50 pj Exp $
2 pj 54
 */
55
 
56
void fftw_no_twiddle_64(const fftw_complex *input, fftw_complex *output, int istride, int ostride)
57
{
58
     fftw_real tmp193;
59
     fftw_real tmp471;
60
     fftw_real tmp15;
61
     fftw_real tmp815;
62
     fftw_real tmp719;
63
     fftw_real tmp781;
64
     fftw_real tmp142;
65
     fftw_real tmp849;
66
     fftw_real tmp371;
67
     fftw_real tmp537;
68
     fftw_real tmp637;
69
     fftw_real tmp755;
70
     fftw_real tmp200;
71
     fftw_real tmp538;
72
     fftw_real tmp374;
73
     fftw_real tmp472;
74
     fftw_real tmp109;
75
     fftw_real tmp837;
76
     fftw_real tmp693;
77
     fftw_real tmp773;
78
     fftw_real tmp844;
79
     fftw_real tmp892;
80
     fftw_real tmp710;
81
     fftw_real tmp776;
82
     fftw_real tmp329;
83
     fftw_real tmp429;
84
     fftw_real tmp519;
85
     fftw_real tmp593;
86
     fftw_real tmp362;
87
     fftw_real tmp432;
88
     fftw_real tmp530;
89
     fftw_real tmp596;
90
     fftw_real tmp30;
91
     fftw_real tmp850;
92
     fftw_real tmp640;
93
     fftw_real tmp721;
94
     fftw_real tmp157;
95
     fftw_real tmp816;
96
     fftw_real tmp643;
97
     fftw_real tmp720;
98
     fftw_real tmp208;
99
     fftw_real tmp377;
100
     fftw_real tmp476;
101
     fftw_real tmp541;
102
     fftw_real tmp215;
103
     fftw_real tmp376;
104
     fftw_real tmp479;
105
     fftw_real tmp540;
106
     fftw_real tmp124;
107
     fftw_real tmp845;
108
     fftw_real tmp365;
109
     fftw_real tmp430;
110
     fftw_real tmp352;
111
     fftw_real tmp433;
112
     fftw_real tmp840;
113
     fftw_real tmp893;
114
     fftw_real tmp526;
115
     fftw_real tmp597;
116
     fftw_real tmp533;
117
     fftw_real tmp594;
118
     fftw_real tmp704;
119
     fftw_real tmp777;
120
     fftw_real tmp713;
121
     fftw_real tmp774;
122
     fftw_real tmp46;
123
     fftw_real tmp819;
124
     fftw_real tmp648;
125
     fftw_real tmp758;
126
     fftw_real tmp173;
127
     fftw_real tmp818;
128
     fftw_real tmp651;
129
     fftw_real tmp759;
130
     fftw_real tmp228;
131
     fftw_real tmp414;
132
     fftw_real tmp484;
133
     fftw_real tmp578;
134
     fftw_real tmp235;
135
     fftw_real tmp415;
136
     fftw_real tmp487;
137
     fftw_real tmp579;
138
     fftw_real tmp78;
139
     fftw_real tmp831;
140
     fftw_real tmp666;
141
     fftw_real tmp769;
142
     fftw_real tmp828;
143
     fftw_real tmp887;
144
     fftw_real tmp683;
145
     fftw_real tmp766;
146
     fftw_real tmp274;
147
     fftw_real tmp425;
148
     fftw_real tmp500;
149
     fftw_real tmp589;
150
     fftw_real tmp307;
151
     fftw_real tmp422;
152
     fftw_real tmp511;
153
     fftw_real tmp586;
154
     fftw_real tmp61;
155
     fftw_real tmp821;
156
     fftw_real tmp655;
157
     fftw_real tmp761;
158
     fftw_real tmp188;
159
     fftw_real tmp822;
160
     fftw_real tmp658;
161
     fftw_real tmp762;
162
     fftw_real tmp247;
163
     fftw_real tmp417;
164
     fftw_real tmp491;
165
     fftw_real tmp581;
166
     fftw_real tmp254;
167
     fftw_real tmp418;
168
     fftw_real tmp494;
169
     fftw_real tmp582;
170
     fftw_real tmp93;
171
     fftw_real tmp829;
172
     fftw_real tmp310;
173
     fftw_real tmp426;
174
     fftw_real tmp297;
175
     fftw_real tmp423;
176
     fftw_real tmp834;
177
     fftw_real tmp888;
178
     fftw_real tmp507;
179
     fftw_real tmp587;
180
     fftw_real tmp514;
181
     fftw_real tmp590;
182
     fftw_real tmp677;
183
     fftw_real tmp767;
184
     fftw_real tmp686;
185
     fftw_real tmp770;
186
     ASSERT_ALIGNED_DOUBLE();
187
     {
188
          fftw_real tmp3;
189
          fftw_real tmp191;
190
          fftw_real tmp130;
191
          fftw_real tmp370;
192
          fftw_real tmp6;
193
          fftw_real tmp369;
194
          fftw_real tmp133;
195
          fftw_real tmp192;
196
          fftw_real tmp10;
197
          fftw_real tmp195;
198
          fftw_real tmp137;
199
          fftw_real tmp194;
200
          fftw_real tmp13;
201
          fftw_real tmp197;
202
          fftw_real tmp140;
203
          fftw_real tmp198;
204
          ASSERT_ALIGNED_DOUBLE();
205
          {
206
               fftw_real tmp1;
207
               fftw_real tmp2;
208
               fftw_real tmp128;
209
               fftw_real tmp129;
210
               ASSERT_ALIGNED_DOUBLE();
211
               tmp1 = c_re(input[0]);
212
               tmp2 = c_re(input[32 * istride]);
213
               tmp3 = tmp1 + tmp2;
214
               tmp191 = tmp1 - tmp2;
215
               tmp128 = c_im(input[0]);
216
               tmp129 = c_im(input[32 * istride]);
217
               tmp130 = tmp128 + tmp129;
218
               tmp370 = tmp128 - tmp129;
219
          }
220
          {
221
               fftw_real tmp4;
222
               fftw_real tmp5;
223
               fftw_real tmp131;
224
               fftw_real tmp132;
225
               ASSERT_ALIGNED_DOUBLE();
226
               tmp4 = c_re(input[16 * istride]);
227
               tmp5 = c_re(input[48 * istride]);
228
               tmp6 = tmp4 + tmp5;
229
               tmp369 = tmp4 - tmp5;
230
               tmp131 = c_im(input[16 * istride]);
231
               tmp132 = c_im(input[48 * istride]);
232
               tmp133 = tmp131 + tmp132;
233
               tmp192 = tmp131 - tmp132;
234
          }
235
          {
236
               fftw_real tmp8;
237
               fftw_real tmp9;
238
               fftw_real tmp135;
239
               fftw_real tmp136;
240
               ASSERT_ALIGNED_DOUBLE();
241
               tmp8 = c_re(input[8 * istride]);
242
               tmp9 = c_re(input[40 * istride]);
243
               tmp10 = tmp8 + tmp9;
244
               tmp195 = tmp8 - tmp9;
245
               tmp135 = c_im(input[8 * istride]);
246
               tmp136 = c_im(input[40 * istride]);
247
               tmp137 = tmp135 + tmp136;
248
               tmp194 = tmp135 - tmp136;
249
          }
250
          {
251
               fftw_real tmp11;
252
               fftw_real tmp12;
253
               fftw_real tmp138;
254
               fftw_real tmp139;
255
               ASSERT_ALIGNED_DOUBLE();
256
               tmp11 = c_re(input[56 * istride]);
257
               tmp12 = c_re(input[24 * istride]);
258
               tmp13 = tmp11 + tmp12;
259
               tmp197 = tmp11 - tmp12;
260
               tmp138 = c_im(input[56 * istride]);
261
               tmp139 = c_im(input[24 * istride]);
262
               tmp140 = tmp138 + tmp139;
263
               tmp198 = tmp138 - tmp139;
264
          }
265
          {
266
               fftw_real tmp7;
267
               fftw_real tmp14;
268
               fftw_real tmp635;
269
               fftw_real tmp636;
270
               ASSERT_ALIGNED_DOUBLE();
271
               tmp193 = tmp191 - tmp192;
272
               tmp471 = tmp191 + tmp192;
273
               tmp7 = tmp3 + tmp6;
274
               tmp14 = tmp10 + tmp13;
275
               tmp15 = tmp7 + tmp14;
276
               tmp815 = tmp7 - tmp14;
277
               {
278
                    fftw_real tmp717;
279
                    fftw_real tmp718;
280
                    fftw_real tmp134;
281
                    fftw_real tmp141;
282
                    ASSERT_ALIGNED_DOUBLE();
283
                    tmp717 = tmp130 - tmp133;
284
                    tmp718 = tmp13 - tmp10;
285
                    tmp719 = tmp717 - tmp718;
286
                    tmp781 = tmp718 + tmp717;
287
                    tmp134 = tmp130 + tmp133;
288
                    tmp141 = tmp137 + tmp140;
289
                    tmp142 = tmp134 + tmp141;
290
                    tmp849 = tmp134 - tmp141;
291
               }
292
               tmp371 = tmp369 + tmp370;
293
               tmp537 = tmp370 - tmp369;
294
               tmp635 = tmp3 - tmp6;
295
               tmp636 = tmp137 - tmp140;
296
               tmp637 = tmp635 - tmp636;
297
               tmp755 = tmp635 + tmp636;
298
               {
299
                    fftw_real tmp196;
300
                    fftw_real tmp199;
301
                    fftw_real tmp372;
302
                    fftw_real tmp373;
303
                    ASSERT_ALIGNED_DOUBLE();
304
                    tmp196 = tmp194 - tmp195;
305
                    tmp199 = tmp197 + tmp198;
306
                    tmp200 = K707106781 * (tmp196 - tmp199);
307
                    tmp538 = K707106781 * (tmp196 + tmp199);
308
                    tmp372 = tmp197 - tmp198;
309
                    tmp373 = tmp195 + tmp194;
310
                    tmp374 = K707106781 * (tmp372 - tmp373);
311
                    tmp472 = K707106781 * (tmp373 + tmp372);
312
               }
313
          }
314
     }
315
     {
316
          fftw_real tmp97;
317
          fftw_real tmp313;
318
          fftw_real tmp357;
319
          fftw_real tmp706;
320
          fftw_real tmp100;
321
          fftw_real tmp354;
322
          fftw_real tmp316;
323
          fftw_real tmp707;
324
          fftw_real tmp107;
325
          fftw_real tmp691;
326
          fftw_real tmp327;
327
          fftw_real tmp359;
328
          fftw_real tmp104;
329
          fftw_real tmp690;
330
          fftw_real tmp322;
331
          fftw_real tmp360;
332
          ASSERT_ALIGNED_DOUBLE();
333
          {
334
               fftw_real tmp95;
335
               fftw_real tmp96;
336
               fftw_real tmp314;
337
               fftw_real tmp315;
338
               ASSERT_ALIGNED_DOUBLE();
339
               tmp95 = c_re(input[63 * istride]);
340
               tmp96 = c_re(input[31 * istride]);
341
               tmp97 = tmp95 + tmp96;
342
               tmp313 = tmp95 - tmp96;
343
               {
344
                    fftw_real tmp355;
345
                    fftw_real tmp356;
346
                    fftw_real tmp98;
347
                    fftw_real tmp99;
348
                    ASSERT_ALIGNED_DOUBLE();
349
                    tmp355 = c_im(input[63 * istride]);
350
                    tmp356 = c_im(input[31 * istride]);
351
                    tmp357 = tmp355 - tmp356;
352
                    tmp706 = tmp355 + tmp356;
353
                    tmp98 = c_re(input[15 * istride]);
354
                    tmp99 = c_re(input[47 * istride]);
355
                    tmp100 = tmp98 + tmp99;
356
                    tmp354 = tmp98 - tmp99;
357
               }
358
               tmp314 = c_im(input[15 * istride]);
359
               tmp315 = c_im(input[47 * istride]);
360
               tmp316 = tmp314 - tmp315;
361
               tmp707 = tmp314 + tmp315;
362
               {
363
                    fftw_real tmp105;
364
                    fftw_real tmp106;
365
                    fftw_real tmp323;
366
                    fftw_real tmp324;
367
                    fftw_real tmp325;
368
                    fftw_real tmp326;
369
                    ASSERT_ALIGNED_DOUBLE();
370
                    tmp105 = c_re(input[55 * istride]);
371
                    tmp106 = c_re(input[23 * istride]);
372
                    tmp323 = tmp105 - tmp106;
373
                    tmp324 = c_im(input[55 * istride]);
374
                    tmp325 = c_im(input[23 * istride]);
375
                    tmp326 = tmp324 - tmp325;
376
                    tmp107 = tmp105 + tmp106;
377
                    tmp691 = tmp324 + tmp325;
378
                    tmp327 = tmp323 + tmp326;
379
                    tmp359 = tmp323 - tmp326;
380
               }
381
               {
382
                    fftw_real tmp102;
383
                    fftw_real tmp103;
384
                    fftw_real tmp321;
385
                    fftw_real tmp318;
386
                    fftw_real tmp319;
387
                    fftw_real tmp320;
388
                    ASSERT_ALIGNED_DOUBLE();
389
                    tmp102 = c_re(input[7 * istride]);
390
                    tmp103 = c_re(input[39 * istride]);
391
                    tmp321 = tmp102 - tmp103;
392
                    tmp318 = c_im(input[7 * istride]);
393
                    tmp319 = c_im(input[39 * istride]);
394
                    tmp320 = tmp318 - tmp319;
395
                    tmp104 = tmp102 + tmp103;
396
                    tmp690 = tmp318 + tmp319;
397
                    tmp322 = tmp320 - tmp321;
398
                    tmp360 = tmp321 + tmp320;
399
               }
400
          }
401
          {
402
               fftw_real tmp101;
403
               fftw_real tmp108;
404
               fftw_real tmp689;
405
               fftw_real tmp692;
406
               ASSERT_ALIGNED_DOUBLE();
407
               tmp101 = tmp97 + tmp100;
408
               tmp108 = tmp104 + tmp107;
409
               tmp109 = tmp101 + tmp108;
410
               tmp837 = tmp101 - tmp108;
411
               tmp689 = tmp97 - tmp100;
412
               tmp692 = tmp690 - tmp691;
413
               tmp693 = tmp689 - tmp692;
414
               tmp773 = tmp689 + tmp692;
415
          }
416
          {
417
               fftw_real tmp842;
418
               fftw_real tmp843;
419
               fftw_real tmp708;
420
               fftw_real tmp709;
421
               ASSERT_ALIGNED_DOUBLE();
422
               tmp842 = tmp706 + tmp707;
423
               tmp843 = tmp690 + tmp691;
424
               tmp844 = tmp842 - tmp843;
425
               tmp892 = tmp842 + tmp843;
426
               tmp708 = tmp706 - tmp707;
427
               tmp709 = tmp107 - tmp104;
428
               tmp710 = tmp708 - tmp709;
429
               tmp776 = tmp709 + tmp708;
430
          }
431
          {
432
               fftw_real tmp317;
433
               fftw_real tmp328;
434
               fftw_real tmp517;
435
               fftw_real tmp518;
436
               ASSERT_ALIGNED_DOUBLE();
437
               tmp317 = tmp313 - tmp316;
438
               tmp328 = K707106781 * (tmp322 - tmp327);
439
               tmp329 = tmp317 - tmp328;
440
               tmp429 = tmp317 + tmp328;
441
               tmp517 = tmp313 + tmp316;
442
               tmp518 = K707106781 * (tmp360 + tmp359);
443
               tmp519 = tmp517 - tmp518;
444
               tmp593 = tmp517 + tmp518;
445
          }
446
          {
447
               fftw_real tmp358;
448
               fftw_real tmp361;
449
               fftw_real tmp528;
450
               fftw_real tmp529;
451
               ASSERT_ALIGNED_DOUBLE();
452
               tmp358 = tmp354 + tmp357;
453
               tmp361 = K707106781 * (tmp359 - tmp360);
454
               tmp362 = tmp358 - tmp361;
455
               tmp432 = tmp358 + tmp361;
456
               tmp528 = tmp357 - tmp354;
457
               tmp529 = K707106781 * (tmp322 + tmp327);
458
               tmp530 = tmp528 - tmp529;
459
               tmp596 = tmp528 + tmp529;
460
          }
461
     }
462
     {
463
          fftw_real tmp18;
464
          fftw_real tmp205;
465
          fftw_real tmp145;
466
          fftw_real tmp203;
467
          fftw_real tmp21;
468
          fftw_real tmp202;
469
          fftw_real tmp148;
470
          fftw_real tmp206;
471
          fftw_real tmp25;
472
          fftw_real tmp212;
473
          fftw_real tmp152;
474
          fftw_real tmp210;
475
          fftw_real tmp28;
476
          fftw_real tmp209;
477
          fftw_real tmp155;
478
          fftw_real tmp213;
479
          ASSERT_ALIGNED_DOUBLE();
480
          {
481
               fftw_real tmp16;
482
               fftw_real tmp17;
483
               fftw_real tmp143;
484
               fftw_real tmp144;
485
               ASSERT_ALIGNED_DOUBLE();
486
               tmp16 = c_re(input[4 * istride]);
487
               tmp17 = c_re(input[36 * istride]);
488
               tmp18 = tmp16 + tmp17;
489
               tmp205 = tmp16 - tmp17;
490
               tmp143 = c_im(input[4 * istride]);
491
               tmp144 = c_im(input[36 * istride]);
492
               tmp145 = tmp143 + tmp144;
493
               tmp203 = tmp143 - tmp144;
494
          }
495
          {
496
               fftw_real tmp19;
497
               fftw_real tmp20;
498
               fftw_real tmp146;
499
               fftw_real tmp147;
500
               ASSERT_ALIGNED_DOUBLE();
501
               tmp19 = c_re(input[20 * istride]);
502
               tmp20 = c_re(input[52 * istride]);
503
               tmp21 = tmp19 + tmp20;
504
               tmp202 = tmp19 - tmp20;
505
               tmp146 = c_im(input[20 * istride]);
506
               tmp147 = c_im(input[52 * istride]);
507
               tmp148 = tmp146 + tmp147;
508
               tmp206 = tmp146 - tmp147;
509
          }
510
          {
511
               fftw_real tmp23;
512
               fftw_real tmp24;
513
               fftw_real tmp150;
514
               fftw_real tmp151;
515
               ASSERT_ALIGNED_DOUBLE();
516
               tmp23 = c_re(input[60 * istride]);
517
               tmp24 = c_re(input[28 * istride]);
518
               tmp25 = tmp23 + tmp24;
519
               tmp212 = tmp23 - tmp24;
520
               tmp150 = c_im(input[60 * istride]);
521
               tmp151 = c_im(input[28 * istride]);
522
               tmp152 = tmp150 + tmp151;
523
               tmp210 = tmp150 - tmp151;
524
          }
525
          {
526
               fftw_real tmp26;
527
               fftw_real tmp27;
528
               fftw_real tmp153;
529
               fftw_real tmp154;
530
               ASSERT_ALIGNED_DOUBLE();
531
               tmp26 = c_re(input[12 * istride]);
532
               tmp27 = c_re(input[44 * istride]);
533
               tmp28 = tmp26 + tmp27;
534
               tmp209 = tmp26 - tmp27;
535
               tmp153 = c_im(input[12 * istride]);
536
               tmp154 = c_im(input[44 * istride]);
537
               tmp155 = tmp153 + tmp154;
538
               tmp213 = tmp153 - tmp154;
539
          }
540
          {
541
               fftw_real tmp22;
542
               fftw_real tmp29;
543
               fftw_real tmp638;
544
               fftw_real tmp639;
545
               ASSERT_ALIGNED_DOUBLE();
546
               tmp22 = tmp18 + tmp21;
547
               tmp29 = tmp25 + tmp28;
548
               tmp30 = tmp22 + tmp29;
549
               tmp850 = tmp29 - tmp22;
550
               tmp638 = tmp145 - tmp148;
551
               tmp639 = tmp18 - tmp21;
552
               tmp640 = tmp638 - tmp639;
553
               tmp721 = tmp639 + tmp638;
554
          }
555
          {
556
               fftw_real tmp149;
557
               fftw_real tmp156;
558
               fftw_real tmp641;
559
               fftw_real tmp642;
560
               ASSERT_ALIGNED_DOUBLE();
561
               tmp149 = tmp145 + tmp148;
562
               tmp156 = tmp152 + tmp155;
563
               tmp157 = tmp149 + tmp156;
564
               tmp816 = tmp149 - tmp156;
565
               tmp641 = tmp25 - tmp28;
566
               tmp642 = tmp152 - tmp155;
567
               tmp643 = tmp641 + tmp642;
568
               tmp720 = tmp641 - tmp642;
569
          }
570
          {
571
               fftw_real tmp204;
572
               fftw_real tmp207;
573
               fftw_real tmp474;
574
               fftw_real tmp475;
575
               ASSERT_ALIGNED_DOUBLE();
576
               tmp204 = tmp202 + tmp203;
577
               tmp207 = tmp205 - tmp206;
578
               tmp208 = (K382683432 * tmp204) - (K923879532 * tmp207);
579
               tmp377 = (K923879532 * tmp204) + (K382683432 * tmp207);
580
               tmp474 = tmp203 - tmp202;
581
               tmp475 = tmp205 + tmp206;
582
               tmp476 = (K923879532 * tmp474) - (K382683432 * tmp475);
583
               tmp541 = (K382683432 * tmp474) + (K923879532 * tmp475);
584
          }
585
          {
586
               fftw_real tmp211;
587
               fftw_real tmp214;
588
               fftw_real tmp477;
589
               fftw_real tmp478;
590
               ASSERT_ALIGNED_DOUBLE();
591
               tmp211 = tmp209 + tmp210;
592
               tmp214 = tmp212 - tmp213;
593
               tmp215 = (K382683432 * tmp211) + (K923879532 * tmp214);
594
               tmp376 = (K382683432 * tmp214) - (K923879532 * tmp211);
595
               tmp477 = tmp210 - tmp209;
596
               tmp478 = tmp212 + tmp213;
597
               tmp479 = (K923879532 * tmp477) + (K382683432 * tmp478);
598
               tmp540 = (K923879532 * tmp478) - (K382683432 * tmp477);
599
          }
600
     }
601
     {
602
          fftw_real tmp112;
603
          fftw_real tmp694;
604
          fftw_real tmp115;
605
          fftw_real tmp695;
606
          fftw_real tmp334;
607
          fftw_real tmp520;
608
          fftw_real tmp339;
609
          fftw_real tmp521;
610
          fftw_real tmp697;
611
          fftw_real tmp696;
612
          fftw_real tmp119;
613
          fftw_real tmp700;
614
          fftw_real tmp122;
615
          fftw_real tmp701;
616
          fftw_real tmp345;
617
          fftw_real tmp523;
618
          fftw_real tmp350;
619
          fftw_real tmp524;
620
          fftw_real tmp702;
621
          fftw_real tmp699;
622
          ASSERT_ALIGNED_DOUBLE();
623
          {
624
               fftw_real tmp335;
625
               fftw_real tmp333;
626
               fftw_real tmp330;
627
               fftw_real tmp338;
628
               ASSERT_ALIGNED_DOUBLE();
629
               {
630
                    fftw_real tmp110;
631
                    fftw_real tmp111;
632
                    fftw_real tmp331;
633
                    fftw_real tmp332;
634
                    ASSERT_ALIGNED_DOUBLE();
635
                    tmp110 = c_re(input[3 * istride]);
636
                    tmp111 = c_re(input[35 * istride]);
637
                    tmp112 = tmp110 + tmp111;
638
                    tmp335 = tmp110 - tmp111;
639
                    tmp331 = c_im(input[3 * istride]);
640
                    tmp332 = c_im(input[35 * istride]);
641
                    tmp333 = tmp331 - tmp332;
642
                    tmp694 = tmp331 + tmp332;
643
               }
644
               {
645
                    fftw_real tmp113;
646
                    fftw_real tmp114;
647
                    fftw_real tmp336;
648
                    fftw_real tmp337;
649
                    ASSERT_ALIGNED_DOUBLE();
650
                    tmp113 = c_re(input[19 * istride]);
651
                    tmp114 = c_re(input[51 * istride]);
652
                    tmp115 = tmp113 + tmp114;
653
                    tmp330 = tmp113 - tmp114;
654
                    tmp336 = c_im(input[19 * istride]);
655
                    tmp337 = c_im(input[51 * istride]);
656
                    tmp338 = tmp336 - tmp337;
657
                    tmp695 = tmp336 + tmp337;
658
               }
659
               tmp334 = tmp330 + tmp333;
660
               tmp520 = tmp333 - tmp330;
661
               tmp339 = tmp335 - tmp338;
662
               tmp521 = tmp335 + tmp338;
663
               tmp697 = tmp112 - tmp115;
664
               tmp696 = tmp694 - tmp695;
665
          }
666
          {
667
               fftw_real tmp346;
668
               fftw_real tmp344;
669
               fftw_real tmp341;
670
               fftw_real tmp349;
671
               ASSERT_ALIGNED_DOUBLE();
672
               {
673
                    fftw_real tmp117;
674
                    fftw_real tmp118;
675
                    fftw_real tmp342;
676
                    fftw_real tmp343;
677
                    ASSERT_ALIGNED_DOUBLE();
678
                    tmp117 = c_re(input[59 * istride]);
679
                    tmp118 = c_re(input[27 * istride]);
680
                    tmp119 = tmp117 + tmp118;
681
                    tmp346 = tmp117 - tmp118;
682
                    tmp342 = c_im(input[59 * istride]);
683
                    tmp343 = c_im(input[27 * istride]);
684
                    tmp344 = tmp342 - tmp343;
685
                    tmp700 = tmp342 + tmp343;
686
               }
687
               {
688
                    fftw_real tmp120;
689
                    fftw_real tmp121;
690
                    fftw_real tmp347;
691
                    fftw_real tmp348;
692
                    ASSERT_ALIGNED_DOUBLE();
693
                    tmp120 = c_re(input[11 * istride]);
694
                    tmp121 = c_re(input[43 * istride]);
695
                    tmp122 = tmp120 + tmp121;
696
                    tmp341 = tmp120 - tmp121;
697
                    tmp347 = c_im(input[11 * istride]);
698
                    tmp348 = c_im(input[43 * istride]);
699
                    tmp349 = tmp347 - tmp348;
700
                    tmp701 = tmp347 + tmp348;
701
               }
702
               tmp345 = tmp341 + tmp344;
703
               tmp523 = tmp344 - tmp341;
704
               tmp350 = tmp346 - tmp349;
705
               tmp524 = tmp346 + tmp349;
706
               tmp702 = tmp700 - tmp701;
707
               tmp699 = tmp119 - tmp122;
708
          }
709
          {
710
               fftw_real tmp116;
711
               fftw_real tmp123;
712
               fftw_real tmp363;
713
               fftw_real tmp364;
714
               ASSERT_ALIGNED_DOUBLE();
715
               tmp116 = tmp112 + tmp115;
716
               tmp123 = tmp119 + tmp122;
717
               tmp124 = tmp116 + tmp123;
718
               tmp845 = tmp123 - tmp116;
719
               tmp363 = (K382683432 * tmp350) - (K923879532 * tmp345);
720
               tmp364 = (K923879532 * tmp334) + (K382683432 * tmp339);
721
               tmp365 = tmp363 - tmp364;
722
               tmp430 = tmp364 + tmp363;
723
          }
724
          {
725
               fftw_real tmp340;
726
               fftw_real tmp351;
727
               fftw_real tmp838;
728
               fftw_real tmp839;
729
               ASSERT_ALIGNED_DOUBLE();
730
               tmp340 = (K382683432 * tmp334) - (K923879532 * tmp339);
731
               tmp351 = (K382683432 * tmp345) + (K923879532 * tmp350);
732
               tmp352 = tmp340 - tmp351;
733
               tmp433 = tmp340 + tmp351;
734
               tmp838 = tmp694 + tmp695;
735
               tmp839 = tmp700 + tmp701;
736
               tmp840 = tmp838 - tmp839;
737
               tmp893 = tmp838 + tmp839;
738
          }
739
          {
740
               fftw_real tmp522;
741
               fftw_real tmp525;
742
               fftw_real tmp531;
743
               fftw_real tmp532;
744
               ASSERT_ALIGNED_DOUBLE();
745
               tmp522 = (K923879532 * tmp520) - (K382683432 * tmp521);
746
               tmp525 = (K923879532 * tmp523) + (K382683432 * tmp524);
747
               tmp526 = tmp522 - tmp525;
748
               tmp597 = tmp522 + tmp525;
749
               tmp531 = (K923879532 * tmp524) - (K382683432 * tmp523);
750
               tmp532 = (K382683432 * tmp520) + (K923879532 * tmp521);
751
               tmp533 = tmp531 - tmp532;
752
               tmp594 = tmp532 + tmp531;
753
          }
754
          {
755
               fftw_real tmp698;
756
               fftw_real tmp703;
757
               fftw_real tmp711;
758
               fftw_real tmp712;
759
               ASSERT_ALIGNED_DOUBLE();
760
               tmp698 = tmp696 - tmp697;
761
               tmp703 = tmp699 + tmp702;
762
               tmp704 = K707106781 * (tmp698 - tmp703);
763
               tmp777 = K707106781 * (tmp698 + tmp703);
764
               tmp711 = tmp699 - tmp702;
765
               tmp712 = tmp697 + tmp696;
766
               tmp713 = K707106781 * (tmp711 - tmp712);
767
               tmp774 = K707106781 * (tmp712 + tmp711);
768
          }
769
     }
770
     {
771
          fftw_real tmp34;
772
          fftw_real tmp229;
773
          fftw_real tmp161;
774
          fftw_real tmp219;
775
          fftw_real tmp37;
776
          fftw_real tmp218;
777
          fftw_real tmp164;
778
          fftw_real tmp230;
779
          fftw_real tmp44;
780
          fftw_real tmp233;
781
          fftw_real tmp223;
782
          fftw_real tmp171;
783
          fftw_real tmp41;
784
          fftw_real tmp232;
785
          fftw_real tmp226;
786
          fftw_real tmp168;
787
          ASSERT_ALIGNED_DOUBLE();
788
          {
789
               fftw_real tmp32;
790
               fftw_real tmp33;
791
               fftw_real tmp162;
792
               fftw_real tmp163;
793
               ASSERT_ALIGNED_DOUBLE();
794
               tmp32 = c_re(input[2 * istride]);
795
               tmp33 = c_re(input[34 * istride]);
796
               tmp34 = tmp32 + tmp33;
797
               tmp229 = tmp32 - tmp33;
798
               {
799
                    fftw_real tmp159;
800
                    fftw_real tmp160;
801
                    fftw_real tmp35;
802
                    fftw_real tmp36;
803
                    ASSERT_ALIGNED_DOUBLE();
804
                    tmp159 = c_im(input[2 * istride]);
805
                    tmp160 = c_im(input[34 * istride]);
806
                    tmp161 = tmp159 + tmp160;
807
                    tmp219 = tmp159 - tmp160;
808
                    tmp35 = c_re(input[18 * istride]);
809
                    tmp36 = c_re(input[50 * istride]);
810
                    tmp37 = tmp35 + tmp36;
811
                    tmp218 = tmp35 - tmp36;
812
               }
813
               tmp162 = c_im(input[18 * istride]);
814
               tmp163 = c_im(input[50 * istride]);
815
               tmp164 = tmp162 + tmp163;
816
               tmp230 = tmp162 - tmp163;
817
               {
818
                    fftw_real tmp42;
819
                    fftw_real tmp43;
820
                    fftw_real tmp221;
821
                    fftw_real tmp169;
822
                    fftw_real tmp170;
823
                    fftw_real tmp222;
824
                    ASSERT_ALIGNED_DOUBLE();
825
                    tmp42 = c_re(input[58 * istride]);
826
                    tmp43 = c_re(input[26 * istride]);
827
                    tmp221 = tmp42 - tmp43;
828
                    tmp169 = c_im(input[58 * istride]);
829
                    tmp170 = c_im(input[26 * istride]);
830
                    tmp222 = tmp169 - tmp170;
831
                    tmp44 = tmp42 + tmp43;
832
                    tmp233 = tmp221 + tmp222;
833
                    tmp223 = tmp221 - tmp222;
834
                    tmp171 = tmp169 + tmp170;
835
               }
836
               {
837
                    fftw_real tmp39;
838
                    fftw_real tmp40;
839
                    fftw_real tmp224;
840
                    fftw_real tmp166;
841
                    fftw_real tmp167;
842
                    fftw_real tmp225;
843
                    ASSERT_ALIGNED_DOUBLE();
844
                    tmp39 = c_re(input[10 * istride]);
845
                    tmp40 = c_re(input[42 * istride]);
846
                    tmp224 = tmp39 - tmp40;
847
                    tmp166 = c_im(input[10 * istride]);
848
                    tmp167 = c_im(input[42 * istride]);
849
                    tmp225 = tmp166 - tmp167;
850
                    tmp41 = tmp39 + tmp40;
851
                    tmp232 = tmp225 - tmp224;
852
                    tmp226 = tmp224 + tmp225;
853
                    tmp168 = tmp166 + tmp167;
854
               }
855
          }
856
          {
857
               fftw_real tmp38;
858
               fftw_real tmp45;
859
               fftw_real tmp646;
860
               fftw_real tmp647;
861
               ASSERT_ALIGNED_DOUBLE();
862
               tmp38 = tmp34 + tmp37;
863
               tmp45 = tmp41 + tmp44;
864
               tmp46 = tmp38 + tmp45;
865
               tmp819 = tmp38 - tmp45;
866
               tmp646 = tmp161 - tmp164;
867
               tmp647 = tmp44 - tmp41;
868
               tmp648 = tmp646 - tmp647;
869
               tmp758 = tmp647 + tmp646;
870
          }
871
          {
872
               fftw_real tmp165;
873
               fftw_real tmp172;
874
               fftw_real tmp649;
875
               fftw_real tmp650;
876
               ASSERT_ALIGNED_DOUBLE();
877
               tmp165 = tmp161 + tmp164;
878
               tmp172 = tmp168 + tmp171;
879
               tmp173 = tmp165 + tmp172;
880
               tmp818 = tmp165 - tmp172;
881
               tmp649 = tmp34 - tmp37;
882
               tmp650 = tmp168 - tmp171;
883
               tmp651 = tmp649 - tmp650;
884
               tmp759 = tmp649 + tmp650;
885
          }
886
          {
887
               fftw_real tmp220;
888
               fftw_real tmp227;
889
               fftw_real tmp482;
890
               fftw_real tmp483;
891
               ASSERT_ALIGNED_DOUBLE();
892
               tmp220 = tmp218 + tmp219;
893
               tmp227 = K707106781 * (tmp223 - tmp226);
894
               tmp228 = tmp220 - tmp227;
895
               tmp414 = tmp220 + tmp227;
896
               tmp482 = tmp219 - tmp218;
897
               tmp483 = K707106781 * (tmp232 + tmp233);
898
               tmp484 = tmp482 - tmp483;
899
               tmp578 = tmp482 + tmp483;
900
          }
901
          {
902
               fftw_real tmp231;
903
               fftw_real tmp234;
904
               fftw_real tmp485;
905
               fftw_real tmp486;
906
               ASSERT_ALIGNED_DOUBLE();
907
               tmp231 = tmp229 - tmp230;
908
               tmp234 = K707106781 * (tmp232 - tmp233);
909
               tmp235 = tmp231 - tmp234;
910
               tmp415 = tmp231 + tmp234;
911
               tmp485 = tmp229 + tmp230;
912
               tmp486 = K707106781 * (tmp226 + tmp223);
913
               tmp487 = tmp485 - tmp486;
914
               tmp579 = tmp485 + tmp486;
915
          }
916
     }
917
     {
918
          fftw_real tmp66;
919
          fftw_real tmp299;
920
          fftw_real tmp261;
921
          fftw_real tmp662;
922
          fftw_real tmp69;
923
          fftw_real tmp258;
924
          fftw_real tmp302;
925
          fftw_real tmp663;
926
          fftw_real tmp76;
927
          fftw_real tmp681;
928
          fftw_real tmp267;
929
          fftw_real tmp305;
930
          fftw_real tmp73;
931
          fftw_real tmp680;
932
          fftw_real tmp272;
933
          fftw_real tmp304;
934
          ASSERT_ALIGNED_DOUBLE();
935
          {
936
               fftw_real tmp64;
937
               fftw_real tmp65;
938
               fftw_real tmp300;
939
               fftw_real tmp301;
940
               ASSERT_ALIGNED_DOUBLE();
941
               tmp64 = c_re(input[istride]);
942
               tmp65 = c_re(input[33 * istride]);
943
               tmp66 = tmp64 + tmp65;
944
               tmp299 = tmp64 - tmp65;
945
               {
946
                    fftw_real tmp259;
947
                    fftw_real tmp260;
948
                    fftw_real tmp67;
949
                    fftw_real tmp68;
950
                    ASSERT_ALIGNED_DOUBLE();
951
                    tmp259 = c_im(input[istride]);
952
                    tmp260 = c_im(input[33 * istride]);
953
                    tmp261 = tmp259 - tmp260;
954
                    tmp662 = tmp259 + tmp260;
955
                    tmp67 = c_re(input[17 * istride]);
956
                    tmp68 = c_re(input[49 * istride]);
957
                    tmp69 = tmp67 + tmp68;
958
                    tmp258 = tmp67 - tmp68;
959
               }
960
               tmp300 = c_im(input[17 * istride]);
961
               tmp301 = c_im(input[49 * istride]);
962
               tmp302 = tmp300 - tmp301;
963
               tmp663 = tmp300 + tmp301;
964
               {
965
                    fftw_real tmp74;
966
                    fftw_real tmp75;
967
                    fftw_real tmp263;
968
                    fftw_real tmp264;
969
                    fftw_real tmp265;
970
                    fftw_real tmp266;
971
                    ASSERT_ALIGNED_DOUBLE();
972
                    tmp74 = c_re(input[57 * istride]);
973
                    tmp75 = c_re(input[25 * istride]);
974
                    tmp263 = tmp74 - tmp75;
975
                    tmp264 = c_im(input[57 * istride]);
976
                    tmp265 = c_im(input[25 * istride]);
977
                    tmp266 = tmp264 - tmp265;
978
                    tmp76 = tmp74 + tmp75;
979
                    tmp681 = tmp264 + tmp265;
980
                    tmp267 = tmp263 - tmp266;
981
                    tmp305 = tmp263 + tmp266;
982
               }
983
               {
984
                    fftw_real tmp71;
985
                    fftw_real tmp72;
986
                    fftw_real tmp268;
987
                    fftw_real tmp269;
988
                    fftw_real tmp270;
989
                    fftw_real tmp271;
990
                    ASSERT_ALIGNED_DOUBLE();
991
                    tmp71 = c_re(input[9 * istride]);
992
                    tmp72 = c_re(input[41 * istride]);
993
                    tmp268 = tmp71 - tmp72;
994
                    tmp269 = c_im(input[9 * istride]);
995
                    tmp270 = c_im(input[41 * istride]);
996
                    tmp271 = tmp269 - tmp270;
997
                    tmp73 = tmp71 + tmp72;
998
                    tmp680 = tmp269 + tmp270;
999
                    tmp272 = tmp268 + tmp271;
1000
                    tmp304 = tmp271 - tmp268;
1001
               }
1002
          }
1003
          {
1004
               fftw_real tmp70;
1005
               fftw_real tmp77;
1006
               fftw_real tmp664;
1007
               fftw_real tmp665;
1008
               ASSERT_ALIGNED_DOUBLE();
1009
               tmp70 = tmp66 + tmp69;
1010
               tmp77 = tmp73 + tmp76;
1011
               tmp78 = tmp70 + tmp77;
1012
               tmp831 = tmp70 - tmp77;
1013
               tmp664 = tmp662 - tmp663;
1014
               tmp665 = tmp76 - tmp73;
1015
               tmp666 = tmp664 - tmp665;
1016
               tmp769 = tmp665 + tmp664;
1017
          }
1018
          {
1019
               fftw_real tmp826;
1020
               fftw_real tmp827;
1021
               fftw_real tmp679;
1022
               fftw_real tmp682;
1023
               ASSERT_ALIGNED_DOUBLE();
1024
               tmp826 = tmp662 + tmp663;
1025
               tmp827 = tmp680 + tmp681;
1026
               tmp828 = tmp826 - tmp827;
1027
               tmp887 = tmp826 + tmp827;
1028
               tmp679 = tmp66 - tmp69;
1029
               tmp682 = tmp680 - tmp681;
1030
               tmp683 = tmp679 - tmp682;
1031
               tmp766 = tmp679 + tmp682;
1032
          }
1033
          {
1034
               fftw_real tmp262;
1035
               fftw_real tmp273;
1036
               fftw_real tmp498;
1037
               fftw_real tmp499;
1038
               ASSERT_ALIGNED_DOUBLE();
1039
               tmp262 = tmp258 + tmp261;
1040
               tmp273 = K707106781 * (tmp267 - tmp272);
1041
               tmp274 = tmp262 - tmp273;
1042
               tmp425 = tmp262 + tmp273;
1043
               tmp498 = tmp261 - tmp258;
1044
               tmp499 = K707106781 * (tmp304 + tmp305);
1045
               tmp500 = tmp498 - tmp499;
1046
               tmp589 = tmp498 + tmp499;
1047
          }
1048
          {
1049
               fftw_real tmp303;
1050
               fftw_real tmp306;
1051
               fftw_real tmp509;
1052
               fftw_real tmp510;
1053
               ASSERT_ALIGNED_DOUBLE();
1054
               tmp303 = tmp299 - tmp302;
1055
               tmp306 = K707106781 * (tmp304 - tmp305);
1056
               tmp307 = tmp303 - tmp306;
1057
               tmp422 = tmp303 + tmp306;
1058
               tmp509 = tmp299 + tmp302;
1059
               tmp510 = K707106781 * (tmp272 + tmp267);
1060
               tmp511 = tmp509 - tmp510;
1061
               tmp586 = tmp509 + tmp510;
1062
          }
1063
     }
1064
     {
1065
          fftw_real tmp49;
1066
          fftw_real tmp248;
1067
          fftw_real tmp176;
1068
          fftw_real tmp238;
1069
          fftw_real tmp52;
1070
          fftw_real tmp237;
1071
          fftw_real tmp179;
1072
          fftw_real tmp249;
1073
          fftw_real tmp59;
1074
          fftw_real tmp252;
1075
          fftw_real tmp242;
1076
          fftw_real tmp186;
1077
          fftw_real tmp56;
1078
          fftw_real tmp251;
1079
          fftw_real tmp245;
1080
          fftw_real tmp183;
1081
          ASSERT_ALIGNED_DOUBLE();
1082
          {
1083
               fftw_real tmp47;
1084
               fftw_real tmp48;
1085
               fftw_real tmp177;
1086
               fftw_real tmp178;
1087
               ASSERT_ALIGNED_DOUBLE();
1088
               tmp47 = c_re(input[62 * istride]);
1089
               tmp48 = c_re(input[30 * istride]);
1090
               tmp49 = tmp47 + tmp48;
1091
               tmp248 = tmp47 - tmp48;
1092
               {
1093
                    fftw_real tmp174;
1094
                    fftw_real tmp175;
1095
                    fftw_real tmp50;
1096
                    fftw_real tmp51;
1097
                    ASSERT_ALIGNED_DOUBLE();
1098
                    tmp174 = c_im(input[62 * istride]);
1099
                    tmp175 = c_im(input[30 * istride]);
1100
                    tmp176 = tmp174 + tmp175;
1101
                    tmp238 = tmp174 - tmp175;
1102
                    tmp50 = c_re(input[14 * istride]);
1103
                    tmp51 = c_re(input[46 * istride]);
1104
                    tmp52 = tmp50 + tmp51;
1105
                    tmp237 = tmp50 - tmp51;
1106
               }
1107
               tmp177 = c_im(input[14 * istride]);
1108
               tmp178 = c_im(input[46 * istride]);
1109
               tmp179 = tmp177 + tmp178;
1110
               tmp249 = tmp177 - tmp178;
1111
               {
1112
                    fftw_real tmp57;
1113
                    fftw_real tmp58;
1114
                    fftw_real tmp240;
1115
                    fftw_real tmp184;
1116
                    fftw_real tmp185;
1117
                    fftw_real tmp241;
1118
                    ASSERT_ALIGNED_DOUBLE();
1119
                    tmp57 = c_re(input[54 * istride]);
1120
                    tmp58 = c_re(input[22 * istride]);
1121
                    tmp240 = tmp57 - tmp58;
1122
                    tmp184 = c_im(input[54 * istride]);
1123
                    tmp185 = c_im(input[22 * istride]);
1124
                    tmp241 = tmp184 - tmp185;
1125
                    tmp59 = tmp57 + tmp58;
1126
                    tmp252 = tmp240 + tmp241;
1127
                    tmp242 = tmp240 - tmp241;
1128
                    tmp186 = tmp184 + tmp185;
1129
               }
1130
               {
1131
                    fftw_real tmp54;
1132
                    fftw_real tmp55;
1133
                    fftw_real tmp243;
1134
                    fftw_real tmp181;
1135
                    fftw_real tmp182;
1136
                    fftw_real tmp244;
1137
                    ASSERT_ALIGNED_DOUBLE();
1138
                    tmp54 = c_re(input[6 * istride]);
1139
                    tmp55 = c_re(input[38 * istride]);
1140
                    tmp243 = tmp54 - tmp55;
1141
                    tmp181 = c_im(input[6 * istride]);
1142
                    tmp182 = c_im(input[38 * istride]);
1143
                    tmp244 = tmp181 - tmp182;
1144
                    tmp56 = tmp54 + tmp55;
1145
                    tmp251 = tmp244 - tmp243;
1146
                    tmp245 = tmp243 + tmp244;
1147
                    tmp183 = tmp181 + tmp182;
1148
               }
1149
          }
1150
          {
1151
               fftw_real tmp53;
1152
               fftw_real tmp60;
1153
               fftw_real tmp653;
1154
               fftw_real tmp654;
1155
               ASSERT_ALIGNED_DOUBLE();
1156
               tmp53 = tmp49 + tmp52;
1157
               tmp60 = tmp56 + tmp59;
1158
               tmp61 = tmp53 + tmp60;
1159
               tmp821 = tmp53 - tmp60;
1160
               tmp653 = tmp176 - tmp179;
1161
               tmp654 = tmp59 - tmp56;
1162
               tmp655 = tmp653 - tmp654;
1163
               tmp761 = tmp654 + tmp653;
1164
          }
1165
          {
1166
               fftw_real tmp180;
1167
               fftw_real tmp187;
1168
               fftw_real tmp656;
1169
               fftw_real tmp657;
1170
               ASSERT_ALIGNED_DOUBLE();
1171
               tmp180 = tmp176 + tmp179;
1172
               tmp187 = tmp183 + tmp186;
1173
               tmp188 = tmp180 + tmp187;
1174
               tmp822 = tmp180 - tmp187;
1175
               tmp656 = tmp49 - tmp52;
1176
               tmp657 = tmp183 - tmp186;
1177
               tmp658 = tmp656 - tmp657;
1178
               tmp762 = tmp656 + tmp657;
1179
          }
1180
          {
1181
               fftw_real tmp239;
1182
               fftw_real tmp246;
1183
               fftw_real tmp489;
1184
               fftw_real tmp490;
1185
               ASSERT_ALIGNED_DOUBLE();
1186
               tmp239 = tmp237 + tmp238;
1187
               tmp246 = K707106781 * (tmp242 - tmp245);
1188
               tmp247 = tmp239 - tmp246;
1189
               tmp417 = tmp239 + tmp246;
1190
               tmp489 = tmp248 + tmp249;
1191
               tmp490 = K707106781 * (tmp245 + tmp242);
1192
               tmp491 = tmp489 - tmp490;
1193
               tmp581 = tmp489 + tmp490;
1194
          }
1195
          {
1196
               fftw_real tmp250;
1197
               fftw_real tmp253;
1198
               fftw_real tmp492;
1199
               fftw_real tmp493;
1200
               ASSERT_ALIGNED_DOUBLE();
1201
               tmp250 = tmp248 - tmp249;
1202
               tmp253 = K707106781 * (tmp251 - tmp252);
1203
               tmp254 = tmp250 - tmp253;
1204
               tmp418 = tmp250 + tmp253;
1205
               tmp492 = tmp238 - tmp237;
1206
               tmp493 = K707106781 * (tmp251 + tmp252);
1207
               tmp494 = tmp492 - tmp493;
1208
               tmp582 = tmp492 + tmp493;
1209
          }
1210
     }
1211
     {
1212
          fftw_real tmp81;
1213
          fftw_real tmp673;
1214
          fftw_real tmp84;
1215
          fftw_real tmp674;
1216
          fftw_real tmp290;
1217
          fftw_real tmp504;
1218
          fftw_real tmp295;
1219
          fftw_real tmp505;
1220
          fftw_real tmp675;
1221
          fftw_real tmp672;
1222
          fftw_real tmp88;
1223
          fftw_real tmp668;
1224
          fftw_real tmp91;
1225
          fftw_real tmp669;
1226
          fftw_real tmp279;
1227
          fftw_real tmp501;
1228
          fftw_real tmp284;
1229
          fftw_real tmp502;
1230
          fftw_real tmp670;
1231
          fftw_real tmp667;
1232
          ASSERT_ALIGNED_DOUBLE();
1233
          {
1234
               fftw_real tmp291;
1235
               fftw_real tmp289;
1236
               fftw_real tmp286;
1237
               fftw_real tmp294;
1238
               ASSERT_ALIGNED_DOUBLE();
1239
               {
1240
                    fftw_real tmp79;
1241
                    fftw_real tmp80;
1242
                    fftw_real tmp287;
1243
                    fftw_real tmp288;
1244
                    ASSERT_ALIGNED_DOUBLE();
1245
                    tmp79 = c_re(input[5 * istride]);
1246
                    tmp80 = c_re(input[37 * istride]);
1247
                    tmp81 = tmp79 + tmp80;
1248
                    tmp291 = tmp79 - tmp80;
1249
                    tmp287 = c_im(input[5 * istride]);
1250
                    tmp288 = c_im(input[37 * istride]);
1251
                    tmp289 = tmp287 - tmp288;
1252
                    tmp673 = tmp287 + tmp288;
1253
               }
1254
               {
1255
                    fftw_real tmp82;
1256
                    fftw_real tmp83;
1257
                    fftw_real tmp292;
1258
                    fftw_real tmp293;
1259
                    ASSERT_ALIGNED_DOUBLE();
1260
                    tmp82 = c_re(input[21 * istride]);
1261
                    tmp83 = c_re(input[53 * istride]);
1262
                    tmp84 = tmp82 + tmp83;
1263
                    tmp286 = tmp82 - tmp83;
1264
                    tmp292 = c_im(input[21 * istride]);
1265
                    tmp293 = c_im(input[53 * istride]);
1266
                    tmp294 = tmp292 - tmp293;
1267
                    tmp674 = tmp292 + tmp293;
1268
               }
1269
               tmp290 = tmp286 + tmp289;
1270
               tmp504 = tmp289 - tmp286;
1271
               tmp295 = tmp291 - tmp294;
1272
               tmp505 = tmp291 + tmp294;
1273
               tmp675 = tmp673 - tmp674;
1274
               tmp672 = tmp81 - tmp84;
1275
          }
1276
          {
1277
               fftw_real tmp275;
1278
               fftw_real tmp283;
1279
               fftw_real tmp280;
1280
               fftw_real tmp278;
1281
               ASSERT_ALIGNED_DOUBLE();
1282
               {
1283
                    fftw_real tmp86;
1284
                    fftw_real tmp87;
1285
                    fftw_real tmp281;
1286
                    fftw_real tmp282;
1287
                    ASSERT_ALIGNED_DOUBLE();
1288
                    tmp86 = c_re(input[61 * istride]);
1289
                    tmp87 = c_re(input[29 * istride]);
1290
                    tmp88 = tmp86 + tmp87;
1291
                    tmp275 = tmp86 - tmp87;
1292
                    tmp281 = c_im(input[61 * istride]);
1293
                    tmp282 = c_im(input[29 * istride]);
1294
                    tmp283 = tmp281 - tmp282;
1295
                    tmp668 = tmp281 + tmp282;
1296
               }
1297
               {
1298
                    fftw_real tmp89;
1299
                    fftw_real tmp90;
1300
                    fftw_real tmp276;
1301
                    fftw_real tmp277;
1302
                    ASSERT_ALIGNED_DOUBLE();
1303
                    tmp89 = c_re(input[13 * istride]);
1304
                    tmp90 = c_re(input[45 * istride]);
1305
                    tmp91 = tmp89 + tmp90;
1306
                    tmp280 = tmp89 - tmp90;
1307
                    tmp276 = c_im(input[13 * istride]);
1308
                    tmp277 = c_im(input[45 * istride]);
1309
                    tmp278 = tmp276 - tmp277;
1310
                    tmp669 = tmp276 + tmp277;
1311
               }
1312
               tmp279 = tmp275 - tmp278;
1313
               tmp501 = tmp275 + tmp278;
1314
               tmp284 = tmp280 + tmp283;
1315
               tmp502 = tmp283 - tmp280;
1316
               tmp670 = tmp668 - tmp669;
1317
               tmp667 = tmp88 - tmp91;
1318
          }
1319
          {
1320
               fftw_real tmp85;
1321
               fftw_real tmp92;
1322
               fftw_real tmp308;
1323
               fftw_real tmp309;
1324
               ASSERT_ALIGNED_DOUBLE();
1325
               tmp85 = tmp81 + tmp84;
1326
               tmp92 = tmp88 + tmp91;
1327
               tmp93 = tmp85 + tmp92;
1328
               tmp829 = tmp92 - tmp85;
1329
               tmp308 = (K382683432 * tmp290) - (K923879532 * tmp295);
1330
               tmp309 = (K382683432 * tmp284) + (K923879532 * tmp279);
1331
               tmp310 = tmp308 - tmp309;
1332
               tmp426 = tmp308 + tmp309;
1333
          }
1334
          {
1335
               fftw_real tmp285;
1336
               fftw_real tmp296;
1337
               fftw_real tmp832;
1338
               fftw_real tmp833;
1339
               ASSERT_ALIGNED_DOUBLE();
1340
               tmp285 = (K382683432 * tmp279) - (K923879532 * tmp284);
1341
               tmp296 = (K923879532 * tmp290) + (K382683432 * tmp295);
1342
               tmp297 = tmp285 - tmp296;
1343
               tmp423 = tmp296 + tmp285;
1344
               tmp832 = tmp673 + tmp674;
1345
               tmp833 = tmp668 + tmp669;
1346
               tmp834 = tmp832 - tmp833;
1347
               tmp888 = tmp832 + tmp833;
1348
          }
1349
          {
1350
               fftw_real tmp503;
1351
               fftw_real tmp506;
1352
               fftw_real tmp512;
1353
               fftw_real tmp513;
1354
               ASSERT_ALIGNED_DOUBLE();
1355
               tmp503 = (K923879532 * tmp501) - (K382683432 * tmp502);
1356
               tmp506 = (K382683432 * tmp504) + (K923879532 * tmp505);
1357
               tmp507 = tmp503 - tmp506;
1358
               tmp587 = tmp506 + tmp503;
1359
               tmp512 = (K923879532 * tmp504) - (K382683432 * tmp505);
1360
               tmp513 = (K923879532 * tmp502) + (K382683432 * tmp501);
1361
               tmp514 = tmp512 - tmp513;
1362
               tmp590 = tmp512 + tmp513;
1363
          }
1364
          {
1365
               fftw_real tmp671;
1366
               fftw_real tmp676;
1367
               fftw_real tmp684;
1368
               fftw_real tmp685;
1369
               ASSERT_ALIGNED_DOUBLE();
1370
               tmp671 = tmp667 - tmp670;
1371
               tmp676 = tmp672 + tmp675;
1372
               tmp677 = K707106781 * (tmp671 - tmp676);
1373
               tmp767 = K707106781 * (tmp676 + tmp671);
1374
               tmp684 = tmp675 - tmp672;
1375
               tmp685 = tmp667 + tmp670;
1376
               tmp686 = K707106781 * (tmp684 - tmp685);
1377
               tmp770 = K707106781 * (tmp684 + tmp685);
1378
          }
1379
     }
1380
     {
1381
          fftw_real tmp63;
1382
          fftw_real tmp907;
1383
          fftw_real tmp910;
1384
          fftw_real tmp912;
1385
          fftw_real tmp126;
1386
          fftw_real tmp127;
1387
          fftw_real tmp190;
1388
          fftw_real tmp911;
1389
          ASSERT_ALIGNED_DOUBLE();
1390
          {
1391
               fftw_real tmp31;
1392
               fftw_real tmp62;
1393
               fftw_real tmp908;
1394
               fftw_real tmp909;
1395
               ASSERT_ALIGNED_DOUBLE();
1396
               tmp31 = tmp15 + tmp30;
1397
               tmp62 = tmp46 + tmp61;
1398
               tmp63 = tmp31 + tmp62;
1399
               tmp907 = tmp31 - tmp62;
1400
               tmp908 = tmp887 + tmp888;
1401
               tmp909 = tmp892 + tmp893;
1402
               tmp910 = tmp908 - tmp909;
1403
               tmp912 = tmp908 + tmp909;
1404
          }
1405
          {
1406
               fftw_real tmp94;
1407
               fftw_real tmp125;
1408
               fftw_real tmp158;
1409
               fftw_real tmp189;
1410
               ASSERT_ALIGNED_DOUBLE();
1411
               tmp94 = tmp78 + tmp93;
1412
               tmp125 = tmp109 + tmp124;
1413
               tmp126 = tmp94 + tmp125;
1414
               tmp127 = tmp125 - tmp94;
1415
               tmp158 = tmp142 + tmp157;
1416
               tmp189 = tmp173 + tmp188;
1417
               tmp190 = tmp158 - tmp189;
1418
               tmp911 = tmp158 + tmp189;
1419
          }
1420
          c_re(output[32 * ostride]) = tmp63 - tmp126;
1421
          c_re(output[0]) = tmp63 + tmp126;
1422
          c_im(output[16 * ostride]) = tmp127 + tmp190;
1423
          c_im(output[48 * ostride]) = tmp190 - tmp127;
1424
          c_re(output[48 * ostride]) = tmp907 - tmp910;
1425
          c_re(output[16 * ostride]) = tmp907 + tmp910;
1426
          c_im(output[32 * ostride]) = tmp911 - tmp912;
1427
          c_im(output[0]) = tmp911 + tmp912;
1428
     }
1429
     {
1430
          fftw_real tmp885;
1431
          fftw_real tmp901;
1432
          fftw_real tmp899;
1433
          fftw_real tmp905;
1434
          fftw_real tmp890;
1435
          fftw_real tmp902;
1436
          fftw_real tmp895;
1437
          fftw_real tmp903;
1438
          ASSERT_ALIGNED_DOUBLE();
1439
          {
1440
               fftw_real tmp883;
1441
               fftw_real tmp884;
1442
               fftw_real tmp897;
1443
               fftw_real tmp898;
1444
               ASSERT_ALIGNED_DOUBLE();
1445
               tmp883 = tmp15 - tmp30;
1446
               tmp884 = tmp173 - tmp188;
1447
               tmp885 = tmp883 + tmp884;
1448
               tmp901 = tmp883 - tmp884;
1449
               tmp897 = tmp142 - tmp157;
1450
               tmp898 = tmp61 - tmp46;
1451
               tmp899 = tmp897 - tmp898;
1452
               tmp905 = tmp898 + tmp897;
1453
          }
1454
          {
1455
               fftw_real tmp886;
1456
               fftw_real tmp889;
1457
               fftw_real tmp891;
1458
               fftw_real tmp894;
1459
               ASSERT_ALIGNED_DOUBLE();
1460
               tmp886 = tmp78 - tmp93;
1461
               tmp889 = tmp887 - tmp888;
1462
               tmp890 = tmp886 + tmp889;
1463
               tmp902 = tmp889 - tmp886;
1464
               tmp891 = tmp109 - tmp124;
1465
               tmp894 = tmp892 - tmp893;
1466
               tmp895 = tmp891 - tmp894;
1467
               tmp903 = tmp891 + tmp894;
1468
          }
1469
          {
1470
               fftw_real tmp896;
1471
               fftw_real tmp900;
1472
               fftw_real tmp904;
1473
               fftw_real tmp906;
1474
               ASSERT_ALIGNED_DOUBLE();
1475
               tmp896 = K707106781 * (tmp890 + tmp895);
1476
               c_re(output[40 * ostride]) = tmp885 - tmp896;
1477
               c_re(output[8 * ostride]) = tmp885 + tmp896;
1478
               tmp900 = K707106781 * (tmp895 - tmp890);
1479
               c_im(output[56 * ostride]) = tmp899 - tmp900;
1480
               c_im(output[24 * ostride]) = tmp899 + tmp900;
1481
               tmp904 = K707106781 * (tmp902 - tmp903);
1482
               c_re(output[56 * ostride]) = tmp901 - tmp904;
1483
               c_re(output[24 * ostride]) = tmp901 + tmp904;
1484
               tmp906 = K707106781 * (tmp902 + tmp903);
1485
               c_im(output[40 * ostride]) = tmp905 - tmp906;
1486
               c_im(output[8 * ostride]) = tmp905 + tmp906;
1487
          }
1488
     }
1489
     {
1490
          fftw_real tmp217;
1491
          fftw_real tmp391;
1492
          fftw_real tmp396;
1493
          fftw_real tmp406;
1494
          fftw_real tmp399;
1495
          fftw_real tmp407;
1496
          fftw_real tmp367;
1497
          fftw_real tmp387;
1498
          fftw_real tmp312;
1499
          fftw_real tmp386;
1500
          fftw_real tmp379;
1501
          fftw_real tmp401;
1502
          fftw_real tmp382;
1503
          fftw_real tmp392;
1504
          fftw_real tmp256;
1505
          fftw_real tmp402;
1506
          ASSERT_ALIGNED_DOUBLE();
1507
          {
1508
               fftw_real tmp201;
1509
               fftw_real tmp216;
1510
               fftw_real tmp394;
1511
               fftw_real tmp395;
1512
               ASSERT_ALIGNED_DOUBLE();
1513
               tmp201 = tmp193 - tmp200;
1514
               tmp216 = tmp208 - tmp215;
1515
               tmp217 = tmp201 - tmp216;
1516
               tmp391 = tmp201 + tmp216;
1517
               tmp394 = tmp274 + tmp297;
1518
               tmp395 = tmp307 + tmp310;
1519
               tmp396 = (K634393284 * tmp394) + (K773010453 * tmp395);
1520
               tmp406 = (K773010453 * tmp394) - (K634393284 * tmp395);
1521
          }
1522
          {
1523
               fftw_real tmp397;
1524
               fftw_real tmp398;
1525
               fftw_real tmp353;
1526
               fftw_real tmp366;
1527
               ASSERT_ALIGNED_DOUBLE();
1528
               tmp397 = tmp329 + tmp352;
1529
               tmp398 = tmp362 + tmp365;
1530
               tmp399 = (K773010453 * tmp397) - (K634393284 * tmp398);
1531
               tmp407 = (K773010453 * tmp398) + (K634393284 * tmp397);
1532
               tmp353 = tmp329 - tmp352;
1533
               tmp366 = tmp362 - tmp365;
1534
               tmp367 = (K098017140 * tmp353) - (K995184726 * tmp366);
1535
               tmp387 = (K098017140 * tmp366) + (K995184726 * tmp353);
1536
          }
1537
          {
1538
               fftw_real tmp298;
1539
               fftw_real tmp311;
1540
               fftw_real tmp375;
1541
               fftw_real tmp378;
1542
               ASSERT_ALIGNED_DOUBLE();
1543
               tmp298 = tmp274 - tmp297;
1544
               tmp311 = tmp307 - tmp310;
1545
               tmp312 = (K995184726 * tmp298) + (K098017140 * tmp311);
1546
               tmp386 = (K098017140 * tmp298) - (K995184726 * tmp311);
1547
               tmp375 = tmp371 - tmp374;
1548
               tmp378 = tmp376 - tmp377;
1549
               tmp379 = tmp375 - tmp378;
1550
               tmp401 = tmp375 + tmp378;
1551
          }
1552
          {
1553
               fftw_real tmp380;
1554
               fftw_real tmp381;
1555
               fftw_real tmp236;
1556
               fftw_real tmp255;
1557
               ASSERT_ALIGNED_DOUBLE();
1558
               tmp380 = (K195090322 * tmp254) - (K980785280 * tmp247);
1559
               tmp381 = (K980785280 * tmp228) + (K195090322 * tmp235);
1560
               tmp382 = tmp380 - tmp381;
1561
               tmp392 = tmp381 + tmp380;
1562
               tmp236 = (K195090322 * tmp228) - (K980785280 * tmp235);
1563
               tmp255 = (K195090322 * tmp247) + (K980785280 * tmp254);
1564
               tmp256 = tmp236 - tmp255;
1565
               tmp402 = tmp236 + tmp255;
1566
          }
1567
          {
1568
               fftw_real tmp257;
1569
               fftw_real tmp368;
1570
               fftw_real tmp383;
1571
               fftw_real tmp384;
1572
               ASSERT_ALIGNED_DOUBLE();
1573
               tmp257 = tmp217 + tmp256;
1574
               tmp368 = tmp312 + tmp367;
1575
               c_re(output[47 * ostride]) = tmp257 - tmp368;
1576
               c_re(output[15 * ostride]) = tmp257 + tmp368;
1577
               tmp383 = tmp379 - tmp382;
1578
               tmp384 = tmp367 - tmp312;
1579
               c_im(output[63 * ostride]) = tmp383 - tmp384;
1580
               c_im(output[31 * ostride]) = tmp383 + tmp384;
1581
          }
1582
          {
1583
               fftw_real tmp389;
1584
               fftw_real tmp390;
1585
               fftw_real tmp385;
1586
               fftw_real tmp388;
1587
               ASSERT_ALIGNED_DOUBLE();
1588
               tmp389 = tmp379 + tmp382;
1589
               tmp390 = tmp386 + tmp387;
1590
               c_im(output[47 * ostride]) = tmp389 - tmp390;
1591
               c_im(output[15 * ostride]) = tmp389 + tmp390;
1592
               tmp385 = tmp217 - tmp256;
1593
               tmp388 = tmp386 - tmp387;
1594
               c_re(output[63 * ostride]) = tmp385 - tmp388;
1595
               c_re(output[31 * ostride]) = tmp385 + tmp388;
1596
          }
1597
          {
1598
               fftw_real tmp393;
1599
               fftw_real tmp400;
1600
               fftw_real tmp403;
1601
               fftw_real tmp404;
1602
               ASSERT_ALIGNED_DOUBLE();
1603
               tmp393 = tmp391 + tmp392;
1604
               tmp400 = tmp396 + tmp399;
1605
               c_re(output[39 * ostride]) = tmp393 - tmp400;
1606
               c_re(output[7 * ostride]) = tmp393 + tmp400;
1607
               tmp403 = tmp401 - tmp402;
1608
               tmp404 = tmp399 - tmp396;
1609
               c_im(output[55 * ostride]) = tmp403 - tmp404;
1610
               c_im(output[23 * ostride]) = tmp403 + tmp404;
1611
          }
1612
          {
1613
               fftw_real tmp409;
1614
               fftw_real tmp410;
1615
               fftw_real tmp405;
1616
               fftw_real tmp408;
1617
               ASSERT_ALIGNED_DOUBLE();
1618
               tmp409 = tmp401 + tmp402;
1619
               tmp410 = tmp406 + tmp407;
1620
               c_im(output[39 * ostride]) = tmp409 - tmp410;
1621
               c_im(output[7 * ostride]) = tmp409 + tmp410;
1622
               tmp405 = tmp391 - tmp392;
1623
               tmp408 = tmp406 - tmp407;
1624
               c_re(output[55 * ostride]) = tmp405 - tmp408;
1625
               c_re(output[23 * ostride]) = tmp405 + tmp408;
1626
          }
1627
     }
1628
     {
1629
          fftw_real tmp413;
1630
          fftw_real tmp451;
1631
          fftw_real tmp456;
1632
          fftw_real tmp466;
1633
          fftw_real tmp459;
1634
          fftw_real tmp467;
1635
          fftw_real tmp435;
1636
          fftw_real tmp447;
1637
          fftw_real tmp428;
1638
          fftw_real tmp446;
1639
          fftw_real tmp439;
1640
          fftw_real tmp461;
1641
          fftw_real tmp442;
1642
          fftw_real tmp452;
1643
          fftw_real tmp420;
1644
          fftw_real tmp462;
1645
          ASSERT_ALIGNED_DOUBLE();
1646
          {
1647
               fftw_real tmp411;
1648
               fftw_real tmp412;
1649
               fftw_real tmp454;
1650
               fftw_real tmp455;
1651
               ASSERT_ALIGNED_DOUBLE();
1652
               tmp411 = tmp193 + tmp200;
1653
               tmp412 = tmp377 + tmp376;
1654
               tmp413 = tmp411 - tmp412;
1655
               tmp451 = tmp411 + tmp412;
1656
               tmp454 = tmp422 + tmp423;
1657
               tmp455 = tmp425 + tmp426;
1658
               tmp456 = (K956940335 * tmp454) + (K290284677 * tmp455);
1659
               tmp466 = (K956940335 * tmp455) - (K290284677 * tmp454);
1660
          }
1661
          {
1662
               fftw_real tmp457;
1663
               fftw_real tmp458;
1664
               fftw_real tmp431;
1665
               fftw_real tmp434;
1666
               ASSERT_ALIGNED_DOUBLE();
1667
               tmp457 = tmp429 + tmp430;
1668
               tmp458 = tmp432 + tmp433;
1669
               tmp459 = (K956940335 * tmp457) - (K290284677 * tmp458);
1670
               tmp467 = (K290284677 * tmp457) + (K956940335 * tmp458);
1671
               tmp431 = tmp429 - tmp430;
1672
               tmp434 = tmp432 - tmp433;
1673
               tmp435 = (K471396736 * tmp431) - (K881921264 * tmp434);
1674
               tmp447 = (K881921264 * tmp431) + (K471396736 * tmp434);
1675
          }
1676
          {
1677
               fftw_real tmp424;
1678
               fftw_real tmp427;
1679
               fftw_real tmp437;
1680
               fftw_real tmp438;
1681
               ASSERT_ALIGNED_DOUBLE();
1682
               tmp424 = tmp422 - tmp423;
1683
               tmp427 = tmp425 - tmp426;
1684
               tmp428 = (K471396736 * tmp424) + (K881921264 * tmp427);
1685
               tmp446 = (K471396736 * tmp427) - (K881921264 * tmp424);
1686
               tmp437 = tmp371 + tmp374;
1687
               tmp438 = tmp208 + tmp215;
1688
               tmp439 = tmp437 - tmp438;
1689
               tmp461 = tmp437 + tmp438;
1690
          }
1691
          {
1692
               fftw_real tmp440;
1693
               fftw_real tmp441;
1694
               fftw_real tmp416;
1695
               fftw_real tmp419;
1696
               ASSERT_ALIGNED_DOUBLE();
1697
               tmp440 = (K831469612 * tmp418) - (K555570233 * tmp417);
1698
               tmp441 = (K555570233 * tmp414) + (K831469612 * tmp415);
1699
               tmp442 = tmp440 - tmp441;
1700
               tmp452 = tmp441 + tmp440;
1701
               tmp416 = (K831469612 * tmp414) - (K555570233 * tmp415);
1702
               tmp419 = (K831469612 * tmp417) + (K555570233 * tmp418);
1703
               tmp420 = tmp416 - tmp419;
1704
               tmp462 = tmp416 + tmp419;
1705
          }
1706
          {
1707
               fftw_real tmp421;
1708
               fftw_real tmp436;
1709
               fftw_real tmp443;
1710
               fftw_real tmp444;
1711
               ASSERT_ALIGNED_DOUBLE();
1712
               tmp421 = tmp413 + tmp420;
1713
               tmp436 = tmp428 + tmp435;
1714
               c_re(output[43 * ostride]) = tmp421 - tmp436;
1715
               c_re(output[11 * ostride]) = tmp421 + tmp436;
1716
               tmp443 = tmp439 - tmp442;
1717
               tmp444 = tmp435 - tmp428;
1718
               c_im(output[59 * ostride]) = tmp443 - tmp444;
1719
               c_im(output[27 * ostride]) = tmp443 + tmp444;
1720
          }
1721
          {
1722
               fftw_real tmp449;
1723
               fftw_real tmp450;
1724
               fftw_real tmp445;
1725
               fftw_real tmp448;
1726
               ASSERT_ALIGNED_DOUBLE();
1727
               tmp449 = tmp439 + tmp442;
1728
               tmp450 = tmp446 + tmp447;
1729
               c_im(output[43 * ostride]) = tmp449 - tmp450;
1730
               c_im(output[11 * ostride]) = tmp449 + tmp450;
1731
               tmp445 = tmp413 - tmp420;
1732
               tmp448 = tmp446 - tmp447;
1733
               c_re(output[59 * ostride]) = tmp445 - tmp448;
1734
               c_re(output[27 * ostride]) = tmp445 + tmp448;
1735
          }
1736
          {
1737
               fftw_real tmp453;
1738
               fftw_real tmp460;
1739
               fftw_real tmp463;
1740
               fftw_real tmp464;
1741
               ASSERT_ALIGNED_DOUBLE();
1742
               tmp453 = tmp451 + tmp452;
1743
               tmp460 = tmp456 + tmp459;
1744
               c_re(output[35 * ostride]) = tmp453 - tmp460;
1745
               c_re(output[3 * ostride]) = tmp453 + tmp460;
1746
               tmp463 = tmp461 - tmp462;
1747
               tmp464 = tmp459 - tmp456;
1748
               c_im(output[51 * ostride]) = tmp463 - tmp464;
1749
               c_im(output[19 * ostride]) = tmp463 + tmp464;
1750
          }
1751
          {
1752
               fftw_real tmp469;
1753
               fftw_real tmp470;
1754
               fftw_real tmp465;
1755
               fftw_real tmp468;
1756
               ASSERT_ALIGNED_DOUBLE();
1757
               tmp469 = tmp461 + tmp462;
1758
               tmp470 = tmp466 + tmp467;
1759
               c_im(output[35 * ostride]) = tmp469 - tmp470;
1760
               c_im(output[3 * ostride]) = tmp469 + tmp470;
1761
               tmp465 = tmp451 - tmp452;
1762
               tmp468 = tmp466 - tmp467;
1763
               c_re(output[51 * ostride]) = tmp465 - tmp468;
1764
               c_re(output[19 * ostride]) = tmp465 + tmp468;
1765
          }
1766
     }
1767
     {
1768
          fftw_real tmp817;
1769
          fftw_real tmp863;
1770
          fftw_real tmp824;
1771
          fftw_real tmp874;
1772
          fftw_real tmp854;
1773
          fftw_real tmp864;
1774
          fftw_real tmp836;
1775
          fftw_real tmp858;
1776
          fftw_real tmp851;
1777
          fftw_real tmp873;
1778
          fftw_real tmp868;
1779
          fftw_real tmp878;
1780
          fftw_real tmp847;
1781
          fftw_real tmp859;
1782
          fftw_real tmp871;
1783
          fftw_real tmp879;
1784
          ASSERT_ALIGNED_DOUBLE();
1785
          {
1786
               fftw_real tmp820;
1787
               fftw_real tmp823;
1788
               fftw_real tmp866;
1789
               fftw_real tmp867;
1790
               ASSERT_ALIGNED_DOUBLE();
1791
               tmp817 = tmp815 - tmp816;
1792
               tmp863 = tmp815 + tmp816;
1793
               tmp820 = tmp818 - tmp819;
1794
               tmp823 = tmp821 + tmp822;
1795
               tmp824 = K707106781 * (tmp820 - tmp823);
1796
               tmp874 = K707106781 * (tmp820 + tmp823);
1797
               {
1798
                    fftw_real tmp852;
1799
                    fftw_real tmp853;
1800
                    fftw_real tmp830;
1801
                    fftw_real tmp835;
1802
                    ASSERT_ALIGNED_DOUBLE();
1803
                    tmp852 = tmp821 - tmp822;
1804
                    tmp853 = tmp819 + tmp818;
1805
                    tmp854 = K707106781 * (tmp852 - tmp853);
1806
                    tmp864 = K707106781 * (tmp853 + tmp852);
1807
                    tmp830 = tmp828 - tmp829;
1808
                    tmp835 = tmp831 - tmp834;
1809
                    tmp836 = (K923879532 * tmp830) + (K382683432 * tmp835);
1810
                    tmp858 = (K382683432 * tmp830) - (K923879532 * tmp835);
1811
               }
1812
               tmp851 = tmp849 - tmp850;
1813
               tmp873 = tmp850 + tmp849;
1814
               tmp866 = tmp829 + tmp828;
1815
               tmp867 = tmp831 + tmp834;
1816
               tmp868 = (K382683432 * tmp866) + (K923879532 * tmp867);
1817
               tmp878 = (K923879532 * tmp866) - (K382683432 * tmp867);
1818
               {
1819
                    fftw_real tmp841;
1820
                    fftw_real tmp846;
1821
                    fftw_real tmp869;
1822
                    fftw_real tmp870;
1823
                    ASSERT_ALIGNED_DOUBLE();
1824
                    tmp841 = tmp837 - tmp840;
1825
                    tmp846 = tmp844 - tmp845;
1826
                    tmp847 = (K382683432 * tmp841) - (K923879532 * tmp846);
1827
                    tmp859 = (K382683432 * tmp846) + (K923879532 * tmp841);
1828
                    tmp869 = tmp837 + tmp840;
1829
                    tmp870 = tmp845 + tmp844;
1830
                    tmp871 = (K923879532 * tmp869) - (K382683432 * tmp870);
1831
                    tmp879 = (K923879532 * tmp870) + (K382683432 * tmp869);
1832
               }
1833
          }
1834
          {
1835
               fftw_real tmp825;
1836
               fftw_real tmp848;
1837
               fftw_real tmp855;
1838
               fftw_real tmp856;
1839
               ASSERT_ALIGNED_DOUBLE();
1840
               tmp825 = tmp817 + tmp824;
1841
               tmp848 = tmp836 + tmp847;
1842
               c_re(output[44 * ostride]) = tmp825 - tmp848;
1843
               c_re(output[12 * ostride]) = tmp825 + tmp848;
1844
               tmp855 = tmp851 - tmp854;
1845
               tmp856 = tmp847 - tmp836;
1846
               c_im(output[60 * ostride]) = tmp855 - tmp856;
1847
               c_im(output[28 * ostride]) = tmp855 + tmp856;
1848
          }
1849
          {
1850
               fftw_real tmp861;
1851
               fftw_real tmp862;
1852
               fftw_real tmp857;
1853
               fftw_real tmp860;
1854
               ASSERT_ALIGNED_DOUBLE();
1855
               tmp861 = tmp851 + tmp854;
1856
               tmp862 = tmp858 + tmp859;
1857
               c_im(output[44 * ostride]) = tmp861 - tmp862;
1858
               c_im(output[12 * ostride]) = tmp861 + tmp862;
1859
               tmp857 = tmp817 - tmp824;
1860
               tmp860 = tmp858 - tmp859;
1861
               c_re(output[60 * ostride]) = tmp857 - tmp860;
1862
               c_re(output[28 * ostride]) = tmp857 + tmp860;
1863
          }
1864
          {
1865
               fftw_real tmp865;
1866
               fftw_real tmp872;
1867
               fftw_real tmp875;
1868
               fftw_real tmp876;
1869
               ASSERT_ALIGNED_DOUBLE();
1870
               tmp865 = tmp863 + tmp864;
1871
               tmp872 = tmp868 + tmp871;
1872
               c_re(output[36 * ostride]) = tmp865 - tmp872;
1873
               c_re(output[4 * ostride]) = tmp865 + tmp872;
1874
               tmp875 = tmp873 - tmp874;
1875
               tmp876 = tmp871 - tmp868;
1876
               c_im(output[52 * ostride]) = tmp875 - tmp876;
1877
               c_im(output[20 * ostride]) = tmp875 + tmp876;
1878
          }
1879
          {
1880
               fftw_real tmp881;
1881
               fftw_real tmp882;
1882
               fftw_real tmp877;
1883
               fftw_real tmp880;
1884
               ASSERT_ALIGNED_DOUBLE();
1885
               tmp881 = tmp873 + tmp874;
1886
               tmp882 = tmp878 + tmp879;
1887
               c_im(output[36 * ostride]) = tmp881 - tmp882;
1888
               c_im(output[4 * ostride]) = tmp881 + tmp882;
1889
               tmp877 = tmp863 - tmp864;
1890
               tmp880 = tmp878 - tmp879;
1891
               c_re(output[52 * ostride]) = tmp877 - tmp880;
1892
               c_re(output[20 * ostride]) = tmp877 + tmp880;
1893
          }
1894
     }
1895
     {
1896
          fftw_real tmp757;
1897
          fftw_real tmp795;
1898
          fftw_real tmp800;
1899
          fftw_real tmp810;
1900
          fftw_real tmp803;
1901
          fftw_real tmp811;
1902
          fftw_real tmp779;
1903
          fftw_real tmp791;
1904
          fftw_real tmp783;
1905
          fftw_real tmp805;
1906
          fftw_real tmp764;
1907
          fftw_real tmp806;
1908
          fftw_real tmp786;
1909
          fftw_real tmp796;
1910
          fftw_real tmp772;
1911
          fftw_real tmp790;
1912
          ASSERT_ALIGNED_DOUBLE();
1913
          {
1914
               fftw_real tmp756;
1915
               fftw_real tmp798;
1916
               fftw_real tmp799;
1917
               fftw_real tmp782;
1918
               fftw_real tmp760;
1919
               fftw_real tmp763;
1920
               ASSERT_ALIGNED_DOUBLE();
1921
               tmp756 = K707106781 * (tmp721 + tmp720);
1922
               tmp757 = tmp755 - tmp756;
1923
               tmp795 = tmp755 + tmp756;
1924
               tmp798 = tmp766 + tmp767;
1925
               tmp799 = tmp769 + tmp770;
1926
               tmp800 = (K980785280 * tmp798) + (K195090322 * tmp799);
1927
               tmp810 = (K980785280 * tmp799) - (K195090322 * tmp798);
1928
               {
1929
                    fftw_real tmp801;
1930
                    fftw_real tmp802;
1931
                    fftw_real tmp775;
1932
                    fftw_real tmp778;
1933
                    ASSERT_ALIGNED_DOUBLE();
1934
                    tmp801 = tmp773 + tmp774;
1935
                    tmp802 = tmp776 + tmp777;
1936
                    tmp803 = (K980785280 * tmp801) - (K195090322 * tmp802);
1937
                    tmp811 = (K195090322 * tmp801) + (K980785280 * tmp802);
1938
                    tmp775 = tmp773 - tmp774;
1939
                    tmp778 = tmp776 - tmp777;
1940
                    tmp779 = (K555570233 * tmp775) - (K831469612 * tmp778);
1941
                    tmp791 = (K831469612 * tmp775) + (K555570233 * tmp778);
1942
               }
1943
               tmp782 = K707106781 * (tmp640 + tmp643);
1944
               tmp783 = tmp781 - tmp782;
1945
               tmp805 = tmp781 + tmp782;
1946
               tmp760 = (K923879532 * tmp758) - (K382683432 * tmp759);
1947
               tmp763 = (K923879532 * tmp761) + (K382683432 * tmp762);
1948
               tmp764 = tmp760 - tmp763;
1949
               tmp806 = tmp760 + tmp763;
1950
               {
1951
                    fftw_real tmp784;
1952
                    fftw_real tmp785;
1953
                    fftw_real tmp768;
1954
                    fftw_real tmp771;
1955
                    ASSERT_ALIGNED_DOUBLE();
1956
                    tmp784 = (K923879532 * tmp762) - (K382683432 * tmp761);
1957
                    tmp785 = (K382683432 * tmp758) + (K923879532 * tmp759);
1958
                    tmp786 = tmp784 - tmp785;
1959
                    tmp796 = tmp785 + tmp784;
1960
                    tmp768 = tmp766 - tmp767;
1961
                    tmp771 = tmp769 - tmp770;
1962
                    tmp772 = (K555570233 * tmp768) + (K831469612 * tmp771);
1963
                    tmp790 = (K555570233 * tmp771) - (K831469612 * tmp768);
1964
               }
1965
          }
1966
          {
1967
               fftw_real tmp765;
1968
               fftw_real tmp780;
1969
               fftw_real tmp787;
1970
               fftw_real tmp788;
1971
               ASSERT_ALIGNED_DOUBLE();
1972
               tmp765 = tmp757 + tmp764;
1973
               tmp780 = tmp772 + tmp779;
1974
               c_re(output[42 * ostride]) = tmp765 - tmp780;
1975
               c_re(output[10 * ostride]) = tmp765 + tmp780;
1976
               tmp787 = tmp783 - tmp786;
1977
               tmp788 = tmp779 - tmp772;
1978
               c_im(output[58 * ostride]) = tmp787 - tmp788;
1979
               c_im(output[26 * ostride]) = tmp787 + tmp788;
1980
          }
1981
          {
1982
               fftw_real tmp793;
1983
               fftw_real tmp794;
1984
               fftw_real tmp789;
1985
               fftw_real tmp792;
1986
               ASSERT_ALIGNED_DOUBLE();
1987
               tmp793 = tmp783 + tmp786;
1988
               tmp794 = tmp790 + tmp791;
1989
               c_im(output[42 * ostride]) = tmp793 - tmp794;
1990
               c_im(output[10 * ostride]) = tmp793 + tmp794;
1991
               tmp789 = tmp757 - tmp764;
1992
               tmp792 = tmp790 - tmp791;
1993
               c_re(output[58 * ostride]) = tmp789 - tmp792;
1994
               c_re(output[26 * ostride]) = tmp789 + tmp792;
1995
          }
1996
          {
1997
               fftw_real tmp797;
1998
               fftw_real tmp804;
1999
               fftw_real tmp807;
2000
               fftw_real tmp808;
2001
               ASSERT_ALIGNED_DOUBLE();
2002
               tmp797 = tmp795 + tmp796;
2003
               tmp804 = tmp800 + tmp803;
2004
               c_re(output[34 * ostride]) = tmp797 - tmp804;
2005
               c_re(output[2 * ostride]) = tmp797 + tmp804;
2006
               tmp807 = tmp805 - tmp806;
2007
               tmp808 = tmp803 - tmp800;
2008
               c_im(output[50 * ostride]) = tmp807 - tmp808;
2009
               c_im(output[18 * ostride]) = tmp807 + tmp808;
2010
          }
2011
          {
2012
               fftw_real tmp813;
2013
               fftw_real tmp814;
2014
               fftw_real tmp809;
2015
               fftw_real tmp812;
2016
               ASSERT_ALIGNED_DOUBLE();
2017
               tmp813 = tmp805 + tmp806;
2018
               tmp814 = tmp810 + tmp811;
2019
               c_im(output[34 * ostride]) = tmp813 - tmp814;
2020
               c_im(output[2 * ostride]) = tmp813 + tmp814;
2021
               tmp809 = tmp795 - tmp796;
2022
               tmp812 = tmp810 - tmp811;
2023
               c_re(output[50 * ostride]) = tmp809 - tmp812;
2024
               c_re(output[18 * ostride]) = tmp809 + tmp812;
2025
          }
2026
     }
2027
     {
2028
          fftw_real tmp645;
2029
          fftw_real tmp735;
2030
          fftw_real tmp740;
2031
          fftw_real tmp750;
2032
          fftw_real tmp743;
2033
          fftw_real tmp751;
2034
          fftw_real tmp715;
2035
          fftw_real tmp731;
2036
          fftw_real tmp723;
2037
          fftw_real tmp745;
2038
          fftw_real tmp660;
2039
          fftw_real tmp746;
2040
          fftw_real tmp726;
2041
          fftw_real tmp736;
2042
          fftw_real tmp688;
2043
          fftw_real tmp730;
2044
          ASSERT_ALIGNED_DOUBLE();
2045
          {
2046
               fftw_real tmp644;
2047
               fftw_real tmp738;
2048
               fftw_real tmp739;
2049
               fftw_real tmp722;
2050
               fftw_real tmp652;
2051
               fftw_real tmp659;
2052
               ASSERT_ALIGNED_DOUBLE();
2053
               tmp644 = K707106781 * (tmp640 - tmp643);
2054
               tmp645 = tmp637 - tmp644;
2055
               tmp735 = tmp637 + tmp644;
2056
               tmp738 = tmp666 + tmp677;
2057
               tmp739 = tmp683 + tmp686;
2058
               tmp740 = (K555570233 * tmp738) + (K831469612 * tmp739);
2059
               tmp750 = (K831469612 * tmp738) - (K555570233 * tmp739);
2060
               {
2061
                    fftw_real tmp741;
2062
                    fftw_real tmp742;
2063
                    fftw_real tmp705;
2064
                    fftw_real tmp714;
2065
                    ASSERT_ALIGNED_DOUBLE();
2066
                    tmp741 = tmp693 + tmp704;
2067
                    tmp742 = tmp710 + tmp713;
2068
                    tmp743 = (K831469612 * tmp741) - (K555570233 * tmp742);
2069
                    tmp751 = (K831469612 * tmp742) + (K555570233 * tmp741);
2070
                    tmp705 = tmp693 - tmp704;
2071
                    tmp714 = tmp710 - tmp713;
2072
                    tmp715 = (K195090322 * tmp705) - (K980785280 * tmp714);
2073
                    tmp731 = (K195090322 * tmp714) + (K980785280 * tmp705);
2074
               }
2075
               tmp722 = K707106781 * (tmp720 - tmp721);
2076
               tmp723 = tmp719 - tmp722;
2077
               tmp745 = tmp719 + tmp722;
2078
               tmp652 = (K382683432 * tmp648) - (K923879532 * tmp651);
2079
               tmp659 = (K382683432 * tmp655) + (K923879532 * tmp658);
2080
               tmp660 = tmp652 - tmp659;
2081
               tmp746 = tmp652 + tmp659;
2082
               {
2083
                    fftw_real tmp724;
2084
                    fftw_real tmp725;
2085
                    fftw_real tmp678;
2086
                    fftw_real tmp687;
2087
                    ASSERT_ALIGNED_DOUBLE();
2088
                    tmp724 = (K382683432 * tmp658) - (K923879532 * tmp655);
2089
                    tmp725 = (K923879532 * tmp648) + (K382683432 * tmp651);
2090
                    tmp726 = tmp724 - tmp725;
2091
                    tmp736 = tmp725 + tmp724;
2092
                    tmp678 = tmp666 - tmp677;
2093
                    tmp687 = tmp683 - tmp686;
2094
                    tmp688 = (K980785280 * tmp678) + (K195090322 * tmp687);
2095
                    tmp730 = (K195090322 * tmp678) - (K980785280 * tmp687);
2096
               }
2097
          }
2098
          {
2099
               fftw_real tmp661;
2100
               fftw_real tmp716;
2101
               fftw_real tmp727;
2102
               fftw_real tmp728;
2103
               ASSERT_ALIGNED_DOUBLE();
2104
               tmp661 = tmp645 + tmp660;
2105
               tmp716 = tmp688 + tmp715;
2106
               c_re(output[46 * ostride]) = tmp661 - tmp716;
2107
               c_re(output[14 * ostride]) = tmp661 + tmp716;
2108
               tmp727 = tmp723 - tmp726;
2109
               tmp728 = tmp715 - tmp688;
2110
               c_im(output[62 * ostride]) = tmp727 - tmp728;
2111
               c_im(output[30 * ostride]) = tmp727 + tmp728;
2112
          }
2113
          {
2114
               fftw_real tmp733;
2115
               fftw_real tmp734;
2116
               fftw_real tmp729;
2117
               fftw_real tmp732;
2118
               ASSERT_ALIGNED_DOUBLE();
2119
               tmp733 = tmp723 + tmp726;
2120
               tmp734 = tmp730 + tmp731;
2121
               c_im(output[46 * ostride]) = tmp733 - tmp734;
2122
               c_im(output[14 * ostride]) = tmp733 + tmp734;
2123
               tmp729 = tmp645 - tmp660;
2124
               tmp732 = tmp730 - tmp731;
2125
               c_re(output[62 * ostride]) = tmp729 - tmp732;
2126
               c_re(output[30 * ostride]) = tmp729 + tmp732;
2127
          }
2128
          {
2129
               fftw_real tmp737;
2130
               fftw_real tmp744;
2131
               fftw_real tmp747;
2132
               fftw_real tmp748;
2133
               ASSERT_ALIGNED_DOUBLE();
2134
               tmp737 = tmp735 + tmp736;
2135
               tmp744 = tmp740 + tmp743;
2136
               c_re(output[38 * ostride]) = tmp737 - tmp744;
2137
               c_re(output[6 * ostride]) = tmp737 + tmp744;
2138
               tmp747 = tmp745 - tmp746;
2139
               tmp748 = tmp743 - tmp740;
2140
               c_im(output[54 * ostride]) = tmp747 - tmp748;
2141
               c_im(output[22 * ostride]) = tmp747 + tmp748;
2142
          }
2143
          {
2144
               fftw_real tmp753;
2145
               fftw_real tmp754;
2146
               fftw_real tmp749;
2147
               fftw_real tmp752;
2148
               ASSERT_ALIGNED_DOUBLE();
2149
               tmp753 = tmp745 + tmp746;
2150
               tmp754 = tmp750 + tmp751;
2151
               c_im(output[38 * ostride]) = tmp753 - tmp754;
2152
               c_im(output[6 * ostride]) = tmp753 + tmp754;
2153
               tmp749 = tmp735 - tmp736;
2154
               tmp752 = tmp750 - tmp751;
2155
               c_re(output[54 * ostride]) = tmp749 - tmp752;
2156
               c_re(output[22 * ostride]) = tmp749 + tmp752;
2157
          }
2158
     }
2159
     {
2160
          fftw_real tmp481;
2161
          fftw_real tmp555;
2162
          fftw_real tmp560;
2163
          fftw_real tmp570;
2164
          fftw_real tmp563;
2165
          fftw_real tmp571;
2166
          fftw_real tmp535;
2167
          fftw_real tmp551;
2168
          fftw_real tmp516;
2169
          fftw_real tmp550;
2170
          fftw_real tmp543;
2171
          fftw_real tmp565;
2172
          fftw_real tmp546;
2173
          fftw_real tmp556;
2174
          fftw_real tmp496;
2175
          fftw_real tmp566;
2176
          ASSERT_ALIGNED_DOUBLE();
2177
          {
2178
               fftw_real tmp473;
2179
               fftw_real tmp480;
2180
               fftw_real tmp558;
2181
               fftw_real tmp559;
2182
               ASSERT_ALIGNED_DOUBLE();
2183
               tmp473 = tmp471 - tmp472;
2184
               tmp480 = tmp476 - tmp479;
2185
               tmp481 = tmp473 - tmp480;
2186
               tmp555 = tmp473 + tmp480;
2187
               tmp558 = tmp500 + tmp507;
2188
               tmp559 = tmp511 + tmp514;
2189
               tmp560 = (K471396736 * tmp558) + (K881921264 * tmp559);
2190
               tmp570 = (K881921264 * tmp558) - (K471396736 * tmp559);
2191
          }
2192
          {
2193
               fftw_real tmp561;
2194
               fftw_real tmp562;
2195
               fftw_real tmp527;
2196
               fftw_real tmp534;
2197
               ASSERT_ALIGNED_DOUBLE();
2198
               tmp561 = tmp519 + tmp526;
2199
               tmp562 = tmp530 + tmp533;
2200
               tmp563 = (K881921264 * tmp561) - (K471396736 * tmp562);
2201
               tmp571 = (K881921264 * tmp562) + (K471396736 * tmp561);
2202
               tmp527 = tmp519 - tmp526;
2203
               tmp534 = tmp530 - tmp533;
2204
               tmp535 = (K290284677 * tmp527) - (K956940335 * tmp534);
2205
               tmp551 = (K290284677 * tmp534) + (K956940335 * tmp527);
2206
          }
2207
          {
2208
               fftw_real tmp508;
2209
               fftw_real tmp515;
2210
               fftw_real tmp539;
2211
               fftw_real tmp542;
2212
               ASSERT_ALIGNED_DOUBLE();
2213
               tmp508 = tmp500 - tmp507;
2214
               tmp515 = tmp511 - tmp514;
2215
               tmp516 = (K956940335 * tmp508) + (K290284677 * tmp515);
2216
               tmp550 = (K290284677 * tmp508) - (K956940335 * tmp515);
2217
               tmp539 = tmp537 - tmp538;
2218
               tmp542 = tmp540 - tmp541;
2219
               tmp543 = tmp539 - tmp542;
2220
               tmp565 = tmp539 + tmp542;
2221
          }
2222
          {
2223
               fftw_real tmp544;
2224
               fftw_real tmp545;
2225
               fftw_real tmp488;
2226
               fftw_real tmp495;
2227
               ASSERT_ALIGNED_DOUBLE();
2228
               tmp544 = (K555570233 * tmp491) - (K831469612 * tmp494);
2229
               tmp545 = (K555570233 * tmp487) + (K831469612 * tmp484);
2230
               tmp546 = tmp544 - tmp545;
2231
               tmp556 = tmp545 + tmp544;
2232
               tmp488 = (K555570233 * tmp484) - (K831469612 * tmp487);
2233
               tmp495 = (K831469612 * tmp491) + (K555570233 * tmp494);
2234
               tmp496 = tmp488 - tmp495;
2235
               tmp566 = tmp488 + tmp495;
2236
          }
2237
          {
2238
               fftw_real tmp497;
2239
               fftw_real tmp536;
2240
               fftw_real tmp547;
2241
               fftw_real tmp548;
2242
               ASSERT_ALIGNED_DOUBLE();
2243
               tmp497 = tmp481 + tmp496;
2244
               tmp536 = tmp516 + tmp535;
2245
               c_re(output[45 * ostride]) = tmp497 - tmp536;
2246
               c_re(output[13 * ostride]) = tmp497 + tmp536;
2247
               tmp547 = tmp543 - tmp546;
2248
               tmp548 = tmp535 - tmp516;
2249
               c_im(output[61 * ostride]) = tmp547 - tmp548;
2250
               c_im(output[29 * ostride]) = tmp547 + tmp548;
2251
          }
2252
          {
2253
               fftw_real tmp553;
2254
               fftw_real tmp554;
2255
               fftw_real tmp549;
2256
               fftw_real tmp552;
2257
               ASSERT_ALIGNED_DOUBLE();
2258
               tmp553 = tmp543 + tmp546;
2259
               tmp554 = tmp550 + tmp551;
2260
               c_im(output[45 * ostride]) = tmp553 - tmp554;
2261
               c_im(output[13 * ostride]) = tmp553 + tmp554;
2262
               tmp549 = tmp481 - tmp496;
2263
               tmp552 = tmp550 - tmp551;
2264
               c_re(output[61 * ostride]) = tmp549 - tmp552;
2265
               c_re(output[29 * ostride]) = tmp549 + tmp552;
2266
          }
2267
          {
2268
               fftw_real tmp557;
2269
               fftw_real tmp564;
2270
               fftw_real tmp567;
2271
               fftw_real tmp568;
2272
               ASSERT_ALIGNED_DOUBLE();
2273
               tmp557 = tmp555 + tmp556;
2274
               tmp564 = tmp560 + tmp563;
2275
               c_re(output[37 * ostride]) = tmp557 - tmp564;
2276
               c_re(output[5 * ostride]) = tmp557 + tmp564;
2277
               tmp567 = tmp565 - tmp566;
2278
               tmp568 = tmp563 - tmp560;
2279
               c_im(output[53 * ostride]) = tmp567 - tmp568;
2280
               c_im(output[21 * ostride]) = tmp567 + tmp568;
2281
          }
2282
          {
2283
               fftw_real tmp573;
2284
               fftw_real tmp574;
2285
               fftw_real tmp569;
2286
               fftw_real tmp572;
2287
               ASSERT_ALIGNED_DOUBLE();
2288
               tmp573 = tmp565 + tmp566;
2289
               tmp574 = tmp570 + tmp571;
2290
               c_im(output[37 * ostride]) = tmp573 - tmp574;
2291
               c_im(output[5 * ostride]) = tmp573 + tmp574;
2292
               tmp569 = tmp555 - tmp556;
2293
               tmp572 = tmp570 - tmp571;
2294
               c_re(output[53 * ostride]) = tmp569 - tmp572;
2295
               c_re(output[21 * ostride]) = tmp569 + tmp572;
2296
          }
2297
     }
2298
     {
2299
          fftw_real tmp577;
2300
          fftw_real tmp615;
2301
          fftw_real tmp620;
2302
          fftw_real tmp630;
2303
          fftw_real tmp623;
2304
          fftw_real tmp631;
2305
          fftw_real tmp599;
2306
          fftw_real tmp611;
2307
          fftw_real tmp592;
2308
          fftw_real tmp610;
2309
          fftw_real tmp603;
2310
          fftw_real tmp625;
2311
          fftw_real tmp606;
2312
          fftw_real tmp616;
2313
          fftw_real tmp584;
2314
          fftw_real tmp626;
2315
          ASSERT_ALIGNED_DOUBLE();
2316
          {
2317
               fftw_real tmp575;
2318
               fftw_real tmp576;
2319
               fftw_real tmp618;
2320
               fftw_real tmp619;
2321
               ASSERT_ALIGNED_DOUBLE();
2322
               tmp575 = tmp471 + tmp472;
2323
               tmp576 = tmp541 + tmp540;
2324
               tmp577 = tmp575 - tmp576;
2325
               tmp615 = tmp575 + tmp576;
2326
               tmp618 = tmp586 + tmp587;
2327
               tmp619 = tmp589 + tmp590;
2328
               tmp620 = (K995184726 * tmp618) + (K098017140 * tmp619);
2329
               tmp630 = (K995184726 * tmp619) - (K098017140 * tmp618);
2330
          }
2331
          {
2332
               fftw_real tmp621;
2333
               fftw_real tmp622;
2334
               fftw_real tmp595;
2335
               fftw_real tmp598;
2336
               ASSERT_ALIGNED_DOUBLE();
2337
               tmp621 = tmp593 + tmp594;
2338
               tmp622 = tmp596 + tmp597;
2339
               tmp623 = (K995184726 * tmp621) - (K098017140 * tmp622);
2340
               tmp631 = (K098017140 * tmp621) + (K995184726 * tmp622);
2341
               tmp595 = tmp593 - tmp594;
2342
               tmp598 = tmp596 - tmp597;
2343
               tmp599 = (K634393284 * tmp595) - (K773010453 * tmp598);
2344
               tmp611 = (K773010453 * tmp595) + (K634393284 * tmp598);
2345
          }
2346
          {
2347
               fftw_real tmp588;
2348
               fftw_real tmp591;
2349
               fftw_real tmp601;
2350
               fftw_real tmp602;
2351
               ASSERT_ALIGNED_DOUBLE();
2352
               tmp588 = tmp586 - tmp587;
2353
               tmp591 = tmp589 - tmp590;
2354
               tmp592 = (K634393284 * tmp588) + (K773010453 * tmp591);
2355
               tmp610 = (K634393284 * tmp591) - (K773010453 * tmp588);
2356
               tmp601 = tmp537 + tmp538;
2357
               tmp602 = tmp476 + tmp479;
2358
               tmp603 = tmp601 - tmp602;
2359
               tmp625 = tmp601 + tmp602;
2360
          }
2361
          {
2362
               fftw_real tmp604;
2363
               fftw_real tmp605;
2364
               fftw_real tmp580;
2365
               fftw_real tmp583;
2366
               ASSERT_ALIGNED_DOUBLE();
2367
               tmp604 = (K980785280 * tmp581) - (K195090322 * tmp582);
2368
               tmp605 = (K980785280 * tmp579) + (K195090322 * tmp578);
2369
               tmp606 = tmp604 - tmp605;
2370
               tmp616 = tmp605 + tmp604;
2371
               tmp580 = (K980785280 * tmp578) - (K195090322 * tmp579);
2372
               tmp583 = (K195090322 * tmp581) + (K980785280 * tmp582);
2373
               tmp584 = tmp580 - tmp583;
2374
               tmp626 = tmp580 + tmp583;
2375
          }
2376
          {
2377
               fftw_real tmp585;
2378
               fftw_real tmp600;
2379
               fftw_real tmp607;
2380
               fftw_real tmp608;
2381
               ASSERT_ALIGNED_DOUBLE();
2382
               tmp585 = tmp577 + tmp584;
2383
               tmp600 = tmp592 + tmp599;
2384
               c_re(output[41 * ostride]) = tmp585 - tmp600;
2385
               c_re(output[9 * ostride]) = tmp585 + tmp600;
2386
               tmp607 = tmp603 - tmp606;
2387
               tmp608 = tmp599 - tmp592;
2388
               c_im(output[57 * ostride]) = tmp607 - tmp608;
2389
               c_im(output[25 * ostride]) = tmp607 + tmp608;
2390
          }
2391
          {
2392
               fftw_real tmp613;
2393
               fftw_real tmp614;
2394
               fftw_real tmp609;
2395
               fftw_real tmp612;
2396
               ASSERT_ALIGNED_DOUBLE();
2397
               tmp613 = tmp603 + tmp606;
2398
               tmp614 = tmp610 + tmp611;
2399
               c_im(output[41 * ostride]) = tmp613 - tmp614;
2400
               c_im(output[9 * ostride]) = tmp613 + tmp614;
2401
               tmp609 = tmp577 - tmp584;
2402
               tmp612 = tmp610 - tmp611;
2403
               c_re(output[57 * ostride]) = tmp609 - tmp612;
2404
               c_re(output[25 * ostride]) = tmp609 + tmp612;
2405
          }
2406
          {
2407
               fftw_real tmp617;
2408
               fftw_real tmp624;
2409
               fftw_real tmp627;
2410
               fftw_real tmp628;
2411
               ASSERT_ALIGNED_DOUBLE();
2412
               tmp617 = tmp615 + tmp616;
2413
               tmp624 = tmp620 + tmp623;
2414
               c_re(output[33 * ostride]) = tmp617 - tmp624;
2415
               c_re(output[ostride]) = tmp617 + tmp624;
2416
               tmp627 = tmp625 - tmp626;
2417
               tmp628 = tmp623 - tmp620;
2418
               c_im(output[49 * ostride]) = tmp627 - tmp628;
2419
               c_im(output[17 * ostride]) = tmp627 + tmp628;
2420
          }
2421
          {
2422
               fftw_real tmp633;
2423
               fftw_real tmp634;
2424
               fftw_real tmp629;
2425
               fftw_real tmp632;
2426
               ASSERT_ALIGNED_DOUBLE();
2427
               tmp633 = tmp625 + tmp626;
2428
               tmp634 = tmp630 + tmp631;
2429
               c_im(output[33 * ostride]) = tmp633 - tmp634;
2430
               c_im(output[ostride]) = tmp633 + tmp634;
2431
               tmp629 = tmp615 - tmp616;
2432
               tmp632 = tmp630 - tmp631;
2433
               c_re(output[49 * ostride]) = tmp629 - tmp632;
2434
               c_re(output[17 * ostride]) = tmp629 + tmp632;
2435
          }
2436
     }
2437
}
2438
 
2439
fftw_codelet_desc fftw_no_twiddle_64_desc =
2440
{
2441
     "fftw_no_twiddle_64",
2442
     (void (*)()) fftw_no_twiddle_64,
2443
     64,
2444
     FFTW_FORWARD,
2445
     FFTW_NOTW,
2446
     1409,
2447
     0,
2448
     (const int *) 0,
2449
};