21
21
/* This file was automatically generated --- DO NOT EDIT */
22
/* Generated on Sat Jul 5 22:11:55 EDT 2003 */
22
/* Generated on Tue Mar 7 11:54:43 EST 2006 */
24
24
#include "codelet-rdft.h"
26
/* Generated by: /homee/stevenj/cvs/fftw3.0.1/genfft/gen_hc2r -compact -variables 4 -sign 1 -n 5 -name hc2rIII_5 -dft-III -include hc2rIII.h */
28
/* Generated by: ../../../genfft/gen_hc2r -fma -reorder-insns -schedule-for-pipeline -compact -variables 4 -pipeline-latency 4 -sign 1 -n 5 -name hc2rIII_5 -dft-III -include hc2rIII.h */
31
* This function contains 12 FP additions, 10 FP multiplications,
32
* (or, 2 additions, 0 multiplications, 10 fused multiply/add),
33
* 18 stack variables, and 10 memory accesses
37
* $Id: algsimp.ml,v 1.9 2006-02-12 23:34:12 athena Exp $
38
* $Id: fft.ml,v 1.4 2006-01-05 03:04:27 stevenj Exp $
39
* $Id: gen_hc2r.ml,v 1.19 2006-02-12 23:34:12 athena Exp $
44
static void hc2rIII_5(const R *ri, const R *ii, R *O, stride ris, stride iis, stride os, INT v, INT ivs, INT ovs)
46
DK(KP1_902113032, +1.902113032590307144232878666758764286811397268);
47
DK(KP1_118033988, +1.118033988749894848204586834365638117720309180);
48
DK(KP500000000, +0.500000000000000000000000000000000000000000000);
49
DK(KP2_000000000, +2.000000000000000000000000000000000000000000000);
50
DK(KP618033988, +0.618033988749894848204586834365638117720309180);
52
for (i = v; i > 0; i = i - 1, ri = ri + ivs, ii = ii + ivs, O = O + ovs, MAKE_VOLATILE_STRIDE(ris), MAKE_VOLATILE_STRIDE(iis), MAKE_VOLATILE_STRIDE(os)) {
53
E T1, T2, T3, Tc, Ta, T8, T9;
59
Tc = FMS(KP618033988, T8, T9);
60
Ta = FMA(KP618033988, T9, T8);
65
O[0] = FMA(KP2_000000000, T4, T1);
66
T5 = FNMS(KP500000000, T4, T1);
67
T7 = FNMS(KP1_118033988, T6, T5);
68
Tb = FMA(KP1_118033988, T6, T5);
69
O[WS(os, 4)] = FNMS(KP1_902113032, Ta, T7);
70
O[WS(os, 1)] = -(FMA(KP1_902113032, Ta, T7));
71
O[WS(os, 3)] = FMS(KP1_902113032, Tc, Tb);
72
O[WS(os, 2)] = FMA(KP1_902113032, Tc, Tb);
77
static const khc2r_desc desc = { 5, "hc2rIII_5", {2, 0, 10, 0}, &GENUS, 0, 0, 0, 0, 0 };
79
void X(codelet_hc2rIII_5) (planner *p) {
80
X(khc2rIII_register) (p, hc2rIII_5, &desc);
85
/* Generated by: ../../../genfft/gen_hc2r -compact -variables 4 -pipeline-latency 4 -sign 1 -n 5 -name hc2rIII_5 -dft-III -include hc2rIII.h */
29
88
* This function contains 12 FP additions, 7 FP multiplications,
35
* $Id: algsimp.ml,v 1.7 2003/03/15 20:29:42 stevenj Exp $
36
* $Id: fft.ml,v 1.2 2003/03/15 20:29:42 stevenj Exp $
37
* $Id: gen_hc2r.ml,v 1.14 2003/04/17 19:25:50 athena Exp $
94
* $Id: algsimp.ml,v 1.9 2006-02-12 23:34:12 athena Exp $
95
* $Id: fft.ml,v 1.4 2006-01-05 03:04:27 stevenj Exp $
96
* $Id: gen_hc2r.ml,v 1.19 2006-02-12 23:34:12 athena Exp $
40
99
#include "hc2rIII.h"
42
static void hc2rIII_5(const R *ri, const R *ii, R *O, stride ris, stride iis, stride os, int v, int ivs, int ovs)
101
static void hc2rIII_5(const R *ri, const R *ii, R *O, stride ris, stride iis, stride os, INT v, INT ivs, INT ovs)
44
103
DK(KP2_000000000, +2.000000000000000000000000000000000000000000000);
45
104
DK(KP1_118033988, +1.118033988749894848204586834365638117720309180);
46
105
DK(KP500000000, +0.500000000000000000000000000000000000000000000);
47
106
DK(KP1_175570504, +1.175570504584946258337411909278145537195304875);
48
107
DK(KP1_902113032, +1.902113032590307144232878666758764286811397268);
50
for (i = v; i > 0; i = i - 1, ri = ri + ivs, ii = ii + ivs, O = O + ovs) {
109
for (i = v; i > 0; i = i - 1, ri = ri + ivs, ii = ii + ivs, O = O + ovs, MAKE_VOLATILE_STRIDE(ris), MAKE_VOLATILE_STRIDE(iis), MAKE_VOLATILE_STRIDE(os)) {
51
110
E Ta, Tc, T1, T4, T5, T6, Tb, T7;