changed reading hint
[gromacs/adressmacs.git] / src / fftw / fn_12.c
blob31e884b5596f54c9495e5cf28135d08db5768212
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:28 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 12 */
29 * This function contains 96 FP additions, 16 FP multiplications,
30 * (or, 88 additions, 8 multiplications, 8 fused multiply/add),
31 * 40 stack variables, and 48 memory accesses
33 static const fftw_real K866025403 = FFTW_KONST(+0.866025403784438646763723170752936183471402627);
34 static const fftw_real K500000000 = FFTW_KONST(+0.500000000000000000000000000000000000000000000);
37 * Generator Id's :
38 * $Id$
39 * $Id$
40 * $Id$
43 void fftw_no_twiddle_12(const fftw_complex *input, fftw_complex *output, int istride, int ostride)
45 fftw_real tmp5;
46 fftw_real tmp53;
47 fftw_real tmp36;
48 fftw_real tmp28;
49 fftw_real tmp35;
50 fftw_real tmp54;
51 fftw_real tmp10;
52 fftw_real tmp56;
53 fftw_real tmp39;
54 fftw_real tmp33;
55 fftw_real tmp38;
56 fftw_real tmp57;
57 fftw_real tmp16;
58 fftw_real tmp42;
59 fftw_real tmp72;
60 fftw_real tmp45;
61 fftw_real tmp92;
62 fftw_real tmp75;
63 fftw_real tmp21;
64 fftw_real tmp47;
65 fftw_real tmp77;
66 fftw_real tmp50;
67 fftw_real tmp93;
68 fftw_real tmp80;
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[4 * istride]);
78 tmp3 = c_re(input[8 * istride]);
79 tmp4 = tmp2 + tmp3;
80 tmp5 = tmp1 + tmp4;
81 tmp53 = tmp1 - (K500000000 * tmp4);
82 tmp36 = K866025403 * (tmp3 - tmp2);
85 fftw_real tmp24;
86 fftw_real tmp25;
87 fftw_real tmp26;
88 fftw_real tmp27;
89 ASSERT_ALIGNED_DOUBLE();
90 tmp24 = c_im(input[0]);
91 tmp25 = c_im(input[4 * istride]);
92 tmp26 = c_im(input[8 * istride]);
93 tmp27 = tmp25 + tmp26;
94 tmp28 = tmp24 + tmp27;
95 tmp35 = tmp24 - (K500000000 * tmp27);
96 tmp54 = K866025403 * (tmp25 - tmp26);
99 fftw_real tmp6;
100 fftw_real tmp7;
101 fftw_real tmp8;
102 fftw_real tmp9;
103 ASSERT_ALIGNED_DOUBLE();
104 tmp6 = c_re(input[6 * istride]);
105 tmp7 = c_re(input[10 * istride]);
106 tmp8 = c_re(input[2 * istride]);
107 tmp9 = tmp7 + tmp8;
108 tmp10 = tmp6 + tmp9;
109 tmp56 = tmp6 - (K500000000 * tmp9);
110 tmp39 = K866025403 * (tmp8 - tmp7);
113 fftw_real tmp29;
114 fftw_real tmp30;
115 fftw_real tmp31;
116 fftw_real tmp32;
117 ASSERT_ALIGNED_DOUBLE();
118 tmp29 = c_im(input[6 * istride]);
119 tmp30 = c_im(input[10 * istride]);
120 tmp31 = c_im(input[2 * istride]);
121 tmp32 = tmp30 + tmp31;
122 tmp33 = tmp29 + tmp32;
123 tmp38 = tmp29 - (K500000000 * tmp32);
124 tmp57 = K866025403 * (tmp30 - tmp31);
127 fftw_real tmp12;
128 fftw_real tmp13;
129 fftw_real tmp14;
130 fftw_real tmp15;
131 ASSERT_ALIGNED_DOUBLE();
132 tmp12 = c_re(input[3 * istride]);
133 tmp13 = c_re(input[7 * istride]);
134 tmp14 = c_re(input[11 * istride]);
135 tmp15 = tmp13 + tmp14;
136 tmp16 = tmp12 + tmp15;
137 tmp42 = tmp12 - (K500000000 * tmp15);
138 tmp72 = K866025403 * (tmp14 - tmp13);
141 fftw_real tmp73;
142 fftw_real tmp43;
143 fftw_real tmp44;
144 fftw_real tmp74;
145 ASSERT_ALIGNED_DOUBLE();
146 tmp73 = c_im(input[3 * istride]);
147 tmp43 = c_im(input[7 * istride]);
148 tmp44 = c_im(input[11 * istride]);
149 tmp74 = tmp43 + tmp44;
150 tmp45 = K866025403 * (tmp43 - tmp44);
151 tmp92 = tmp73 + tmp74;
152 tmp75 = tmp73 - (K500000000 * tmp74);
155 fftw_real tmp17;
156 fftw_real tmp18;
157 fftw_real tmp19;
158 fftw_real tmp20;
159 ASSERT_ALIGNED_DOUBLE();
160 tmp17 = c_re(input[9 * istride]);
161 tmp18 = c_re(input[istride]);
162 tmp19 = c_re(input[5 * istride]);
163 tmp20 = tmp18 + tmp19;
164 tmp21 = tmp17 + tmp20;
165 tmp47 = tmp17 - (K500000000 * tmp20);
166 tmp77 = K866025403 * (tmp19 - tmp18);
169 fftw_real tmp78;
170 fftw_real tmp48;
171 fftw_real tmp49;
172 fftw_real tmp79;
173 ASSERT_ALIGNED_DOUBLE();
174 tmp78 = c_im(input[9 * istride]);
175 tmp48 = c_im(input[istride]);
176 tmp49 = c_im(input[5 * istride]);
177 tmp79 = tmp48 + tmp49;
178 tmp50 = K866025403 * (tmp48 - tmp49);
179 tmp93 = tmp78 + tmp79;
180 tmp80 = tmp78 - (K500000000 * tmp79);
183 fftw_real tmp11;
184 fftw_real tmp22;
185 fftw_real tmp23;
186 fftw_real tmp34;
187 ASSERT_ALIGNED_DOUBLE();
188 tmp11 = tmp5 + tmp10;
189 tmp22 = tmp16 + tmp21;
190 c_re(output[6 * ostride]) = tmp11 - tmp22;
191 c_re(output[0]) = tmp11 + tmp22;
193 fftw_real tmp91;
194 fftw_real tmp94;
195 fftw_real tmp95;
196 fftw_real tmp96;
197 ASSERT_ALIGNED_DOUBLE();
198 tmp91 = tmp5 - tmp10;
199 tmp94 = tmp92 - tmp93;
200 c_re(output[3 * ostride]) = tmp91 - tmp94;
201 c_re(output[9 * ostride]) = tmp91 + tmp94;
202 tmp95 = tmp28 + tmp33;
203 tmp96 = tmp92 + tmp93;
204 c_im(output[6 * ostride]) = tmp95 - tmp96;
205 c_im(output[0]) = tmp95 + tmp96;
207 tmp23 = tmp16 - tmp21;
208 tmp34 = tmp28 - tmp33;
209 c_im(output[3 * ostride]) = tmp23 + tmp34;
210 c_im(output[9 * ostride]) = tmp34 - tmp23;
212 fftw_real tmp63;
213 fftw_real tmp83;
214 fftw_real tmp82;
215 fftw_real tmp84;
216 fftw_real tmp66;
217 fftw_real tmp70;
218 fftw_real tmp69;
219 fftw_real tmp71;
220 ASSERT_ALIGNED_DOUBLE();
222 fftw_real tmp61;
223 fftw_real tmp62;
224 fftw_real tmp76;
225 fftw_real tmp81;
226 ASSERT_ALIGNED_DOUBLE();
227 tmp61 = tmp36 + tmp35;
228 tmp62 = tmp39 + tmp38;
229 tmp63 = tmp61 - tmp62;
230 tmp83 = tmp61 + tmp62;
231 tmp76 = tmp72 + tmp75;
232 tmp81 = tmp77 + tmp80;
233 tmp82 = tmp76 - tmp81;
234 tmp84 = tmp76 + tmp81;
237 fftw_real tmp64;
238 fftw_real tmp65;
239 fftw_real tmp67;
240 fftw_real tmp68;
241 ASSERT_ALIGNED_DOUBLE();
242 tmp64 = tmp42 + tmp45;
243 tmp65 = tmp47 + tmp50;
244 tmp66 = tmp64 - tmp65;
245 tmp70 = tmp64 + tmp65;
246 tmp67 = tmp53 + tmp54;
247 tmp68 = tmp56 + tmp57;
248 tmp69 = tmp67 + tmp68;
249 tmp71 = tmp67 - tmp68;
251 c_im(output[ostride]) = tmp63 - tmp66;
252 c_im(output[7 * ostride]) = tmp63 + tmp66;
253 c_re(output[10 * ostride]) = tmp69 - tmp70;
254 c_re(output[4 * ostride]) = tmp69 + tmp70;
255 c_re(output[7 * ostride]) = tmp71 - tmp82;
256 c_re(output[ostride]) = tmp71 + tmp82;
257 c_im(output[10 * ostride]) = tmp83 - tmp84;
258 c_im(output[4 * ostride]) = tmp83 + tmp84;
261 fftw_real tmp41;
262 fftw_real tmp89;
263 fftw_real tmp88;
264 fftw_real tmp90;
265 fftw_real tmp52;
266 fftw_real tmp60;
267 fftw_real tmp59;
268 fftw_real tmp85;
269 ASSERT_ALIGNED_DOUBLE();
271 fftw_real tmp37;
272 fftw_real tmp40;
273 fftw_real tmp86;
274 fftw_real tmp87;
275 ASSERT_ALIGNED_DOUBLE();
276 tmp37 = tmp35 - tmp36;
277 tmp40 = tmp38 - tmp39;
278 tmp41 = tmp37 - tmp40;
279 tmp89 = tmp37 + tmp40;
280 tmp86 = tmp75 - tmp72;
281 tmp87 = tmp80 - tmp77;
282 tmp88 = tmp86 - tmp87;
283 tmp90 = tmp86 + tmp87;
286 fftw_real tmp46;
287 fftw_real tmp51;
288 fftw_real tmp55;
289 fftw_real tmp58;
290 ASSERT_ALIGNED_DOUBLE();
291 tmp46 = tmp42 - tmp45;
292 tmp51 = tmp47 - tmp50;
293 tmp52 = tmp46 - tmp51;
294 tmp60 = tmp46 + tmp51;
295 tmp55 = tmp53 - tmp54;
296 tmp58 = tmp56 - tmp57;
297 tmp59 = tmp55 + tmp58;
298 tmp85 = tmp55 - tmp58;
300 c_im(output[5 * ostride]) = tmp41 - tmp52;
301 c_im(output[11 * ostride]) = tmp41 + tmp52;
302 c_re(output[2 * ostride]) = tmp59 - tmp60;
303 c_re(output[8 * ostride]) = tmp59 + tmp60;
304 c_re(output[11 * ostride]) = tmp85 - tmp88;
305 c_re(output[5 * ostride]) = tmp85 + tmp88;
306 c_im(output[2 * ostride]) = tmp89 - tmp90;
307 c_im(output[8 * ostride]) = tmp89 + tmp90;
312 fftw_codelet_desc fftw_no_twiddle_12_desc =
314 "fftw_no_twiddle_12",
315 (void (*)()) fftw_no_twiddle_12,
317 FFTW_FORWARD,
318 FFTW_NOTW,
319 265,
321 (const int *) 0,