Subversion Repositories shark

Rev

Rev 107 | Blame | Compare with Previous | Last modification | View Log | RSS feed

/*
 * Copyright (c) 1997-1999 Massachusetts Institute of Technology
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 */


/* This file was automatically generated --- DO NOT EDIT */
/* Generated on Tue May 18 13:55:24 EDT 1999 */

#include <fftw-int.h>
#include <fftw.h>

/* Generated by: ./genfft -magic-alignment-check -magic-twiddle-load-all -magic-variables 4 -magic-loopi -twiddle 32 */

/*
 * This function contains 434 FP additions, 208 FP multiplications,
 * (or, 340 additions, 114 multiplications, 94 fused multiply/add),
 * 90 stack variables, and 128 memory accesses
 */

static const fftw_real K195090322 = FFTW_KONST(+0.195090322016128267848284868477022240927691618);
static const fftw_real K980785280 = FFTW_KONST(+0.980785280403230449126182236134239036973933731);
static const fftw_real K831469612 = FFTW_KONST(+0.831469612302545237078788377617905756738560812);
static const fftw_real K555570233 = FFTW_KONST(+0.555570233019602224742830813948532874374937191);
static const fftw_real K382683432 = FFTW_KONST(+0.382683432365089771728459984030398866761344562);
static const fftw_real K923879532 = FFTW_KONST(+0.923879532511286756128183189396788286822416626);
static const fftw_real K707106781 = FFTW_KONST(+0.707106781186547524400844362104849039284835938);

/*
 * Generator Id's :
 * $Id: ftw_32.c,v 1.2 2003-03-24 11:14:52 pj Exp $
 * $Id: ftw_32.c,v 1.2 2003-03-24 11:14:52 pj Exp $
 * $Id: ftw_32.c,v 1.2 2003-03-24 11:14:52 pj Exp $
 */


