changed reading hint
[gromacs/adressmacs.git] / src / fftw / fn_9.c
blob317441716efc45ae6534e2ccb39b4d96ad96a4e2
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:54:27 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 -notwiddle 9 */
29 * This function contains 80 FP additions, 40 FP multiplications,
30 * (or, 60 additions, 20 multiplications, 20 fused multiply/add),
31 * 30 stack variables, and 36 memory accesses
33 static const fftw_real K939692620 = FFTW_KONST(+0.939692620785908384054109277324731469936208134);
34 static const fftw_real K342020143 = FFTW_KONST(+0.342020143325668733044099614682259580763083368);
35 static const fftw_real K984807753 = FFTW_KONST(+0.984807753012208059366743024589523013670643252);
36 static const fftw_real K173648177 = FFTW_KONST(+0.173648177666930348851716626769314796000375677);
37 static const fftw_real K642787609 = FFTW_KONST(+0.642787609686539326322643409907263432907559884);
38 static const fftw_real K766044443 = FFTW_KONST(+0.766044443118978035202392650555416673935832457);
39 static const fftw_real K866025403 = FFTW_KONST(+0.866025403784438646763723170752936183471402627);
40 static const fftw_real K500000000 = FFTW_KONST(+0.500000000000000000000000000000000000000000000);
43 * Generator Id's :
44 * $Id$
45 * $Id$
46 * $Id$
49 void fftw_no_twiddle_9(const fftw_complex *input, fftw_complex *output, int istride, int ostride)
51 fftw_real tmp5;
52 fftw_real tmp17;
53 fftw_real tmp50;
54 fftw_real tmp20;
55 fftw_real tmp78;
56 fftw_real tmp53;
57 fftw_real tmp10;
58 fftw_real tmp26;
59 fftw_real tmp58;
60 fftw_real tmp74;
61 fftw_real tmp31;
62 fftw_real tmp59;
63 fftw_real tmp15;
64 fftw_real tmp37;
65 fftw_real tmp62;
66 fftw_real tmp75;
67 fftw_real tmp42;
68 fftw_real tmp61;
69 ASSERT_ALIGNED_DOUBLE();
71 fftw_real tmp1;
72 fftw_real tmp2;
73 fftw_real tmp3;
74 fftw_real tmp4;
75 ASSERT_ALIGNED_DOUBLE();
76 tmp1 = c_re(input[0]);
77 tmp2 = c_re(input[3 * istride]);
78 tmp3 = c_re(input[6 * istride]);
79 tmp4 = tmp2 + tmp3;
80 tmp5 = tmp1 + tmp4;
81 tmp17 = tmp1 - (K500000000 * tmp4);
82 tmp50 = K866025403 * (tmp3 - tmp2);
85 fftw_real tmp51;
86 fftw_real tmp18;
87 fftw_real tmp19;
88 fftw_real tmp52;
89 ASSERT_ALIGNED_DOUBLE();
90 tmp51 = c_im(input[0]);
91 tmp18 = c_im(input[3 * istride]);
92 tmp19 = c_im(input[6 * istride]);
93 tmp52 = tmp18 + tmp19;
94 tmp20 = K866025403 * (tmp18 - tmp19);
95 tmp78 = tmp51 + tmp52;
96 tmp53 = tmp51 - (K500000000 * tmp52);
99 fftw_real tmp6;
100 fftw_real tmp28;
101 fftw_real tmp9;
102 fftw_real tmp27;
103 fftw_real tmp25;
104 fftw_real tmp29;
105 fftw_real tmp22;
106 fftw_real tmp30;
107 ASSERT_ALIGNED_DOUBLE();
108 tmp6 = c_re(input[istride]);
109 tmp28 = c_im(input[istride]);
111 fftw_real tmp7;
112 fftw_real tmp8;
113 fftw_real tmp23;
114 fftw_real tmp24;
115 ASSERT_ALIGNED_DOUBLE();
116 tmp7 = c_re(input[4 * istride]);
117 tmp8 = c_re(input[7 * istride]);
118 tmp9 = tmp7 + tmp8;
119 tmp27 = K866025403 * (tmp8 - tmp7);
120 tmp23 = c_im(input[4 * istride]);
121 tmp24 = c_im(input[7 * istride]);
122 tmp25 = K866025403 * (tmp23 - tmp24);
123 tmp29 = tmp23 + tmp24;
125 tmp10 = tmp6 + tmp9;
126 tmp22 = tmp6 - (K500000000 * tmp9);
127 tmp26 = tmp22 + tmp25;
128 tmp58 = tmp22 - tmp25;
129 tmp74 = tmp28 + tmp29;
130 tmp30 = tmp28 - (K500000000 * tmp29);
131 tmp31 = tmp27 + tmp30;
132 tmp59 = tmp30 - tmp27;
135 fftw_real tmp11;
136 fftw_real tmp39;
137 fftw_real tmp14;
138 fftw_real tmp38;
139 fftw_real tmp36;
140 fftw_real tmp40;
141 fftw_real tmp33;
142 fftw_real tmp41;
143 ASSERT_ALIGNED_DOUBLE();
144 tmp11 = c_re(input[2 * istride]);
145 tmp39 = c_im(input[2 * istride]);
147 fftw_real tmp12;
148 fftw_real tmp13;
149 fftw_real tmp34;
150 fftw_real tmp35;
151 ASSERT_ALIGNED_DOUBLE();
152 tmp12 = c_re(input[5 * istride]);
153 tmp13 = c_re(input[8 * istride]);
154 tmp14 = tmp12 + tmp13;
155 tmp38 = K866025403 * (tmp13 - tmp12);
156 tmp34 = c_im(input[5 * istride]);
157 tmp35 = c_im(input[8 * istride]);
158 tmp36 = K866025403 * (tmp34 - tmp35);
159 tmp40 = tmp34 + tmp35;
161 tmp15 = tmp11 + tmp14;
162 tmp33 = tmp11 - (K500000000 * tmp14);
163 tmp37 = tmp33 + tmp36;
164 tmp62 = tmp33 - tmp36;
165 tmp75 = tmp39 + tmp40;
166 tmp41 = tmp39 - (K500000000 * tmp40);
167 tmp42 = tmp38 + tmp41;
168 tmp61 = tmp41 - tmp38;
171 fftw_real tmp76;
172 fftw_real tmp16;
173 fftw_real tmp73;
174 fftw_real tmp77;
175 fftw_real tmp79;
176 fftw_real tmp80;
177 ASSERT_ALIGNED_DOUBLE();
178 tmp76 = K866025403 * (tmp74 - tmp75);
179 tmp16 = tmp10 + tmp15;
180 tmp73 = tmp5 - (K500000000 * tmp16);
181 c_re(output[0]) = tmp5 + tmp16;
182 c_re(output[3 * ostride]) = tmp73 + tmp76;
183 c_re(output[6 * ostride]) = tmp73 - tmp76;
184 tmp77 = K866025403 * (tmp15 - tmp10);
185 tmp79 = tmp74 + tmp75;
186 tmp80 = tmp78 - (K500000000 * tmp79);
187 c_im(output[3 * ostride]) = tmp77 + tmp80;
188 c_im(output[6 * ostride]) = tmp80 - tmp77;
189 c_im(output[0]) = tmp78 + tmp79;
192 fftw_real tmp21;
193 fftw_real tmp54;
194 fftw_real tmp44;
195 fftw_real tmp49;
196 fftw_real tmp48;
197 fftw_real tmp55;
198 fftw_real tmp45;
199 fftw_real tmp56;
200 ASSERT_ALIGNED_DOUBLE();
201 tmp21 = tmp17 + tmp20;
202 tmp54 = tmp50 + tmp53;
204 fftw_real tmp32;
205 fftw_real tmp43;
206 fftw_real tmp46;
207 fftw_real tmp47;
208 ASSERT_ALIGNED_DOUBLE();
209 tmp32 = (K766044443 * tmp26) + (K642787609 * tmp31);
210 tmp43 = (K173648177 * tmp37) + (K984807753 * tmp42);
211 tmp44 = tmp32 + tmp43;
212 tmp49 = K866025403 * (tmp43 - tmp32);
213 tmp46 = (K766044443 * tmp31) - (K642787609 * tmp26);
214 tmp47 = (K173648177 * tmp42) - (K984807753 * tmp37);
215 tmp48 = K866025403 * (tmp46 - tmp47);
216 tmp55 = tmp46 + tmp47;
218 c_re(output[ostride]) = tmp21 + tmp44;
219 tmp45 = tmp21 - (K500000000 * tmp44);
220 c_re(output[7 * ostride]) = tmp45 - tmp48;
221 c_re(output[4 * ostride]) = tmp45 + tmp48;
222 c_im(output[ostride]) = tmp54 + tmp55;
223 tmp56 = tmp54 - (K500000000 * tmp55);
224 c_im(output[4 * ostride]) = tmp49 + tmp56;
225 c_im(output[7 * ostride]) = tmp56 - tmp49;
228 fftw_real tmp57;
229 fftw_real tmp69;
230 fftw_real tmp72;
231 fftw_real tmp66;
232 fftw_real tmp64;
233 fftw_real tmp65;
234 fftw_real tmp71;
235 fftw_real tmp70;
236 ASSERT_ALIGNED_DOUBLE();
238 fftw_real tmp67;
239 fftw_real tmp68;
240 fftw_real tmp60;
241 fftw_real tmp63;
242 ASSERT_ALIGNED_DOUBLE();
243 tmp57 = tmp17 - tmp20;
244 tmp67 = (K173648177 * tmp59) - (K984807753 * tmp58);
245 tmp68 = (K342020143 * tmp62) + (K939692620 * tmp61);
246 tmp69 = tmp67 - tmp68;
247 tmp72 = K866025403 * (tmp67 + tmp68);
248 tmp66 = tmp53 - tmp50;
249 tmp60 = (K173648177 * tmp58) + (K984807753 * tmp59);
250 tmp63 = (K342020143 * tmp61) - (K939692620 * tmp62);
251 tmp64 = tmp60 + tmp63;
252 tmp65 = K866025403 * (tmp63 - tmp60);
254 c_re(output[2 * ostride]) = tmp57 + tmp64;
255 tmp71 = tmp57 - (K500000000 * tmp64);
256 c_re(output[8 * ostride]) = tmp71 - tmp72;
257 c_re(output[5 * ostride]) = tmp71 + tmp72;
258 c_im(output[2 * ostride]) = tmp66 + tmp69;
259 tmp70 = tmp66 - (K500000000 * tmp69);
260 c_im(output[5 * ostride]) = tmp65 + tmp70;
261 c_im(output[8 * ostride]) = tmp70 - tmp65;
265 fftw_codelet_desc fftw_no_twiddle_9_desc =
267 "fftw_no_twiddle_9",
268 (void (*)()) fftw_no_twiddle_9,
270 FFTW_FORWARD,
271 FFTW_NOTW,
272 199,
274 (const int *) 0,