1 /*
2  * Copyright (c) 1997-1999, 2003 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 Mon Mar 24 02:08:40 EST 2003 */
22 
23 #include "fftw-int.h"
24 #include "fftw.h"
25 
26 /* Generated by: /homee/stevenj/cvs/fftw/gensrc/genfft -magic-alignment-check -magic-twiddle-load-all -magic-variables 4 -magic-loopi -twiddleinv 64 */
27 
28 /*
29  * This function contains 1038 FP additions, 500 FP multiplications,
30  * (or, 808 additions, 270 multiplications, 230 fused multiply/add),
31  * 162 stack variables, and 256 memory accesses
32  */
33 static const fftw_real K098017140 =
34 FFTW_KONST(+0.098017140329560601994195563888641845861136673);
35 static const fftw_real K995184726 =
36 FFTW_KONST(+0.995184726672196886244836953109479921575474869);
37 static const fftw_real K773010453 =
38 FFTW_KONST(+0.773010453362736960810906609758469800971041293);
39 static const fftw_real K634393284 =
40 FFTW_KONST(+0.634393284163645498215171613225493370675687095);
41 static const fftw_real K195090322 =
42 FFTW_KONST(+0.195090322016128267848284868477022240927691618);
43 static const fftw_real K980785280 =
44 FFTW_KONST(+0.980785280403230449126182236134239036973933731);
45 static const fftw_real K471396736 =
46 FFTW_KONST(+0.471396736825997648556387625905254377657460319);
47 static const fftw_real K881921264 =
48 FFTW_KONST(+0.881921264348355029712756863660388349508442621);
49 static const fftw_real K956940335 =
50 FFTW_KONST(+0.956940335732208864935797886980269969482849206);
51 static const fftw_real K290284677 =
52 FFTW_KONST(+0.290284677254462367636192375817395274691476278);
53 static const fftw_real K831469612 =
54 FFTW_KONST(+0.831469612302545237078788377617905756738560812);
55 static const fftw_real K555570233 =
56 FFTW_KONST(+0.555570233019602224742830813948532874374937191);
57 static const fftw_real K707106781 =
58 FFTW_KONST(+0.707106781186547524400844362104849039284835938);
59 static const fftw_real K382683432 =
60 FFTW_KONST(+0.382683432365089771728459984030398866761344562);
61 static const fftw_real K923879532 =
62 FFTW_KONST(+0.923879532511286756128183189396788286822416626);
63 
64 /*
65  * Generator Id's :
66  * $Id: exprdag.ml,v 1.43 2003/03/16 23:43:46 stevenj Exp $
67  * $Id: fft.ml,v 1.44 2003/03/16 23:43:46 stevenj Exp $
68  * $Id: to_c.ml,v 1.26 2003/03/16 23:43:46 stevenj Exp $
69  */
70 
fftwi_twiddle_64(fftw_complex * A,const fftw_complex * W,int iostride,int m,int dist)71 void fftwi_twiddle_64(fftw_complex *A, const fftw_complex *W, int iostride,
72 		      int m, int dist)
73 {
74      int i;
75      fftw_complex *inout;
76      inout = A;
77      for (i = m; i > 0; i = i - 1, inout = inout + dist, W = W + 63) {
78 	  fftw_real tmp19;
79 	  fftw_real tmp791;
80 	  fftw_real tmp1109;
81 	  fftw_real tmp1139;
82 	  fftw_real tmp1047;
83 	  fftw_real tmp1077;
84 	  fftw_real tmp383;
85 	  fftw_real tmp655;
86 	  fftw_real tmp66;
87 	  fftw_real tmp800;
88 	  fftw_real tmp909;
89 	  fftw_real tmp993;
90 	  fftw_real tmp417;
91 	  fftw_real tmp608;
92 	  fftw_real tmp665;
93 	  fftw_real tmp744;
94 	  fftw_real tmp42;
95 	  fftw_real tmp1076;
96 	  fftw_real tmp794;
97 	  fftw_real tmp1042;
98 	  fftw_real tmp394;
99 	  fftw_real tmp1138;
100 	  fftw_real tmp658;
101 	  fftw_real tmp1106;
102 	  fftw_real tmp329;
103 	  fftw_real tmp1007;
104 	  fftw_real tmp863;
105 	  fftw_real tmp923;
106 	  fftw_real tmp976;
107 	  fftw_real tmp1004;
108 	  fftw_real tmp880;
109 	  fftw_real tmp920;
110 	  fftw_real tmp535;
111 	  fftw_real tmp703;
112 	  fftw_real tmp576;
113 	  fftw_real tmp714;
114 	  fftw_real tmp579;
115 	  fftw_real tmp704;
116 	  fftw_real tmp546;
117 	  fftw_real tmp715;
118 	  fftw_real tmp376;
119 	  fftw_real tmp1005;
120 	  fftw_real tmp868;
121 	  fftw_real tmp881;
122 	  fftw_real tmp979;
123 	  fftw_real tmp1008;
124 	  fftw_real tmp873;
125 	  fftw_real tmp882;
126 	  fftw_real tmp558;
127 	  fftw_real tmp582;
128 	  fftw_real tmp708;
129 	  fftw_real tmp718;
130 	  fftw_real tmp569;
131 	  fftw_real tmp581;
132 	  fftw_real tmp711;
133 	  fftw_real tmp717;
134 	  fftw_real tmp89;
135 	  fftw_real tmp805;
136 	  fftw_real tmp908;
137 	  fftw_real tmp992;
138 	  fftw_real tmp406;
139 	  fftw_real tmp609;
140 	  fftw_real tmp662;
141 	  fftw_real tmp745;
142 	  fftw_real tmp161;
143 	  fftw_real tmp184;
144 	  fftw_real tmp997;
145 	  fftw_real tmp812;
146 	  fftw_real tmp912;
147 	  fftw_real tmp956;
148 	  fftw_real tmp957;
149 	  fftw_real tmp996;
150 	  fftw_real tmp817;
151 	  fftw_real tmp913;
152 	  fftw_real tmp424;
153 	  fftw_real tmp668;
154 	  fftw_real tmp441;
155 	  fftw_real tmp671;
156 	  fftw_real tmp444;
157 	  fftw_real tmp669;
158 	  fftw_real tmp435;
159 	  fftw_real tmp672;
160 	  fftw_real tmp114;
161 	  fftw_real tmp137;
162 	  fftw_real tmp999;
163 	  fftw_real tmp823;
164 	  fftw_real tmp915;
165 	  fftw_real tmp959;
166 	  fftw_real tmp960;
167 	  fftw_real tmp1000;
168 	  fftw_real tmp828;
169 	  fftw_real tmp916;
170 	  fftw_real tmp451;
171 	  fftw_real tmp678;
172 	  fftw_real tmp468;
173 	  fftw_real tmp675;
174 	  fftw_real tmp471;
175 	  fftw_real tmp679;
176 	  fftw_real tmp462;
177 	  fftw_real tmp676;
178 	  fftw_real tmp234;
179 	  fftw_real tmp1014;
180 	  fftw_real tmp836;
181 	  fftw_real tmp930;
182 	  fftw_real tmp967;
183 	  fftw_real tmp1011;
184 	  fftw_real tmp853;
185 	  fftw_real tmp927;
186 	  fftw_real tmp480;
187 	  fftw_real tmp684;
188 	  fftw_real tmp521;
189 	  fftw_real tmp695;
190 	  fftw_real tmp524;
191 	  fftw_real tmp685;
192 	  fftw_real tmp491;
193 	  fftw_real tmp696;
194 	  fftw_real tmp281;
195 	  fftw_real tmp1012;
196 	  fftw_real tmp841;
197 	  fftw_real tmp854;
198 	  fftw_real tmp970;
199 	  fftw_real tmp1015;
200 	  fftw_real tmp846;
201 	  fftw_real tmp855;
202 	  fftw_real tmp503;
203 	  fftw_real tmp527;
204 	  fftw_real tmp689;
205 	  fftw_real tmp699;
206 	  fftw_real tmp514;
207 	  fftw_real tmp526;
208 	  fftw_real tmp692;
209 	  fftw_real tmp698;
210 	  ASSERT_ALIGNED_DOUBLE;
211 	  {
212 	       fftw_real tmp1;
213 	       fftw_real tmp1045;
214 	       fftw_real tmp6;
215 	       fftw_real tmp1044;
216 	       fftw_real tmp12;
217 	       fftw_real tmp380;
218 	       fftw_real tmp17;
219 	       fftw_real tmp381;
220 	       ASSERT_ALIGNED_DOUBLE;
221 	       tmp1 = c_re(inout[0]);
222 	       tmp1045 = c_im(inout[0]);
223 	       {
224 		    fftw_real tmp3;
225 		    fftw_real tmp5;
226 		    fftw_real tmp2;
227 		    fftw_real tmp4;
228 		    ASSERT_ALIGNED_DOUBLE;
229 		    tmp3 = c_re(inout[32 * iostride]);
230 		    tmp5 = c_im(inout[32 * iostride]);
231 		    tmp2 = c_re(W[31]);
232 		    tmp4 = c_im(W[31]);
233 		    tmp6 = (tmp2 * tmp3) + (tmp4 * tmp5);
234 		    tmp1044 = (tmp2 * tmp5) - (tmp4 * tmp3);
235 	       }
236 	       {
237 		    fftw_real tmp9;
238 		    fftw_real tmp11;
239 		    fftw_real tmp8;
240 		    fftw_real tmp10;
241 		    ASSERT_ALIGNED_DOUBLE;
242 		    tmp9 = c_re(inout[16 * iostride]);
243 		    tmp11 = c_im(inout[16 * iostride]);
244 		    tmp8 = c_re(W[15]);
245 		    tmp10 = c_im(W[15]);
246 		    tmp12 = (tmp8 * tmp9) + (tmp10 * tmp11);
247 		    tmp380 = (tmp8 * tmp11) - (tmp10 * tmp9);
248 	       }
249 	       {
250 		    fftw_real tmp14;
251 		    fftw_real tmp16;
252 		    fftw_real tmp13;
253 		    fftw_real tmp15;
254 		    ASSERT_ALIGNED_DOUBLE;
255 		    tmp14 = c_re(inout[48 * iostride]);
256 		    tmp16 = c_im(inout[48 * iostride]);
257 		    tmp13 = c_re(W[47]);
258 		    tmp15 = c_im(W[47]);
259 		    tmp17 = (tmp13 * tmp14) + (tmp15 * tmp16);
260 		    tmp381 = (tmp13 * tmp16) - (tmp15 * tmp14);
261 	       }
262 	       {
263 		    fftw_real tmp7;
264 		    fftw_real tmp18;
265 		    fftw_real tmp1107;
266 		    fftw_real tmp1108;
267 		    ASSERT_ALIGNED_DOUBLE;
268 		    tmp7 = tmp1 + tmp6;
269 		    tmp18 = tmp12 + tmp17;
270 		    tmp19 = tmp7 + tmp18;
271 		    tmp791 = tmp7 - tmp18;
272 		    tmp1107 = tmp12 - tmp17;
273 		    tmp1108 = tmp1045 - tmp1044;
274 		    tmp1109 = tmp1107 + tmp1108;
275 		    tmp1139 = tmp1108 - tmp1107;
276 	       }
277 	       {
278 		    fftw_real tmp1043;
279 		    fftw_real tmp1046;
280 		    fftw_real tmp379;
281 		    fftw_real tmp382;
282 		    ASSERT_ALIGNED_DOUBLE;
283 		    tmp1043 = tmp380 + tmp381;
284 		    tmp1046 = tmp1044 + tmp1045;
285 		    tmp1047 = tmp1043 + tmp1046;
286 		    tmp1077 = tmp1046 - tmp1043;
287 		    tmp379 = tmp1 - tmp6;
288 		    tmp382 = tmp380 - tmp381;
289 		    tmp383 = tmp379 - tmp382;
290 		    tmp655 = tmp379 + tmp382;
291 	       }
292 	  }
293 	  {
294 	       fftw_real tmp54;
295 	       fftw_real tmp412;
296 	       fftw_real tmp409;
297 	       fftw_real tmp797;
298 	       fftw_real tmp65;
299 	       fftw_real tmp410;
300 	       fftw_real tmp415;
301 	       fftw_real tmp798;
302 	       fftw_real tmp796;
303 	       fftw_real tmp799;
304 	       ASSERT_ALIGNED_DOUBLE;
305 	       {
306 		    fftw_real tmp48;
307 		    fftw_real tmp407;
308 		    fftw_real tmp53;
309 		    fftw_real tmp408;
310 		    ASSERT_ALIGNED_DOUBLE;
311 		    {
312 			 fftw_real tmp45;
313 			 fftw_real tmp47;
314 			 fftw_real tmp44;
315 			 fftw_real tmp46;
316 			 ASSERT_ALIGNED_DOUBLE;
317 			 tmp45 = c_re(inout[4 * iostride]);
318 			 tmp47 = c_im(inout[4 * iostride]);
319 			 tmp44 = c_re(W[3]);
320 			 tmp46 = c_im(W[3]);
321 			 tmp48 = (tmp44 * tmp45) + (tmp46 * tmp47);
322 			 tmp407 = (tmp44 * tmp47) - (tmp46 * tmp45);
323 		    }
324 		    {
325 			 fftw_real tmp50;
326 			 fftw_real tmp52;
327 			 fftw_real tmp49;
328 			 fftw_real tmp51;
329 			 ASSERT_ALIGNED_DOUBLE;
330 			 tmp50 = c_re(inout[36 * iostride]);
331 			 tmp52 = c_im(inout[36 * iostride]);
332 			 tmp49 = c_re(W[35]);
333 			 tmp51 = c_im(W[35]);
334 			 tmp53 = (tmp49 * tmp50) + (tmp51 * tmp52);
335 			 tmp408 = (tmp49 * tmp52) - (tmp51 * tmp50);
336 		    }
337 		    tmp54 = tmp48 + tmp53;
338 		    tmp412 = tmp48 - tmp53;
339 		    tmp409 = tmp407 - tmp408;
340 		    tmp797 = tmp407 + tmp408;
341 	       }
342 	       {
343 		    fftw_real tmp59;
344 		    fftw_real tmp413;
345 		    fftw_real tmp64;
346 		    fftw_real tmp414;
347 		    ASSERT_ALIGNED_DOUBLE;
348 		    {
349 			 fftw_real tmp56;
350 			 fftw_real tmp58;
351 			 fftw_real tmp55;
352 			 fftw_real tmp57;
353 			 ASSERT_ALIGNED_DOUBLE;
354 			 tmp56 = c_re(inout[20 * iostride]);
355 			 tmp58 = c_im(inout[20 * iostride]);
356 			 tmp55 = c_re(W[19]);
357 			 tmp57 = c_im(W[19]);
358 			 tmp59 = (tmp55 * tmp56) + (tmp57 * tmp58);
359 			 tmp413 = (tmp55 * tmp58) - (tmp57 * tmp56);
360 		    }
361 		    {
362 			 fftw_real tmp61;
363 			 fftw_real tmp63;
364 			 fftw_real tmp60;
365 			 fftw_real tmp62;
366 			 ASSERT_ALIGNED_DOUBLE;
367 			 tmp61 = c_re(inout[52 * iostride]);
368 			 tmp63 = c_im(inout[52 * iostride]);
369 			 tmp60 = c_re(W[51]);
370 			 tmp62 = c_im(W[51]);
371 			 tmp64 = (tmp60 * tmp61) + (tmp62 * tmp63);
372 			 tmp414 = (tmp60 * tmp63) - (tmp62 * tmp61);
373 		    }
374 		    tmp65 = tmp59 + tmp64;
375 		    tmp410 = tmp59 - tmp64;
376 		    tmp415 = tmp413 - tmp414;
377 		    tmp798 = tmp413 + tmp414;
378 	       }
379 	       tmp66 = tmp54 + tmp65;
380 	       tmp796 = tmp54 - tmp65;
381 	       tmp799 = tmp797 - tmp798;
382 	       tmp800 = tmp796 - tmp799;
383 	       tmp909 = tmp796 + tmp799;
384 	       tmp993 = tmp797 + tmp798;
385 	       {
386 		    fftw_real tmp411;
387 		    fftw_real tmp416;
388 		    fftw_real tmp663;
389 		    fftw_real tmp664;
390 		    ASSERT_ALIGNED_DOUBLE;
391 		    tmp411 = tmp409 + tmp410;
392 		    tmp416 = tmp412 - tmp415;
393 		    tmp417 = (K923879532 * tmp411) + (K382683432 * tmp416);
394 		    tmp608 = (K923879532 * tmp416) - (K382683432 * tmp411);
395 		    tmp663 = tmp409 - tmp410;
396 		    tmp664 = tmp412 + tmp415;
397 		    tmp665 = (K382683432 * tmp663) + (K923879532 * tmp664);
398 		    tmp744 = (K382683432 * tmp664) - (K923879532 * tmp663);
399 	       }
400 	  }
401 	  {
402 	       fftw_real tmp24;
403 	       fftw_real tmp385;
404 	       fftw_real tmp29;
405 	       fftw_real tmp386;
406 	       fftw_real tmp384;
407 	       fftw_real tmp387;
408 	       fftw_real tmp35;
409 	       fftw_real tmp390;
410 	       fftw_real tmp40;
411 	       fftw_real tmp391;
412 	       fftw_real tmp389;
413 	       fftw_real tmp392;
414 	       ASSERT_ALIGNED_DOUBLE;
415 	       {
416 		    fftw_real tmp21;
417 		    fftw_real tmp23;
418 		    fftw_real tmp20;
419 		    fftw_real tmp22;
420 		    ASSERT_ALIGNED_DOUBLE;
421 		    tmp21 = c_re(inout[8 * iostride]);
422 		    tmp23 = c_im(inout[8 * iostride]);
423 		    tmp20 = c_re(W[7]);
424 		    tmp22 = c_im(W[7]);
425 		    tmp24 = (tmp20 * tmp21) + (tmp22 * tmp23);
426 		    tmp385 = (tmp20 * tmp23) - (tmp22 * tmp21);
427 	       }
428 	       {
429 		    fftw_real tmp26;
430 		    fftw_real tmp28;
431 		    fftw_real tmp25;
432 		    fftw_real tmp27;
433 		    ASSERT_ALIGNED_DOUBLE;
434 		    tmp26 = c_re(inout[40 * iostride]);
435 		    tmp28 = c_im(inout[40 * iostride]);
436 		    tmp25 = c_re(W[39]);
437 		    tmp27 = c_im(W[39]);
438 		    tmp29 = (tmp25 * tmp26) + (tmp27 * tmp28);
439 		    tmp386 = (tmp25 * tmp28) - (tmp27 * tmp26);
440 	       }
441 	       tmp384 = tmp24 - tmp29;
442 	       tmp387 = tmp385 - tmp386;
443 	       {
444 		    fftw_real tmp32;
445 		    fftw_real tmp34;
446 		    fftw_real tmp31;
447 		    fftw_real tmp33;
448 		    ASSERT_ALIGNED_DOUBLE;
449 		    tmp32 = c_re(inout[56 * iostride]);
450 		    tmp34 = c_im(inout[56 * iostride]);
451 		    tmp31 = c_re(W[55]);
452 		    tmp33 = c_im(W[55]);
453 		    tmp35 = (tmp31 * tmp32) + (tmp33 * tmp34);
454 		    tmp390 = (tmp31 * tmp34) - (tmp33 * tmp32);
455 	       }
456 	       {
457 		    fftw_real tmp37;
458 		    fftw_real tmp39;
459 		    fftw_real tmp36;
460 		    fftw_real tmp38;
461 		    ASSERT_ALIGNED_DOUBLE;
462 		    tmp37 = c_re(inout[24 * iostride]);
463 		    tmp39 = c_im(inout[24 * iostride]);
464 		    tmp36 = c_re(W[23]);
465 		    tmp38 = c_im(W[23]);
466 		    tmp40 = (tmp36 * tmp37) + (tmp38 * tmp39);
467 		    tmp391 = (tmp36 * tmp39) - (tmp38 * tmp37);
468 	       }
469 	       tmp389 = tmp35 - tmp40;
470 	       tmp392 = tmp390 - tmp391;
471 	       {
472 		    fftw_real tmp30;
473 		    fftw_real tmp41;
474 		    fftw_real tmp792;
475 		    fftw_real tmp793;
476 		    ASSERT_ALIGNED_DOUBLE;
477 		    tmp30 = tmp24 + tmp29;
478 		    tmp41 = tmp35 + tmp40;
479 		    tmp42 = tmp30 + tmp41;
480 		    tmp1076 = tmp30 - tmp41;
481 		    tmp792 = tmp390 + tmp391;
482 		    tmp793 = tmp385 + tmp386;
483 		    tmp794 = tmp792 - tmp793;
484 		    tmp1042 = tmp793 + tmp792;
485 	       }
486 	       {
487 		    fftw_real tmp388;
488 		    fftw_real tmp393;
489 		    fftw_real tmp656;
490 		    fftw_real tmp657;
491 		    ASSERT_ALIGNED_DOUBLE;
492 		    tmp388 = tmp384 - tmp387;
493 		    tmp393 = tmp389 + tmp392;
494 		    tmp394 = K707106781 * (tmp388 + tmp393);
495 		    tmp1138 = K707106781 * (tmp388 - tmp393);
496 		    tmp656 = tmp392 - tmp389;
497 		    tmp657 = tmp384 + tmp387;
498 		    tmp658 = K707106781 * (tmp656 - tmp657);
499 		    tmp1106 = K707106781 * (tmp657 + tmp656);
500 	       }
501 	  }
502 	  {
503 	       fftw_real tmp287;
504 	       fftw_real tmp572;
505 	       fftw_real tmp292;
506 	       fftw_real tmp573;
507 	       fftw_real tmp293;
508 	       fftw_real tmp876;
509 	       fftw_real tmp327;
510 	       fftw_real tmp541;
511 	       fftw_real tmp544;
512 	       fftw_real tmp860;
513 	       fftw_real tmp298;
514 	       fftw_real tmp532;
515 	       fftw_real tmp303;
516 	       fftw_real tmp533;
517 	       fftw_real tmp304;
518 	       fftw_real tmp877;
519 	       fftw_real tmp316;
520 	       fftw_real tmp536;
521 	       fftw_real tmp539;
522 	       fftw_real tmp861;
523 	       ASSERT_ALIGNED_DOUBLE;
524 	       {
525 		    fftw_real tmp284;
526 		    fftw_real tmp286;
527 		    fftw_real tmp283;
528 		    fftw_real tmp285;
529 		    ASSERT_ALIGNED_DOUBLE;
530 		    tmp284 = c_re(inout[63 * iostride]);
531 		    tmp286 = c_im(inout[63 * iostride]);
532 		    tmp283 = c_re(W[62]);
533 		    tmp285 = c_im(W[62]);
534 		    tmp287 = (tmp283 * tmp284) + (tmp285 * tmp286);
535 		    tmp572 = (tmp283 * tmp286) - (tmp285 * tmp284);
536 	       }
537 	       {
538 		    fftw_real tmp289;
539 		    fftw_real tmp291;
540 		    fftw_real tmp288;
541 		    fftw_real tmp290;
542 		    ASSERT_ALIGNED_DOUBLE;
543 		    tmp289 = c_re(inout[31 * iostride]);
544 		    tmp291 = c_im(inout[31 * iostride]);
545 		    tmp288 = c_re(W[30]);
546 		    tmp290 = c_im(W[30]);
547 		    tmp292 = (tmp288 * tmp289) + (tmp290 * tmp291);
548 		    tmp573 = (tmp288 * tmp291) - (tmp290 * tmp289);
549 	       }
550 	       tmp293 = tmp287 + tmp292;
551 	       tmp876 = tmp572 + tmp573;
552 	       {
553 		    fftw_real tmp321;
554 		    fftw_real tmp542;
555 		    fftw_real tmp326;
556 		    fftw_real tmp543;
557 		    ASSERT_ALIGNED_DOUBLE;
558 		    {
559 			 fftw_real tmp318;
560 			 fftw_real tmp320;
561 			 fftw_real tmp317;
562 			 fftw_real tmp319;
563 			 ASSERT_ALIGNED_DOUBLE;
564 			 tmp318 = c_re(inout[55 * iostride]);
565 			 tmp320 = c_im(inout[55 * iostride]);
566 			 tmp317 = c_re(W[54]);
567 			 tmp319 = c_im(W[54]);
568 			 tmp321 = (tmp317 * tmp318) + (tmp319 * tmp320);
569 			 tmp542 = (tmp317 * tmp320) - (tmp319 * tmp318);
570 		    }
571 		    {
572 			 fftw_real tmp323;
573 			 fftw_real tmp325;
574 			 fftw_real tmp322;
575 			 fftw_real tmp324;
576 			 ASSERT_ALIGNED_DOUBLE;
577 			 tmp323 = c_re(inout[23 * iostride]);
578 			 tmp325 = c_im(inout[23 * iostride]);
579 			 tmp322 = c_re(W[22]);
580 			 tmp324 = c_im(W[22]);
581 			 tmp326 = (tmp322 * tmp323) + (tmp324 * tmp325);
582 			 tmp543 = (tmp322 * tmp325) - (tmp324 * tmp323);
583 		    }
584 		    tmp327 = tmp321 + tmp326;
585 		    tmp541 = tmp321 - tmp326;
586 		    tmp544 = tmp542 - tmp543;
587 		    tmp860 = tmp542 + tmp543;
588 	       }
589 	       {
590 		    fftw_real tmp295;
591 		    fftw_real tmp297;
592 		    fftw_real tmp294;
593 		    fftw_real tmp296;
594 		    ASSERT_ALIGNED_DOUBLE;
595 		    tmp295 = c_re(inout[15 * iostride]);
596 		    tmp297 = c_im(inout[15 * iostride]);
597 		    tmp294 = c_re(W[14]);
598 		    tmp296 = c_im(W[14]);
599 		    tmp298 = (tmp294 * tmp295) + (tmp296 * tmp297);
600 		    tmp532 = (tmp294 * tmp297) - (tmp296 * tmp295);
601 	       }
602 	       {
603 		    fftw_real tmp300;
604 		    fftw_real tmp302;
605 		    fftw_real tmp299;
606 		    fftw_real tmp301;
607 		    ASSERT_ALIGNED_DOUBLE;
608 		    tmp300 = c_re(inout[47 * iostride]);
609 		    tmp302 = c_im(inout[47 * iostride]);
610 		    tmp299 = c_re(W[46]);
611 		    tmp301 = c_im(W[46]);
612 		    tmp303 = (tmp299 * tmp300) + (tmp301 * tmp302);
613 		    tmp533 = (tmp299 * tmp302) - (tmp301 * tmp300);
614 	       }
615 	       tmp304 = tmp298 + tmp303;
616 	       tmp877 = tmp532 + tmp533;
617 	       {
618 		    fftw_real tmp310;
619 		    fftw_real tmp537;
620 		    fftw_real tmp315;
621 		    fftw_real tmp538;
622 		    ASSERT_ALIGNED_DOUBLE;
623 		    {
624 			 fftw_real tmp307;
625 			 fftw_real tmp309;
626 			 fftw_real tmp306;
627 			 fftw_real tmp308;
628 			 ASSERT_ALIGNED_DOUBLE;
629 			 tmp307 = c_re(inout[7 * iostride]);
630 			 tmp309 = c_im(inout[7 * iostride]);
631 			 tmp306 = c_re(W[6]);
632 			 tmp308 = c_im(W[6]);
633 			 tmp310 = (tmp306 * tmp307) + (tmp308 * tmp309);
634 			 tmp537 = (tmp306 * tmp309) - (tmp308 * tmp307);
635 		    }
636 		    {
637 			 fftw_real tmp312;
638 			 fftw_real tmp314;
639 			 fftw_real tmp311;
640 			 fftw_real tmp313;
641 			 ASSERT_ALIGNED_DOUBLE;
642 			 tmp312 = c_re(inout[39 * iostride]);
643 			 tmp314 = c_im(inout[39 * iostride]);
644 			 tmp311 = c_re(W[38]);
645 			 tmp313 = c_im(W[38]);
646 			 tmp315 = (tmp311 * tmp312) + (tmp313 * tmp314);
647 			 tmp538 = (tmp311 * tmp314) - (tmp313 * tmp312);
648 		    }
649 		    tmp316 = tmp310 + tmp315;
650 		    tmp536 = tmp310 - tmp315;
651 		    tmp539 = tmp537 - tmp538;
652 		    tmp861 = tmp537 + tmp538;
653 	       }
654 	       {
655 		    fftw_real tmp305;
656 		    fftw_real tmp328;
657 		    fftw_real tmp859;
658 		    fftw_real tmp862;
659 		    ASSERT_ALIGNED_DOUBLE;
660 		    tmp305 = tmp293 + tmp304;
661 		    tmp328 = tmp316 + tmp327;
662 		    tmp329 = tmp305 + tmp328;
663 		    tmp1007 = tmp305 - tmp328;
664 		    tmp859 = tmp293 - tmp304;
665 		    tmp862 = tmp860 - tmp861;
666 		    tmp863 = tmp859 + tmp862;
667 		    tmp923 = tmp859 - tmp862;
668 	       }
669 	       {
670 		    fftw_real tmp974;
671 		    fftw_real tmp975;
672 		    fftw_real tmp878;
673 		    fftw_real tmp879;
674 		    ASSERT_ALIGNED_DOUBLE;
675 		    tmp974 = tmp876 + tmp877;
676 		    tmp975 = tmp861 + tmp860;
677 		    tmp976 = tmp974 + tmp975;
678 		    tmp1004 = tmp974 - tmp975;
679 		    tmp878 = tmp876 - tmp877;
680 		    tmp879 = tmp316 - tmp327;
681 		    tmp880 = tmp878 + tmp879;
682 		    tmp920 = tmp878 - tmp879;
683 	       }
684 	       {
685 		    fftw_real tmp531;
686 		    fftw_real tmp534;
687 		    fftw_real tmp574;
688 		    fftw_real tmp575;
689 		    ASSERT_ALIGNED_DOUBLE;
690 		    tmp531 = tmp287 - tmp292;
691 		    tmp534 = tmp532 - tmp533;
692 		    tmp535 = tmp531 - tmp534;
693 		    tmp703 = tmp531 + tmp534;
694 		    tmp574 = tmp572 - tmp573;
695 		    tmp575 = tmp298 - tmp303;
696 		    tmp576 = tmp574 + tmp575;
697 		    tmp714 = tmp574 - tmp575;
698 	       }
699 	       {
700 		    fftw_real tmp577;
701 		    fftw_real tmp578;
702 		    fftw_real tmp540;
703 		    fftw_real tmp545;
704 		    ASSERT_ALIGNED_DOUBLE;
705 		    tmp577 = tmp536 + tmp539;
706 		    tmp578 = tmp544 - tmp541;
707 		    tmp579 = K707106781 * (tmp577 + tmp578);
708 		    tmp704 = K707106781 * (tmp578 - tmp577);
709 		    tmp540 = tmp536 - tmp539;
710 		    tmp545 = tmp541 + tmp544;
711 		    tmp546 = K707106781 * (tmp540 + tmp545);
712 		    tmp715 = K707106781 * (tmp540 - tmp545);
713 	       }
714 	  }
715 	  {
716 	       fftw_real tmp340;
717 	       fftw_real tmp564;
718 	       fftw_real tmp561;
719 	       fftw_real tmp865;
720 	       fftw_real tmp374;
721 	       fftw_real tmp551;
722 	       fftw_real tmp556;
723 	       fftw_real tmp871;
724 	       fftw_real tmp351;
725 	       fftw_real tmp562;
726 	       fftw_real tmp567;
727 	       fftw_real tmp866;
728 	       fftw_real tmp363;
729 	       fftw_real tmp553;
730 	       fftw_real tmp550;
731 	       fftw_real tmp870;
732 	       ASSERT_ALIGNED_DOUBLE;
733 	       {
734 		    fftw_real tmp334;
735 		    fftw_real tmp559;
736 		    fftw_real tmp339;
737 		    fftw_real tmp560;
738 		    ASSERT_ALIGNED_DOUBLE;
739 		    {
740 			 fftw_real tmp331;
741 			 fftw_real tmp333;
742 			 fftw_real tmp330;
743 			 fftw_real tmp332;
744 			 ASSERT_ALIGNED_DOUBLE;
745 			 tmp331 = c_re(inout[3 * iostride]);
746 			 tmp333 = c_im(inout[3 * iostride]);
747 			 tmp330 = c_re(W[2]);
748 			 tmp332 = c_im(W[2]);
749 			 tmp334 = (tmp330 * tmp331) + (tmp332 * tmp333);
750 			 tmp559 = (tmp330 * tmp333) - (tmp332 * tmp331);
751 		    }
752 		    {
753 			 fftw_real tmp336;
754 			 fftw_real tmp338;
755 			 fftw_real tmp335;
756 			 fftw_real tmp337;
757 			 ASSERT_ALIGNED_DOUBLE;
758 			 tmp336 = c_re(inout[35 * iostride]);
759 			 tmp338 = c_im(inout[35 * iostride]);
760 			 tmp335 = c_re(W[34]);
761 			 tmp337 = c_im(W[34]);
762 			 tmp339 = (tmp335 * tmp336) + (tmp337 * tmp338);
763 			 tmp560 = (tmp335 * tmp338) - (tmp337 * tmp336);
764 		    }
765 		    tmp340 = tmp334 + tmp339;
766 		    tmp564 = tmp334 - tmp339;
767 		    tmp561 = tmp559 - tmp560;
768 		    tmp865 = tmp559 + tmp560;
769 	       }
770 	       {
771 		    fftw_real tmp368;
772 		    fftw_real tmp554;
773 		    fftw_real tmp373;
774 		    fftw_real tmp555;
775 		    ASSERT_ALIGNED_DOUBLE;
776 		    {
777 			 fftw_real tmp365;
778 			 fftw_real tmp367;
779 			 fftw_real tmp364;
780 			 fftw_real tmp366;
781 			 ASSERT_ALIGNED_DOUBLE;
782 			 tmp365 = c_re(inout[11 * iostride]);
783 			 tmp367 = c_im(inout[11 * iostride]);
784 			 tmp364 = c_re(W[10]);
785 			 tmp366 = c_im(W[10]);
786 			 tmp368 = (tmp364 * tmp365) + (tmp366 * tmp367);
787 			 tmp554 = (tmp364 * tmp367) - (tmp366 * tmp365);
788 		    }
789 		    {
790 			 fftw_real tmp370;
791 			 fftw_real tmp372;
792 			 fftw_real tmp369;
793 			 fftw_real tmp371;
794 			 ASSERT_ALIGNED_DOUBLE;
795 			 tmp370 = c_re(inout[43 * iostride]);
796 			 tmp372 = c_im(inout[43 * iostride]);
797 			 tmp369 = c_re(W[42]);
798 			 tmp371 = c_im(W[42]);
799 			 tmp373 = (tmp369 * tmp370) + (tmp371 * tmp372);
800 			 tmp555 = (tmp369 * tmp372) - (tmp371 * tmp370);
801 		    }
802 		    tmp374 = tmp368 + tmp373;
803 		    tmp551 = tmp368 - tmp373;
804 		    tmp556 = tmp554 - tmp555;
805 		    tmp871 = tmp554 + tmp555;
806 	       }
807 	       {
808 		    fftw_real tmp345;
809 		    fftw_real tmp565;
810 		    fftw_real tmp350;
811 		    fftw_real tmp566;
812 		    ASSERT_ALIGNED_DOUBLE;
813 		    {
814 			 fftw_real tmp342;
815 			 fftw_real tmp344;
816 			 fftw_real tmp341;
817 			 fftw_real tmp343;
818 			 ASSERT_ALIGNED_DOUBLE;
819 			 tmp342 = c_re(inout[19 * iostride]);
820 			 tmp344 = c_im(inout[19 * iostride]);
821 			 tmp341 = c_re(W[18]);
822 			 tmp343 = c_im(W[18]);
823 			 tmp345 = (tmp341 * tmp342) + (tmp343 * tmp344);
824 			 tmp565 = (tmp341 * tmp344) - (tmp343 * tmp342);
825 		    }
826 		    {
827 			 fftw_real tmp347;
828 			 fftw_real tmp349;
829 			 fftw_real tmp346;
830 			 fftw_real tmp348;
831 			 ASSERT_ALIGNED_DOUBLE;
832 			 tmp347 = c_re(inout[51 * iostride]);
833 			 tmp349 = c_im(inout[51 * iostride]);
834 			 tmp346 = c_re(W[50]);
835 			 tmp348 = c_im(W[50]);
836 			 tmp350 = (tmp346 * tmp347) + (tmp348 * tmp349);
837 			 tmp566 = (tmp346 * tmp349) - (tmp348 * tmp347);
838 		    }
839 		    tmp351 = tmp345 + tmp350;
840 		    tmp562 = tmp345 - tmp350;
841 		    tmp567 = tmp565 - tmp566;
842 		    tmp866 = tmp565 + tmp566;
843 	       }
844 	       {
845 		    fftw_real tmp357;
846 		    fftw_real tmp548;
847 		    fftw_real tmp362;
848 		    fftw_real tmp549;
849 		    ASSERT_ALIGNED_DOUBLE;
850 		    {
851 			 fftw_real tmp354;
852 			 fftw_real tmp356;
853 			 fftw_real tmp353;
854 			 fftw_real tmp355;
855 			 ASSERT_ALIGNED_DOUBLE;
856 			 tmp354 = c_re(inout[59 * iostride]);
857 			 tmp356 = c_im(inout[59 * iostride]);
858 			 tmp353 = c_re(W[58]);
859 			 tmp355 = c_im(W[58]);
860 			 tmp357 = (tmp353 * tmp354) + (tmp355 * tmp356);
861 			 tmp548 = (tmp353 * tmp356) - (tmp355 * tmp354);
862 		    }
863 		    {
864 			 fftw_real tmp359;
865 			 fftw_real tmp361;
866 			 fftw_real tmp358;
867 			 fftw_real tmp360;
868 			 ASSERT_ALIGNED_DOUBLE;
869 			 tmp359 = c_re(inout[27 * iostride]);
870 			 tmp361 = c_im(inout[27 * iostride]);
871 			 tmp358 = c_re(W[26]);
872 			 tmp360 = c_im(W[26]);
873 			 tmp362 = (tmp358 * tmp359) + (tmp360 * tmp361);
874 			 tmp549 = (tmp358 * tmp361) - (tmp360 * tmp359);
875 		    }
876 		    tmp363 = tmp357 + tmp362;
877 		    tmp553 = tmp357 - tmp362;
878 		    tmp550 = tmp548 - tmp549;
879 		    tmp870 = tmp548 + tmp549;
880 	       }
881 	       {
882 		    fftw_real tmp352;
883 		    fftw_real tmp375;
884 		    fftw_real tmp864;
885 		    fftw_real tmp867;
886 		    ASSERT_ALIGNED_DOUBLE;
887 		    tmp352 = tmp340 + tmp351;
888 		    tmp375 = tmp363 + tmp374;
889 		    tmp376 = tmp352 + tmp375;
890 		    tmp1005 = tmp352 - tmp375;
891 		    tmp864 = tmp340 - tmp351;
892 		    tmp867 = tmp865 - tmp866;
893 		    tmp868 = tmp864 - tmp867;
894 		    tmp881 = tmp864 + tmp867;
895 	       }
896 	       {
897 		    fftw_real tmp977;
898 		    fftw_real tmp978;
899 		    fftw_real tmp869;
900 		    fftw_real tmp872;
901 		    ASSERT_ALIGNED_DOUBLE;
902 		    tmp977 = tmp865 + tmp866;
903 		    tmp978 = tmp870 + tmp871;
904 		    tmp979 = tmp977 + tmp978;
905 		    tmp1008 = tmp978 - tmp977;
906 		    tmp869 = tmp363 - tmp374;
907 		    tmp872 = tmp870 - tmp871;
908 		    tmp873 = tmp869 + tmp872;
909 		    tmp882 = tmp872 - tmp869;
910 	       }
911 	       {
912 		    fftw_real tmp552;
913 		    fftw_real tmp557;
914 		    fftw_real tmp706;
915 		    fftw_real tmp707;
916 		    ASSERT_ALIGNED_DOUBLE;
917 		    tmp552 = tmp550 + tmp551;
918 		    tmp557 = tmp553 - tmp556;
919 		    tmp558 = (K923879532 * tmp552) - (K382683432 * tmp557);
920 		    tmp582 = (K382683432 * tmp552) + (K923879532 * tmp557);
921 		    tmp706 = tmp550 - tmp551;
922 		    tmp707 = tmp553 + tmp556;
923 		    tmp708 = (K382683432 * tmp706) - (K923879532 * tmp707);
924 		    tmp718 = (K923879532 * tmp706) + (K382683432 * tmp707);
925 	       }
926 	       {
927 		    fftw_real tmp563;
928 		    fftw_real tmp568;
929 		    fftw_real tmp709;
930 		    fftw_real tmp710;
931 		    ASSERT_ALIGNED_DOUBLE;
932 		    tmp563 = tmp561 + tmp562;
933 		    tmp568 = tmp564 - tmp567;
934 		    tmp569 = (K923879532 * tmp563) + (K382683432 * tmp568);
935 		    tmp581 = (K923879532 * tmp568) - (K382683432 * tmp563);
936 		    tmp709 = tmp561 - tmp562;
937 		    tmp710 = tmp564 + tmp567;
938 		    tmp711 = (K382683432 * tmp709) + (K923879532 * tmp710);
939 		    tmp717 = (K382683432 * tmp710) - (K923879532 * tmp709);
940 	       }
941 	  }
942 	  {
943 	       fftw_real tmp77;
944 	       fftw_real tmp401;
945 	       fftw_real tmp398;
946 	       fftw_real tmp802;
947 	       fftw_real tmp88;
948 	       fftw_real tmp399;
949 	       fftw_real tmp404;
950 	       fftw_real tmp803;
951 	       fftw_real tmp801;
952 	       fftw_real tmp804;
953 	       ASSERT_ALIGNED_DOUBLE;
954 	       {
955 		    fftw_real tmp71;
956 		    fftw_real tmp396;
957 		    fftw_real tmp76;
958 		    fftw_real tmp397;
959 		    ASSERT_ALIGNED_DOUBLE;
960 		    {
961 			 fftw_real tmp68;
962 			 fftw_real tmp70;
963 			 fftw_real tmp67;
964 			 fftw_real tmp69;
965 			 ASSERT_ALIGNED_DOUBLE;
966 			 tmp68 = c_re(inout[60 * iostride]);
967 			 tmp70 = c_im(inout[60 * iostride]);
968 			 tmp67 = c_re(W[59]);
969 			 tmp69 = c_im(W[59]);
970 			 tmp71 = (tmp67 * tmp68) + (tmp69 * tmp70);
971 			 tmp396 = (tmp67 * tmp70) - (tmp69 * tmp68);
972 		    }
973 		    {
974 			 fftw_real tmp73;
975 			 fftw_real tmp75;
976 			 fftw_real tmp72;
977 			 fftw_real tmp74;
978 			 ASSERT_ALIGNED_DOUBLE;
979 			 tmp73 = c_re(inout[28 * iostride]);
980 			 tmp75 = c_im(inout[28 * iostride]);
981 			 tmp72 = c_re(W[27]);
982 			 tmp74 = c_im(W[27]);
983 			 tmp76 = (tmp72 * tmp73) + (tmp74 * tmp75);
984 			 tmp397 = (tmp72 * tmp75) - (tmp74 * tmp73);
985 		    }
986 		    tmp77 = tmp71 + tmp76;
987 		    tmp401 = tmp71 - tmp76;
988 		    tmp398 = tmp396 - tmp397;
989 		    tmp802 = tmp396 + tmp397;
990 	       }
991 	       {
992 		    fftw_real tmp82;
993 		    fftw_real tmp402;
994 		    fftw_real tmp87;
995 		    fftw_real tmp403;
996 		    ASSERT_ALIGNED_DOUBLE;
997 		    {
998 			 fftw_real tmp79;
999 			 fftw_real tmp81;
1000 			 fftw_real tmp78;
1001 			 fftw_real tmp80;
1002 			 ASSERT_ALIGNED_DOUBLE;
1003 			 tmp79 = c_re(inout[12 * iostride]);
1004 			 tmp81 = c_im(inout[12 * iostride]);
1005 			 tmp78 = c_re(W[11]);
1006 			 tmp80 = c_im(W[11]);
1007 			 tmp82 = (tmp78 * tmp79) + (tmp80 * tmp81);
1008 			 tmp402 = (tmp78 * tmp81) - (tmp80 * tmp79);
1009 		    }
1010 		    {
1011 			 fftw_real tmp84;
1012 			 fftw_real tmp86;
1013 			 fftw_real tmp83;
1014 			 fftw_real tmp85;
1015 			 ASSERT_ALIGNED_DOUBLE;
1016 			 tmp84 = c_re(inout[44 * iostride]);
1017 			 tmp86 = c_im(inout[44 * iostride]);
1018 			 tmp83 = c_re(W[43]);
1019 			 tmp85 = c_im(W[43]);
1020 			 tmp87 = (tmp83 * tmp84) + (tmp85 * tmp86);
1021 			 tmp403 = (tmp83 * tmp86) - (tmp85 * tmp84);
1022 		    }
1023 		    tmp88 = tmp82 + tmp87;
1024 		    tmp399 = tmp82 - tmp87;
1025 		    tmp404 = tmp402 - tmp403;
1026 		    tmp803 = tmp402 + tmp403;
1027 	       }
1028 	       tmp89 = tmp77 + tmp88;
1029 	       tmp801 = tmp77 - tmp88;
1030 	       tmp804 = tmp802 - tmp803;
1031 	       tmp805 = tmp801 + tmp804;
1032 	       tmp908 = tmp804 - tmp801;
1033 	       tmp992 = tmp802 + tmp803;
1034 	       {
1035 		    fftw_real tmp400;
1036 		    fftw_real tmp405;
1037 		    fftw_real tmp660;
1038 		    fftw_real tmp661;
1039 		    ASSERT_ALIGNED_DOUBLE;
1040 		    tmp400 = tmp398 + tmp399;
1041 		    tmp405 = tmp401 - tmp404;
1042 		    tmp406 = (K923879532 * tmp400) - (K382683432 * tmp405);
1043 		    tmp609 = (K382683432 * tmp400) + (K923879532 * tmp405);
1044 		    tmp660 = tmp398 - tmp399;
1045 		    tmp661 = tmp401 + tmp404;
1046 		    tmp662 = (K382683432 * tmp660) - (K923879532 * tmp661);
1047 		    tmp745 = (K923879532 * tmp660) + (K382683432 * tmp661);
1048 	       }
1049 	  }
1050 	  {
1051 	       fftw_real tmp143;
1052 	       fftw_real tmp420;
1053 	       fftw_real tmp148;
1054 	       fftw_real tmp421;
1055 	       fftw_real tmp149;
1056 	       fftw_real tmp808;
1057 	       fftw_real tmp183;
1058 	       fftw_real tmp433;
1059 	       fftw_real tmp432;
1060 	       fftw_real tmp814;
1061 	       fftw_real tmp154;
1062 	       fftw_real tmp438;
1063 	       fftw_real tmp159;
1064 	       fftw_real tmp439;
1065 	       fftw_real tmp160;
1066 	       fftw_real tmp809;
1067 	       fftw_real tmp172;
1068 	       fftw_real tmp425;
1069 	       fftw_real tmp428;
1070 	       fftw_real tmp815;
1071 	       ASSERT_ALIGNED_DOUBLE;
1072 	       {
1073 		    fftw_real tmp140;
1074 		    fftw_real tmp142;
1075 		    fftw_real tmp139;
1076 		    fftw_real tmp141;
1077 		    ASSERT_ALIGNED_DOUBLE;
1078 		    tmp140 = c_re(inout[62 * iostride]);
1079 		    tmp142 = c_im(inout[62 * iostride]);
1080 		    tmp139 = c_re(W[61]);
1081 		    tmp141 = c_im(W[61]);
1082 		    tmp143 = (tmp139 * tmp140) + (tmp141 * tmp142);
1083 		    tmp420 = (tmp139 * tmp142) - (tmp141 * tmp140);
1084 	       }
1085 	       {
1086 		    fftw_real tmp145;
1087 		    fftw_real tmp147;
1088 		    fftw_real tmp144;
1089 		    fftw_real tmp146;
1090 		    ASSERT_ALIGNED_DOUBLE;
1091 		    tmp145 = c_re(inout[30 * iostride]);
1092 		    tmp147 = c_im(inout[30 * iostride]);
1093 		    tmp144 = c_re(W[29]);
1094 		    tmp146 = c_im(W[29]);
1095 		    tmp148 = (tmp144 * tmp145) + (tmp146 * tmp147);
1096 		    tmp421 = (tmp144 * tmp147) - (tmp146 * tmp145);
1097 	       }
1098 	       tmp149 = tmp143 + tmp148;
1099 	       tmp808 = tmp420 + tmp421;
1100 	       {
1101 		    fftw_real tmp177;
1102 		    fftw_real tmp430;
1103 		    fftw_real tmp182;
1104 		    fftw_real tmp431;
1105 		    ASSERT_ALIGNED_DOUBLE;
1106 		    {
1107 			 fftw_real tmp174;
1108 			 fftw_real tmp176;
1109 			 fftw_real tmp173;
1110 			 fftw_real tmp175;
1111 			 ASSERT_ALIGNED_DOUBLE;
1112 			 tmp174 = c_re(inout[54 * iostride]);
1113 			 tmp176 = c_im(inout[54 * iostride]);
1114 			 tmp173 = c_re(W[53]);
1115 			 tmp175 = c_im(W[53]);
1116 			 tmp177 = (tmp173 * tmp174) + (tmp175 * tmp176);
1117 			 tmp430 = (tmp173 * tmp176) - (tmp175 * tmp174);
1118 		    }
1119 		    {
1120 			 fftw_real tmp179;
1121 			 fftw_real tmp181;
1122 			 fftw_real tmp178;
1123 			 fftw_real tmp180;
1124 			 ASSERT_ALIGNED_DOUBLE;
1125 			 tmp179 = c_re(inout[22 * iostride]);
1126 			 tmp181 = c_im(inout[22 * iostride]);
1127 			 tmp178 = c_re(W[21]);
1128 			 tmp180 = c_im(W[21]);
1129 			 tmp182 = (tmp178 * tmp179) + (tmp180 * tmp181);
1130 			 tmp431 = (tmp178 * tmp181) - (tmp180 * tmp179);
1131 		    }
1132 		    tmp183 = tmp177 + tmp182;
1133 		    tmp433 = tmp177 - tmp182;
1134 		    tmp432 = tmp430 - tmp431;
1135 		    tmp814 = tmp430 + tmp431;
1136 	       }
1137 	       {
1138 		    fftw_real tmp151;
1139 		    fftw_real tmp153;
1140 		    fftw_real tmp150;
1141 		    fftw_real tmp152;
1142 		    ASSERT_ALIGNED_DOUBLE;
1143 		    tmp151 = c_re(inout[14 * iostride]);
1144 		    tmp153 = c_im(inout[14 * iostride]);
1145 		    tmp150 = c_re(W[13]);
1146 		    tmp152 = c_im(W[13]);
1147 		    tmp154 = (tmp150 * tmp151) + (tmp152 * tmp153);
1148 		    tmp438 = (tmp150 * tmp153) - (tmp152 * tmp151);
1149 	       }
1150 	       {
1151 		    fftw_real tmp156;
1152 		    fftw_real tmp158;
1153 		    fftw_real tmp155;
1154 		    fftw_real tmp157;
1155 		    ASSERT_ALIGNED_DOUBLE;
1156 		    tmp156 = c_re(inout[46 * iostride]);
1157 		    tmp158 = c_im(inout[46 * iostride]);
1158 		    tmp155 = c_re(W[45]);
1159 		    tmp157 = c_im(W[45]);
1160 		    tmp159 = (tmp155 * tmp156) + (tmp157 * tmp158);
1161 		    tmp439 = (tmp155 * tmp158) - (tmp157 * tmp156);
1162 	       }
1163 	       tmp160 = tmp154 + tmp159;
1164 	       tmp809 = tmp438 + tmp439;
1165 	       {
1166 		    fftw_real tmp166;
1167 		    fftw_real tmp426;
1168 		    fftw_real tmp171;
1169 		    fftw_real tmp427;
1170 		    ASSERT_ALIGNED_DOUBLE;
1171 		    {
1172 			 fftw_real tmp163;
1173 			 fftw_real tmp165;
1174 			 fftw_real tmp162;
1175 			 fftw_real tmp164;
1176 			 ASSERT_ALIGNED_DOUBLE;
1177 			 tmp163 = c_re(inout[6 * iostride]);
1178 			 tmp165 = c_im(inout[6 * iostride]);
1179 			 tmp162 = c_re(W[5]);
1180 			 tmp164 = c_im(W[5]);
1181 			 tmp166 = (tmp162 * tmp163) + (tmp164 * tmp165);
1182 			 tmp426 = (tmp162 * tmp165) - (tmp164 * tmp163);
1183 		    }
1184 		    {
1185 			 fftw_real tmp168;
1186 			 fftw_real tmp170;
1187 			 fftw_real tmp167;
1188 			 fftw_real tmp169;
1189 			 ASSERT_ALIGNED_DOUBLE;
1190 			 tmp168 = c_re(inout[38 * iostride]);
1191 			 tmp170 = c_im(inout[38 * iostride]);
1192 			 tmp167 = c_re(W[37]);
1193 			 tmp169 = c_im(W[37]);
1194 			 tmp171 = (tmp167 * tmp168) + (tmp169 * tmp170);
1195 			 tmp427 = (tmp167 * tmp170) - (tmp169 * tmp168);
1196 		    }
1197 		    tmp172 = tmp166 + tmp171;
1198 		    tmp425 = tmp166 - tmp171;
1199 		    tmp428 = tmp426 - tmp427;
1200 		    tmp815 = tmp426 + tmp427;
1201 	       }
1202 	       {
1203 		    fftw_real tmp810;
1204 		    fftw_real tmp811;
1205 		    fftw_real tmp813;
1206 		    fftw_real tmp816;
1207 		    ASSERT_ALIGNED_DOUBLE;
1208 		    tmp161 = tmp149 + tmp160;
1209 		    tmp184 = tmp172 + tmp183;
1210 		    tmp997 = tmp161 - tmp184;
1211 		    tmp810 = tmp808 - tmp809;
1212 		    tmp811 = tmp172 - tmp183;
1213 		    tmp812 = tmp810 + tmp811;
1214 		    tmp912 = tmp810 - tmp811;
1215 		    tmp956 = tmp808 + tmp809;
1216 		    tmp957 = tmp815 + tmp814;
1217 		    tmp996 = tmp956 - tmp957;
1218 		    tmp813 = tmp149 - tmp160;
1219 		    tmp816 = tmp814 - tmp815;
1220 		    tmp817 = tmp813 + tmp816;
1221 		    tmp913 = tmp813 - tmp816;
1222 	       }
1223 	       {
1224 		    fftw_real tmp422;
1225 		    fftw_real tmp423;
1226 		    fftw_real tmp437;
1227 		    fftw_real tmp440;
1228 		    ASSERT_ALIGNED_DOUBLE;
1229 		    tmp422 = tmp420 - tmp421;
1230 		    tmp423 = tmp154 - tmp159;
1231 		    tmp424 = tmp422 + tmp423;
1232 		    tmp668 = tmp422 - tmp423;
1233 		    tmp437 = tmp143 - tmp148;
1234 		    tmp440 = tmp438 - tmp439;
1235 		    tmp441 = tmp437 - tmp440;
1236 		    tmp671 = tmp437 + tmp440;
1237 	       }
1238 	       {
1239 		    fftw_real tmp442;
1240 		    fftw_real tmp443;
1241 		    fftw_real tmp429;
1242 		    fftw_real tmp434;
1243 		    ASSERT_ALIGNED_DOUBLE;
1244 		    tmp442 = tmp425 - tmp428;
1245 		    tmp443 = tmp433 + tmp432;
1246 		    tmp444 = K707106781 * (tmp442 + tmp443);
1247 		    tmp669 = K707106781 * (tmp442 - tmp443);
1248 		    tmp429 = tmp425 + tmp428;
1249 		    tmp434 = tmp432 - tmp433;
1250 		    tmp435 = K707106781 * (tmp429 + tmp434);
1251 		    tmp672 = K707106781 * (tmp434 - tmp429);
1252 	       }
1253 	  }
1254 	  {
1255 	       fftw_real tmp96;
1256 	       fftw_real tmp464;
1257 	       fftw_real tmp101;
1258 	       fftw_real tmp465;
1259 	       fftw_real tmp102;
1260 	       fftw_real tmp819;
1261 	       fftw_real tmp136;
1262 	       fftw_real tmp457;
1263 	       fftw_real tmp460;
1264 	       fftw_real tmp825;
1265 	       fftw_real tmp107;
1266 	       fftw_real tmp448;
1267 	       fftw_real tmp112;
1268 	       fftw_real tmp449;
1269 	       fftw_real tmp113;
1270 	       fftw_real tmp820;
1271 	       fftw_real tmp125;
1272 	       fftw_real tmp452;
1273 	       fftw_real tmp455;
1274 	       fftw_real tmp826;
1275 	       ASSERT_ALIGNED_DOUBLE;
1276 	       {
1277 		    fftw_real tmp93;
1278 		    fftw_real tmp95;
1279 		    fftw_real tmp92;
1280 		    fftw_real tmp94;
1281 		    ASSERT_ALIGNED_DOUBLE;
1282 		    tmp93 = c_re(inout[2 * iostride]);
1283 		    tmp95 = c_im(inout[2 * iostride]);
1284 		    tmp92 = c_re(W[1]);
1285 		    tmp94 = c_im(W[1]);
1286 		    tmp96 = (tmp92 * tmp93) + (tmp94 * tmp95);
1287 		    tmp464 = (tmp92 * tmp95) - (tmp94 * tmp93);
1288 	       }
1289 	       {
1290 		    fftw_real tmp98;
1291 		    fftw_real tmp100;
1292 		    fftw_real tmp97;
1293 		    fftw_real tmp99;
1294 		    ASSERT_ALIGNED_DOUBLE;
1295 		    tmp98 = c_re(inout[34 * iostride]);
1296 		    tmp100 = c_im(inout[34 * iostride]);
1297 		    tmp97 = c_re(W[33]);
1298 		    tmp99 = c_im(W[33]);
1299 		    tmp101 = (tmp97 * tmp98) + (tmp99 * tmp100);
1300 		    tmp465 = (tmp97 * tmp100) - (tmp99 * tmp98);
1301 	       }
1302 	       tmp102 = tmp96 + tmp101;
1303 	       tmp819 = tmp464 + tmp465;
1304 	       {
1305 		    fftw_real tmp130;
1306 		    fftw_real tmp458;
1307 		    fftw_real tmp135;
1308 		    fftw_real tmp459;
1309 		    ASSERT_ALIGNED_DOUBLE;
1310 		    {
1311 			 fftw_real tmp127;
1312 			 fftw_real tmp129;
1313 			 fftw_real tmp126;
1314 			 fftw_real tmp128;
1315 			 ASSERT_ALIGNED_DOUBLE;
1316 			 tmp127 = c_re(inout[58 * iostride]);
1317 			 tmp129 = c_im(inout[58 * iostride]);
1318 			 tmp126 = c_re(W[57]);
1319 			 tmp128 = c_im(W[57]);
1320 			 tmp130 = (tmp126 * tmp127) + (tmp128 * tmp129);
1321 			 tmp458 = (tmp126 * tmp129) - (tmp128 * tmp127);
1322 		    }
1323 		    {
1324 			 fftw_real tmp132;
1325 			 fftw_real tmp134;
1326 			 fftw_real tmp131;
1327 			 fftw_real tmp133;
1328 			 ASSERT_ALIGNED_DOUBLE;
1329 			 tmp132 = c_re(inout[26 * iostride]);
1330 			 tmp134 = c_im(inout[26 * iostride]);
1331 			 tmp131 = c_re(W[25]);
1332 			 tmp133 = c_im(W[25]);
1333 			 tmp135 = (tmp131 * tmp132) + (tmp133 * tmp134);
1334 			 tmp459 = (tmp131 * tmp134) - (tmp133 * tmp132);
1335 		    }
1336 		    tmp136 = tmp130 + tmp135;
1337 		    tmp457 = tmp130 - tmp135;
1338 		    tmp460 = tmp458 - tmp459;
1339 		    tmp825 = tmp458 + tmp459;
1340 	       }
1341 	       {
1342 		    fftw_real tmp104;
1343 		    fftw_real tmp106;
1344 		    fftw_real tmp103;
1345 		    fftw_real tmp105;
1346 		    ASSERT_ALIGNED_DOUBLE;
1347 		    tmp104 = c_re(inout[18 * iostride]);
1348 		    tmp106 = c_im(inout[18 * iostride]);
1349 		    tmp103 = c_re(W[17]);
1350 		    tmp105 = c_im(W[17]);
1351 		    tmp107 = (tmp103 * tmp104) + (tmp105 * tmp106);
1352 		    tmp448 = (tmp103 * tmp106) - (tmp105 * tmp104);
1353 	       }
1354 	       {
1355 		    fftw_real tmp109;
1356 		    fftw_real tmp111;
1357 		    fftw_real tmp108;
1358 		    fftw_real tmp110;
1359 		    ASSERT_ALIGNED_DOUBLE;
1360 		    tmp109 = c_re(inout[50 * iostride]);
1361 		    tmp111 = c_im(inout[50 * iostride]);
1362 		    tmp108 = c_re(W[49]);
1363 		    tmp110 = c_im(W[49]);
1364 		    tmp112 = (tmp108 * tmp109) + (tmp110 * tmp111);
1365 		    tmp449 = (tmp108 * tmp111) - (tmp110 * tmp109);
1366 	       }
1367 	       tmp113 = tmp107 + tmp112;
1368 	       tmp820 = tmp448 + tmp449;
1369 	       {
1370 		    fftw_real tmp119;
1371 		    fftw_real tmp453;
1372 		    fftw_real tmp124;
1373 		    fftw_real tmp454;
1374 		    ASSERT_ALIGNED_DOUBLE;
1375 		    {
1376 			 fftw_real tmp116;
1377 			 fftw_real tmp118;
1378 			 fftw_real tmp115;
1379 			 fftw_real tmp117;
1380 			 ASSERT_ALIGNED_DOUBLE;
1381 			 tmp116 = c_re(inout[10 * iostride]);
1382 			 tmp118 = c_im(inout[10 * iostride]);
1383 			 tmp115 = c_re(W[9]);
1384 			 tmp117 = c_im(W[9]);
1385 			 tmp119 = (tmp115 * tmp116) + (tmp117 * tmp118);
1386 			 tmp453 = (tmp115 * tmp118) - (tmp117 * tmp116);
1387 		    }
1388 		    {
1389 			 fftw_real tmp121;
1390 			 fftw_real tmp123;
1391 			 fftw_real tmp120;
1392 			 fftw_real tmp122;
1393 			 ASSERT_ALIGNED_DOUBLE;
1394 			 tmp121 = c_re(inout[42 * iostride]);
1395 			 tmp123 = c_im(inout[42 * iostride]);
1396 			 tmp120 = c_re(W[41]);
1397 			 tmp122 = c_im(W[41]);
1398 			 tmp124 = (tmp120 * tmp121) + (tmp122 * tmp123);
1399 			 tmp454 = (tmp120 * tmp123) - (tmp122 * tmp121);
1400 		    }
1401 		    tmp125 = tmp119 + tmp124;
1402 		    tmp452 = tmp119 - tmp124;
1403 		    tmp455 = tmp453 - tmp454;
1404 		    tmp826 = tmp453 + tmp454;
1405 	       }
1406 	       {
1407 		    fftw_real tmp821;
1408 		    fftw_real tmp822;
1409 		    fftw_real tmp824;
1410 		    fftw_real tmp827;
1411 		    ASSERT_ALIGNED_DOUBLE;
1412 		    tmp114 = tmp102 + tmp113;
1413 		    tmp137 = tmp125 + tmp136;
1414 		    tmp999 = tmp114 - tmp137;
1415 		    tmp821 = tmp819 - tmp820;
1416 		    tmp822 = tmp125 - tmp136;
1417 		    tmp823 = tmp821 + tmp822;
1418 		    tmp915 = tmp821 - tmp822;
1419 		    tmp959 = tmp819 + tmp820;
1420 		    tmp960 = tmp826 + tmp825;
1421 		    tmp1000 = tmp959 - tmp960;
1422 		    tmp824 = tmp102 - tmp113;
1423 		    tmp827 = tmp825 - tmp826;
1424 		    tmp828 = tmp824 + tmp827;
1425 		    tmp916 = tmp824 - tmp827;
1426 	       }
1427 	       {
1428 		    fftw_real tmp447;
1429 		    fftw_real tmp450;
1430 		    fftw_real tmp466;
1431 		    fftw_real tmp467;
1432 		    ASSERT_ALIGNED_DOUBLE;
1433 		    tmp447 = tmp96 - tmp101;
1434 		    tmp450 = tmp448 - tmp449;
1435 		    tmp451 = tmp447 - tmp450;
1436 		    tmp678 = tmp447 + tmp450;
1437 		    tmp466 = tmp464 - tmp465;
1438 		    tmp467 = tmp107 - tmp112;
1439 		    tmp468 = tmp466 + tmp467;
1440 		    tmp675 = tmp466 - tmp467;
1441 	       }
1442 	       {
1443 		    fftw_real tmp469;
1444 		    fftw_real tmp470;
1445 		    fftw_real tmp456;
1446 		    fftw_real tmp461;
1447 		    ASSERT_ALIGNED_DOUBLE;
1448 		    tmp469 = tmp452 + tmp455;
1449 		    tmp470 = tmp460 - tmp457;
1450 		    tmp471 = K707106781 * (tmp469 + tmp470);
1451 		    tmp679 = K707106781 * (tmp470 - tmp469);
1452 		    tmp456 = tmp452 - tmp455;
1453 		    tmp461 = tmp457 + tmp460;
1454 		    tmp462 = K707106781 * (tmp456 + tmp461);
1455 		    tmp676 = K707106781 * (tmp456 - tmp461);
1456 	       }
1457 	  }
1458 	  {
1459 	       fftw_real tmp192;
1460 	       fftw_real tmp517;
1461 	       fftw_real tmp197;
1462 	       fftw_real tmp518;
1463 	       fftw_real tmp198;
1464 	       fftw_real tmp849;
1465 	       fftw_real tmp232;
1466 	       fftw_real tmp486;
1467 	       fftw_real tmp489;
1468 	       fftw_real tmp833;
1469 	       fftw_real tmp203;
1470 	       fftw_real tmp477;
1471 	       fftw_real tmp208;
1472 	       fftw_real tmp478;
1473 	       fftw_real tmp209;
1474 	       fftw_real tmp850;
1475 	       fftw_real tmp221;
1476 	       fftw_real tmp481;
1477 	       fftw_real tmp484;
1478 	       fftw_real tmp834;
1479 	       ASSERT_ALIGNED_DOUBLE;
1480 	       {
1481 		    fftw_real tmp189;
1482 		    fftw_real tmp191;
1483 		    fftw_real tmp188;
1484 		    fftw_real tmp190;
1485 		    ASSERT_ALIGNED_DOUBLE;
1486 		    tmp189 = c_re(inout[iostride]);
1487 		    tmp191 = c_im(inout[iostride]);
1488 		    tmp188 = c_re(W[0]);
1489 		    tmp190 = c_im(W[0]);
1490 		    tmp192 = (tmp188 * tmp189) + (tmp190 * tmp191);
1491 		    tmp517 = (tmp188 * tmp191) - (tmp190 * tmp189);
1492 	       }
1493 	       {
1494 		    fftw_real tmp194;
1495 		    fftw_real tmp196;
1496 		    fftw_real tmp193;
1497 		    fftw_real tmp195;
1498 		    ASSERT_ALIGNED_DOUBLE;
1499 		    tmp194 = c_re(inout[33 * iostride]);
1500 		    tmp196 = c_im(inout[33 * iostride]);
1501 		    tmp193 = c_re(W[32]);
1502 		    tmp195 = c_im(W[32]);
1503 		    tmp197 = (tmp193 * tmp194) + (tmp195 * tmp196);
1504 		    tmp518 = (tmp193 * tmp196) - (tmp195 * tmp194);
1505 	       }
1506 	       tmp198 = tmp192 + tmp197;
1507 	       tmp849 = tmp517 + tmp518;
1508 	       {
1509 		    fftw_real tmp226;
1510 		    fftw_real tmp487;
1511 		    fftw_real tmp231;
1512 		    fftw_real tmp488;
1513 		    ASSERT_ALIGNED_DOUBLE;
1514 		    {
1515 			 fftw_real tmp223;
1516 			 fftw_real tmp225;
1517 			 fftw_real tmp222;
1518 			 fftw_real tmp224;
1519 			 ASSERT_ALIGNED_DOUBLE;
1520 			 tmp223 = c_re(inout[57 * iostride]);
1521 			 tmp225 = c_im(inout[57 * iostride]);
1522 			 tmp222 = c_re(W[56]);
1523 			 tmp224 = c_im(W[56]);
1524 			 tmp226 = (tmp222 * tmp223) + (tmp224 * tmp225);
1525 			 tmp487 = (tmp222 * tmp225) - (tmp224 * tmp223);
1526 		    }
1527 		    {
1528 			 fftw_real tmp228;
1529 			 fftw_real tmp230;
1530 			 fftw_real tmp227;
1531 			 fftw_real tmp229;
1532 			 ASSERT_ALIGNED_DOUBLE;
1533 			 tmp228 = c_re(inout[25 * iostride]);
1534 			 tmp230 = c_im(inout[25 * iostride]);
1535 			 tmp227 = c_re(W[24]);
1536 			 tmp229 = c_im(W[24]);
1537 			 tmp231 = (tmp227 * tmp228) + (tmp229 * tmp230);
1538 			 tmp488 = (tmp227 * tmp230) - (tmp229 * tmp228);
1539 		    }
1540 		    tmp232 = tmp226 + tmp231;
1541 		    tmp486 = tmp226 - tmp231;
1542 		    tmp489 = tmp487 - tmp488;
1543 		    tmp833 = tmp487 + tmp488;
1544 	       }
1545 	       {
1546 		    fftw_real tmp200;
1547 		    fftw_real tmp202;
1548 		    fftw_real tmp199;
1549 		    fftw_real tmp201;
1550 		    ASSERT_ALIGNED_DOUBLE;
1551 		    tmp200 = c_re(inout[17 * iostride]);
1552 		    tmp202 = c_im(inout[17 * iostride]);
1553 		    tmp199 = c_re(W[16]);
1554 		    tmp201 = c_im(W[16]);
1555 		    tmp203 = (tmp199 * tmp200) + (tmp201 * tmp202);
1556 		    tmp477 = (tmp199 * tmp202) - (tmp201 * tmp200);
1557 	       }
1558 	       {
1559 		    fftw_real tmp205;
1560 		    fftw_real tmp207;
1561 		    fftw_real tmp204;
1562 		    fftw_real tmp206;
1563 		    ASSERT_ALIGNED_DOUBLE;
1564 		    tmp205 = c_re(inout[49 * iostride]);
1565 		    tmp207 = c_im(inout[49 * iostride]);
1566 		    tmp204 = c_re(W[48]);
1567 		    tmp206 = c_im(W[48]);
1568 		    tmp208 = (tmp204 * tmp205) + (tmp206 * tmp207);
1569 		    tmp478 = (tmp204 * tmp207) - (tmp206 * tmp205);
1570 	       }
1571 	       tmp209 = tmp203 + tmp208;
1572 	       tmp850 = tmp477 + tmp478;
1573 	       {
1574 		    fftw_real tmp215;
1575 		    fftw_real tmp482;
1576 		    fftw_real tmp220;
1577 		    fftw_real tmp483;
1578 		    ASSERT_ALIGNED_DOUBLE;
1579 		    {
1580 			 fftw_real tmp212;
1581 			 fftw_real tmp214;
1582 			 fftw_real tmp211;
1583 			 fftw_real tmp213;
1584 			 ASSERT_ALIGNED_DOUBLE;
1585 			 tmp212 = c_re(inout[9 * iostride]);
1586 			 tmp214 = c_im(inout[9 * iostride]);
1587 			 tmp211 = c_re(W[8]);
1588 			 tmp213 = c_im(W[8]);
1589 			 tmp215 = (tmp211 * tmp212) + (tmp213 * tmp214);
1590 			 tmp482 = (tmp211 * tmp214) - (tmp213 * tmp212);
1591 		    }
1592 		    {
1593 			 fftw_real tmp217;
1594 			 fftw_real tmp219;
1595 			 fftw_real tmp216;
1596 			 fftw_real tmp218;
1597 			 ASSERT_ALIGNED_DOUBLE;
1598 			 tmp217 = c_re(inout[41 * iostride]);
1599 			 tmp219 = c_im(inout[41 * iostride]);
1600 			 tmp216 = c_re(W[40]);
1601 			 tmp218 = c_im(W[40]);
1602 			 tmp220 = (tmp216 * tmp217) + (tmp218 * tmp219);
1603 			 tmp483 = (tmp216 * tmp219) - (tmp218 * tmp217);
1604 		    }
1605 		    tmp221 = tmp215 + tmp220;
1606 		    tmp481 = tmp215 - tmp220;
1607 		    tmp484 = tmp482 - tmp483;
1608 		    tmp834 = tmp482 + tmp483;
1609 	       }
1610 	       {
1611 		    fftw_real tmp210;
1612 		    fftw_real tmp233;
1613 		    fftw_real tmp832;
1614 		    fftw_real tmp835;
1615 		    ASSERT_ALIGNED_DOUBLE;
1616 		    tmp210 = tmp198 + tmp209;
1617 		    tmp233 = tmp221 + tmp232;
1618 		    tmp234 = tmp210 + tmp233;
1619 		    tmp1014 = tmp210 - tmp233;
1620 		    tmp832 = tmp198 - tmp209;
1621 		    tmp835 = tmp833 - tmp834;
1622 		    tmp836 = tmp832 + tmp835;
1623 		    tmp930 = tmp832 - tmp835;
1624 	       }
1625 	       {
1626 		    fftw_real tmp965;
1627 		    fftw_real tmp966;
1628 		    fftw_real tmp851;
1629 		    fftw_real tmp852;
1630 		    ASSERT_ALIGNED_DOUBLE;
1631 		    tmp965 = tmp849 + tmp850;
1632 		    tmp966 = tmp834 + tmp833;
1633 		    tmp967 = tmp965 + tmp966;
1634 		    tmp1011 = tmp965 - tmp966;
1635 		    tmp851 = tmp849 - tmp850;
1636 		    tmp852 = tmp221 - tmp232;
1637 		    tmp853 = tmp851 + tmp852;
1638 		    tmp927 = tmp851 - tmp852;
1639 	       }
1640 	       {
1641 		    fftw_real tmp476;
1642 		    fftw_real tmp479;
1643 		    fftw_real tmp519;
1644 		    fftw_real tmp520;
1645 		    ASSERT_ALIGNED_DOUBLE;
1646 		    tmp476 = tmp192 - tmp197;
1647 		    tmp479 = tmp477 - tmp478;
1648 		    tmp480 = tmp476 - tmp479;
1649 		    tmp684 = tmp476 + tmp479;
1650 		    tmp519 = tmp517 - tmp518;
1651 		    tmp520 = tmp203 - tmp208;
1652 		    tmp521 = tmp519 + tmp520;
1653 		    tmp695 = tmp519 - tmp520;
1654 	       }
1655 	       {
1656 		    fftw_real tmp522;
1657 		    fftw_real tmp523;
1658 		    fftw_real tmp485;
1659 		    fftw_real tmp490;
1660 		    ASSERT_ALIGNED_DOUBLE;
1661 		    tmp522 = tmp481 + tmp484;
1662 		    tmp523 = tmp489 - tmp486;
1663 		    tmp524 = K707106781 * (tmp522 + tmp523);
1664 		    tmp685 = K707106781 * (tmp523 - tmp522);
1665 		    tmp485 = tmp481 - tmp484;
1666 		    tmp490 = tmp486 + tmp489;
1667 		    tmp491 = K707106781 * (tmp485 + tmp490);
1668 		    tmp696 = K707106781 * (tmp485 - tmp490);
1669 	       }
1670 	  }
1671 	  {
1672 	       fftw_real tmp245;
1673 	       fftw_real tmp509;
1674 	       fftw_real tmp506;
1675 	       fftw_real tmp838;
1676 	       fftw_real tmp279;
1677 	       fftw_real tmp496;
1678 	       fftw_real tmp501;
1679 	       fftw_real tmp844;
1680 	       fftw_real tmp256;
1681 	       fftw_real tmp507;
1682 	       fftw_real tmp512;
1683 	       fftw_real tmp839;
1684 	       fftw_real tmp268;
1685 	       fftw_real tmp498;
1686 	       fftw_real tmp495;
1687 	       fftw_real tmp843;
1688 	       ASSERT_ALIGNED_DOUBLE;
1689 	       {
1690 		    fftw_real tmp239;
1691 		    fftw_real tmp504;
1692 		    fftw_real tmp244;
1693 		    fftw_real tmp505;
1694 		    ASSERT_ALIGNED_DOUBLE;
1695 		    {
1696 			 fftw_real tmp236;
1697 			 fftw_real tmp238;
1698 			 fftw_real tmp235;
1699 			 fftw_real tmp237;
1700 			 ASSERT_ALIGNED_DOUBLE;
1701 			 tmp236 = c_re(inout[5 * iostride]);
1702 			 tmp238 = c_im(inout[5 * iostride]);
1703 			 tmp235 = c_re(W[4]);
1704 			 tmp237 = c_im(W[4]);
1705 			 tmp239 = (tmp235 * tmp236) + (tmp237 * tmp238);
1706 			 tmp504 = (tmp235 * tmp238) - (tmp237 * tmp236);
1707 		    }
1708 		    {
1709 			 fftw_real tmp241;
1710 			 fftw_real tmp243;
1711 			 fftw_real tmp240;
1712 			 fftw_real tmp242;
1713 			 ASSERT_ALIGNED_DOUBLE;
1714 			 tmp241 = c_re(inout[37 * iostride]);
1715 			 tmp243 = c_im(inout[37 * iostride]);
1716 			 tmp240 = c_re(W[36]);
1717 			 tmp242 = c_im(W[36]);
1718 			 tmp244 = (tmp240 * tmp241) + (tmp242 * tmp243);
1719 			 tmp505 = (tmp240 * tmp243) - (tmp242 * tmp241);
1720 		    }
1721 		    tmp245 = tmp239 + tmp244;
1722 		    tmp509 = tmp239 - tmp244;
1723 		    tmp506 = tmp504 - tmp505;
1724 		    tmp838 = tmp504 + tmp505;
1725 	       }
1726 	       {
1727 		    fftw_real tmp273;
1728 		    fftw_real tmp499;
1729 		    fftw_real tmp278;
1730 		    fftw_real tmp500;
1731 		    ASSERT_ALIGNED_DOUBLE;
1732 		    {
1733 			 fftw_real tmp270;
1734 			 fftw_real tmp272;
1735 			 fftw_real tmp269;
1736 			 fftw_real tmp271;
1737 			 ASSERT_ALIGNED_DOUBLE;
1738 			 tmp270 = c_re(inout[13 * iostride]);
1739 			 tmp272 = c_im(inout[13 * iostride]);
1740 			 tmp269 = c_re(W[12]);
1741 			 tmp271 = c_im(W[12]);
1742 			 tmp273 = (tmp269 * tmp270) + (tmp271 * tmp272);
1743 			 tmp499 = (tmp269 * tmp272) - (tmp271 * tmp270);
1744 		    }
1745 		    {
1746 			 fftw_real tmp275;
1747 			 fftw_real tmp277;
1748 			 fftw_real tmp274;
1749 			 fftw_real tmp276;
1750 			 ASSERT_ALIGNED_DOUBLE;
1751 			 tmp275 = c_re(inout[45 * iostride]);
1752 			 tmp277 = c_im(inout[45 * iostride]);
1753 			 tmp274 = c_re(W[44]);
1754 			 tmp276 = c_im(W[44]);
1755 			 tmp278 = (tmp274 * tmp275) + (tmp276 * tmp277);
1756 			 tmp500 = (tmp274 * tmp277) - (tmp276 * tmp275);
1757 		    }
1758 		    tmp279 = tmp273 + tmp278;
1759 		    tmp496 = tmp273 - tmp278;
1760 		    tmp501 = tmp499 - tmp500;
1761 		    tmp844 = tmp499 + tmp500;
1762 	       }
1763 	       {
1764 		    fftw_real tmp250;
1765 		    fftw_real tmp510;
1766 		    fftw_real tmp255;
1767 		    fftw_real tmp511;
1768 		    ASSERT_ALIGNED_DOUBLE;
1769 		    {
1770 			 fftw_real tmp247;
1771 			 fftw_real tmp249;
1772 			 fftw_real tmp246;
1773 			 fftw_real tmp248;
1774 			 ASSERT_ALIGNED_DOUBLE;
1775 			 tmp247 = c_re(inout[21 * iostride]);
1776 			 tmp249 = c_im(inout[21 * iostride]);
1777 			 tmp246 = c_re(W[20]);
1778 			 tmp248 = c_im(W[20]);
1779 			 tmp250 = (tmp246 * tmp247) + (tmp248 * tmp249);
1780 			 tmp510 = (tmp246 * tmp249) - (tmp248 * tmp247);
1781 		    }
1782 		    {
1783 			 fftw_real tmp252;
1784 			 fftw_real tmp254;
1785 			 fftw_real tmp251;
1786 			 fftw_real tmp253;
1787 			 ASSERT_ALIGNED_DOUBLE;
1788 			 tmp252 = c_re(inout[53 * iostride]);
1789 			 tmp254 = c_im(inout[53 * iostride]);
1790 			 tmp251 = c_re(W[52]);
1791 			 tmp253 = c_im(W[52]);
1792 			 tmp255 = (tmp251 * tmp252) + (tmp253 * tmp254);
1793 			 tmp511 = (tmp251 * tmp254) - (tmp253 * tmp252);
1794 		    }
1795 		    tmp256 = tmp250 + tmp255;
1796 		    tmp507 = tmp250 - tmp255;
1797 		    tmp512 = tmp510 - tmp511;
1798 		    tmp839 = tmp510 + tmp511;
1799 	       }
1800 	       {
1801 		    fftw_real tmp262;
1802 		    fftw_real tmp493;
1803 		    fftw_real tmp267;
1804 		    fftw_real tmp494;
1805 		    ASSERT_ALIGNED_DOUBLE;
1806 		    {
1807 			 fftw_real tmp259;
1808 			 fftw_real tmp261;
1809 			 fftw_real tmp258;
1810 			 fftw_real tmp260;
1811 			 ASSERT_ALIGNED_DOUBLE;
1812 			 tmp259 = c_re(inout[61 * iostride]);
1813 			 tmp261 = c_im(inout[61 * iostride]);
1814 			 tmp258 = c_re(W[60]);
1815 			 tmp260 = c_im(W[60]);
1816 			 tmp262 = (tmp258 * tmp259) + (tmp260 * tmp261);
1817 			 tmp493 = (tmp258 * tmp261) - (tmp260 * tmp259);
1818 		    }
1819 		    {
1820 			 fftw_real tmp264;
1821 			 fftw_real tmp266;
1822 			 fftw_real tmp263;
1823 			 fftw_real tmp265;
1824 			 ASSERT_ALIGNED_DOUBLE;
1825 			 tmp264 = c_re(inout[29 * iostride]);
1826 			 tmp266 = c_im(inout[29 * iostride]);
1827 			 tmp263 = c_re(W[28]);
1828 			 tmp265 = c_im(W[28]);
1829 			 tmp267 = (tmp263 * tmp264) + (tmp265 * tmp266);
1830 			 tmp494 = (tmp263 * tmp266) - (tmp265 * tmp264);
1831 		    }
1832 		    tmp268 = tmp262 + tmp267;
1833 		    tmp498 = tmp262 - tmp267;
1834 		    tmp495 = tmp493 - tmp494;
1835 		    tmp843 = tmp493 + tmp494;
1836 	       }
1837 	       {
1838 		    fftw_real tmp257;
1839 		    fftw_real tmp280;
1840 		    fftw_real tmp837;
1841 		    fftw_real tmp840;
1842 		    ASSERT_ALIGNED_DOUBLE;
1843 		    tmp257 = tmp245 + tmp256;
1844 		    tmp280 = tmp268 + tmp279;
1845 		    tmp281 = tmp257 + tmp280;
1846 		    tmp1012 = tmp257 - tmp280;
1847 		    tmp837 = tmp245 - tmp256;
1848 		    tmp840 = tmp838 - tmp839;
1849 		    tmp841 = tmp837 - tmp840;
1850 		    tmp854 = tmp837 + tmp840;
1851 	       }
1852 	       {
1853 		    fftw_real tmp968;
1854 		    fftw_real tmp969;
1855 		    fftw_real tmp842;
1856 		    fftw_real tmp845;
1857 		    ASSERT_ALIGNED_DOUBLE;
1858 		    tmp968 = tmp838 + tmp839;
1859 		    tmp969 = tmp843 + tmp844;
1860 		    tmp970 = tmp968 + tmp969;
1861 		    tmp1015 = tmp969 - tmp968;
1862 		    tmp842 = tmp268 - tmp279;
1863 		    tmp845 = tmp843 - tmp844;
1864 		    tmp846 = tmp842 + tmp845;
1865 		    tmp855 = tmp845 - tmp842;
1866 	       }
1867 	       {
1868 		    fftw_real tmp497;
1869 		    fftw_real tmp502;
1870 		    fftw_real tmp687;
1871 		    fftw_real tmp688;
1872 		    ASSERT_ALIGNED_DOUBLE;
1873 		    tmp497 = tmp495 + tmp496;
1874 		    tmp502 = tmp498 - tmp501;
1875 		    tmp503 = (K923879532 * tmp497) - (K382683432 * tmp502);
1876 		    tmp527 = (K382683432 * tmp497) + (K923879532 * tmp502);
1877 		    tmp687 = tmp495 - tmp496;
1878 		    tmp688 = tmp498 + tmp501;
1879 		    tmp689 = (K382683432 * tmp687) - (K923879532 * tmp688);
1880 		    tmp699 = (K923879532 * tmp687) + (K382683432 * tmp688);
1881 	       }
1882 	       {
1883 		    fftw_real tmp508;
1884 		    fftw_real tmp513;
1885 		    fftw_real tmp690;
1886 		    fftw_real tmp691;
1887 		    ASSERT_ALIGNED_DOUBLE;
1888 		    tmp508 = tmp506 + tmp507;
1889 		    tmp513 = tmp509 - tmp512;
1890 		    tmp514 = (K923879532 * tmp508) + (K382683432 * tmp513);
1891 		    tmp526 = (K923879532 * tmp513) - (K382683432 * tmp508);
1892 		    tmp690 = tmp506 - tmp507;
1893 		    tmp691 = tmp509 + tmp512;
1894 		    tmp692 = (K382683432 * tmp690) + (K923879532 * tmp691);
1895 		    tmp698 = (K382683432 * tmp691) - (K923879532 * tmp690);
1896 	       }
1897 	  }
1898 	  {
1899 	       fftw_real tmp91;
1900 	       fftw_real tmp955;
1901 	       fftw_real tmp990;
1902 	       fftw_real tmp1039;
1903 	       fftw_real tmp1049;
1904 	       fftw_real tmp1055;
1905 	       fftw_real tmp186;
1906 	       fftw_real tmp1054;
1907 	       fftw_real tmp972;
1908 	       fftw_real tmp985;
1909 	       fftw_real tmp378;
1910 	       fftw_real tmp1051;
1911 	       fftw_real tmp981;
1912 	       fftw_real tmp984;
1913 	       fftw_real tmp962;
1914 	       fftw_real tmp1040;
1915 	       ASSERT_ALIGNED_DOUBLE;
1916 	       {
1917 		    fftw_real tmp43;
1918 		    fftw_real tmp90;
1919 		    fftw_real tmp988;
1920 		    fftw_real tmp989;
1921 		    ASSERT_ALIGNED_DOUBLE;
1922 		    tmp43 = tmp19 + tmp42;
1923 		    tmp90 = tmp66 + tmp89;
1924 		    tmp91 = tmp43 + tmp90;
1925 		    tmp955 = tmp43 - tmp90;
1926 		    tmp988 = tmp976 + tmp979;
1927 		    tmp989 = tmp967 + tmp970;
1928 		    tmp990 = tmp988 - tmp989;
1929 		    tmp1039 = tmp989 + tmp988;
1930 	       }
1931 	       {
1932 		    fftw_real tmp1041;
1933 		    fftw_real tmp1048;
1934 		    fftw_real tmp138;
1935 		    fftw_real tmp185;
1936 		    ASSERT_ALIGNED_DOUBLE;
1937 		    tmp1041 = tmp993 + tmp992;
1938 		    tmp1048 = tmp1042 + tmp1047;
1939 		    tmp1049 = tmp1041 + tmp1048;
1940 		    tmp1055 = tmp1048 - tmp1041;
1941 		    tmp138 = tmp114 + tmp137;
1942 		    tmp185 = tmp161 + tmp184;
1943 		    tmp186 = tmp138 + tmp185;
1944 		    tmp1054 = tmp138 - tmp185;
1945 	       }
1946 	       {
1947 		    fftw_real tmp964;
1948 		    fftw_real tmp971;
1949 		    fftw_real tmp282;
1950 		    fftw_real tmp377;
1951 		    ASSERT_ALIGNED_DOUBLE;
1952 		    tmp964 = tmp234 - tmp281;
1953 		    tmp971 = tmp967 - tmp970;
1954 		    tmp972 = tmp964 - tmp971;
1955 		    tmp985 = tmp964 + tmp971;
1956 		    tmp282 = tmp234 + tmp281;
1957 		    tmp377 = tmp329 + tmp376;
1958 		    tmp378 = tmp282 + tmp377;
1959 		    tmp1051 = tmp282 - tmp377;
1960 	       }
1961 	       {
1962 		    fftw_real tmp973;
1963 		    fftw_real tmp980;
1964 		    fftw_real tmp958;
1965 		    fftw_real tmp961;
1966 		    ASSERT_ALIGNED_DOUBLE;
1967 		    tmp973 = tmp329 - tmp376;
1968 		    tmp980 = tmp976 - tmp979;
1969 		    tmp981 = tmp973 + tmp980;
1970 		    tmp984 = tmp980 - tmp973;
1971 		    tmp958 = tmp956 + tmp957;
1972 		    tmp961 = tmp959 + tmp960;
1973 		    tmp962 = tmp958 - tmp961;
1974 		    tmp1040 = tmp961 + tmp958;
1975 	       }
1976 	       {
1977 		    fftw_real tmp187;
1978 		    fftw_real tmp987;
1979 		    fftw_real tmp1050;
1980 		    fftw_real tmp1052;
1981 		    ASSERT_ALIGNED_DOUBLE;
1982 		    tmp187 = tmp91 + tmp186;
1983 		    c_re(inout[32 * iostride]) = tmp187 - tmp378;
1984 		    c_re(inout[0]) = tmp187 + tmp378;
1985 		    tmp987 = tmp91 - tmp186;
1986 		    c_re(inout[48 * iostride]) = tmp987 - tmp990;
1987 		    c_re(inout[16 * iostride]) = tmp987 + tmp990;
1988 		    {
1989 			 fftw_real tmp963;
1990 			 fftw_real tmp982;
1991 			 fftw_real tmp1057;
1992 			 fftw_real tmp1058;
1993 			 ASSERT_ALIGNED_DOUBLE;
1994 			 tmp963 = tmp955 + tmp962;
1995 			 tmp982 = K707106781 * (tmp972 + tmp981);
1996 			 c_re(inout[40 * iostride]) = tmp963 - tmp982;
1997 			 c_re(inout[8 * iostride]) = tmp963 + tmp982;
1998 			 tmp1057 = K707106781 * (tmp972 - tmp981);
1999 			 tmp1058 = tmp1055 - tmp1054;
2000 			 c_im(inout[24 * iostride]) = tmp1057 + tmp1058;
2001 			 c_im(inout[56 * iostride]) = tmp1058 - tmp1057;
2002 		    }
2003 		    tmp1050 = tmp1040 + tmp1049;
2004 		    c_im(inout[0]) = tmp1039 + tmp1050;
2005 		    c_im(inout[32 * iostride]) = tmp1050 - tmp1039;
2006 		    tmp1052 = tmp1049 - tmp1040;
2007 		    c_im(inout[16 * iostride]) = tmp1051 + tmp1052;
2008 		    c_im(inout[48 * iostride]) = tmp1052 - tmp1051;
2009 		    {
2010 			 fftw_real tmp1053;
2011 			 fftw_real tmp1056;
2012 			 fftw_real tmp983;
2013 			 fftw_real tmp986;
2014 			 ASSERT_ALIGNED_DOUBLE;
2015 			 tmp1053 = K707106781 * (tmp985 + tmp984);
2016 			 tmp1056 = tmp1054 + tmp1055;
2017 			 c_im(inout[8 * iostride]) = tmp1053 + tmp1056;
2018 			 c_im(inout[40 * iostride]) = tmp1056 - tmp1053;
2019 			 tmp983 = tmp955 - tmp962;
2020 			 tmp986 = K707106781 * (tmp984 - tmp985);
2021 			 c_re(inout[56 * iostride]) = tmp983 - tmp986;
2022 			 c_re(inout[24 * iostride]) = tmp983 + tmp986;
2023 		    }
2024 	       }
2025 	  }
2026 	  {
2027 	       fftw_real tmp995;
2028 	       fftw_real tmp1023;
2029 	       fftw_real tmp1026;
2030 	       fftw_real tmp1068;
2031 	       fftw_real tmp1002;
2032 	       fftw_real tmp1060;
2033 	       fftw_real tmp1063;
2034 	       fftw_real tmp1069;
2035 	       fftw_real tmp1010;
2036 	       fftw_real tmp1021;
2037 	       fftw_real tmp1030;
2038 	       fftw_real tmp1037;
2039 	       fftw_real tmp1017;
2040 	       fftw_real tmp1020;
2041 	       fftw_real tmp1033;
2042 	       fftw_real tmp1036;
2043 	       ASSERT_ALIGNED_DOUBLE;
2044 	       {
2045 		    fftw_real tmp991;
2046 		    fftw_real tmp994;
2047 		    fftw_real tmp1024;
2048 		    fftw_real tmp1025;
2049 		    ASSERT_ALIGNED_DOUBLE;
2050 		    tmp991 = tmp19 - tmp42;
2051 		    tmp994 = tmp992 - tmp993;
2052 		    tmp995 = tmp991 - tmp994;
2053 		    tmp1023 = tmp991 + tmp994;
2054 		    tmp1024 = tmp999 - tmp1000;
2055 		    tmp1025 = tmp997 + tmp996;
2056 		    tmp1026 = K707106781 * (tmp1024 + tmp1025);
2057 		    tmp1068 = K707106781 * (tmp1024 - tmp1025);
2058 	       }
2059 	       {
2060 		    fftw_real tmp998;
2061 		    fftw_real tmp1001;
2062 		    fftw_real tmp1061;
2063 		    fftw_real tmp1062;
2064 		    ASSERT_ALIGNED_DOUBLE;
2065 		    tmp998 = tmp996 - tmp997;
2066 		    tmp1001 = tmp999 + tmp1000;
2067 		    tmp1002 = K707106781 * (tmp998 - tmp1001);
2068 		    tmp1060 = K707106781 * (tmp1001 + tmp998);
2069 		    tmp1061 = tmp66 - tmp89;
2070 		    tmp1062 = tmp1047 - tmp1042;
2071 		    tmp1063 = tmp1061 + tmp1062;
2072 		    tmp1069 = tmp1062 - tmp1061;
2073 	       }
2074 	       {
2075 		    fftw_real tmp1006;
2076 		    fftw_real tmp1009;
2077 		    fftw_real tmp1028;
2078 		    fftw_real tmp1029;
2079 		    ASSERT_ALIGNED_DOUBLE;
2080 		    tmp1006 = tmp1004 - tmp1005;
2081 		    tmp1009 = tmp1007 - tmp1008;
2082 		    tmp1010 =
2083 			(K382683432 * tmp1006) - (K923879532 * tmp1009);
2084 		    tmp1021 =
2085 			(K923879532 * tmp1006) + (K382683432 * tmp1009);
2086 		    tmp1028 = tmp1004 + tmp1005;
2087 		    tmp1029 = tmp1007 + tmp1008;
2088 		    tmp1030 =
2089 			(K923879532 * tmp1028) - (K382683432 * tmp1029);
2090 		    tmp1037 =
2091 			(K382683432 * tmp1028) + (K923879532 * tmp1029);
2092 	       }
2093 	       {
2094 		    fftw_real tmp1013;
2095 		    fftw_real tmp1016;
2096 		    fftw_real tmp1031;
2097 		    fftw_real tmp1032;
2098 		    ASSERT_ALIGNED_DOUBLE;
2099 		    tmp1013 = tmp1011 - tmp1012;
2100 		    tmp1016 = tmp1014 - tmp1015;
2101 		    tmp1017 =
2102 			(K382683432 * tmp1013) + (K923879532 * tmp1016);
2103 		    tmp1020 =
2104 			(K382683432 * tmp1016) - (K923879532 * tmp1013);
2105 		    tmp1031 = tmp1011 + tmp1012;
2106 		    tmp1032 = tmp1014 + tmp1015;
2107 		    tmp1033 =
2108 			(K923879532 * tmp1031) + (K382683432 * tmp1032);
2109 		    tmp1036 =
2110 			(K923879532 * tmp1032) - (K382683432 * tmp1031);
2111 	       }
2112 	       {
2113 		    fftw_real tmp1003;
2114 		    fftw_real tmp1018;
2115 		    fftw_real tmp1019;
2116 		    fftw_real tmp1022;
2117 		    ASSERT_ALIGNED_DOUBLE;
2118 		    tmp1003 = tmp995 - tmp1002;
2119 		    tmp1018 = tmp1010 - tmp1017;
2120 		    c_re(inout[60 * iostride]) = tmp1003 - tmp1018;
2121 		    c_re(inout[28 * iostride]) = tmp1003 + tmp1018;
2122 		    tmp1019 = tmp995 + tmp1002;
2123 		    tmp1022 = tmp1020 + tmp1021;
2124 		    c_re(inout[44 * iostride]) = tmp1019 - tmp1022;
2125 		    c_re(inout[12 * iostride]) = tmp1019 + tmp1022;
2126 	       }
2127 	       {
2128 		    fftw_real tmp1071;
2129 		    fftw_real tmp1072;
2130 		    fftw_real tmp1067;
2131 		    fftw_real tmp1070;
2132 		    ASSERT_ALIGNED_DOUBLE;
2133 		    tmp1071 = tmp1020 - tmp1021;
2134 		    tmp1072 = tmp1069 - tmp1068;
2135 		    c_im(inout[28 * iostride]) = tmp1071 + tmp1072;
2136 		    c_im(inout[60 * iostride]) = tmp1072 - tmp1071;
2137 		    tmp1067 = tmp1017 + tmp1010;
2138 		    tmp1070 = tmp1068 + tmp1069;
2139 		    c_im(inout[12 * iostride]) = tmp1067 + tmp1070;
2140 		    c_im(inout[44 * iostride]) = tmp1070 - tmp1067;
2141 	       }
2142 	       {
2143 		    fftw_real tmp1027;
2144 		    fftw_real tmp1034;
2145 		    fftw_real tmp1035;
2146 		    fftw_real tmp1038;
2147 		    ASSERT_ALIGNED_DOUBLE;
2148 		    tmp1027 = tmp1023 - tmp1026;
2149 		    tmp1034 = tmp1030 - tmp1033;
2150 		    c_re(inout[52 * iostride]) = tmp1027 - tmp1034;
2151 		    c_re(inout[20 * iostride]) = tmp1027 + tmp1034;
2152 		    tmp1035 = tmp1023 + tmp1026;
2153 		    tmp1038 = tmp1036 + tmp1037;
2154 		    c_re(inout[36 * iostride]) = tmp1035 - tmp1038;
2155 		    c_re(inout[4 * iostride]) = tmp1035 + tmp1038;
2156 	       }
2157 	       {
2158 		    fftw_real tmp1065;
2159 		    fftw_real tmp1066;
2160 		    fftw_real tmp1059;
2161 		    fftw_real tmp1064;
2162 		    ASSERT_ALIGNED_DOUBLE;
2163 		    tmp1065 = tmp1036 - tmp1037;
2164 		    tmp1066 = tmp1063 - tmp1060;
2165 		    c_im(inout[20 * iostride]) = tmp1065 + tmp1066;
2166 		    c_im(inout[52 * iostride]) = tmp1066 - tmp1065;
2167 		    tmp1059 = tmp1033 + tmp1030;
2168 		    tmp1064 = tmp1060 + tmp1063;
2169 		    c_im(inout[4 * iostride]) = tmp1059 + tmp1064;
2170 		    c_im(inout[36 * iostride]) = tmp1064 - tmp1059;
2171 	       }
2172 	  }
2173 	  {
2174 	       fftw_real tmp419;
2175 	       fftw_real tmp591;
2176 	       fftw_real tmp1125;
2177 	       fftw_real tmp1131;
2178 	       fftw_real tmp474;
2179 	       fftw_real tmp1122;
2180 	       fftw_real tmp594;
2181 	       fftw_real tmp1130;
2182 	       fftw_real tmp530;
2183 	       fftw_real tmp589;
2184 	       fftw_real tmp598;
2185 	       fftw_real tmp605;
2186 	       fftw_real tmp585;
2187 	       fftw_real tmp588;
2188 	       fftw_real tmp601;
2189 	       fftw_real tmp604;
2190 	       ASSERT_ALIGNED_DOUBLE;
2191 	       {
2192 		    fftw_real tmp395;
2193 		    fftw_real tmp418;
2194 		    fftw_real tmp1123;
2195 		    fftw_real tmp1124;
2196 		    ASSERT_ALIGNED_DOUBLE;
2197 		    tmp395 = tmp383 - tmp394;
2198 		    tmp418 = tmp406 - tmp417;
2199 		    tmp419 = tmp395 - tmp418;
2200 		    tmp591 = tmp395 + tmp418;
2201 		    tmp1123 = tmp608 - tmp609;
2202 		    tmp1124 = tmp1109 - tmp1106;
2203 		    tmp1125 = tmp1123 + tmp1124;
2204 		    tmp1131 = tmp1124 - tmp1123;
2205 	       }
2206 	       {
2207 		    fftw_real tmp446;
2208 		    fftw_real tmp593;
2209 		    fftw_real tmp473;
2210 		    fftw_real tmp592;
2211 		    ASSERT_ALIGNED_DOUBLE;
2212 		    {
2213 			 fftw_real tmp436;
2214 			 fftw_real tmp445;
2215 			 fftw_real tmp463;
2216 			 fftw_real tmp472;
2217 			 ASSERT_ALIGNED_DOUBLE;
2218 			 tmp436 = tmp424 - tmp435;
2219 			 tmp445 = tmp441 - tmp444;
2220 			 tmp446 =
2221 			     (K555570233 * tmp436) - (K831469612 * tmp445);
2222 			 tmp593 =
2223 			     (K555570233 * tmp445) + (K831469612 * tmp436);
2224 			 tmp463 = tmp451 - tmp462;
2225 			 tmp472 = tmp468 - tmp471;
2226 			 tmp473 =
2227 			     (K831469612 * tmp463) + (K555570233 * tmp472);
2228 			 tmp592 =
2229 			     (K555570233 * tmp463) - (K831469612 * tmp472);
2230 		    }
2231 		    tmp474 = tmp446 - tmp473;
2232 		    tmp1122 = tmp473 + tmp446;
2233 		    tmp594 = tmp592 + tmp593;
2234 		    tmp1130 = tmp592 - tmp593;
2235 	       }
2236 	       {
2237 		    fftw_real tmp516;
2238 		    fftw_real tmp596;
2239 		    fftw_real tmp529;
2240 		    fftw_real tmp597;
2241 		    ASSERT_ALIGNED_DOUBLE;
2242 		    {
2243 			 fftw_real tmp492;
2244 			 fftw_real tmp515;
2245 			 fftw_real tmp525;
2246 			 fftw_real tmp528;
2247 			 ASSERT_ALIGNED_DOUBLE;
2248 			 tmp492 = tmp480 - tmp491;
2249 			 tmp515 = tmp503 - tmp514;
2250 			 tmp516 = tmp492 - tmp515;
2251 			 tmp596 = tmp492 + tmp515;
2252 			 tmp525 = tmp521 - tmp524;
2253 			 tmp528 = tmp526 - tmp527;
2254 			 tmp529 = tmp525 - tmp528;
2255 			 tmp597 = tmp525 + tmp528;
2256 		    }
2257 		    tmp530 = (K290284677 * tmp516) - (K956940335 * tmp529);
2258 		    tmp589 = (K956940335 * tmp516) + (K290284677 * tmp529);
2259 		    tmp598 = (K881921264 * tmp596) - (K471396736 * tmp597);
2260 		    tmp605 = (K471396736 * tmp596) + (K881921264 * tmp597);
2261 	       }
2262 	       {
2263 		    fftw_real tmp571;
2264 		    fftw_real tmp599;
2265 		    fftw_real tmp584;
2266 		    fftw_real tmp600;
2267 		    ASSERT_ALIGNED_DOUBLE;
2268 		    {
2269 			 fftw_real tmp547;
2270 			 fftw_real tmp570;
2271 			 fftw_real tmp580;
2272 			 fftw_real tmp583;
2273 			 ASSERT_ALIGNED_DOUBLE;
2274 			 tmp547 = tmp535 - tmp546;
2275 			 tmp570 = tmp558 - tmp569;
2276 			 tmp571 = tmp547 - tmp570;
2277 			 tmp599 = tmp547 + tmp570;
2278 			 tmp580 = tmp576 - tmp579;
2279 			 tmp583 = tmp581 - tmp582;
2280 			 tmp584 = tmp580 - tmp583;
2281 			 tmp600 = tmp580 + tmp583;
2282 		    }
2283 		    tmp585 = (K290284677 * tmp571) + (K956940335 * tmp584);
2284 		    tmp588 = (K290284677 * tmp584) - (K956940335 * tmp571);
2285 		    tmp601 = (K881921264 * tmp599) + (K471396736 * tmp600);
2286 		    tmp604 = (K881921264 * tmp600) - (K471396736 * tmp599);
2287 	       }
2288 	       {
2289 		    fftw_real tmp475;
2290 		    fftw_real tmp586;
2291 		    fftw_real tmp587;
2292 		    fftw_real tmp590;
2293 		    ASSERT_ALIGNED_DOUBLE;
2294 		    tmp475 = tmp419 + tmp474;
2295 		    tmp586 = tmp530 + tmp585;
2296 		    c_re(inout[45 * iostride]) = tmp475 - tmp586;
2297 		    c_re(inout[13 * iostride]) = tmp475 + tmp586;
2298 		    tmp587 = tmp419 - tmp474;
2299 		    tmp590 = tmp588 - tmp589;
2300 		    c_re(inout[61 * iostride]) = tmp587 - tmp590;
2301 		    c_re(inout[29 * iostride]) = tmp587 + tmp590;
2302 	       }
2303 	       {
2304 		    fftw_real tmp1129;
2305 		    fftw_real tmp1132;
2306 		    fftw_real tmp1133;
2307 		    fftw_real tmp1134;
2308 		    ASSERT_ALIGNED_DOUBLE;
2309 		    tmp1129 = tmp589 + tmp588;
2310 		    tmp1132 = tmp1130 + tmp1131;
2311 		    c_im(inout[13 * iostride]) = tmp1129 + tmp1132;
2312 		    c_im(inout[45 * iostride]) = tmp1132 - tmp1129;
2313 		    tmp1133 = tmp530 - tmp585;
2314 		    tmp1134 = tmp1131 - tmp1130;
2315 		    c_im(inout[29 * iostride]) = tmp1133 + tmp1134;
2316 		    c_im(inout[61 * iostride]) = tmp1134 - tmp1133;
2317 	       }
2318 	       {
2319 		    fftw_real tmp595;
2320 		    fftw_real tmp602;
2321 		    fftw_real tmp603;
2322 		    fftw_real tmp606;
2323 		    ASSERT_ALIGNED_DOUBLE;
2324 		    tmp595 = tmp591 + tmp594;
2325 		    tmp602 = tmp598 + tmp601;
2326 		    c_re(inout[37 * iostride]) = tmp595 - tmp602;
2327 		    c_re(inout[5 * iostride]) = tmp595 + tmp602;
2328 		    tmp603 = tmp591 - tmp594;
2329 		    tmp606 = tmp604 - tmp605;
2330 		    c_re(inout[53 * iostride]) = tmp603 - tmp606;
2331 		    c_re(inout[21 * iostride]) = tmp603 + tmp606;
2332 	       }
2333 	       {
2334 		    fftw_real tmp1121;
2335 		    fftw_real tmp1126;
2336 		    fftw_real tmp1127;
2337 		    fftw_real tmp1128;
2338 		    ASSERT_ALIGNED_DOUBLE;
2339 		    tmp1121 = tmp605 + tmp604;
2340 		    tmp1126 = tmp1122 + tmp1125;
2341 		    c_im(inout[5 * iostride]) = tmp1121 + tmp1126;
2342 		    c_im(inout[37 * iostride]) = tmp1126 - tmp1121;
2343 		    tmp1127 = tmp598 - tmp601;
2344 		    tmp1128 = tmp1125 - tmp1122;
2345 		    c_im(inout[21 * iostride]) = tmp1127 + tmp1128;
2346 		    c_im(inout[53 * iostride]) = tmp1128 - tmp1127;
2347 	       }
2348 	  }
2349 	  {
2350 	       fftw_real tmp611;
2351 	       fftw_real tmp639;
2352 	       fftw_real tmp1111;
2353 	       fftw_real tmp1117;
2354 	       fftw_real tmp618;
2355 	       fftw_real tmp1104;
2356 	       fftw_real tmp642;
2357 	       fftw_real tmp1116;
2358 	       fftw_real tmp626;
2359 	       fftw_real tmp637;
2360 	       fftw_real tmp646;
2361 	       fftw_real tmp653;
2362 	       fftw_real tmp633;
2363 	       fftw_real tmp636;
2364 	       fftw_real tmp649;
2365 	       fftw_real tmp652;
2366 	       ASSERT_ALIGNED_DOUBLE;
2367 	       {
2368 		    fftw_real tmp607;
2369 		    fftw_real tmp610;
2370 		    fftw_real tmp1105;
2371 		    fftw_real tmp1110;
2372 		    ASSERT_ALIGNED_DOUBLE;
2373 		    tmp607 = tmp383 + tmp394;
2374 		    tmp610 = tmp608 + tmp609;
2375 		    tmp611 = tmp607 - tmp610;
2376 		    tmp639 = tmp607 + tmp610;
2377 		    tmp1105 = tmp417 + tmp406;
2378 		    tmp1110 = tmp1106 + tmp1109;
2379 		    tmp1111 = tmp1105 + tmp1110;
2380 		    tmp1117 = tmp1110 - tmp1105;
2381 	       }
2382 	       {
2383 		    fftw_real tmp614;
2384 		    fftw_real tmp641;
2385 		    fftw_real tmp617;
2386 		    fftw_real tmp640;
2387 		    ASSERT_ALIGNED_DOUBLE;
2388 		    {
2389 			 fftw_real tmp612;
2390 			 fftw_real tmp613;
2391 			 fftw_real tmp615;
2392 			 fftw_real tmp616;
2393 			 ASSERT_ALIGNED_DOUBLE;
2394 			 tmp612 = tmp424 + tmp435;
2395 			 tmp613 = tmp441 + tmp444;
2396 			 tmp614 =
2397 			     (K980785280 * tmp612) - (K195090322 * tmp613);
2398 			 tmp641 =
2399 			     (K980785280 * tmp613) + (K195090322 * tmp612);
2400 			 tmp615 = tmp451 + tmp462;
2401 			 tmp616 = tmp468 + tmp471;
2402 			 tmp617 =
2403 			     (K195090322 * tmp615) + (K980785280 * tmp616);
2404 			 tmp640 =
2405 			     (K980785280 * tmp615) - (K195090322 * tmp616);
2406 		    }
2407 		    tmp618 = tmp614 - tmp617;
2408 		    tmp1104 = tmp617 + tmp614;
2409 		    tmp642 = tmp640 + tmp641;
2410 		    tmp1116 = tmp640 - tmp641;
2411 	       }
2412 	       {
2413 		    fftw_real tmp622;
2414 		    fftw_real tmp644;
2415 		    fftw_real tmp625;
2416 		    fftw_real tmp645;
2417 		    ASSERT_ALIGNED_DOUBLE;
2418 		    {
2419 			 fftw_real tmp620;
2420 			 fftw_real tmp621;
2421 			 fftw_real tmp623;
2422 			 fftw_real tmp624;
2423 			 ASSERT_ALIGNED_DOUBLE;
2424 			 tmp620 = tmp576 + tmp579;
2425 			 tmp621 = tmp569 + tmp558;
2426 			 tmp622 = tmp620 - tmp621;
2427 			 tmp644 = tmp620 + tmp621;
2428 			 tmp623 = tmp535 + tmp546;
2429 			 tmp624 = tmp581 + tmp582;
2430 			 tmp625 = tmp623 - tmp624;
2431 			 tmp645 = tmp623 + tmp624;
2432 		    }
2433 		    tmp626 = (K634393284 * tmp622) - (K773010453 * tmp625);
2434 		    tmp637 = (K773010453 * tmp622) + (K634393284 * tmp625);
2435 		    tmp646 = (K995184726 * tmp644) - (K098017140 * tmp645);
2436 		    tmp653 = (K098017140 * tmp644) + (K995184726 * tmp645);
2437 	       }
2438 	       {
2439 		    fftw_real tmp629;
2440 		    fftw_real tmp647;
2441 		    fftw_real tmp632;
2442 		    fftw_real tmp648;
2443 		    ASSERT_ALIGNED_DOUBLE;
2444 		    {
2445 			 fftw_real tmp627;
2446 			 fftw_real tmp628;
2447 			 fftw_real tmp630;
2448 			 fftw_real tmp631;
2449 			 ASSERT_ALIGNED_DOUBLE;
2450 			 tmp627 = tmp521 + tmp524;
2451 			 tmp628 = tmp514 + tmp503;
2452 			 tmp629 = tmp627 - tmp628;
2453 			 tmp647 = tmp627 + tmp628;
2454 			 tmp630 = tmp480 + tmp491;
2455 			 tmp631 = tmp526 + tmp527;
2456 			 tmp632 = tmp630 - tmp631;
2457 			 tmp648 = tmp630 + tmp631;
2458 		    }
2459 		    tmp633 = (K634393284 * tmp629) + (K773010453 * tmp632);
2460 		    tmp636 = (K634393284 * tmp632) - (K773010453 * tmp629);
2461 		    tmp649 = (K995184726 * tmp647) + (K098017140 * tmp648);
2462 		    tmp652 = (K995184726 * tmp648) - (K098017140 * tmp647);
2463 	       }
2464 	       {
2465 		    fftw_real tmp619;
2466 		    fftw_real tmp634;
2467 		    fftw_real tmp635;
2468 		    fftw_real tmp638;
2469 		    ASSERT_ALIGNED_DOUBLE;
2470 		    tmp619 = tmp611 - tmp618;
2471 		    tmp634 = tmp626 - tmp633;
2472 		    c_re(inout[57 * iostride]) = tmp619 - tmp634;
2473 		    c_re(inout[25 * iostride]) = tmp619 + tmp634;
2474 		    tmp635 = tmp611 + tmp618;
2475 		    tmp638 = tmp636 + tmp637;
2476 		    c_re(inout[41 * iostride]) = tmp635 - tmp638;
2477 		    c_re(inout[9 * iostride]) = tmp635 + tmp638;
2478 	       }
2479 	       {
2480 		    fftw_real tmp1119;
2481 		    fftw_real tmp1120;
2482 		    fftw_real tmp1115;
2483 		    fftw_real tmp1118;
2484 		    ASSERT_ALIGNED_DOUBLE;
2485 		    tmp1119 = tmp636 - tmp637;
2486 		    tmp1120 = tmp1117 - tmp1116;
2487 		    c_im(inout[25 * iostride]) = tmp1119 + tmp1120;
2488 		    c_im(inout[57 * iostride]) = tmp1120 - tmp1119;
2489 		    tmp1115 = tmp633 + tmp626;
2490 		    tmp1118 = tmp1116 + tmp1117;
2491 		    c_im(inout[9 * iostride]) = tmp1115 + tmp1118;
2492 		    c_im(inout[41 * iostride]) = tmp1118 - tmp1115;
2493 	       }
2494 	       {
2495 		    fftw_real tmp643;
2496 		    fftw_real tmp650;
2497 		    fftw_real tmp651;
2498 		    fftw_real tmp654;
2499 		    ASSERT_ALIGNED_DOUBLE;
2500 		    tmp643 = tmp639 - tmp642;
2501 		    tmp650 = tmp646 - tmp649;
2502 		    c_re(inout[49 * iostride]) = tmp643 - tmp650;
2503 		    c_re(inout[17 * iostride]) = tmp643 + tmp650;
2504 		    tmp651 = tmp639 + tmp642;
2505 		    tmp654 = tmp652 + tmp653;
2506 		    c_re(inout[33 * iostride]) = tmp651 - tmp654;
2507 		    c_re(inout[iostride]) = tmp651 + tmp654;
2508 	       }
2509 	       {
2510 		    fftw_real tmp1113;
2511 		    fftw_real tmp1114;
2512 		    fftw_real tmp1103;
2513 		    fftw_real tmp1112;
2514 		    ASSERT_ALIGNED_DOUBLE;
2515 		    tmp1113 = tmp652 - tmp653;
2516 		    tmp1114 = tmp1111 - tmp1104;
2517 		    c_im(inout[17 * iostride]) = tmp1113 + tmp1114;
2518 		    c_im(inout[49 * iostride]) = tmp1114 - tmp1113;
2519 		    tmp1103 = tmp649 + tmp646;
2520 		    tmp1112 = tmp1104 + tmp1111;
2521 		    c_im(inout[iostride]) = tmp1103 + tmp1112;
2522 		    c_im(inout[33 * iostride]) = tmp1112 - tmp1103;
2523 	       }
2524 	  }
2525 	  {
2526 	       fftw_real tmp807;
2527 	       fftw_real tmp891;
2528 	       fftw_real tmp830;
2529 	       fftw_real tmp1074;
2530 	       fftw_real tmp1079;
2531 	       fftw_real tmp1085;
2532 	       fftw_real tmp894;
2533 	       fftw_real tmp1084;
2534 	       fftw_real tmp885;
2535 	       fftw_real tmp888;
2536 	       fftw_real tmp901;
2537 	       fftw_real tmp904;
2538 	       fftw_real tmp858;
2539 	       fftw_real tmp889;
2540 	       fftw_real tmp898;
2541 	       fftw_real tmp905;
2542 	       ASSERT_ALIGNED_DOUBLE;
2543 	       {
2544 		    fftw_real tmp795;
2545 		    fftw_real tmp806;
2546 		    fftw_real tmp892;
2547 		    fftw_real tmp893;
2548 		    ASSERT_ALIGNED_DOUBLE;
2549 		    tmp795 = tmp791 + tmp794;
2550 		    tmp806 = K707106781 * (tmp800 + tmp805);
2551 		    tmp807 = tmp795 - tmp806;
2552 		    tmp891 = tmp795 + tmp806;
2553 		    {
2554 			 fftw_real tmp818;
2555 			 fftw_real tmp829;
2556 			 fftw_real tmp1075;
2557 			 fftw_real tmp1078;
2558 			 ASSERT_ALIGNED_DOUBLE;
2559 			 tmp818 =
2560 			     (K923879532 * tmp812) - (K382683432 * tmp817);
2561 			 tmp829 =
2562 			     (K923879532 * tmp823) + (K382683432 * tmp828);
2563 			 tmp830 = tmp818 - tmp829;
2564 			 tmp1074 = tmp829 + tmp818;
2565 			 tmp1075 = K707106781 * (tmp909 + tmp908);
2566 			 tmp1078 = tmp1076 + tmp1077;
2567 			 tmp1079 = tmp1075 + tmp1078;
2568 			 tmp1085 = tmp1078 - tmp1075;
2569 		    }
2570 		    tmp892 = (K923879532 * tmp828) - (K382683432 * tmp823);
2571 		    tmp893 = (K382683432 * tmp812) + (K923879532 * tmp817);
2572 		    tmp894 = tmp892 + tmp893;
2573 		    tmp1084 = tmp892 - tmp893;
2574 		    {
2575 			 fftw_real tmp875;
2576 			 fftw_real tmp899;
2577 			 fftw_real tmp884;
2578 			 fftw_real tmp900;
2579 			 fftw_real tmp874;
2580 			 fftw_real tmp883;
2581 			 ASSERT_ALIGNED_DOUBLE;
2582 			 tmp874 = K707106781 * (tmp868 + tmp873);
2583 			 tmp875 = tmp863 - tmp874;
2584 			 tmp899 = tmp863 + tmp874;
2585 			 tmp883 = K707106781 * (tmp881 + tmp882);
2586 			 tmp884 = tmp880 - tmp883;
2587 			 tmp900 = tmp880 + tmp883;
2588 			 tmp885 =
2589 			     (K555570233 * tmp875) + (K831469612 * tmp884);
2590 			 tmp888 =
2591 			     (K555570233 * tmp884) - (K831469612 * tmp875);
2592 			 tmp901 =
2593 			     (K980785280 * tmp899) + (K195090322 * tmp900);
2594 			 tmp904 =
2595 			     (K980785280 * tmp900) - (K195090322 * tmp899);
2596 		    }
2597 		    {
2598 			 fftw_real tmp848;
2599 			 fftw_real tmp896;
2600 			 fftw_real tmp857;
2601 			 fftw_real tmp897;
2602 			 fftw_real tmp847;
2603 			 fftw_real tmp856;
2604 			 ASSERT_ALIGNED_DOUBLE;
2605 			 tmp847 = K707106781 * (tmp841 + tmp846);
2606 			 tmp848 = tmp836 - tmp847;
2607 			 tmp896 = tmp836 + tmp847;
2608 			 tmp856 = K707106781 * (tmp854 + tmp855);
2609 			 tmp857 = tmp853 - tmp856;
2610 			 tmp897 = tmp853 + tmp856;
2611 			 tmp858 =
2612 			     (K555570233 * tmp848) - (K831469612 * tmp857);
2613 			 tmp889 =
2614 			     (K831469612 * tmp848) + (K555570233 * tmp857);
2615 			 tmp898 =
2616 			     (K980785280 * tmp896) - (K195090322 * tmp897);
2617 			 tmp905 =
2618 			     (K195090322 * tmp896) + (K980785280 * tmp897);
2619 		    }
2620 	       }
2621 	       {
2622 		    fftw_real tmp831;
2623 		    fftw_real tmp886;
2624 		    fftw_real tmp887;
2625 		    fftw_real tmp890;
2626 		    ASSERT_ALIGNED_DOUBLE;
2627 		    tmp831 = tmp807 + tmp830;
2628 		    tmp886 = tmp858 + tmp885;
2629 		    c_re(inout[42 * iostride]) = tmp831 - tmp886;
2630 		    c_re(inout[10 * iostride]) = tmp831 + tmp886;
2631 		    tmp887 = tmp807 - tmp830;
2632 		    tmp890 = tmp888 - tmp889;
2633 		    c_re(inout[58 * iostride]) = tmp887 - tmp890;
2634 		    c_re(inout[26 * iostride]) = tmp887 + tmp890;
2635 	       }
2636 	       {
2637 		    fftw_real tmp1083;
2638 		    fftw_real tmp1086;
2639 		    fftw_real tmp1087;
2640 		    fftw_real tmp1088;
2641 		    ASSERT_ALIGNED_DOUBLE;
2642 		    tmp1083 = tmp889 + tmp888;
2643 		    tmp1086 = tmp1084 + tmp1085;
2644 		    c_im(inout[10 * iostride]) = tmp1083 + tmp1086;
2645 		    c_im(inout[42 * iostride]) = tmp1086 - tmp1083;
2646 		    tmp1087 = tmp858 - tmp885;
2647 		    tmp1088 = tmp1085 - tmp1084;
2648 		    c_im(inout[26 * iostride]) = tmp1087 + tmp1088;
2649 		    c_im(inout[58 * iostride]) = tmp1088 - tmp1087;
2650 	       }
2651 	       {
2652 		    fftw_real tmp895;
2653 		    fftw_real tmp902;
2654 		    fftw_real tmp903;
2655 		    fftw_real tmp906;
2656 		    ASSERT_ALIGNED_DOUBLE;
2657 		    tmp895 = tmp891 + tmp894;
2658 		    tmp902 = tmp898 + tmp901;
2659 		    c_re(inout[34 * iostride]) = tmp895 - tmp902;
2660 		    c_re(inout[2 * iostride]) = tmp895 + tmp902;
2661 		    tmp903 = tmp891 - tmp894;
2662 		    tmp906 = tmp904 - tmp905;
2663 		    c_re(inout[50 * iostride]) = tmp903 - tmp906;
2664 		    c_re(inout[18 * iostride]) = tmp903 + tmp906;
2665 	       }
2666 	       {
2667 		    fftw_real tmp1073;
2668 		    fftw_real tmp1080;
2669 		    fftw_real tmp1081;
2670 		    fftw_real tmp1082;
2671 		    ASSERT_ALIGNED_DOUBLE;
2672 		    tmp1073 = tmp905 + tmp904;
2673 		    tmp1080 = tmp1074 + tmp1079;
2674 		    c_im(inout[2 * iostride]) = tmp1073 + tmp1080;
2675 		    c_im(inout[34 * iostride]) = tmp1080 - tmp1073;
2676 		    tmp1081 = tmp898 - tmp901;
2677 		    tmp1082 = tmp1079 - tmp1074;
2678 		    c_im(inout[18 * iostride]) = tmp1081 + tmp1082;
2679 		    c_im(inout[50 * iostride]) = tmp1082 - tmp1081;
2680 	       }
2681 	  }
2682 	  {
2683 	       fftw_real tmp911;
2684 	       fftw_real tmp939;
2685 	       fftw_real tmp918;
2686 	       fftw_real tmp1090;
2687 	       fftw_real tmp1093;
2688 	       fftw_real tmp1099;
2689 	       fftw_real tmp942;
2690 	       fftw_real tmp1098;
2691 	       fftw_real tmp933;
2692 	       fftw_real tmp936;
2693 	       fftw_real tmp949;
2694 	       fftw_real tmp952;
2695 	       fftw_real tmp926;
2696 	       fftw_real tmp937;
2697 	       fftw_real tmp946;
2698 	       fftw_real tmp953;
2699 	       ASSERT_ALIGNED_DOUBLE;
2700 	       {
2701 		    fftw_real tmp907;
2702 		    fftw_real tmp910;
2703 		    fftw_real tmp940;
2704 		    fftw_real tmp941;
2705 		    ASSERT_ALIGNED_DOUBLE;
2706 		    tmp907 = tmp791 - tmp794;
2707 		    tmp910 = K707106781 * (tmp908 - tmp909);
2708 		    tmp911 = tmp907 - tmp910;
2709 		    tmp939 = tmp907 + tmp910;
2710 		    {
2711 			 fftw_real tmp914;
2712 			 fftw_real tmp917;
2713 			 fftw_real tmp1091;
2714 			 fftw_real tmp1092;
2715 			 ASSERT_ALIGNED_DOUBLE;
2716 			 tmp914 =
2717 			     (K382683432 * tmp912) - (K923879532 * tmp913);
2718 			 tmp917 =
2719 			     (K382683432 * tmp915) + (K923879532 * tmp916);
2720 			 tmp918 = tmp914 - tmp917;
2721 			 tmp1090 = tmp917 + tmp914;
2722 			 tmp1091 = K707106781 * (tmp800 - tmp805);
2723 			 tmp1092 = tmp1077 - tmp1076;
2724 			 tmp1093 = tmp1091 + tmp1092;
2725 			 tmp1099 = tmp1092 - tmp1091;
2726 		    }
2727 		    tmp940 = (K382683432 * tmp916) - (K923879532 * tmp915);
2728 		    tmp941 = (K923879532 * tmp912) + (K382683432 * tmp913);
2729 		    tmp942 = tmp940 + tmp941;
2730 		    tmp1098 = tmp940 - tmp941;
2731 		    {
2732 			 fftw_real tmp929;
2733 			 fftw_real tmp947;
2734 			 fftw_real tmp932;
2735 			 fftw_real tmp948;
2736 			 fftw_real tmp928;
2737 			 fftw_real tmp931;
2738 			 ASSERT_ALIGNED_DOUBLE;
2739 			 tmp928 = K707106781 * (tmp841 - tmp846);
2740 			 tmp929 = tmp927 - tmp928;
2741 			 tmp947 = tmp927 + tmp928;
2742 			 tmp931 = K707106781 * (tmp855 - tmp854);
2743 			 tmp932 = tmp930 - tmp931;
2744 			 tmp948 = tmp930 + tmp931;
2745 			 tmp933 =
2746 			     (K195090322 * tmp929) + (K980785280 * tmp932);
2747 			 tmp936 =
2748 			     (K195090322 * tmp932) - (K980785280 * tmp929);
2749 			 tmp949 =
2750 			     (K831469612 * tmp947) + (K555570233 * tmp948);
2751 			 tmp952 =
2752 			     (K831469612 * tmp948) - (K555570233 * tmp947);
2753 		    }
2754 		    {
2755 			 fftw_real tmp922;
2756 			 fftw_real tmp944;
2757 			 fftw_real tmp925;
2758 			 fftw_real tmp945;
2759 			 fftw_real tmp921;
2760 			 fftw_real tmp924;
2761 			 ASSERT_ALIGNED_DOUBLE;
2762 			 tmp921 = K707106781 * (tmp868 - tmp873);
2763 			 tmp922 = tmp920 - tmp921;
2764 			 tmp944 = tmp920 + tmp921;
2765 			 tmp924 = K707106781 * (tmp882 - tmp881);
2766 			 tmp925 = tmp923 - tmp924;
2767 			 tmp945 = tmp923 + tmp924;
2768 			 tmp926 =
2769 			     (K195090322 * tmp922) - (K980785280 * tmp925);
2770 			 tmp937 =
2771 			     (K980785280 * tmp922) + (K195090322 * tmp925);
2772 			 tmp946 =
2773 			     (K831469612 * tmp944) - (K555570233 * tmp945);
2774 			 tmp953 =
2775 			     (K555570233 * tmp944) + (K831469612 * tmp945);
2776 		    }
2777 	       }
2778 	       {
2779 		    fftw_real tmp919;
2780 		    fftw_real tmp934;
2781 		    fftw_real tmp935;
2782 		    fftw_real tmp938;
2783 		    ASSERT_ALIGNED_DOUBLE;
2784 		    tmp919 = tmp911 - tmp918;
2785 		    tmp934 = tmp926 - tmp933;
2786 		    c_re(inout[62 * iostride]) = tmp919 - tmp934;
2787 		    c_re(inout[30 * iostride]) = tmp919 + tmp934;
2788 		    tmp935 = tmp911 + tmp918;
2789 		    tmp938 = tmp936 + tmp937;
2790 		    c_re(inout[46 * iostride]) = tmp935 - tmp938;
2791 		    c_re(inout[14 * iostride]) = tmp935 + tmp938;
2792 	       }
2793 	       {
2794 		    fftw_real tmp1101;
2795 		    fftw_real tmp1102;
2796 		    fftw_real tmp1097;
2797 		    fftw_real tmp1100;
2798 		    ASSERT_ALIGNED_DOUBLE;
2799 		    tmp1101 = tmp936 - tmp937;
2800 		    tmp1102 = tmp1099 - tmp1098;
2801 		    c_im(inout[30 * iostride]) = tmp1101 + tmp1102;
2802 		    c_im(inout[62 * iostride]) = tmp1102 - tmp1101;
2803 		    tmp1097 = tmp933 + tmp926;
2804 		    tmp1100 = tmp1098 + tmp1099;
2805 		    c_im(inout[14 * iostride]) = tmp1097 + tmp1100;
2806 		    c_im(inout[46 * iostride]) = tmp1100 - tmp1097;
2807 	       }
2808 	       {
2809 		    fftw_real tmp943;
2810 		    fftw_real tmp950;
2811 		    fftw_real tmp951;
2812 		    fftw_real tmp954;
2813 		    ASSERT_ALIGNED_DOUBLE;
2814 		    tmp943 = tmp939 - tmp942;
2815 		    tmp950 = tmp946 - tmp949;
2816 		    c_re(inout[54 * iostride]) = tmp943 - tmp950;
2817 		    c_re(inout[22 * iostride]) = tmp943 + tmp950;
2818 		    tmp951 = tmp939 + tmp942;
2819 		    tmp954 = tmp952 + tmp953;
2820 		    c_re(inout[38 * iostride]) = tmp951 - tmp954;
2821 		    c_re(inout[6 * iostride]) = tmp951 + tmp954;
2822 	       }
2823 	       {
2824 		    fftw_real tmp1095;
2825 		    fftw_real tmp1096;
2826 		    fftw_real tmp1089;
2827 		    fftw_real tmp1094;
2828 		    ASSERT_ALIGNED_DOUBLE;
2829 		    tmp1095 = tmp952 - tmp953;
2830 		    tmp1096 = tmp1093 - tmp1090;
2831 		    c_im(inout[22 * iostride]) = tmp1095 + tmp1096;
2832 		    c_im(inout[54 * iostride]) = tmp1096 - tmp1095;
2833 		    tmp1089 = tmp949 + tmp946;
2834 		    tmp1094 = tmp1090 + tmp1093;
2835 		    c_im(inout[6 * iostride]) = tmp1089 + tmp1094;
2836 		    c_im(inout[38 * iostride]) = tmp1094 - tmp1089;
2837 	       }
2838 	  }
2839 	  {
2840 	       fftw_real tmp667;
2841 	       fftw_real tmp727;
2842 	       fftw_real tmp1155;
2843 	       fftw_real tmp1161;
2844 	       fftw_real tmp682;
2845 	       fftw_real tmp1152;
2846 	       fftw_real tmp730;
2847 	       fftw_real tmp1160;
2848 	       fftw_real tmp702;
2849 	       fftw_real tmp725;
2850 	       fftw_real tmp734;
2851 	       fftw_real tmp741;
2852 	       fftw_real tmp721;
2853 	       fftw_real tmp724;
2854 	       fftw_real tmp737;
2855 	       fftw_real tmp740;
2856 	       ASSERT_ALIGNED_DOUBLE;
2857 	       {
2858 		    fftw_real tmp659;
2859 		    fftw_real tmp666;
2860 		    fftw_real tmp1153;
2861 		    fftw_real tmp1154;
2862 		    ASSERT_ALIGNED_DOUBLE;
2863 		    tmp659 = tmp655 - tmp658;
2864 		    tmp666 = tmp662 - tmp665;
2865 		    tmp667 = tmp659 - tmp666;
2866 		    tmp727 = tmp659 + tmp666;
2867 		    tmp1153 = tmp744 - tmp745;
2868 		    tmp1154 = tmp1139 - tmp1138;
2869 		    tmp1155 = tmp1153 + tmp1154;
2870 		    tmp1161 = tmp1154 - tmp1153;
2871 	       }
2872 	       {
2873 		    fftw_real tmp674;
2874 		    fftw_real tmp729;
2875 		    fftw_real tmp681;
2876 		    fftw_real tmp728;
2877 		    ASSERT_ALIGNED_DOUBLE;
2878 		    {
2879 			 fftw_real tmp670;
2880 			 fftw_real tmp673;
2881 			 fftw_real tmp677;
2882 			 fftw_real tmp680;
2883 			 ASSERT_ALIGNED_DOUBLE;
2884 			 tmp670 = tmp668 - tmp669;
2885 			 tmp673 = tmp671 - tmp672;
2886 			 tmp674 =
2887 			     (K195090322 * tmp670) - (K980785280 * tmp673);
2888 			 tmp729 =
2889 			     (K980785280 * tmp670) + (K195090322 * tmp673);
2890 			 tmp677 = tmp675 - tmp676;
2891 			 tmp680 = tmp678 - tmp679;
2892 			 tmp681 =
2893 			     (K195090322 * tmp677) + (K980785280 * tmp680);
2894 			 tmp728 =
2895 			     (K195090322 * tmp680) - (K980785280 * tmp677);
2896 		    }
2897 		    tmp682 = tmp674 - tmp681;
2898 		    tmp1152 = tmp681 + tmp674;
2899 		    tmp730 = tmp728 + tmp729;
2900 		    tmp1160 = tmp728 - tmp729;
2901 	       }
2902 	       {
2903 		    fftw_real tmp694;
2904 		    fftw_real tmp732;
2905 		    fftw_real tmp701;
2906 		    fftw_real tmp733;
2907 		    ASSERT_ALIGNED_DOUBLE;
2908 		    {
2909 			 fftw_real tmp686;
2910 			 fftw_real tmp693;
2911 			 fftw_real tmp697;
2912 			 fftw_real tmp700;
2913 			 ASSERT_ALIGNED_DOUBLE;
2914 			 tmp686 = tmp684 - tmp685;
2915 			 tmp693 = tmp689 - tmp692;
2916 			 tmp694 = tmp686 - tmp693;
2917 			 tmp732 = tmp686 + tmp693;
2918 			 tmp697 = tmp695 - tmp696;
2919 			 tmp700 = tmp698 - tmp699;
2920 			 tmp701 = tmp697 - tmp700;
2921 			 tmp733 = tmp697 + tmp700;
2922 		    }
2923 		    tmp702 = (K098017140 * tmp694) - (K995184726 * tmp701);
2924 		    tmp725 = (K995184726 * tmp694) + (K098017140 * tmp701);
2925 		    tmp734 = (K773010453 * tmp732) - (K634393284 * tmp733);
2926 		    tmp741 = (K634393284 * tmp732) + (K773010453 * tmp733);
2927 	       }
2928 	       {
2929 		    fftw_real tmp713;
2930 		    fftw_real tmp735;
2931 		    fftw_real tmp720;
2932 		    fftw_real tmp736;
2933 		    ASSERT_ALIGNED_DOUBLE;
2934 		    {
2935 			 fftw_real tmp705;
2936 			 fftw_real tmp712;
2937 			 fftw_real tmp716;
2938 			 fftw_real tmp719;
2939 			 ASSERT_ALIGNED_DOUBLE;
2940 			 tmp705 = tmp703 - tmp704;
2941 			 tmp712 = tmp708 - tmp711;
2942 			 tmp713 = tmp705 - tmp712;
2943 			 tmp735 = tmp705 + tmp712;
2944 			 tmp716 = tmp714 - tmp715;
2945 			 tmp719 = tmp717 - tmp718;
2946 			 tmp720 = tmp716 - tmp719;
2947 			 tmp736 = tmp716 + tmp719;
2948 		    }
2949 		    tmp721 = (K098017140 * tmp713) + (K995184726 * tmp720);
2950 		    tmp724 = (K098017140 * tmp720) - (K995184726 * tmp713);
2951 		    tmp737 = (K773010453 * tmp735) + (K634393284 * tmp736);
2952 		    tmp740 = (K773010453 * tmp736) - (K634393284 * tmp735);
2953 	       }
2954 	       {
2955 		    fftw_real tmp683;
2956 		    fftw_real tmp722;
2957 		    fftw_real tmp723;
2958 		    fftw_real tmp726;
2959 		    ASSERT_ALIGNED_DOUBLE;
2960 		    tmp683 = tmp667 + tmp682;
2961 		    tmp722 = tmp702 + tmp721;
2962 		    c_re(inout[47 * iostride]) = tmp683 - tmp722;
2963 		    c_re(inout[15 * iostride]) = tmp683 + tmp722;
2964 		    tmp723 = tmp667 - tmp682;
2965 		    tmp726 = tmp724 - tmp725;
2966 		    c_re(inout[63 * iostride]) = tmp723 - tmp726;
2967 		    c_re(inout[31 * iostride]) = tmp723 + tmp726;
2968 	       }
2969 	       {
2970 		    fftw_real tmp1159;
2971 		    fftw_real tmp1162;
2972 		    fftw_real tmp1163;
2973 		    fftw_real tmp1164;
2974 		    ASSERT_ALIGNED_DOUBLE;
2975 		    tmp1159 = tmp725 + tmp724;
2976 		    tmp1162 = tmp1160 + tmp1161;
2977 		    c_im(inout[15 * iostride]) = tmp1159 + tmp1162;
2978 		    c_im(inout[47 * iostride]) = tmp1162 - tmp1159;
2979 		    tmp1163 = tmp702 - tmp721;
2980 		    tmp1164 = tmp1161 - tmp1160;
2981 		    c_im(inout[31 * iostride]) = tmp1163 + tmp1164;
2982 		    c_im(inout[63 * iostride]) = tmp1164 - tmp1163;
2983 	       }
2984 	       {
2985 		    fftw_real tmp731;
2986 		    fftw_real tmp738;
2987 		    fftw_real tmp739;
2988 		    fftw_real tmp742;
2989 		    ASSERT_ALIGNED_DOUBLE;
2990 		    tmp731 = tmp727 + tmp730;
2991 		    tmp738 = tmp734 + tmp737;
2992 		    c_re(inout[39 * iostride]) = tmp731 - tmp738;
2993 		    c_re(inout[7 * iostride]) = tmp731 + tmp738;
2994 		    tmp739 = tmp727 - tmp730;
2995 		    tmp742 = tmp740 - tmp741;
2996 		    c_re(inout[55 * iostride]) = tmp739 - tmp742;
2997 		    c_re(inout[23 * iostride]) = tmp739 + tmp742;
2998 	       }
2999 	       {
3000 		    fftw_real tmp1151;
3001 		    fftw_real tmp1156;
3002 		    fftw_real tmp1157;
3003 		    fftw_real tmp1158;
3004 		    ASSERT_ALIGNED_DOUBLE;
3005 		    tmp1151 = tmp741 + tmp740;
3006 		    tmp1156 = tmp1152 + tmp1155;
3007 		    c_im(inout[7 * iostride]) = tmp1151 + tmp1156;
3008 		    c_im(inout[39 * iostride]) = tmp1156 - tmp1151;
3009 		    tmp1157 = tmp734 - tmp737;
3010 		    tmp1158 = tmp1155 - tmp1152;
3011 		    c_im(inout[23 * iostride]) = tmp1157 + tmp1158;
3012 		    c_im(inout[55 * iostride]) = tmp1158 - tmp1157;
3013 	       }
3014 	  }
3015 	  {
3016 	       fftw_real tmp747;
3017 	       fftw_real tmp775;
3018 	       fftw_real tmp1141;
3019 	       fftw_real tmp1147;
3020 	       fftw_real tmp754;
3021 	       fftw_real tmp1136;
3022 	       fftw_real tmp778;
3023 	       fftw_real tmp1146;
3024 	       fftw_real tmp762;
3025 	       fftw_real tmp773;
3026 	       fftw_real tmp782;
3027 	       fftw_real tmp789;
3028 	       fftw_real tmp769;
3029 	       fftw_real tmp772;
3030 	       fftw_real tmp785;
3031 	       fftw_real tmp788;
3032 	       ASSERT_ALIGNED_DOUBLE;
3033 	       {
3034 		    fftw_real tmp743;
3035 		    fftw_real tmp746;
3036 		    fftw_real tmp1137;
3037 		    fftw_real tmp1140;
3038 		    ASSERT_ALIGNED_DOUBLE;
3039 		    tmp743 = tmp655 + tmp658;
3040 		    tmp746 = tmp744 + tmp745;
3041 		    tmp747 = tmp743 - tmp746;
3042 		    tmp775 = tmp743 + tmp746;
3043 		    tmp1137 = tmp665 + tmp662;
3044 		    tmp1140 = tmp1138 + tmp1139;
3045 		    tmp1141 = tmp1137 + tmp1140;
3046 		    tmp1147 = tmp1140 - tmp1137;
3047 	       }
3048 	       {
3049 		    fftw_real tmp750;
3050 		    fftw_real tmp777;
3051 		    fftw_real tmp753;
3052 		    fftw_real tmp776;
3053 		    ASSERT_ALIGNED_DOUBLE;
3054 		    {
3055 			 fftw_real tmp748;
3056 			 fftw_real tmp749;
3057 			 fftw_real tmp751;
3058 			 fftw_real tmp752;
3059 			 ASSERT_ALIGNED_DOUBLE;
3060 			 tmp748 = tmp668 + tmp669;
3061 			 tmp749 = tmp671 + tmp672;
3062 			 tmp750 =
3063 			     (K831469612 * tmp748) - (K555570233 * tmp749);
3064 			 tmp777 =
3065 			     (K555570233 * tmp748) + (K831469612 * tmp749);
3066 			 tmp751 = tmp675 + tmp676;
3067 			 tmp752 = tmp678 + tmp679;
3068 			 tmp753 =
3069 			     (K831469612 * tmp751) + (K555570233 * tmp752);
3070 			 tmp776 =
3071 			     (K831469612 * tmp752) - (K555570233 * tmp751);
3072 		    }
3073 		    tmp754 = tmp750 - tmp753;
3074 		    tmp1136 = tmp753 + tmp750;
3075 		    tmp778 = tmp776 + tmp777;
3076 		    tmp1146 = tmp776 - tmp777;
3077 	       }
3078 	       {
3079 		    fftw_real tmp758;
3080 		    fftw_real tmp780;
3081 		    fftw_real tmp761;
3082 		    fftw_real tmp781;
3083 		    ASSERT_ALIGNED_DOUBLE;
3084 		    {
3085 			 fftw_real tmp756;
3086 			 fftw_real tmp757;
3087 			 fftw_real tmp759;
3088 			 fftw_real tmp760;
3089 			 ASSERT_ALIGNED_DOUBLE;
3090 			 tmp756 = tmp714 + tmp715;
3091 			 tmp757 = tmp711 + tmp708;
3092 			 tmp758 = tmp756 - tmp757;
3093 			 tmp780 = tmp756 + tmp757;
3094 			 tmp759 = tmp703 + tmp704;
3095 			 tmp760 = tmp717 + tmp718;
3096 			 tmp761 = tmp759 - tmp760;
3097 			 tmp781 = tmp759 + tmp760;
3098 		    }
3099 		    tmp762 = (K471396736 * tmp758) - (K881921264 * tmp761);
3100 		    tmp773 = (K881921264 * tmp758) + (K471396736 * tmp761);
3101 		    tmp782 = (K956940335 * tmp780) - (K290284677 * tmp781);
3102 		    tmp789 = (K290284677 * tmp780) + (K956940335 * tmp781);
3103 	       }
3104 	       {
3105 		    fftw_real tmp765;
3106 		    fftw_real tmp783;
3107 		    fftw_real tmp768;
3108 		    fftw_real tmp784;
3109 		    ASSERT_ALIGNED_DOUBLE;
3110 		    {
3111 			 fftw_real tmp763;
3112 			 fftw_real tmp764;
3113 			 fftw_real tmp766;
3114 			 fftw_real tmp767;
3115 			 ASSERT_ALIGNED_DOUBLE;
3116 			 tmp763 = tmp695 + tmp696;
3117 			 tmp764 = tmp692 + tmp689;
3118 			 tmp765 = tmp763 - tmp764;
3119 			 tmp783 = tmp763 + tmp764;
3120 			 tmp766 = tmp684 + tmp685;
3121 			 tmp767 = tmp698 + tmp699;
3122 			 tmp768 = tmp766 - tmp767;
3123 			 tmp784 = tmp766 + tmp767;
3124 		    }
3125 		    tmp769 = (K471396736 * tmp765) + (K881921264 * tmp768);
3126 		    tmp772 = (K471396736 * tmp768) - (K881921264 * tmp765);
3127 		    tmp785 = (K956940335 * tmp783) + (K290284677 * tmp784);
3128 		    tmp788 = (K956940335 * tmp784) - (K290284677 * tmp783);
3129 	       }
3130 	       {
3131 		    fftw_real tmp755;
3132 		    fftw_real tmp770;
3133 		    fftw_real tmp771;
3134 		    fftw_real tmp774;
3135 		    ASSERT_ALIGNED_DOUBLE;
3136 		    tmp755 = tmp747 - tmp754;
3137 		    tmp770 = tmp762 - tmp769;
3138 		    c_re(inout[59 * iostride]) = tmp755 - tmp770;
3139 		    c_re(inout[27 * iostride]) = tmp755 + tmp770;
3140 		    tmp771 = tmp747 + tmp754;
3141 		    tmp774 = tmp772 + tmp773;
3142 		    c_re(inout[43 * iostride]) = tmp771 - tmp774;
3143 		    c_re(inout[11 * iostride]) = tmp771 + tmp774;
3144 	       }
3145 	       {
3146 		    fftw_real tmp1149;
3147 		    fftw_real tmp1150;
3148 		    fftw_real tmp1145;
3149 		    fftw_real tmp1148;
3150 		    ASSERT_ALIGNED_DOUBLE;
3151 		    tmp1149 = tmp772 - tmp773;
3152 		    tmp1150 = tmp1147 - tmp1146;
3153 		    c_im(inout[27 * iostride]) = tmp1149 + tmp1150;
3154 		    c_im(inout[59 * iostride]) = tmp1150 - tmp1149;
3155 		    tmp1145 = tmp769 + tmp762;
3156 		    tmp1148 = tmp1146 + tmp1147;
3157 		    c_im(inout[11 * iostride]) = tmp1145 + tmp1148;
3158 		    c_im(inout[43 * iostride]) = tmp1148 - tmp1145;
3159 	       }
3160 	       {
3161 		    fftw_real tmp779;
3162 		    fftw_real tmp786;
3163 		    fftw_real tmp787;
3164 		    fftw_real tmp790;
3165 		    ASSERT_ALIGNED_DOUBLE;
3166 		    tmp779 = tmp775 - tmp778;
3167 		    tmp786 = tmp782 - tmp785;
3168 		    c_re(inout[51 * iostride]) = tmp779 - tmp786;
3169 		    c_re(inout[19 * iostride]) = tmp779 + tmp786;
3170 		    tmp787 = tmp775 + tmp778;
3171 		    tmp790 = tmp788 + tmp789;
3172 		    c_re(inout[35 * iostride]) = tmp787 - tmp790;
3173 		    c_re(inout[3 * iostride]) = tmp787 + tmp790;
3174 	       }
3175 	       {
3176 		    fftw_real tmp1143;
3177 		    fftw_real tmp1144;
3178 		    fftw_real tmp1135;
3179 		    fftw_real tmp1142;
3180 		    ASSERT_ALIGNED_DOUBLE;
3181 		    tmp1143 = tmp788 - tmp789;
3182 		    tmp1144 = tmp1141 - tmp1136;
3183 		    c_im(inout[19 * iostride]) = tmp1143 + tmp1144;
3184 		    c_im(inout[51 * iostride]) = tmp1144 - tmp1143;
3185 		    tmp1135 = tmp785 + tmp782;
3186 		    tmp1142 = tmp1136 + tmp1141;
3187 		    c_im(inout[3 * iostride]) = tmp1135 + tmp1142;
3188 		    c_im(inout[35 * iostride]) = tmp1142 - tmp1135;
3189 	       }
3190 	  }
3191      }
3192 }
3193 
3194 static const int twiddle_order[] =
3195     { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
3196 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
3197 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63 };
3198 fftw_codelet_desc fftwi_twiddle_64_desc = {
3199      "fftwi_twiddle_64",
3200      (void (*)()) fftwi_twiddle_64,
3201      64,
3202      FFTW_BACKWARD,
3203      FFTW_TWIDDLE,
3204      1419,
3205      63,
3206      twiddle_order,
3207 };
3208