21
21
/* This file was automatically generated --- DO NOT EDIT */
22
/* Generated on Sun Jul 12 06:43:45 EDT 2009 */
22
/* Generated on Wed Jul 27 06:16:33 EDT 2011 */
24
24
#include "codelet-rdft.h"
28
/* Generated by: ../../../genfft/gen_hc2hc -fma -reorder-insns -schedule-for-pipeline -compact -variables 4 -pipeline-latency 4 -n 3 -dit -name hf_3 -include hf.h */
28
/* Generated by: ../../../genfft/gen_hc2hc.native -fma -reorder-insns -schedule-for-pipeline -compact -variables 4 -pipeline-latency 4 -n 3 -dit -name hf_3 -include hf.h */
31
31
* This function contains 16 FP additions, 14 FP multiplications,
39
39
DK(KP866025403, +0.866025403784438646763723170752936183471402627);
40
40
DK(KP500000000, +0.500000000000000000000000000000000000000000000);
42
for (m = mb, W = W + ((mb - 1) * 4); m < me; m = m + 1, cr = cr + ms, ci = ci - ms, W = W + 4, MAKE_VOLATILE_STRIDE(rs)) {
43
E T1, Tl, T9, Tc, Tb, Th, T7, Ti, Ta, Tj, Td;
47
E T3, T6, T2, T5, Tg, T4, T8;
58
Th = FNMS(T5, T3, Tg);
63
Tj = FNMS(Tb, T9, Ti);
66
E Tk, Te, To, Tn, Tm, Tf;
71
ci[WS(rs, 2)] = Tm + Tl;
72
Tn = FNMS(KP500000000, Tm, Tl);
74
Tf = FNMS(KP500000000, Te, T1);
75
ci[WS(rs, 1)] = FMA(KP866025403, To, Tn);
76
cr[WS(rs, 2)] = FMS(KP866025403, To, Tn);
77
cr[WS(rs, 1)] = FMA(KP866025403, Tk, Tf);
78
ci[0] = FNMS(KP866025403, Tk, Tf);
43
for (m = mb, W = W + ((mb - 1) * 4); m < me; m = m + 1, cr = cr + ms, ci = ci - ms, W = W + 4, MAKE_VOLATILE_STRIDE(rs)) {
44
E T1, Tl, T9, Tc, Tb, Th, T7, Ti, Ta, Tj, Td;
48
E T3, T6, T2, T5, Tg, T4, T8;
59
Th = FNMS(T5, T3, Tg);
64
Tj = FNMS(Tb, T9, Ti);
67
E Tk, Te, To, Tn, Tm, Tf;
72
ci[WS(rs, 2)] = Tm + Tl;
73
Tn = FNMS(KP500000000, Tm, Tl);
75
Tf = FNMS(KP500000000, Te, T1);
76
ci[WS(rs, 1)] = FMA(KP866025403, To, Tn);
77
cr[WS(rs, 2)] = FMS(KP866025403, To, Tn);
78
cr[WS(rs, 1)] = FMA(KP866025403, Tk, Tf);
79
ci[0] = FNMS(KP866025403, Tk, Tf);
106
108
DK(KP866025403, +0.866025403784438646763723170752936183471402627);
107
109
DK(KP500000000, +0.500000000000000000000000000000000000000000000);
109
for (m = mb, W = W + ((mb - 1) * 4); m < me; m = m + 1, cr = cr + ms, ci = ci - ms, W = W + 4, MAKE_VOLATILE_STRIDE(rs)) {
110
E T1, Ti, T6, Te, Tb, Tf, Tc, Tj;
119
T6 = FMA(T2, T3, T4 * T5);
120
Te = FNMS(T4, T3, T2 * T5);
128
Tb = FMA(T7, T8, T9 * Ta);
129
Tf = FNMS(T9, T8, T7 * Ta);
136
Td = FNMS(KP500000000, Tc, T1);
137
Tg = KP866025403 * (Te - Tf);
139
cr[WS(rs, 1)] = Td + Tg;
140
ci[WS(rs, 2)] = Tj + Ti;
141
Th = KP866025403 * (Tb - T6);
142
Tk = FNMS(KP500000000, Tj, Ti);
143
cr[WS(rs, 2)] = Th - Tk;
144
ci[WS(rs, 1)] = Th + Tk;
112
for (m = mb, W = W + ((mb - 1) * 4); m < me; m = m + 1, cr = cr + ms, ci = ci - ms, W = W + 4, MAKE_VOLATILE_STRIDE(rs)) {
113
E T1, Ti, T6, Te, Tb, Tf, Tc, Tj;
122
T6 = FMA(T2, T3, T4 * T5);
123
Te = FNMS(T4, T3, T2 * T5);
131
Tb = FMA(T7, T8, T9 * Ta);
132
Tf = FNMS(T9, T8, T7 * Ta);
139
Td = FNMS(KP500000000, Tc, T1);
140
Tg = KP866025403 * (Te - Tf);
142
cr[WS(rs, 1)] = Td + Tg;
143
ci[WS(rs, 2)] = Tj + Ti;
144
Th = KP866025403 * (Tb - T6);
145
Tk = FNMS(KP500000000, Tj, Ti);
146
cr[WS(rs, 2)] = Th - Tk;
147
ci[WS(rs, 1)] = Th + Tk;