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