void fftw_twiddle_32(fftw_complex *A, const fftw_complex *W, int iostride, int m, int dist)
{
     int i;
     fftw_complex *inout;
     inout = A;
     for (i = m; i > 0; i = i - 1, inout = inout + dist, W = W + 31) {
          fftw_real tmp19;
          fftw_real tmp351;
          fftw_real tmp472;
          fftw_real tmp486;
          fftw_real tmp442;
          fftw_real tmp456;
          fftw_real tmp191;
          fftw_real tmp303;
          fftw_real tmp161;
          fftw_real tmp379;
          fftw_real tmp276;
          fftw_real tmp326;
          fftw_real tmp386;
          fftw_real tmp422;
          fftw_real tmp259;
          fftw_real tmp323;
          fftw_real tmp42;
          fftw_real tmp455;
          fftw_real tmp201;
          fftw_real tmp305;
          fftw_real tmp354;
          fftw_real tmp437;
          fftw_real tmp196;
          fftw_real tmp304;
          fftw_real tmp184;
          fftw_real tmp387;
          fftw_real tmp382;
          fftw_real tmp423;
          fftw_real tmp270;
          fftw_real tmp327;
          fftw_real tmp279;
          fftw_real tmp324;
          fftw_real tmp66;
          fftw_real tmp359;
          fftw_real tmp213;
          fftw_real tmp309;
          fftw_real tmp358;
          fftw_real tmp412;
          fftw_real tmp208;
          fftw_real tmp308;
          fftw_real tmp114;
          fftw_real tmp373;
          fftw_real tmp249;
          fftw_real tmp316;
          fftw_real tmp370;
          fftw_real tmp417;
          fftw_real tmp232;
          fftw_real tmp319;
          fftw_real tmp89;
          fftw_real tmp361;
          fftw_real tmp224;
          fftw_real tmp312;
          fftw_real tmp364;
          fftw_real tmp413;
          fftw_real tmp219;
          fftw_real tmp311;
          fftw_real tmp137;
          fftw_real tmp371;
          fftw_real tmp376;
          fftw_real tmp418;
          fftw_real tmp243;
          fftw_real tmp317;
          fftw_real tmp252;
          fftw_real tmp320;
          ASSERT_ALIGNED_DOUBLE();
          {
               fftw_real tmp1;
               fftw_real tmp440;
               fftw_real tmp6;
               fftw_real tmp439;
               fftw_real tmp12;
               fftw_real tmp188;
               fftw_real tmp17;
               fftw_real tmp189;
               ASSERT_ALIGNED_DOUBLE();
               tmp1 = c_re(inout[0]);
               tmp440 = c_im(inout[0]);
               {
                    fftw_real tmp3;
                    fftw_real tmp5;
                    fftw_real tmp2;
                    fftw_real tmp4;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp3 = c_re(inout[16 * iostride]);
                    tmp5 = c_im(inout[16 * iostride]);
                    tmp2 = c_re(W[15]);
                    tmp4 = c_im(W[15]);
                    tmp6 = (tmp2 * tmp3) - (tmp4 * tmp5);
                    tmp439 = (tmp4 * tmp3) + (tmp2 * tmp5);
               }
               {
                    fftw_real tmp9;
                    fftw_real tmp11;
                    fftw_real tmp8;
                    fftw_real tmp10;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp9 = c_re(inout[8 * iostride]);
                    tmp11 = c_im(inout[8 * iostride]);
                    tmp8 = c_re(W[7]);
                    tmp10 = c_im(W[7]);
                    tmp12 = (tmp8 * tmp9) - (tmp10 * tmp11);
                    tmp188 = (tmp10 * tmp9) + (tmp8 * tmp11);
               }
               {
                    fftw_real tmp14;
                    fftw_real tmp16;
                    fftw_real tmp13;
                    fftw_real tmp15;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp14 = c_re(inout[24 * iostride]);
                    tmp16 = c_im(inout[24 * iostride]);
                    tmp13 = c_re(W[23]);
                    tmp15 = c_im(W[23]);
                    tmp17 = (tmp13 * tmp14) - (tmp15 * tmp16);
                    tmp189 = (tmp15 * tmp14) + (tmp13 * tmp16);
               }
               {
                    fftw_real tmp7;
                    fftw_real tmp18;
                    fftw_real tmp470;
                    fftw_real tmp471;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp7 = tmp1 + tmp6;
                    tmp18 = tmp12 + tmp17;
                    tmp19 = tmp7 + tmp18;
                    tmp351 = tmp7 - tmp18;
                    tmp470 = tmp440 - tmp439;
                    tmp471 = tmp12 - tmp17;
                    tmp472 = tmp470 - tmp471;
                    tmp486 = tmp471 + tmp470;
               }
               {
                    fftw_real tmp438;
                    fftw_real tmp441;
                    fftw_real tmp187;
                    fftw_real tmp190;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp438 = tmp188 + tmp189;
                    tmp441 = tmp439 + tmp440;
                    tmp442 = tmp438 + tmp441;
                    tmp456 = tmp441 - tmp438;
                    tmp187 = tmp1 - tmp6;
                    tmp190 = tmp188 - tmp189;
                    tmp191 = tmp187 - tmp190;
                    tmp303 = tmp187 + tmp190;
               }
          }
          {
               fftw_real tmp143;
               fftw_real tmp272;
               fftw_real tmp159;
               fftw_real tmp257;
               fftw_real tmp148;
               fftw_real tmp273;
               fftw_real tmp154;
               fftw_real tmp256;
               ASSERT_ALIGNED_DOUBLE();
               {
                    fftw_real tmp140;
                    fftw_real tmp142;
                    fftw_real tmp139;
                    fftw_real tmp141;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp140 = c_re(inout[31 * iostride]);
                    tmp142 = c_im(inout[31 * iostride]);
                    tmp139 = c_re(W[30]);
                    tmp141 = c_im(W[30]);
                    tmp143 = (tmp139 * tmp140) - (tmp141 * tmp142);
                    tmp272 = (tmp141 * tmp140) + (tmp139 * tmp142);
               }
               {
                    fftw_real tmp156;
                    fftw_real tmp158;
                    fftw_real tmp155;
                    fftw_real tmp157;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp156 = c_re(inout[23 * iostride]);
                    tmp158 = c_im(inout[23 * iostride]);
                    tmp155 = c_re(W[22]);
                    tmp157 = c_im(W[22]);
                    tmp159 = (tmp155 * tmp156) - (tmp157 * tmp158);
                    tmp257 = (tmp157 * tmp156) + (tmp155 * tmp158);
               }
               {
                    fftw_real tmp145;
                    fftw_real tmp147;
                    fftw_real tmp144;
                    fftw_real tmp146;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp145 = c_re(inout[15 * iostride]);
                    tmp147 = c_im(inout[15 * iostride]);
                    tmp144 = c_re(W[14]);
                    tmp146 = c_im(W[14]);
                    tmp148 = (tmp144 * tmp145) - (tmp146 * tmp147);
                    tmp273 = (tmp146 * tmp145) + (tmp144 * tmp147);
               }
               {
                    fftw_real tmp151;
                    fftw_real tmp153;
                    fftw_real tmp150;
                    fftw_real tmp152;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp151 = c_re(inout[7 * iostride]);
                    tmp153 = c_im(inout[7 * iostride]);
                    tmp150 = c_re(W[6]);
                    tmp152 = c_im(W[6]);
                    tmp154 = (tmp150 * tmp151) - (tmp152 * tmp153);
                    tmp256 = (tmp152 * tmp151) + (tmp150 * tmp153);
               }
               {
                    fftw_real tmp149;
                    fftw_real tmp160;
                    fftw_real tmp274;
                    fftw_real tmp275;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp149 = tmp143 + tmp148;
                    tmp160 = tmp154 + tmp159;
                    tmp161 = tmp149 + tmp160;
                    tmp379 = tmp149 - tmp160;
                    tmp274 = tmp272 - tmp273;
                    tmp275 = tmp154 - tmp159;
                    tmp276 = tmp274 + tmp275;
                    tmp326 = tmp274 - tmp275;
               }
               {
                    fftw_real tmp384;
                    fftw_real tmp385;
                    fftw_real tmp255;
                    fftw_real tmp258;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp384 = tmp272 + tmp273;
                    tmp385 = tmp256 + tmp257;
                    tmp386 = tmp384 - tmp385;
                    tmp422 = tmp384 + tmp385;
                    tmp255 = tmp143 - tmp148;
                    tmp258 = tmp256 - tmp257;
                    tmp259 = tmp255 - tmp258;
                    tmp323 = tmp255 + tmp258;
               }
          }
          {
               fftw_real tmp24;
               fftw_real tmp192;
               fftw_real tmp40;
               fftw_real tmp199;
               fftw_real tmp29;
               fftw_real tmp193;
               fftw_real tmp35;
               fftw_real tmp198;
               ASSERT_ALIGNED_DOUBLE();
               {
                    fftw_real tmp21;
                    fftw_real tmp23;
                    fftw_real tmp20;
                    fftw_real tmp22;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp21 = c_re(inout[4 * iostride]);
                    tmp23 = c_im(inout[4 * iostride]);
                    tmp20 = c_re(W[3]);
                    tmp22 = c_im(W[3]);
                    tmp24 = (tmp20 * tmp21) - (tmp22 * tmp23);
                    tmp192 = (tmp22 * tmp21) + (tmp20 * tmp23);
               }
               {
                    fftw_real tmp37;
                    fftw_real tmp39;
                    fftw_real tmp36;
                    fftw_real tmp38;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp37 = c_re(inout[12 * iostride]);
                    tmp39 = c_im(inout[12 * iostride]);
                    tmp36 = c_re(W[11]);
                    tmp38 = c_im(W[11]);
                    tmp40 = (tmp36 * tmp37) - (tmp38 * tmp39);
                    tmp199 = (tmp38 * tmp37) + (tmp36 * tmp39);
               }
               {
                    fftw_real tmp26;
                    fftw_real tmp28;
                    fftw_real tmp25;
                    fftw_real tmp27;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp26 = c_re(inout[20 * iostride]);
                    tmp28 = c_im(inout[20 * iostride]);
                    tmp25 = c_re(W[19]);
                    tmp27 = c_im(W[19]);
                    tmp29 = (tmp25 * tmp26) - (tmp27 * tmp28);
                    tmp193 = (tmp27 * tmp26) + (tmp25 * tmp28);
               }
               {
                    fftw_real tmp32;
                    fftw_real tmp34;
                    fftw_real tmp31;
                    fftw_real tmp33;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp32 = c_re(inout[28 * iostride]);
                    tmp34 = c_im(inout[28 * iostride]);
                    tmp31 = c_re(W[27]);
                    tmp33 = c_im(W[27]);
                    tmp35 = (tmp31 * tmp32) - (tmp33 * tmp34);
                    tmp198 = (tmp33 * tmp32) + (tmp31 * tmp34);
               }
               {
                    fftw_real tmp30;
                    fftw_real tmp41;
                    fftw_real tmp197;
                    fftw_real tmp200;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp30 = tmp24 + tmp29;
                    tmp41 = tmp35 + tmp40;
                    tmp42 = tmp30 + tmp41;
                    tmp455 = tmp41 - tmp30;
                    tmp197 = tmp35 - tmp40;
                    tmp200 = tmp198 - tmp199;
                    tmp201 = tmp197 + tmp200;
                    tmp305 = tmp197 - tmp200;
               }
               {
                    fftw_real tmp352;
                    fftw_real tmp353;
                    fftw_real tmp194;
                    fftw_real tmp195;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp352 = tmp192 + tmp193;
                    tmp353 = tmp198 + tmp199;
                    tmp354 = tmp352 - tmp353;
                    tmp437 = tmp352 + tmp353;
                    tmp194 = tmp192 - tmp193;
                    tmp195 = tmp24 - tmp29;
                    tmp196 = tmp194 - tmp195;
                    tmp304 = tmp195 + tmp194;
               }
          }
          {
               fftw_real tmp166;
               fftw_real tmp260;
               fftw_real tmp171;
               fftw_real tmp261;
               fftw_real tmp262;
               fftw_real tmp263;
               fftw_real tmp177;
               fftw_real tmp266;
               fftw_real tmp182;
               fftw_real tmp267;
               fftw_real tmp265;
               fftw_real tmp268;
               ASSERT_ALIGNED_DOUBLE();
               {
                    fftw_real tmp163;
                    fftw_real tmp165;
                    fftw_real tmp162;
                    fftw_real tmp164;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp163 = c_re(inout[3 * iostride]);
                    tmp165 = c_im(inout[3 * iostride]);
                    tmp162 = c_re(W[2]);
                    tmp164 = c_im(W[2]);
                    tmp166 = (tmp162 * tmp163) - (tmp164 * tmp165);
                    tmp260 = (tmp164 * tmp163) + (tmp162 * tmp165);
               }
               {
                    fftw_real tmp168;
                    fftw_real tmp170;
                    fftw_real tmp167;
                    fftw_real tmp169;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp168 = c_re(inout[19 * iostride]);
                    tmp170 = c_im(inout[19 * iostride]);
                    tmp167 = c_re(W[18]);
                    tmp169 = c_im(W[18]);
                    tmp171 = (tmp167 * tmp168) - (tmp169 * tmp170);
                    tmp261 = (tmp169 * tmp168) + (tmp167 * tmp170);
               }
               tmp262 = tmp260 - tmp261;
               tmp263 = tmp166 - tmp171;
               {
                    fftw_real tmp174;
                    fftw_real tmp176;
                    fftw_real tmp173;
                    fftw_real tmp175;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp174 = c_re(inout[27 * iostride]);
                    tmp176 = c_im(inout[27 * iostride]);
                    tmp173 = c_re(W[26]);
                    tmp175 = c_im(W[26]);
                    tmp177 = (tmp173 * tmp174) - (tmp175 * tmp176);
                    tmp266 = (tmp175 * tmp174) + (tmp173 * tmp176);
               }
               {
                    fftw_real tmp179;
                    fftw_real tmp181;
                    fftw_real tmp178;
                    fftw_real tmp180;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp179 = c_re(inout[11 * iostride]);
                    tmp181 = c_im(inout[11 * iostride]);
                    tmp178 = c_re(W[10]);
                    tmp180 = c_im(W[10]);
                    tmp182 = (tmp178 * tmp179) - (tmp180 * tmp181);
                    tmp267 = (tmp180 * tmp179) + (tmp178 * tmp181);
               }
               tmp265 = tmp177 - tmp182;
               tmp268 = tmp266 - tmp267;
               {
                    fftw_real tmp172;
                    fftw_real tmp183;
                    fftw_real tmp380;
                    fftw_real tmp381;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp172 = tmp166 + tmp171;
                    tmp183 = tmp177 + tmp182;
                    tmp184 = tmp172 + tmp183;
                    tmp387 = tmp183 - tmp172;
                    tmp380 = tmp260 + tmp261;
                    tmp381 = tmp266 + tmp267;
                    tmp382 = tmp380 - tmp381;
                    tmp423 = tmp380 + tmp381;
               }
               {
                    fftw_real tmp264;
                    fftw_real tmp269;
                    fftw_real tmp277;
                    fftw_real tmp278;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp264 = tmp262 - tmp263;
                    tmp269 = tmp265 + tmp268;
                    tmp270 = K707106781 * (tmp264 - tmp269);
                    tmp327 = K707106781 * (tmp264 + tmp269);
                    tmp277 = tmp265 - tmp268;
                    tmp278 = tmp263 + tmp262;
                    tmp279 = K707106781 * (tmp277 - tmp278);
                    tmp324 = K707106781 * (tmp278 + tmp277);
               }
          }
          {
               fftw_real tmp48;
               fftw_real tmp204;
               fftw_real tmp64;
               fftw_real tmp211;
               fftw_real tmp53;
               fftw_real tmp205;
               fftw_real tmp59;
               fftw_real tmp210;
               ASSERT_ALIGNED_DOUBLE();
               {
                    fftw_real tmp45;
                    fftw_real tmp47;
                    fftw_real tmp44;
                    fftw_real tmp46;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp45 = c_re(inout[2 * iostride]);
                    tmp47 = c_im(inout[2 * iostride]);
                    tmp44 = c_re(W[1]);
                    tmp46 = c_im(W[1]);
                    tmp48 = (tmp44 * tmp45) - (tmp46 * tmp47);
                    tmp204 = (tmp46 * tmp45) + (tmp44 * tmp47);
               }
               {
                    fftw_real tmp61;
                    fftw_real tmp63;
                    fftw_real tmp60;
                    fftw_real tmp62;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp61 = c_re(inout[26 * iostride]);
                    tmp63 = c_im(inout[26 * iostride]);
                    tmp60 = c_re(W[25]);
                    tmp62 = c_im(W[25]);
                    tmp64 = (tmp60 * tmp61) - (tmp62 * tmp63);
                    tmp211 = (tmp62 * tmp61) + (tmp60 * tmp63);
               }
               {
                    fftw_real tmp50;
                    fftw_real tmp52;
                    fftw_real tmp49;
                    fftw_real tmp51;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp50 = c_re(inout[18 * iostride]);
                    tmp52 = c_im(inout[18 * iostride]);
                    tmp49 = c_re(W[17]);
                    tmp51 = c_im(W[17]);
                    tmp53 = (tmp49 * tmp50) - (tmp51 * tmp52);
                    tmp205 = (tmp51 * tmp50) + (tmp49 * tmp52);
               }
               {
                    fftw_real tmp56;
                    fftw_real tmp58;
                    fftw_real tmp55;
                    fftw_real tmp57;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp56 = c_re(inout[10 * iostride]);
                    tmp58 = c_im(inout[10 * iostride]);
                    tmp55 = c_re(W[9]);
                    tmp57 = c_im(W[9]);
                    tmp59 = (tmp55 * tmp56) - (tmp57 * tmp58);
                    tmp210 = (tmp57 * tmp56) + (tmp55 * tmp58);
               }
               {
                    fftw_real tmp54;
                    fftw_real tmp65;
                    fftw_real tmp209;
                    fftw_real tmp212;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp54 = tmp48 + tmp53;
                    tmp65 = tmp59 + tmp64;
                    tmp66 = tmp54 + tmp65;
                    tmp359 = tmp54 - tmp65;
                    tmp209 = tmp48 - tmp53;
                    tmp212 = tmp210 - tmp211;
                    tmp213 = tmp209 - tmp212;
                    tmp309 = tmp209 + tmp212;
               }
               {
                    fftw_real tmp356;
                    fftw_real tmp357;
                    fftw_real tmp206;
                    fftw_real tmp207;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp356 = tmp204 + tmp205;
                    tmp357 = tmp210 + tmp211;
                    tmp358 = tmp356 - tmp357;
                    tmp412 = tmp356 + tmp357;
                    tmp206 = tmp204 - tmp205;
                    tmp207 = tmp59 - tmp64;
                    tmp208 = tmp206 + tmp207;
                    tmp308 = tmp206 - tmp207;
               }
          }
          {
               fftw_real tmp96;
               fftw_real tmp228;
               fftw_real tmp112;
               fftw_real tmp247;
               fftw_real tmp101;
               fftw_real tmp229;
               fftw_real tmp107;
               fftw_real tmp246;
               ASSERT_ALIGNED_DOUBLE();
               {
                    fftw_real tmp93;
                    fftw_real tmp95;
                    fftw_real tmp92;
                    fftw_real tmp94;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp93 = c_re(inout[iostride]);
                    tmp95 = c_im(inout[iostride]);
                    tmp92 = c_re(W[0]);
                    tmp94 = c_im(W[0]);
                    tmp96 = (tmp92 * tmp93) - (tmp94 * tmp95);
                    tmp228 = (tmp94 * tmp93) + (tmp92 * tmp95);
               }
               {
                    fftw_real tmp109;
                    fftw_real tmp111;
                    fftw_real tmp108;
                    fftw_real tmp110;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp109 = c_re(inout[25 * iostride]);
                    tmp111 = c_im(inout[25 * iostride]);
                    tmp108 = c_re(W[24]);
                    tmp110 = c_im(W[24]);
                    tmp112 = (tmp108 * tmp109) - (tmp110 * tmp111);
                    tmp247 = (tmp110 * tmp109) + (tmp108 * tmp111);
               }
               {
                    fftw_real tmp98;
                    fftw_real tmp100;
                    fftw_real tmp97;
                    fftw_real tmp99;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp98 = c_re(inout[17 * iostride]);
                    tmp100 = c_im(inout[17 * iostride]);
                    tmp97 = c_re(W[16]);
                    tmp99 = c_im(W[16]);
                    tmp101 = (tmp97 * tmp98) - (tmp99 * tmp100);
                    tmp229 = (tmp99 * tmp98) + (tmp97 * tmp100);
               }
               {
                    fftw_real tmp104;
                    fftw_real tmp106;
                    fftw_real tmp103;
                    fftw_real tmp105;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp104 = c_re(inout[9 * iostride]);
                    tmp106 = c_im(inout[9 * iostride]);
                    tmp103 = c_re(W[8]);
                    tmp105 = c_im(W[8]);
                    tmp107 = (tmp103 * tmp104) - (tmp105 * tmp106);
                    tmp246 = (tmp105 * tmp104) + (tmp103 * tmp106);
               }
               {
                    fftw_real tmp102;
                    fftw_real tmp113;
                    fftw_real tmp245;
                    fftw_real tmp248;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp102 = tmp96 + tmp101;
                    tmp113 = tmp107 + tmp112;
                    tmp114 = tmp102 + tmp113;
                    tmp373 = tmp102 - tmp113;
                    tmp245 = tmp96 - tmp101;
                    tmp248 = tmp246 - tmp247;
                    tmp249 = tmp245 - tmp248;
                    tmp316 = tmp245 + tmp248;
               }
               {
                    fftw_real tmp368;
                    fftw_real tmp369;
                    fftw_real tmp230;
                    fftw_real tmp231;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp368 = tmp228 + tmp229;
                    tmp369 = tmp246 + tmp247;
                    tmp370 = tmp368 - tmp369;
                    tmp417 = tmp368 + tmp369;
                    tmp230 = tmp228 - tmp229;
                    tmp231 = tmp107 - tmp112;
                    tmp232 = tmp230 + tmp231;
                    tmp319 = tmp230 - tmp231;
               }
          }
          {
               fftw_real tmp71;
               fftw_real tmp215;
               fftw_real tmp87;
               fftw_real tmp222;
               fftw_real tmp76;
               fftw_real tmp216;
               fftw_real tmp82;
               fftw_real tmp221;
               ASSERT_ALIGNED_DOUBLE();
               {
                    fftw_real tmp68;
                    fftw_real tmp70;
                    fftw_real tmp67;
                    fftw_real tmp69;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp68 = c_re(inout[30 * iostride]);
                    tmp70 = c_im(inout[30 * iostride]);
                    tmp67 = c_re(W[29]);
                    tmp69 = c_im(W[29]);
                    tmp71 = (tmp67 * tmp68) - (tmp69 * tmp70);
                    tmp215 = (tmp69 * tmp68) + (tmp67 * tmp70);
               }
               {
                    fftw_real tmp84;
                    fftw_real tmp86;
                    fftw_real tmp83;
                    fftw_real tmp85;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp84 = c_re(inout[22 * iostride]);
                    tmp86 = c_im(inout[22 * iostride]);
                    tmp83 = c_re(W[21]);
                    tmp85 = c_im(W[21]);
                    tmp87 = (tmp83 * tmp84) - (tmp85 * tmp86);
                    tmp222 = (tmp85 * tmp84) + (tmp83 * tmp86);
               }
               {
                    fftw_real tmp73;
                    fftw_real tmp75;
                    fftw_real tmp72;
                    fftw_real tmp74;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp73 = c_re(inout[14 * iostride]);
                    tmp75 = c_im(inout[14 * iostride]);
                    tmp72 = c_re(W[13]);
                    tmp74 = c_im(W[13]);
                    tmp76 = (tmp72 * tmp73) - (tmp74 * tmp75);
                    tmp216 = (tmp74 * tmp73) + (tmp72 * tmp75);
               }
               {
                    fftw_real tmp79;
                    fftw_real tmp81;
                    fftw_real tmp78;
                    fftw_real tmp80;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp79 = c_re(inout[6 * iostride]);
                    tmp81 = c_im(inout[6 * iostride]);
                    tmp78 = c_re(W[5]);
                    tmp80 = c_im(W[5]);
                    tmp82 = (tmp78 * tmp79) - (tmp80 * tmp81);
                    tmp221 = (tmp80 * tmp79) + (tmp78 * tmp81);
               }
               {
                    fftw_real tmp77;
                    fftw_real tmp88;
                    fftw_real tmp220;
                    fftw_real tmp223;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp77 = tmp71 + tmp76;
                    tmp88 = tmp82 + tmp87;
                    tmp89 = tmp77 + tmp88;
                    tmp361 = tmp77 - tmp88;
                    tmp220 = tmp71 - tmp76;
                    tmp223 = tmp221 - tmp222;
                    tmp224 = tmp220 - tmp223;
                    tmp312 = tmp220 + tmp223;
               }
               {
                    fftw_real tmp362;
                    fftw_real tmp363;
                    fftw_real tmp217;
                    fftw_real tmp218;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp362 = tmp215 + tmp216;
                    tmp363 = tmp221 + tmp222;
                    tmp364 = tmp362 - tmp363;
                    tmp413 = tmp362 + tmp363;
                    tmp217 = tmp215 - tmp216;
                    tmp218 = tmp82 - tmp87;
                    tmp219 = tmp217 + tmp218;
                    tmp311 = tmp217 - tmp218;
               }
          }
          {
               fftw_real tmp119;
               fftw_real tmp239;
               fftw_real tmp124;
               fftw_real tmp240;
               fftw_real tmp238;
               fftw_real tmp241;
               fftw_real tmp130;
               fftw_real tmp234;
               fftw_real tmp135;
               fftw_real tmp235;
               fftw_real tmp233;
               fftw_real tmp236;
               ASSERT_ALIGNED_DOUBLE();
               {
                    fftw_real tmp116;
                    fftw_real tmp118;
                    fftw_real tmp115;
                    fftw_real tmp117;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp116 = c_re(inout[5 * iostride]);
                    tmp118 = c_im(inout[5 * iostride]);
                    tmp115 = c_re(W[4]);
                    tmp117 = c_im(W[4]);
                    tmp119 = (tmp115 * tmp116) - (tmp117 * tmp118);
                    tmp239 = (tmp117 * tmp116) + (tmp115 * tmp118);
               }
               {
                    fftw_real tmp121;
                    fftw_real tmp123;
                    fftw_real tmp120;
                    fftw_real tmp122;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp121 = c_re(inout[21 * iostride]);
                    tmp123 = c_im(inout[21 * iostride]);
                    tmp120 = c_re(W[20]);
                    tmp122 = c_im(W[20]);
                    tmp124 = (tmp120 * tmp121) - (tmp122 * tmp123);
                    tmp240 = (tmp122 * tmp121) + (tmp120 * tmp123);
               }
               tmp238 = tmp119 - tmp124;
               tmp241 = tmp239 - tmp240;
               {
                    fftw_real tmp127;
                    fftw_real tmp129;
                    fftw_real tmp126;
                    fftw_real tmp128;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp127 = c_re(inout[29 * iostride]);
                    tmp129 = c_im(inout[29 * iostride]);
                    tmp126 = c_re(W[28]);
                    tmp128 = c_im(W[28]);
                    tmp130 = (tmp126 * tmp127) - (tmp128 * tmp129);
                    tmp234 = (tmp128 * tmp127) + (tmp126 * tmp129);
               }
               {
                    fftw_real tmp132;
                    fftw_real tmp134;
                    fftw_real tmp131;
                    fftw_real tmp133;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp132 = c_re(inout[13 * iostride]);
                    tmp134 = c_im(inout[13 * iostride]);
                    tmp131 = c_re(W[12]);
                    tmp133 = c_im(W[12]);
                    tmp135 = (tmp131 * tmp132) - (tmp133 * tmp134);
                    tmp235 = (tmp133 * tmp132) + (tmp131 * tmp134);
               }
               tmp233 = tmp130 - tmp135;
               tmp236 = tmp234 - tmp235;
               {
                    fftw_real tmp125;
                    fftw_real tmp136;
                    fftw_real tmp374;
                    fftw_real tmp375;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp125 = tmp119 + tmp124;
                    tmp136 = tmp130 + tmp135;
                    tmp137 = tmp125 + tmp136;
                    tmp371 = tmp136 - tmp125;
                    tmp374 = tmp239 + tmp240;
                    tmp375 = tmp234 + tmp235;
                    tmp376 = tmp374 - tmp375;
                    tmp418 = tmp374 + tmp375;
               }
               {
                    fftw_real tmp237;
                    fftw_real tmp242;
                    fftw_real tmp250;
                    fftw_real tmp251;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp237 = tmp233 - tmp236;
                    tmp242 = tmp238 + tmp241;
                    tmp243 = K707106781 * (tmp237 - tmp242);
                    tmp317 = K707106781 * (tmp242 + tmp237);
                    tmp250 = tmp241 - tmp238;
                    tmp251 = tmp233 + tmp236;
                    tmp252 = K707106781 * (tmp250 - tmp251);
                    tmp320 = K707106781 * (tmp250 + tmp251);
               }
          }
          {
               fftw_real tmp91;
               fftw_real tmp431;
               fftw_real tmp444;
               fftw_real tmp446;
               fftw_real tmp186;
               fftw_real tmp445;
               fftw_real tmp434;
               fftw_real tmp435;
               ASSERT_ALIGNED_DOUBLE();
               {
                    fftw_real tmp43;
                    fftw_real tmp90;
                    fftw_real tmp436;
                    fftw_real tmp443;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp43 = tmp19 + tmp42;
                    tmp90 = tmp66 + tmp89;
                    tmp91 = tmp43 + tmp90;
                    tmp431 = tmp43 - tmp90;
                    tmp436 = tmp412 + tmp413;
                    tmp443 = tmp437 + tmp442;
                    tmp444 = tmp436 + tmp443;
                    tmp446 = tmp443 - tmp436;
               }
               {
                    fftw_real tmp138;
                    fftw_real tmp185;
                    fftw_real tmp432;
                    fftw_real tmp433;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp138 = tmp114 + tmp137;
                    tmp185 = tmp161 + tmp184;
                    tmp186 = tmp138 + tmp185;
                    tmp445 = tmp185 - tmp138;
                    tmp432 = tmp417 + tmp418;
                    tmp433 = tmp422 + tmp423;
                    tmp434 = tmp432 - tmp433;
                    tmp435 = tmp432 + tmp433;
               }
               c_re(inout[16 * iostride]) = tmp91 - tmp186;
               c_re(inout[0]) = tmp91 + tmp186;
               c_re(inout[24 * iostride]) = tmp431 - tmp434;
               c_re(inout[8 * iostride]) = tmp431 + tmp434;
               c_im(inout[0]) = tmp435 + tmp444;
               c_im(inout[16 * iostride]) = tmp444 - tmp435;
               c_im(inout[8 * iostride]) = tmp445 + tmp446;
               c_im(inout[24 * iostride]) = tmp446 - tmp445;
          }
          {
               fftw_real tmp415;
               fftw_real tmp427;
               fftw_real tmp450;
               fftw_real tmp452;
               fftw_real tmp420;
               fftw_real tmp428;
               fftw_real tmp425;
               fftw_real tmp429;
               ASSERT_ALIGNED_DOUBLE();
               {
                    fftw_real tmp411;
                    fftw_real tmp414;
                    fftw_real tmp448;
                    fftw_real tmp449;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp411 = tmp19 - tmp42;
                    tmp414 = tmp412 - tmp413;
                    tmp415 = tmp411 + tmp414;
                    tmp427 = tmp411 - tmp414;
                    tmp448 = tmp89 - tmp66;
                    tmp449 = tmp442 - tmp437;
                    tmp450 = tmp448 + tmp449;
                    tmp452 = tmp449 - tmp448;
               }
               {
                    fftw_real tmp416;
                    fftw_real tmp419;
                    fftw_real tmp421;
                    fftw_real tmp424;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp416 = tmp114 - tmp137;
                    tmp419 = tmp417 - tmp418;
                    tmp420 = tmp416 + tmp419;
                    tmp428 = tmp419 - tmp416;
                    tmp421 = tmp161 - tmp184;
                    tmp424 = tmp422 - tmp423;
                    tmp425 = tmp421 - tmp424;
                    tmp429 = tmp421 + tmp424;
               }
               {
                    fftw_real tmp426;
                    fftw_real tmp451;
                    fftw_real tmp430;
                    fftw_real tmp447;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp426 = K707106781 * (tmp420 + tmp425);
                    c_re(inout[20 * iostride]) = tmp415 - tmp426;
                    c_re(inout[4 * iostride]) = tmp415 + tmp426;
                    tmp451 = K707106781 * (tmp425 - tmp420);
                    c_im(inout[12 * iostride]) = tmp451 + tmp452;
                    c_im(inout[28 * iostride]) = tmp452 - tmp451;
                    tmp430 = K707106781 * (tmp428 - tmp429);
                    c_re(inout[28 * iostride]) = tmp427 - tmp430;
                    c_re(inout[12 * iostride]) = tmp427 + tmp430;
                    tmp447 = K707106781 * (tmp428 + tmp429);
                    c_im(inout[4 * iostride]) = tmp447 + tmp450;
                    c_im(inout[20 * iostride]) = tmp450 - tmp447;
               }
          }
          {
               fftw_real tmp355;
               fftw_real tmp395;
               fftw_real tmp366;
               fftw_real tmp454;
               fftw_real tmp398;
               fftw_real tmp462;
               fftw_real tmp378;
               fftw_real tmp392;
               fftw_real tmp457;
               fftw_real tmp463;
               fftw_real tmp402;
               fftw_real tmp408;
               fftw_real tmp389;
               fftw_real tmp393;
               fftw_real tmp405;
               fftw_real tmp409;
               ASSERT_ALIGNED_DOUBLE();
               {
                    fftw_real tmp360;
                    fftw_real tmp365;
                    fftw_real tmp400;
                    fftw_real tmp401;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp355 = tmp351 - tmp354;
                    tmp395 = tmp351 + tmp354;
                    tmp360 = tmp358 - tmp359;
                    tmp365 = tmp361 + tmp364;
                    tmp366 = K707106781 * (tmp360 - tmp365);
                    tmp454 = K707106781 * (tmp360 + tmp365);
                    {
                         fftw_real tmp396;
                         fftw_real tmp397;
                         fftw_real tmp372;
                         fftw_real tmp377;
                         ASSERT_ALIGNED_DOUBLE();
                         tmp396 = tmp359 + tmp358;
                         tmp397 = tmp361 - tmp364;
                         tmp398 = K707106781 * (tmp396 + tmp397);
                         tmp462 = K707106781 * (tmp397 - tmp396);
                         tmp372 = tmp370 - tmp371;
                         tmp377 = tmp373 - tmp376;
                         tmp378 = (K923879532 * tmp372) + (K382683432 * tmp377);
                         tmp392 = (K382683432 * tmp372) - (K923879532 * tmp377);
                    }
                    tmp457 = tmp455 + tmp456;
                    tmp463 = tmp456 - tmp455;
                    tmp400 = tmp370 + tmp371;
                    tmp401 = tmp373 + tmp376;
                    tmp402 = (K382683432 * tmp400) + (K923879532 * tmp401);
                    tmp408 = (K923879532 * tmp400) - (K382683432 * tmp401);
                    {
                         fftw_real tmp383;
                         fftw_real tmp388;
                         fftw_real tmp403;
                         fftw_real tmp404;
                         ASSERT_ALIGNED_DOUBLE();
                         tmp383 = tmp379 - tmp382;
                         tmp388 = tmp386 - tmp387;
                         tmp389 = (K382683432 * tmp383) - (K923879532 * tmp388);
                         tmp393 = (K382683432 * tmp388) + (K923879532 * tmp383);
                         tmp403 = tmp379 + tmp382;
                         tmp404 = tmp386 + tmp387;
                         tmp405 = (K923879532 * tmp403) - (K382683432 * tmp404);
                         tmp409 = (K923879532 * tmp404) + (K382683432 * tmp403);
                    }
               }
               {
                    fftw_real tmp367;
                    fftw_real tmp390;
                    fftw_real tmp391;
                    fftw_real tmp394;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp367 = tmp355 + tmp366;
                    tmp390 = tmp378 + tmp389;
                    c_re(inout[22 * iostride]) = tmp367 - tmp390;
                    c_re(inout[6 * iostride]) = tmp367 + tmp390;
                    tmp391 = tmp355 - tmp366;
                    tmp394 = tmp392 - tmp393;
                    c_re(inout[30 * iostride]) = tmp391 - tmp394;
                    c_re(inout[14 * iostride]) = tmp391 + tmp394;
               }
               {
                    fftw_real tmp461;
                    fftw_real tmp464;
                    fftw_real tmp465;
                    fftw_real tmp466;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp461 = tmp392 + tmp393;
                    tmp464 = tmp462 + tmp463;
                    c_im(inout[6 * iostride]) = tmp461 + tmp464;
                    c_im(inout[22 * iostride]) = tmp464 - tmp461;
                    tmp465 = tmp389 - tmp378;
                    tmp466 = tmp463 - tmp462;
                    c_im(inout[14 * iostride]) = tmp465 + tmp466;
                    c_im(inout[30 * iostride]) = tmp466 - tmp465;
               }
               {
                    fftw_real tmp399;
                    fftw_real tmp406;
                    fftw_real tmp407;
                    fftw_real tmp410;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp399 = tmp395 + tmp398;
                    tmp406 = tmp402 + tmp405;
                    c_re(inout[18 * iostride]) = tmp399 - tmp406;
                    c_re(inout[2 * iostride]) = tmp399 + tmp406;
                    tmp407 = tmp395 - tmp398;
                    tmp410 = tmp408 - tmp409;
                    c_re(inout[26 * iostride]) = tmp407 - tmp410;
                    c_re(inout[10 * iostride]) = tmp407 + tmp410;
               }
               {
                    fftw_real tmp453;
                    fftw_real tmp458;
                    fftw_real tmp459;
                    fftw_real tmp460;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp453 = tmp408 + tmp409;
                    tmp458 = tmp454 + tmp457;
                    c_im(inout[2 * iostride]) = tmp453 + tmp458;
                    c_im(inout[18 * iostride]) = tmp458 - tmp453;
                    tmp459 = tmp405 - tmp402;
                    tmp460 = tmp457 - tmp454;
                    c_im(inout[10 * iostride]) = tmp459 + tmp460;
                    c_im(inout[26 * iostride]) = tmp460 - tmp459;
               }
          }
          {
               fftw_real tmp307;
               fftw_real tmp335;
               fftw_real tmp338;
               fftw_real tmp478;
               fftw_real tmp473;
               fftw_real tmp479;
               fftw_real tmp314;
               fftw_real tmp468;
               fftw_real tmp322;
               fftw_real tmp332;
               fftw_real tmp342;
               fftw_real tmp348;
               fftw_real tmp329;
               fftw_real tmp333;
               fftw_real tmp345;
               fftw_real tmp349;
               ASSERT_ALIGNED_DOUBLE();
               {
                    fftw_real tmp306;
                    fftw_real tmp336;
                    fftw_real tmp337;
                    fftw_real tmp469;
                    fftw_real tmp310;
                    fftw_real tmp313;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp306 = K707106781 * (tmp304 + tmp305);
                    tmp307 = tmp303 - tmp306;
                    tmp335 = tmp303 + tmp306;
                    tmp336 = (K382683432 * tmp308) + (K923879532 * tmp309);
                    tmp337 = (K923879532 * tmp312) - (K382683432 * tmp311);
                    tmp338 = tmp336 + tmp337;
                    tmp478 = tmp337 - tmp336;
                    tmp469 = K707106781 * (tmp196 + tmp201);
                    tmp473 = tmp469 + tmp472;
                    tmp479 = tmp472 - tmp469;
                    tmp310 = (K923879532 * tmp308) - (K382683432 * tmp309);
                    tmp313 = (K923879532 * tmp311) + (K382683432 * tmp312);
                    tmp314 = tmp310 - tmp313;
                    tmp468 = tmp310 + tmp313;
               }
               {
                    fftw_real tmp318;
                    fftw_real tmp321;
                    fftw_real tmp340;
                    fftw_real tmp341;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp318 = tmp316 - tmp317;
                    tmp321 = tmp319 - tmp320;
                    tmp322 = (K555570233 * tmp318) + (K831469612 * tmp321);
                    tmp332 = (K555570233 * tmp321) - (K831469612 * tmp318);
                    tmp340 = tmp316 + tmp317;
                    tmp341 = tmp319 + tmp320;
                    tmp342 = (K980785280 * tmp340) + (K195090322 * tmp341);
                    tmp348 = (K980785280 * tmp341) - (K195090322 * tmp340);
               }
               {
                    fftw_real tmp325;
                    fftw_real tmp328;
                    fftw_real tmp343;
                    fftw_real tmp344;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp325 = tmp323 - tmp324;
                    tmp328 = tmp326 - tmp327;
                    tmp329 = (K555570233 * tmp325) - (K831469612 * tmp328);
                    tmp333 = (K831469612 * tmp325) + (K555570233 * tmp328);
                    tmp343 = tmp323 + tmp324;
                    tmp344 = tmp326 + tmp327;
                    tmp345 = (K980785280 * tmp343) - (K195090322 * tmp344);
                    tmp349 = (K195090322 * tmp343) + (K980785280 * tmp344);
               }
               {
                    fftw_real tmp315;
                    fftw_real tmp330;
                    fftw_real tmp331;
                    fftw_real tmp334;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp315 = tmp307 + tmp314;
                    tmp330 = tmp322 + tmp329;
                    c_re(inout[21 * iostride]) = tmp315 - tmp330;
                    c_re(inout[5 * iostride]) = tmp315 + tmp330;
                    tmp331 = tmp307 - tmp314;
                    tmp334 = tmp332 - tmp333;
                    c_re(inout[29 * iostride]) = tmp331 - tmp334;
                    c_re(inout[13 * iostride]) = tmp331 + tmp334;
               }
               {
                    fftw_real tmp477;
                    fftw_real tmp480;
                    fftw_real tmp481;
                    fftw_real tmp482;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp477 = tmp332 + tmp333;
                    tmp480 = tmp478 + tmp479;
                    c_im(inout[5 * iostride]) = tmp477 + tmp480;
                    c_im(inout[21 * iostride]) = tmp480 - tmp477;
                    tmp481 = tmp329 - tmp322;
                    tmp482 = tmp479 - tmp478;
                    c_im(inout[13 * iostride]) = tmp481 + tmp482;
                    c_im(inout[29 * iostride]) = tmp482 - tmp481;
               }
               {
                    fftw_real tmp339;
                    fftw_real tmp346;
                    fftw_real tmp347;
                    fftw_real tmp350;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp339 = tmp335 + tmp338;
                    tmp346 = tmp342 + tmp345;
                    c_re(inout[17 * iostride]) = tmp339 - tmp346;
                    c_re(inout[iostride]) = tmp339 + tmp346;
                    tmp347 = tmp335 - tmp338;
                    tmp350 = tmp348 - tmp349;
                    c_re(inout[25 * iostride]) = tmp347 - tmp350;
                    c_re(inout[9 * iostride]) = tmp347 + tmp350;
               }
               {
                    fftw_real tmp467;
                    fftw_real tmp474;
                    fftw_real tmp475;
                    fftw_real tmp476;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp467 = tmp348 + tmp349;
                    tmp474 = tmp468 + tmp473;
                    c_im(inout[iostride]) = tmp467 + tmp474;
                    c_im(inout[17 * iostride]) = tmp474 - tmp467;
                    tmp475 = tmp345 - tmp342;
                    tmp476 = tmp473 - tmp468;
                    c_im(inout[9 * iostride]) = tmp475 + tmp476;
                    c_im(inout[25 * iostride]) = tmp476 - tmp475;
               }
          }
          {
               fftw_real tmp203;
               fftw_real tmp287;
               fftw_real tmp290;
               fftw_real tmp492;
               fftw_real tmp487;
               fftw_real tmp493;
               fftw_real tmp226;
               fftw_real tmp484;
               fftw_real tmp254;
               fftw_real tmp284;
               fftw_real tmp294;
               fftw_real tmp300;
               fftw_real tmp281;
               fftw_real tmp285;
               fftw_real tmp297;
               fftw_real tmp301;
               ASSERT_ALIGNED_DOUBLE();
               {
                    fftw_real tmp202;
                    fftw_real tmp288;
                    fftw_real tmp289;
                    fftw_real tmp485;
                    fftw_real tmp214;
                    fftw_real tmp225;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp202 = K707106781 * (tmp196 - tmp201);
                    tmp203 = tmp191 - tmp202;
                    tmp287 = tmp191 + tmp202;
                    tmp288 = (K923879532 * tmp208) + (K382683432 * tmp213);
                    tmp289 = (K382683432 * tmp224) - (K923879532 * tmp219);
                    tmp290 = tmp288 + tmp289;
                    tmp492 = tmp289 - tmp288;
                    tmp485 = K707106781 * (tmp305 - tmp304);
                    tmp487 = tmp485 + tmp486;
                    tmp493 = tmp486 - tmp485;
                    tmp214 = (K382683432 * tmp208) - (K923879532 * tmp213);
                    tmp225 = (K382683432 * tmp219) + (K923879532 * tmp224);
                    tmp226 = tmp214 - tmp225;
                    tmp484 = tmp214 + tmp225;
               }
               {
                    fftw_real tmp244;
                    fftw_real tmp253;
                    fftw_real tmp292;
                    fftw_real tmp293;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp244 = tmp232 - tmp243;
                    tmp253 = tmp249 - tmp252;
                    tmp254 = (K980785280 * tmp244) + (K195090322 * tmp253);
                    tmp284 = (K195090322 * tmp244) - (K980785280 * tmp253);
                    tmp292 = tmp232 + tmp243;
                    tmp293 = tmp249 + tmp252;
                    tmp294 = (K555570233 * tmp292) + (K831469612 * tmp293);
                    tmp300 = (K831469612 * tmp292) - (K555570233 * tmp293);
               }
               {
                    fftw_real tmp271;
                    fftw_real tmp280;
                    fftw_real tmp295;
                    fftw_real tmp296;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp271 = tmp259 - tmp270;
                    tmp280 = tmp276 - tmp279;
                    tmp281 = (K195090322 * tmp271) - (K980785280 * tmp280);
                    tmp285 = (K195090322 * tmp280) + (K980785280 * tmp271);
                    tmp295 = tmp259 + tmp270;
                    tmp296 = tmp276 + tmp279;
                    tmp297 = (K831469612 * tmp295) - (K555570233 * tmp296);
                    tmp301 = (K831469612 * tmp296) + (K555570233 * tmp295);
               }
               {
                    fftw_real tmp227;
                    fftw_real tmp282;
                    fftw_real tmp283;
                    fftw_real tmp286;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp227 = tmp203 + tmp226;
                    tmp282 = tmp254 + tmp281;
                    c_re(inout[23 * iostride]) = tmp227 - tmp282;
                    c_re(inout[7 * iostride]) = tmp227 + tmp282;
                    tmp283 = tmp203 - tmp226;
                    tmp286 = tmp284 - tmp285;
                    c_re(inout[31 * iostride]) = tmp283 - tmp286;
                    c_re(inout[15 * iostride]) = tmp283 + tmp286;
               }
               {
                    fftw_real tmp491;
                    fftw_real tmp494;
                    fftw_real tmp495;
                    fftw_real tmp496;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp491 = tmp284 + tmp285;
                    tmp494 = tmp492 + tmp493;
                    c_im(inout[7 * iostride]) = tmp491 + tmp494;
                    c_im(inout[23 * iostride]) = tmp494 - tmp491;
                    tmp495 = tmp281 - tmp254;
                    tmp496 = tmp493 - tmp492;
                    c_im(inout[15 * iostride]) = tmp495 + tmp496;
                    c_im(inout[31 * iostride]) = tmp496 - tmp495;
               }
               {
                    fftw_real tmp291;
                    fftw_real tmp298;
                    fftw_real tmp299;
                    fftw_real tmp302;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp291 = tmp287 + tmp290;
                    tmp298 = tmp294 + tmp297;
                    c_re(inout[19 * iostride]) = tmp291 - tmp298;
                    c_re(inout[3 * iostride]) = tmp291 + tmp298;
                    tmp299 = tmp287 - tmp290;
                    tmp302 = tmp300 - tmp301;
                    c_re(inout[27 * iostride]) = tmp299 - tmp302;
                    c_re(inout[11 * iostride]) = tmp299 + tmp302;
               }
               {
                    fftw_real tmp483;
                    fftw_real tmp488;
                    fftw_real tmp489;
                    fftw_real tmp490;
                    ASSERT_ALIGNED_DOUBLE();
                    tmp483 = tmp300 + tmp301;
                    tmp488 = tmp484 + tmp487;
                    c_im(inout[3 * iostride]) = tmp483 + tmp488;
                    c_im(inout[19 * iostride]) = tmp488 - tmp483;
                    tmp489 = tmp297 - tmp294;
                    tmp490 = tmp487 - tmp484;
                    c_im(inout[11 * iostride]) = tmp489 + tmp490;
                    c_im(inout[27 * iostride]) = tmp490 - tmp489;
               }
          }
     }
}

static const int twiddle_order[] =
{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};
fftw_codelet_desc fftw_twiddle_32_desc =
{
     "fftw_twiddle_32",
     (void (*)()) fftw_twiddle_32,
     32,
     FFTW_FORWARD,
     FFTW_TWIDDLE,
     704,
     31,
     twiddle_order,
};