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:53 EDT 1999 */
26 /* Generated by: ./genfft -magic-alignment-check -magic-twiddle-load-all -magic-variables 4 -magic-loopi -twiddleinv 32 */
29 * This function contains 434 FP additions, 208 FP multiplications,
30 * (or, 340 additions, 114 multiplications, 94 fused multiply/add),
31 * 90 stack variables, and 128 memory accesses
33 static const fftw_real K555570233
= FFTW_KONST(+0.555570233019602224742830813948532874374937191);
34 static const fftw_real K831469612
= FFTW_KONST(+0.831469612302545237078788377617905756738560812);
35 static const fftw_real K980785280
= FFTW_KONST(+0.980785280403230449126182236134239036973933731);
36 static const fftw_real K195090322
= FFTW_KONST(+0.195090322016128267848284868477022240927691618);
37 static const fftw_real K923879532
= FFTW_KONST(+0.923879532511286756128183189396788286822416626);
38 static const fftw_real K382683432
= FFTW_KONST(+0.382683432365089771728459984030398866761344562);
39 static const fftw_real K707106781
= FFTW_KONST(+0.707106781186547524400844362104849039284835938);
48 void fftwi_twiddle_32(fftw_complex
*A
, const fftw_complex
*W
, int iostride
, int m
, int dist
)
53 for (i
= m
; i
> 0; i
= i
- 1, inout
= inout
+ dist
, W
= W
+ 31) {
118 ASSERT_ALIGNED_DOUBLE();
128 ASSERT_ALIGNED_DOUBLE();
129 tmp1
= c_re(inout
[0]);
130 tmp440
= c_im(inout
[0]);
136 ASSERT_ALIGNED_DOUBLE();
137 tmp3
= c_re(inout
[16 * iostride
]);
138 tmp5
= c_im(inout
[16 * iostride
]);
141 tmp6
= (tmp2
* tmp3
) + (tmp4
* tmp5
);
142 tmp439
= (tmp2
* tmp5
) - (tmp4
* tmp3
);
149 ASSERT_ALIGNED_DOUBLE();
150 tmp9
= c_re(inout
[8 * iostride
]);
151 tmp11
= c_im(inout
[8 * iostride
]);
154 tmp12
= (tmp8
* tmp9
) + (tmp10
* tmp11
);
155 tmp188
= (tmp8
* tmp11
) - (tmp10
* tmp9
);
162 ASSERT_ALIGNED_DOUBLE();
163 tmp14
= c_re(inout
[24 * iostride
]);
164 tmp16
= c_im(inout
[24 * iostride
]);
167 tmp17
= (tmp13
* tmp14
) + (tmp15
* tmp16
);
168 tmp189
= (tmp13
* tmp16
) - (tmp15
* tmp14
);
175 ASSERT_ALIGNED_DOUBLE();
177 tmp18
= tmp12
+ tmp17
;
178 tmp19
= tmp7
+ tmp18
;
179 tmp387
= tmp7
- tmp18
;
180 tmp470
= tmp12
- tmp17
;
181 tmp471
= tmp440
- tmp439
;
182 tmp472
= tmp470
+ tmp471
;
183 tmp486
= tmp471
- tmp470
;
190 ASSERT_ALIGNED_DOUBLE();
191 tmp438
= tmp188
+ tmp189
;
192 tmp441
= tmp439
+ tmp440
;
193 tmp442
= tmp438
+ tmp441
;
194 tmp456
= tmp441
- tmp438
;
195 tmp187
= tmp1
- tmp6
;
196 tmp190
= tmp188
- tmp189
;
197 tmp191
= tmp187
- tmp190
;
198 tmp303
= tmp187
+ tmp190
;
210 ASSERT_ALIGNED_DOUBLE();
216 ASSERT_ALIGNED_DOUBLE();
217 tmp140
= c_re(inout
[31 * iostride
]);
218 tmp142
= c_im(inout
[31 * iostride
]);
219 tmp139
= c_re(W
[30]);
220 tmp141
= c_im(W
[30]);
221 tmp143
= (tmp139
* tmp140
) + (tmp141
* tmp142
);
222 tmp272
= (tmp139
* tmp142
) - (tmp141
* tmp140
);
229 ASSERT_ALIGNED_DOUBLE();
230 tmp156
= c_re(inout
[23 * iostride
]);
231 tmp158
= c_im(inout
[23 * iostride
]);
232 tmp155
= c_re(W
[22]);
233 tmp157
= c_im(W
[22]);
234 tmp159
= (tmp155
* tmp156
) + (tmp157
* tmp158
);
235 tmp257
= (tmp155
* tmp158
) - (tmp157
* tmp156
);
242 ASSERT_ALIGNED_DOUBLE();
243 tmp145
= c_re(inout
[15 * iostride
]);
244 tmp147
= c_im(inout
[15 * iostride
]);
245 tmp144
= c_re(W
[14]);
246 tmp146
= c_im(W
[14]);
247 tmp148
= (tmp144
* tmp145
) + (tmp146
* tmp147
);
248 tmp273
= (tmp144
* tmp147
) - (tmp146
* tmp145
);
255 ASSERT_ALIGNED_DOUBLE();
256 tmp151
= c_re(inout
[7 * iostride
]);
257 tmp153
= c_im(inout
[7 * iostride
]);
260 tmp154
= (tmp150
* tmp151
) + (tmp152
* tmp153
);
261 tmp256
= (tmp150
* tmp153
) - (tmp152
* tmp151
);
268 ASSERT_ALIGNED_DOUBLE();
269 tmp149
= tmp143
+ tmp148
;
270 tmp160
= tmp154
+ tmp159
;
271 tmp161
= tmp149
+ tmp160
;
272 tmp403
= tmp149
- tmp160
;
273 tmp274
= tmp272
- tmp273
;
274 tmp275
= tmp154
- tmp159
;
275 tmp276
= tmp274
+ tmp275
;
276 tmp316
= tmp274
- tmp275
;
283 ASSERT_ALIGNED_DOUBLE();
284 tmp370
= tmp272
+ tmp273
;
285 tmp371
= tmp256
+ tmp257
;
286 tmp372
= tmp370
+ tmp371
;
287 tmp400
= tmp370
- tmp371
;
288 tmp255
= tmp143
- tmp148
;
289 tmp258
= tmp256
- tmp257
;
290 tmp259
= tmp255
- tmp258
;
291 tmp319
= tmp255
+ tmp258
;
303 ASSERT_ALIGNED_DOUBLE();
309 ASSERT_ALIGNED_DOUBLE();
310 tmp21
= c_re(inout
[4 * iostride
]);
311 tmp23
= c_im(inout
[4 * iostride
]);
314 tmp24
= (tmp20
* tmp21
) + (tmp22
* tmp23
);
315 tmp193
= (tmp20
* tmp23
) - (tmp22
* tmp21
);
322 ASSERT_ALIGNED_DOUBLE();
323 tmp37
= c_re(inout
[12 * iostride
]);
324 tmp39
= c_im(inout
[12 * iostride
]);
327 tmp40
= (tmp36
* tmp37
) + (tmp38
* tmp39
);
328 tmp199
= (tmp36
* tmp39
) - (tmp38
* tmp37
);
335 ASSERT_ALIGNED_DOUBLE();
336 tmp26
= c_re(inout
[20 * iostride
]);
337 tmp28
= c_im(inout
[20 * iostride
]);
340 tmp29
= (tmp25
* tmp26
) + (tmp27
* tmp28
);
341 tmp194
= (tmp25
* tmp28
) - (tmp27
* tmp26
);
348 ASSERT_ALIGNED_DOUBLE();
349 tmp32
= c_re(inout
[28 * iostride
]);
350 tmp34
= c_im(inout
[28 * iostride
]);
353 tmp35
= (tmp31
* tmp32
) + (tmp33
* tmp34
);
354 tmp198
= (tmp31
* tmp34
) - (tmp33
* tmp32
);
361 ASSERT_ALIGNED_DOUBLE();
362 tmp30
= tmp24
+ tmp29
;
363 tmp41
= tmp35
+ tmp40
;
364 tmp42
= tmp30
+ tmp41
;
365 tmp455
= tmp30
- tmp41
;
366 tmp197
= tmp35
- tmp40
;
367 tmp200
= tmp198
- tmp199
;
368 tmp201
= tmp197
+ tmp200
;
369 tmp304
= tmp200
- tmp197
;
376 ASSERT_ALIGNED_DOUBLE();
377 tmp388
= tmp198
+ tmp199
;
378 tmp389
= tmp193
+ tmp194
;
379 tmp390
= tmp388
- tmp389
;
380 tmp437
= tmp389
+ tmp388
;
381 tmp192
= tmp24
- tmp29
;
382 tmp195
= tmp193
- tmp194
;
383 tmp196
= tmp192
- tmp195
;
384 tmp305
= tmp192
+ tmp195
;
400 ASSERT_ALIGNED_DOUBLE();
406 ASSERT_ALIGNED_DOUBLE();
407 tmp163
= c_re(inout
[3 * iostride
]);
408 tmp165
= c_im(inout
[3 * iostride
]);
411 tmp166
= (tmp162
* tmp163
) + (tmp164
* tmp165
);
412 tmp261
= (tmp162
* tmp165
) - (tmp164
* tmp163
);
419 ASSERT_ALIGNED_DOUBLE();
420 tmp168
= c_re(inout
[19 * iostride
]);
421 tmp170
= c_im(inout
[19 * iostride
]);
422 tmp167
= c_re(W
[18]);
423 tmp169
= c_im(W
[18]);
424 tmp171
= (tmp167
* tmp168
) + (tmp169
* tmp170
);
425 tmp262
= (tmp167
* tmp170
) - (tmp169
* tmp168
);
427 tmp260
= tmp166
- tmp171
;
428 tmp263
= tmp261
- tmp262
;
434 ASSERT_ALIGNED_DOUBLE();
435 tmp174
= c_re(inout
[27 * iostride
]);
436 tmp176
= c_im(inout
[27 * iostride
]);
437 tmp173
= c_re(W
[26]);
438 tmp175
= c_im(W
[26]);
439 tmp177
= (tmp173
* tmp174
) + (tmp175
* tmp176
);
440 tmp266
= (tmp173
* tmp176
) - (tmp175
* tmp174
);
447 ASSERT_ALIGNED_DOUBLE();
448 tmp179
= c_re(inout
[11 * iostride
]);
449 tmp181
= c_im(inout
[11 * iostride
]);
450 tmp178
= c_re(W
[10]);
451 tmp180
= c_im(W
[10]);
452 tmp182
= (tmp178
* tmp179
) + (tmp180
* tmp181
);
453 tmp267
= (tmp178
* tmp181
) - (tmp180
* tmp179
);
455 tmp265
= tmp177
- tmp182
;
456 tmp268
= tmp266
- tmp267
;
462 ASSERT_ALIGNED_DOUBLE();
463 tmp172
= tmp166
+ tmp171
;
464 tmp183
= tmp177
+ tmp182
;
465 tmp184
= tmp172
+ tmp183
;
466 tmp401
= tmp172
- tmp183
;
467 tmp373
= tmp261
+ tmp262
;
468 tmp374
= tmp266
+ tmp267
;
469 tmp375
= tmp373
+ tmp374
;
470 tmp404
= tmp374
- tmp373
;
477 ASSERT_ALIGNED_DOUBLE();
478 tmp264
= tmp260
- tmp263
;
479 tmp269
= tmp265
+ tmp268
;
480 tmp270
= K707106781
* (tmp264
+ tmp269
);
481 tmp317
= K707106781
* (tmp264
- tmp269
);
482 tmp277
= tmp260
+ tmp263
;
483 tmp278
= tmp268
- tmp265
;
484 tmp279
= K707106781
* (tmp277
+ tmp278
);
485 tmp320
= K707106781
* (tmp278
- tmp277
);
497 ASSERT_ALIGNED_DOUBLE();
503 ASSERT_ALIGNED_DOUBLE();
504 tmp45
= c_re(inout
[2 * iostride
]);
505 tmp47
= c_im(inout
[2 * iostride
]);
508 tmp48
= (tmp44
* tmp45
) + (tmp46
* tmp47
);
509 tmp215
= (tmp44
* tmp47
) - (tmp46
* tmp45
);
516 ASSERT_ALIGNED_DOUBLE();
517 tmp61
= c_re(inout
[26 * iostride
]);
518 tmp63
= c_im(inout
[26 * iostride
]);
521 tmp64
= (tmp60
* tmp61
) + (tmp62
* tmp63
);
522 tmp222
= (tmp60
* tmp63
) - (tmp62
* tmp61
);
529 ASSERT_ALIGNED_DOUBLE();
530 tmp50
= c_re(inout
[18 * iostride
]);
531 tmp52
= c_im(inout
[18 * iostride
]);
534 tmp53
= (tmp49
* tmp50
) + (tmp51
* tmp52
);
535 tmp216
= (tmp49
* tmp52
) - (tmp51
* tmp50
);
542 ASSERT_ALIGNED_DOUBLE();
543 tmp56
= c_re(inout
[10 * iostride
]);
544 tmp58
= c_im(inout
[10 * iostride
]);
547 tmp59
= (tmp55
* tmp56
) + (tmp57
* tmp58
);
548 tmp221
= (tmp55
* tmp58
) - (tmp57
* tmp56
);
555 ASSERT_ALIGNED_DOUBLE();
556 tmp54
= tmp48
+ tmp53
;
557 tmp65
= tmp59
+ tmp64
;
558 tmp66
= tmp54
+ tmp65
;
559 tmp395
= tmp54
- tmp65
;
560 tmp220
= tmp48
- tmp53
;
561 tmp223
= tmp221
- tmp222
;
562 tmp224
= tmp220
- tmp223
;
563 tmp312
= tmp220
+ tmp223
;
570 ASSERT_ALIGNED_DOUBLE();
571 tmp355
= tmp215
+ tmp216
;
572 tmp356
= tmp221
+ tmp222
;
573 tmp357
= tmp355
+ tmp356
;
574 tmp396
= tmp355
- tmp356
;
575 tmp217
= tmp215
- tmp216
;
576 tmp218
= tmp59
- tmp64
;
577 tmp219
= tmp217
+ tmp218
;
578 tmp311
= tmp217
- tmp218
;
590 ASSERT_ALIGNED_DOUBLE();
596 ASSERT_ALIGNED_DOUBLE();
597 tmp93
= c_re(inout
[iostride
]);
598 tmp95
= c_im(inout
[iostride
]);
601 tmp96
= (tmp92
* tmp93
) + (tmp94
* tmp95
);
602 tmp245
= (tmp92
* tmp95
) - (tmp94
* tmp93
);
609 ASSERT_ALIGNED_DOUBLE();
610 tmp109
= c_re(inout
[25 * iostride
]);
611 tmp111
= c_im(inout
[25 * iostride
]);
612 tmp108
= c_re(W
[24]);
613 tmp110
= c_im(W
[24]);
614 tmp112
= (tmp108
* tmp109
) + (tmp110
* tmp111
);
615 tmp230
= (tmp108
* tmp111
) - (tmp110
* tmp109
);
622 ASSERT_ALIGNED_DOUBLE();
623 tmp98
= c_re(inout
[17 * iostride
]);
624 tmp100
= c_im(inout
[17 * iostride
]);
627 tmp101
= (tmp97
* tmp98
) + (tmp99
* tmp100
);
628 tmp246
= (tmp97
* tmp100
) - (tmp99
* tmp98
);
635 ASSERT_ALIGNED_DOUBLE();
636 tmp104
= c_re(inout
[9 * iostride
]);
637 tmp106
= c_im(inout
[9 * iostride
]);
640 tmp107
= (tmp103
* tmp104
) + (tmp105
* tmp106
);
641 tmp229
= (tmp103
* tmp106
) - (tmp105
* tmp104
);
648 ASSERT_ALIGNED_DOUBLE();
649 tmp102
= tmp96
+ tmp101
;
650 tmp113
= tmp107
+ tmp112
;
651 tmp114
= tmp102
+ tmp113
;
652 tmp410
= tmp102
- tmp113
;
653 tmp247
= tmp245
- tmp246
;
654 tmp248
= tmp107
- tmp112
;
655 tmp249
= tmp247
+ tmp248
;
656 tmp323
= tmp247
- tmp248
;
663 ASSERT_ALIGNED_DOUBLE();
664 tmp361
= tmp245
+ tmp246
;
665 tmp362
= tmp229
+ tmp230
;
666 tmp363
= tmp361
+ tmp362
;
667 tmp407
= tmp361
- tmp362
;
668 tmp228
= tmp96
- tmp101
;
669 tmp231
= tmp229
- tmp230
;
670 tmp232
= tmp228
- tmp231
;
671 tmp326
= tmp228
+ tmp231
;
683 ASSERT_ALIGNED_DOUBLE();
689 ASSERT_ALIGNED_DOUBLE();
690 tmp68
= c_re(inout
[30 * iostride
]);
691 tmp70
= c_im(inout
[30 * iostride
]);
694 tmp71
= (tmp67
* tmp68
) + (tmp69
* tmp70
);
695 tmp204
= (tmp67
* tmp70
) - (tmp69
* tmp68
);
702 ASSERT_ALIGNED_DOUBLE();
703 tmp84
= c_re(inout
[22 * iostride
]);
704 tmp86
= c_im(inout
[22 * iostride
]);
707 tmp87
= (tmp83
* tmp84
) + (tmp85
* tmp86
);
708 tmp211
= (tmp83
* tmp86
) - (tmp85
* tmp84
);
715 ASSERT_ALIGNED_DOUBLE();
716 tmp73
= c_re(inout
[14 * iostride
]);
717 tmp75
= c_im(inout
[14 * iostride
]);
720 tmp76
= (tmp72
* tmp73
) + (tmp74
* tmp75
);
721 tmp205
= (tmp72
* tmp75
) - (tmp74
* tmp73
);
728 ASSERT_ALIGNED_DOUBLE();
729 tmp79
= c_re(inout
[6 * iostride
]);
730 tmp81
= c_im(inout
[6 * iostride
]);
733 tmp82
= (tmp78
* tmp79
) + (tmp80
* tmp81
);
734 tmp210
= (tmp78
* tmp81
) - (tmp80
* tmp79
);
741 ASSERT_ALIGNED_DOUBLE();
742 tmp77
= tmp71
+ tmp76
;
743 tmp88
= tmp82
+ tmp87
;
744 tmp89
= tmp77
+ tmp88
;
745 tmp393
= tmp77
- tmp88
;
746 tmp209
= tmp71
- tmp76
;
747 tmp212
= tmp210
- tmp211
;
748 tmp213
= tmp209
- tmp212
;
749 tmp309
= tmp209
+ tmp212
;
756 ASSERT_ALIGNED_DOUBLE();
757 tmp352
= tmp204
+ tmp205
;
758 tmp353
= tmp210
+ tmp211
;
759 tmp354
= tmp352
+ tmp353
;
760 tmp392
= tmp352
- tmp353
;
761 tmp206
= tmp204
- tmp205
;
762 tmp207
= tmp82
- tmp87
;
763 tmp208
= tmp206
+ tmp207
;
764 tmp308
= tmp206
- tmp207
;
780 ASSERT_ALIGNED_DOUBLE();
786 ASSERT_ALIGNED_DOUBLE();
787 tmp116
= c_re(inout
[5 * iostride
]);
788 tmp118
= c_im(inout
[5 * iostride
]);
791 tmp119
= (tmp115
* tmp116
) + (tmp117
* tmp118
);
792 tmp234
= (tmp115
* tmp118
) - (tmp117
* tmp116
);
799 ASSERT_ALIGNED_DOUBLE();
800 tmp121
= c_re(inout
[21 * iostride
]);
801 tmp123
= c_im(inout
[21 * iostride
]);
802 tmp120
= c_re(W
[20]);
803 tmp122
= c_im(W
[20]);
804 tmp124
= (tmp120
* tmp121
) + (tmp122
* tmp123
);
805 tmp235
= (tmp120
* tmp123
) - (tmp122
* tmp121
);
807 tmp233
= tmp119
- tmp124
;
808 tmp236
= tmp234
- tmp235
;
814 ASSERT_ALIGNED_DOUBLE();
815 tmp127
= c_re(inout
[29 * iostride
]);
816 tmp129
= c_im(inout
[29 * iostride
]);
817 tmp126
= c_re(W
[28]);
818 tmp128
= c_im(W
[28]);
819 tmp130
= (tmp126
* tmp127
) + (tmp128
* tmp129
);
820 tmp239
= (tmp126
* tmp129
) - (tmp128
* tmp127
);
827 ASSERT_ALIGNED_DOUBLE();
828 tmp132
= c_re(inout
[13 * iostride
]);
829 tmp134
= c_im(inout
[13 * iostride
]);
830 tmp131
= c_re(W
[12]);
831 tmp133
= c_im(W
[12]);
832 tmp135
= (tmp131
* tmp132
) + (tmp133
* tmp134
);
833 tmp240
= (tmp131
* tmp134
) - (tmp133
* tmp132
);
835 tmp238
= tmp130
- tmp135
;
836 tmp241
= tmp239
- tmp240
;
842 ASSERT_ALIGNED_DOUBLE();
843 tmp125
= tmp119
+ tmp124
;
844 tmp136
= tmp130
+ tmp135
;
845 tmp137
= tmp125
+ tmp136
;
846 tmp408
= tmp125
- tmp136
;
847 tmp364
= tmp234
+ tmp235
;
848 tmp365
= tmp239
+ tmp240
;
849 tmp366
= tmp364
+ tmp365
;
850 tmp411
= tmp365
- tmp364
;
857 ASSERT_ALIGNED_DOUBLE();
858 tmp237
= tmp233
- tmp236
;
859 tmp242
= tmp238
+ tmp241
;
860 tmp243
= K707106781
* (tmp237
+ tmp242
);
861 tmp324
= K707106781
* (tmp237
- tmp242
);
862 tmp250
= tmp233
+ tmp236
;
863 tmp251
= tmp241
- tmp238
;
864 tmp252
= K707106781
* (tmp250
+ tmp251
);
865 tmp327
= K707106781
* (tmp251
- tmp250
);
877 ASSERT_ALIGNED_DOUBLE();
883 ASSERT_ALIGNED_DOUBLE();
884 tmp43
= tmp19
+ tmp42
;
885 tmp90
= tmp66
+ tmp89
;
886 tmp91
= tmp43
+ tmp90
;
887 tmp383
= tmp43
- tmp90
;
888 tmp436
= tmp357
+ tmp354
;
889 tmp443
= tmp437
+ tmp442
;
890 tmp444
= tmp436
+ tmp443
;
891 tmp446
= tmp443
- tmp436
;
898 ASSERT_ALIGNED_DOUBLE();
899 tmp138
= tmp114
+ tmp137
;
900 tmp185
= tmp161
+ tmp184
;
901 tmp186
= tmp138
+ tmp185
;
902 tmp445
= tmp138
- tmp185
;
903 tmp384
= tmp372
+ tmp375
;
904 tmp385
= tmp363
+ tmp366
;
905 tmp386
= tmp384
- tmp385
;
906 tmp435
= tmp385
+ tmp384
;
908 c_re(inout
[16 * iostride
]) = tmp91
- tmp186
;
909 c_re(inout
[0]) = tmp91
+ tmp186
;
910 c_re(inout
[24 * iostride
]) = tmp383
- tmp386
;
911 c_re(inout
[8 * iostride
]) = tmp383
+ tmp386
;
912 c_im(inout
[0]) = tmp435
+ tmp444
;
913 c_im(inout
[16 * iostride
]) = tmp444
- tmp435
;
914 c_im(inout
[8 * iostride
]) = tmp445
+ tmp446
;
915 c_im(inout
[24 * iostride
]) = tmp446
- tmp445
;
926 ASSERT_ALIGNED_DOUBLE();
932 ASSERT_ALIGNED_DOUBLE();
933 tmp351
= tmp19
- tmp42
;
934 tmp358
= tmp354
- tmp357
;
935 tmp359
= tmp351
+ tmp358
;
936 tmp379
= tmp351
- tmp358
;
937 tmp448
= tmp66
- tmp89
;
938 tmp449
= tmp442
- tmp437
;
939 tmp450
= tmp448
+ tmp449
;
940 tmp452
= tmp449
- tmp448
;
947 ASSERT_ALIGNED_DOUBLE();
948 tmp360
= tmp114
- tmp137
;
949 tmp367
= tmp363
- tmp366
;
950 tmp368
= tmp360
- tmp367
;
951 tmp381
= tmp360
+ tmp367
;
952 tmp369
= tmp161
- tmp184
;
953 tmp376
= tmp372
- tmp375
;
954 tmp377
= tmp369
+ tmp376
;
955 tmp380
= tmp376
- tmp369
;
962 ASSERT_ALIGNED_DOUBLE();
963 tmp378
= K707106781
* (tmp368
+ tmp377
);
964 c_re(inout
[20 * iostride
]) = tmp359
- tmp378
;
965 c_re(inout
[4 * iostride
]) = tmp359
+ tmp378
;
966 tmp451
= K707106781
* (tmp368
- tmp377
);
967 c_im(inout
[12 * iostride
]) = tmp451
+ tmp452
;
968 c_im(inout
[28 * iostride
]) = tmp452
- tmp451
;
969 tmp382
= K707106781
* (tmp380
- tmp381
);
970 c_re(inout
[28 * iostride
]) = tmp379
- tmp382
;
971 c_re(inout
[12 * iostride
]) = tmp379
+ tmp382
;
972 tmp447
= K707106781
* (tmp381
+ tmp380
);
973 c_im(inout
[4 * iostride
]) = tmp447
+ tmp450
;
974 c_im(inout
[20 * iostride
]) = tmp450
- tmp447
;
994 ASSERT_ALIGNED_DOUBLE();
1000 ASSERT_ALIGNED_DOUBLE();
1001 tmp391
= tmp387
- tmp390
;
1002 tmp419
= tmp387
+ tmp390
;
1003 tmp394
= tmp392
- tmp393
;
1004 tmp397
= tmp395
+ tmp396
;
1005 tmp398
= K707106781
* (tmp394
- tmp397
);
1006 tmp454
= K707106781
* (tmp397
+ tmp394
);
1012 ASSERT_ALIGNED_DOUBLE();
1013 tmp420
= tmp395
- tmp396
;
1014 tmp421
= tmp393
+ tmp392
;
1015 tmp422
= K707106781
* (tmp420
+ tmp421
);
1016 tmp462
= K707106781
* (tmp420
- tmp421
);
1017 tmp402
= tmp400
- tmp401
;
1018 tmp405
= tmp403
- tmp404
;
1019 tmp406
= (K382683432
* tmp402
) - (K923879532
* tmp405
);
1020 tmp417
= (K923879532
* tmp402
) + (K382683432
* tmp405
);
1022 tmp457
= tmp455
+ tmp456
;
1023 tmp463
= tmp456
- tmp455
;
1024 tmp424
= tmp400
+ tmp401
;
1025 tmp425
= tmp403
+ tmp404
;
1026 tmp426
= (K923879532
* tmp424
) - (K382683432
* tmp425
);
1027 tmp433
= (K382683432
* tmp424
) + (K923879532
* tmp425
);
1033 ASSERT_ALIGNED_DOUBLE();
1034 tmp409
= tmp407
- tmp408
;
1035 tmp412
= tmp410
- tmp411
;
1036 tmp413
= (K382683432
* tmp409
) + (K923879532
* tmp412
);
1037 tmp416
= (K382683432
* tmp412
) - (K923879532
* tmp409
);
1038 tmp427
= tmp407
+ tmp408
;
1039 tmp428
= tmp410
+ tmp411
;
1040 tmp429
= (K923879532
* tmp427
) + (K382683432
* tmp428
);
1041 tmp432
= (K923879532
* tmp428
) - (K382683432
* tmp427
);
1049 ASSERT_ALIGNED_DOUBLE();
1050 tmp399
= tmp391
- tmp398
;
1051 tmp414
= tmp406
- tmp413
;
1052 c_re(inout
[30 * iostride
]) = tmp399
- tmp414
;
1053 c_re(inout
[14 * iostride
]) = tmp399
+ tmp414
;
1054 tmp415
= tmp391
+ tmp398
;
1055 tmp418
= tmp416
+ tmp417
;
1056 c_re(inout
[22 * iostride
]) = tmp415
- tmp418
;
1057 c_re(inout
[6 * iostride
]) = tmp415
+ tmp418
;
1064 ASSERT_ALIGNED_DOUBLE();
1065 tmp465
= tmp416
- tmp417
;
1066 tmp466
= tmp463
- tmp462
;
1067 c_im(inout
[14 * iostride
]) = tmp465
+ tmp466
;
1068 c_im(inout
[30 * iostride
]) = tmp466
- tmp465
;
1069 tmp461
= tmp413
+ tmp406
;
1070 tmp464
= tmp462
+ tmp463
;
1071 c_im(inout
[6 * iostride
]) = tmp461
+ tmp464
;
1072 c_im(inout
[22 * iostride
]) = tmp464
- tmp461
;
1079 ASSERT_ALIGNED_DOUBLE();
1080 tmp423
= tmp419
- tmp422
;
1081 tmp430
= tmp426
- tmp429
;
1082 c_re(inout
[26 * iostride
]) = tmp423
- tmp430
;
1083 c_re(inout
[10 * iostride
]) = tmp423
+ tmp430
;
1084 tmp431
= tmp419
+ tmp422
;
1085 tmp434
= tmp432
+ tmp433
;
1086 c_re(inout
[18 * iostride
]) = tmp431
- tmp434
;
1087 c_re(inout
[2 * iostride
]) = tmp431
+ tmp434
;
1094 ASSERT_ALIGNED_DOUBLE();
1095 tmp459
= tmp432
- tmp433
;
1096 tmp460
= tmp457
- tmp454
;
1097 c_im(inout
[10 * iostride
]) = tmp459
+ tmp460
;
1098 c_im(inout
[26 * iostride
]) = tmp460
- tmp459
;
1099 tmp453
= tmp429
+ tmp426
;
1100 tmp458
= tmp454
+ tmp457
;
1101 c_im(inout
[2 * iostride
]) = tmp453
+ tmp458
;
1102 c_im(inout
[18 * iostride
]) = tmp458
- tmp453
;
1122 ASSERT_ALIGNED_DOUBLE();
1130 ASSERT_ALIGNED_DOUBLE();
1131 tmp306
= K707106781
* (tmp304
- tmp305
);
1132 tmp307
= tmp303
- tmp306
;
1133 tmp335
= tmp303
+ tmp306
;
1134 tmp336
= (K382683432
* tmp312
) - (K923879532
* tmp311
);
1135 tmp337
= (K923879532
* tmp308
) + (K382683432
* tmp309
);
1136 tmp338
= tmp336
+ tmp337
;
1137 tmp492
= tmp336
- tmp337
;
1138 tmp485
= K707106781
* (tmp196
- tmp201
);
1139 tmp487
= tmp485
+ tmp486
;
1140 tmp493
= tmp486
- tmp485
;
1141 tmp310
= (K382683432
* tmp308
) - (K923879532
* tmp309
);
1142 tmp313
= (K382683432
* tmp311
) + (K923879532
* tmp312
);
1143 tmp314
= tmp310
- tmp313
;
1144 tmp484
= tmp313
+ tmp310
;
1151 ASSERT_ALIGNED_DOUBLE();
1152 tmp318
= tmp316
- tmp317
;
1153 tmp321
= tmp319
- tmp320
;
1154 tmp322
= (K195090322
* tmp318
) - (K980785280
* tmp321
);
1155 tmp333
= (K980785280
* tmp318
) + (K195090322
* tmp321
);
1156 tmp340
= tmp316
+ tmp317
;
1157 tmp341
= tmp319
+ tmp320
;
1158 tmp342
= (K831469612
* tmp340
) - (K555570233
* tmp341
);
1159 tmp349
= (K555570233
* tmp340
) + (K831469612
* tmp341
);
1166 ASSERT_ALIGNED_DOUBLE();
1167 tmp325
= tmp323
- tmp324
;
1168 tmp328
= tmp326
- tmp327
;
1169 tmp329
= (K195090322
* tmp325
) + (K980785280
* tmp328
);
1170 tmp332
= (K195090322
* tmp328
) - (K980785280
* tmp325
);
1171 tmp343
= tmp323
+ tmp324
;
1172 tmp344
= tmp326
+ tmp327
;
1173 tmp345
= (K831469612
* tmp343
) + (K555570233
* tmp344
);
1174 tmp348
= (K831469612
* tmp344
) - (K555570233
* tmp343
);
1181 ASSERT_ALIGNED_DOUBLE();
1182 tmp315
= tmp307
- tmp314
;
1183 tmp330
= tmp322
- tmp329
;
1184 c_re(inout
[31 * iostride
]) = tmp315
- tmp330
;
1185 c_re(inout
[15 * iostride
]) = tmp315
+ tmp330
;
1186 tmp331
= tmp307
+ tmp314
;
1187 tmp334
= tmp332
+ tmp333
;
1188 c_re(inout
[23 * iostride
]) = tmp331
- tmp334
;
1189 c_re(inout
[7 * iostride
]) = tmp331
+ tmp334
;
1196 ASSERT_ALIGNED_DOUBLE();
1197 tmp495
= tmp332
- tmp333
;
1198 tmp496
= tmp493
- tmp492
;
1199 c_im(inout
[15 * iostride
]) = tmp495
+ tmp496
;
1200 c_im(inout
[31 * iostride
]) = tmp496
- tmp495
;
1201 tmp491
= tmp329
+ tmp322
;
1202 tmp494
= tmp492
+ tmp493
;
1203 c_im(inout
[7 * iostride
]) = tmp491
+ tmp494
;
1204 c_im(inout
[23 * iostride
]) = tmp494
- tmp491
;
1211 ASSERT_ALIGNED_DOUBLE();
1212 tmp339
= tmp335
- tmp338
;
1213 tmp346
= tmp342
- tmp345
;
1214 c_re(inout
[27 * iostride
]) = tmp339
- tmp346
;
1215 c_re(inout
[11 * iostride
]) = tmp339
+ tmp346
;
1216 tmp347
= tmp335
+ tmp338
;
1217 tmp350
= tmp348
+ tmp349
;
1218 c_re(inout
[19 * iostride
]) = tmp347
- tmp350
;
1219 c_re(inout
[3 * iostride
]) = tmp347
+ tmp350
;
1226 ASSERT_ALIGNED_DOUBLE();
1227 tmp489
= tmp348
- tmp349
;
1228 tmp490
= tmp487
- tmp484
;
1229 c_im(inout
[11 * iostride
]) = tmp489
+ tmp490
;
1230 c_im(inout
[27 * iostride
]) = tmp490
- tmp489
;
1231 tmp483
= tmp345
+ tmp342
;
1232 tmp488
= tmp484
+ tmp487
;
1233 c_im(inout
[3 * iostride
]) = tmp483
+ tmp488
;
1234 c_im(inout
[19 * iostride
]) = tmp488
- tmp483
;
1254 ASSERT_ALIGNED_DOUBLE();
1262 ASSERT_ALIGNED_DOUBLE();
1263 tmp202
= K707106781
* (tmp196
+ tmp201
);
1264 tmp203
= tmp191
- tmp202
;
1265 tmp287
= tmp191
+ tmp202
;
1266 tmp288
= (K923879532
* tmp224
) - (K382683432
* tmp219
);
1267 tmp289
= (K382683432
* tmp208
) + (K923879532
* tmp213
);
1268 tmp290
= tmp288
+ tmp289
;
1269 tmp478
= tmp288
- tmp289
;
1270 tmp469
= K707106781
* (tmp305
+ tmp304
);
1271 tmp473
= tmp469
+ tmp472
;
1272 tmp479
= tmp472
- tmp469
;
1273 tmp214
= (K923879532
* tmp208
) - (K382683432
* tmp213
);
1274 tmp225
= (K923879532
* tmp219
) + (K382683432
* tmp224
);
1275 tmp226
= tmp214
- tmp225
;
1276 tmp468
= tmp225
+ tmp214
;
1283 ASSERT_ALIGNED_DOUBLE();
1284 tmp244
= tmp232
- tmp243
;
1285 tmp253
= tmp249
- tmp252
;
1286 tmp254
= (K555570233
* tmp244
) - (K831469612
* tmp253
);
1287 tmp285
= (K831469612
* tmp244
) + (K555570233
* tmp253
);
1288 tmp292
= tmp232
+ tmp243
;
1289 tmp293
= tmp249
+ tmp252
;
1290 tmp294
= (K980785280
* tmp292
) - (K195090322
* tmp293
);
1291 tmp301
= (K195090322
* tmp292
) + (K980785280
* tmp293
);
1298 ASSERT_ALIGNED_DOUBLE();
1299 tmp271
= tmp259
- tmp270
;
1300 tmp280
= tmp276
- tmp279
;
1301 tmp281
= (K555570233
* tmp271
) + (K831469612
* tmp280
);
1302 tmp284
= (K555570233
* tmp280
) - (K831469612
* tmp271
);
1303 tmp295
= tmp259
+ tmp270
;
1304 tmp296
= tmp276
+ tmp279
;
1305 tmp297
= (K980785280
* tmp295
) + (K195090322
* tmp296
);
1306 tmp300
= (K980785280
* tmp296
) - (K195090322
* tmp295
);
1313 ASSERT_ALIGNED_DOUBLE();
1314 tmp227
= tmp203
+ tmp226
;
1315 tmp282
= tmp254
+ tmp281
;
1316 c_re(inout
[21 * iostride
]) = tmp227
- tmp282
;
1317 c_re(inout
[5 * iostride
]) = tmp227
+ tmp282
;
1318 tmp283
= tmp203
- tmp226
;
1319 tmp286
= tmp284
- tmp285
;
1320 c_re(inout
[29 * iostride
]) = tmp283
- tmp286
;
1321 c_re(inout
[13 * iostride
]) = tmp283
+ tmp286
;
1328 ASSERT_ALIGNED_DOUBLE();
1329 tmp477
= tmp285
+ tmp284
;
1330 tmp480
= tmp478
+ tmp479
;
1331 c_im(inout
[5 * iostride
]) = tmp477
+ tmp480
;
1332 c_im(inout
[21 * iostride
]) = tmp480
- tmp477
;
1333 tmp481
= tmp254
- tmp281
;
1334 tmp482
= tmp479
- tmp478
;
1335 c_im(inout
[13 * iostride
]) = tmp481
+ tmp482
;
1336 c_im(inout
[29 * iostride
]) = tmp482
- tmp481
;
1343 ASSERT_ALIGNED_DOUBLE();
1344 tmp291
= tmp287
+ tmp290
;
1345 tmp298
= tmp294
+ tmp297
;
1346 c_re(inout
[17 * iostride
]) = tmp291
- tmp298
;
1347 c_re(inout
[iostride
]) = tmp291
+ tmp298
;
1348 tmp299
= tmp287
- tmp290
;
1349 tmp302
= tmp300
- tmp301
;
1350 c_re(inout
[25 * iostride
]) = tmp299
- tmp302
;
1351 c_re(inout
[9 * iostride
]) = tmp299
+ tmp302
;
1358 ASSERT_ALIGNED_DOUBLE();
1359 tmp467
= tmp301
+ tmp300
;
1360 tmp474
= tmp468
+ tmp473
;
1361 c_im(inout
[iostride
]) = tmp467
+ tmp474
;
1362 c_im(inout
[17 * iostride
]) = tmp474
- tmp467
;
1363 tmp475
= tmp294
- tmp297
;
1364 tmp476
= tmp473
- tmp468
;
1365 c_im(inout
[9 * iostride
]) = tmp475
+ tmp476
;
1366 c_im(inout
[25 * iostride
]) = tmp476
- tmp475
;
1372 static const int twiddle_order
[] =
1373 {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};
1374 fftw_codelet_desc fftwi_twiddle_32_desc
=
1377 (void (*)()) fftwi_twiddle_32
,