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