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 */
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);
64 void fftw_hc2hc_forward_32(fftw_real
*A
, const fftw_complex
*W
, int iostride
, int m
, int dist
)
70 Y
= A
+ (32 * iostride
);
104 ASSERT_ALIGNED_DOUBLE();
112 ASSERT_ALIGNED_DOUBLE();
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
;
129 ASSERT_ALIGNED_DOUBLE();
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
);
161 ASSERT_ALIGNED_DOUBLE();
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
;
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
;
208 ASSERT_ALIGNED_DOUBLE();
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
);
234 ASSERT_ALIGNED_DOUBLE();
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
);
266 ASSERT_ALIGNED_DOUBLE();
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
;
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
;
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
;
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
;
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
;
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
;
397 ASSERT_ALIGNED_DOUBLE();
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
;
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
;
446 ASSERT_ALIGNED_DOUBLE();
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
;
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
;
489 for (i
= 2; i
< m
; i
= i
+ 2, X
= X
+ dist
, Y
= Y
- dist
, W
= W
+ 31) {
554 ASSERT_ALIGNED_DOUBLE();
564 ASSERT_ALIGNED_DOUBLE();
566 tmp621
= Y
[-31 * iostride
];
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
);
585 ASSERT_ALIGNED_DOUBLE();
586 tmp191
= X
[8 * iostride
];
587 tmp193
= Y
[-23 * iostride
];
590 tmp194
= (tmp190
* tmp191
) - (tmp192
* tmp193
);
591 tmp370
= (tmp192
* tmp191
) + (tmp190
* tmp193
);
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
);
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
;
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
;
646 ASSERT_ALIGNED_DOUBLE();
652 ASSERT_ALIGNED_DOUBLE();
653 tmp322
= X
[31 * iostride
];
655 tmp321
= c_re(W
[30]);
656 tmp323
= c_im(W
[30]);
657 tmp325
= (tmp321
* tmp322
) - (tmp323
* tmp324
);
658 tmp454
= (tmp323
* tmp322
) + (tmp321
* tmp324
);
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
);
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
);
691 ASSERT_ALIGNED_DOUBLE();
692 tmp333
= X
[7 * iostride
];
693 tmp335
= Y
[-24 * iostride
];
696 tmp336
= (tmp332
* tmp333
) - (tmp334
* tmp335
);
697 tmp438
= (tmp334
* tmp333
) + (tmp332
* tmp335
);
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
;
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
;
739 ASSERT_ALIGNED_DOUBLE();
745 ASSERT_ALIGNED_DOUBLE();
746 tmp203
= X
[4 * iostride
];
747 tmp205
= Y
[-27 * iostride
];
750 tmp206
= (tmp202
* tmp203
) - (tmp204
* tmp205
);
751 tmp374
= (tmp204
* tmp203
) + (tmp202
* tmp205
);
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
);
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
);
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
);
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
;
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
;
836 ASSERT_ALIGNED_DOUBLE();
842 ASSERT_ALIGNED_DOUBLE();
843 tmp345
= X
[3 * iostride
];
844 tmp347
= Y
[-28 * iostride
];
847 tmp348
= (tmp344
* tmp345
) - (tmp346
* tmp347
);
848 tmp442
= (tmp346
* tmp345
) + (tmp344
* tmp347
);
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
;
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
);
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
;
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
;
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
);
933 ASSERT_ALIGNED_DOUBLE();
939 ASSERT_ALIGNED_DOUBLE();
940 tmp227
= X
[2 * iostride
];
941 tmp229
= Y
[-29 * iostride
];
944 tmp230
= (tmp226
* tmp227
) - (tmp228
* tmp229
);
945 tmp386
= (tmp228
* tmp227
) + (tmp226
* tmp229
);
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
);
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
);
978 ASSERT_ALIGNED_DOUBLE();
979 tmp238
= X
[10 * iostride
];
980 tmp240
= Y
[-21 * iostride
];
983 tmp241
= (tmp237
* tmp238
) - (tmp239
* tmp240
);
984 tmp392
= (tmp239
* tmp238
) + (tmp237
* tmp240
);
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
;
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
;
1026 ASSERT_ALIGNED_DOUBLE();
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
);
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
);
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
);
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
);
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
;
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
;
1119 ASSERT_ALIGNED_DOUBLE();
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
);
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
);
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
);
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
);
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
;
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
;
1216 ASSERT_ALIGNED_DOUBLE();
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
);
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
;
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
);
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
;
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
;
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
);
1313 ASSERT_ALIGNED_DOUBLE();
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
;
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
;
1362 ASSERT_ALIGNED_DOUBLE();
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
;
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
;
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
;
1430 ASSERT_ALIGNED_DOUBLE();
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
);
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
);
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
);
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
;
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
;
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
;
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
;
1558 ASSERT_ALIGNED_DOUBLE();
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
;
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
);
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
);
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
;
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
;
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
;
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
;
1690 ASSERT_ALIGNED_DOUBLE();
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
;
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
);
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
);
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
;
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
;
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
;
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
;
1839 ASSERT_ALIGNED_DOUBLE();
1847 ASSERT_ALIGNED_DOUBLE();
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
);
1855 tmp105
= tmp1
- tmp4
;
1856 tmp158
= tmp156
+ tmp157
;
1857 tmp171
= tmp157
- tmp156
;
1864 ASSERT_ALIGNED_DOUBLE();
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
;
1894 ASSERT_ALIGNED_DOUBLE();
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
);
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
);
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
;
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
;
1961 ASSERT_ALIGNED_DOUBLE();
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
);
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
);
1998 ASSERT_ALIGNED_DOUBLE();
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
);
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
);
2039 ASSERT_ALIGNED_DOUBLE();
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
);
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
);
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
;
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
;
2110 ASSERT_ALIGNED_DOUBLE();
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
;
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
;
2159 ASSERT_ALIGNED_DOUBLE();
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
;
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
;
2208 ASSERT_ALIGNED_DOUBLE();
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
;
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
;
2257 ASSERT_ALIGNED_DOUBLE();
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
;
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
,