/*
 * Copyright (c) 1997-1999, 2003 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 Mon Mar 24 02:08:40 EST 2003 */

#include "fftw-int.h"
#include "fftw.h"

/* Generated by: /homee/stevenj/cvs/fftw/gensrc/genfft -magic-alignment-check -magic-twiddle-load-all -magic-variables 4 -magic-loopi -twiddleinv 64 */

/*
 * This function contains 1038 FP additions, 500 FP multiplications,
 * (or, 808 additions, 270 multiplications, 230 fused multiply/add),
 * 162 stack variables, and 256 memory accesses
 */
//static const fftw_real K098017140 =
//FFTW_KONST(+0.098017140329560601994195563888641845861136673);
//static const fftw_real K995184726 =
//FFTW_KONST(+0.995184726672196886244836953109479921575474869);
//static const fftw_real K773010453 =
//FFTW_KONST(+0.773010453362736960810906609758469800971041293);
//static const fftw_real K634393284 =
//FFTW_KONST(+0.634393284163645498215171613225493370675687095);
//static const fftw_real K195090322 =
//FFTW_KONST(+0.195090322016128267848284868477022240927691618);
//static const fftw_real K980785280 =
//FFTW_KONST(+0.980785280403230449126182236134239036973933731);
//static const fftw_real K471396736 =
//FFTW_KONST(+0.471396736825997648556387625905254377657460319);
//static const fftw_real K881921264 =
//FFTW_KONST(+0.881921264348355029712756863660388349508442621);
//static const fftw_real K956940335 =
//FFTW_KONST(+0.956940335732208864935797886980269969482849206);
//static const fftw_real K290284677 =
//FFTW_KONST(+0.290284677254462367636192375817395274691476278);
//static const fftw_real K831469612 =
//FFTW_KONST(+0.831469612302545237078788377617905756738560812);
//static const fftw_real K555570233 =
//FFTW_KONST(+0.555570233019602224742830813948532874374937191);
//static const fftw_real K707106781 =
//FFTW_KONST(+0.707106781186547524400844362104849039284835938);
//static const fftw_real K382683432 =
//FFTW_KONST(+0.382683432365089771728459984030398866761344562);
//static const fftw_real K923879532 =
//FFTW_KONST(+0.923879532511286756128183189396788286822416626);

/*
 * Generator Id's : 
 * $Id: exprdag.ml,v 1.43 2003/03/16 23:43:46 stevenj Exp $
 * $Id: fft.ml,v 1.44 2003/03/16 23:43:46 stevenj Exp $
 * $Id: to_c.ml,v 1.26 2003/03/16 23:43:46 stevenj Exp $
 */

void fftwi_twiddle_64(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 + 63) {
    fftw_real tmp19;
    fftw_real tmp791;
    fftw_real tmp1109;
    fftw_real tmp1139;
    fftw_real tmp1047;
    fftw_real tmp1077;
    fftw_real tmp383;
    fftw_real tmp655;
    fftw_real tmp66;
    fftw_real tmp800;
    fftw_real tmp909;
    fftw_real tmp993;
    fftw_real tmp417;
    fftw_real tmp608;
    fftw_real tmp665;
    fftw_real tmp744;
    fftw_real tmp42;
    fftw_real tmp1076;
    fftw_real tmp794;
    fftw_real tmp1042;
    fftw_real tmp394;
    fftw_real tmp1138;
    fftw_real tmp658;
    fftw_real tmp1106;
    fftw_real tmp329;
    fftw_real tmp1007;
    fftw_real tmp863;
    fftw_real tmp923;
    fftw_real tmp976;
    fftw_real tmp1004;
    fftw_real tmp880;
    fftw_real tmp920;
    fftw_real tmp535;
    fftw_real tmp703;
    fftw_real tmp576;
    fftw_real tmp714;
    fftw_real tmp579;
    fftw_real tmp704;
    fftw_real tmp546;
    fftw_real tmp715;
    fftw_real tmp376;
    fftw_real tmp1005;
    fftw_real tmp868;
    fftw_real tmp881;
    fftw_real tmp979;
    fftw_real tmp1008;
    fftw_real tmp873;
    fftw_real tmp882;
    fftw_real tmp558;
    fftw_real tmp582;
    fftw_real tmp708;
    fftw_real tmp718;
    fftw_real tmp569;
    fftw_real tmp581;
    fftw_real tmp711;
    fftw_real tmp717;
    fftw_real tmp89;
    fftw_real tmp805;
    fftw_real tmp908;
    fftw_real tmp992;
    fftw_real tmp406;
    fftw_real tmp609;
    fftw_real tmp662;
    fftw_real tmp745;
    fftw_real tmp161;
    fftw_real tmp184;
    fftw_real tmp997;
    fftw_real tmp812;
    fftw_real tmp912;
    fftw_real tmp956;
    fftw_real tmp957;
    fftw_real tmp996;
    fftw_real tmp817;
    fftw_real tmp913;
    fftw_real tmp424;
    fftw_real tmp668;
    fftw_real tmp441;
    fftw_real tmp671;
    fftw_real tmp444;
    fftw_real tmp669;
    fftw_real tmp435;
    fftw_real tmp672;
    fftw_real tmp114;
    fftw_real tmp137;
    fftw_real tmp999;
    fftw_real tmp823;
    fftw_real tmp915;
    fftw_real tmp959;
    fftw_real tmp960;
    fftw_real tmp1000;
    fftw_real tmp828;
    fftw_real tmp916;
    fftw_real tmp451;
    fftw_real tmp678;
    fftw_real tmp468;
    fftw_real tmp675;
    fftw_real tmp471;
    fftw_real tmp679;
    fftw_real tmp462;
    fftw_real tmp676;
    fftw_real tmp234;
    fftw_real tmp1014;
    fftw_real tmp836;
    fftw_real tmp930;
    fftw_real tmp967;
    fftw_real tmp1011;
    fftw_real tmp853;
    fftw_real tmp927;
    fftw_real tmp480;
    fftw_real tmp684;
    fftw_real tmp521;
    fftw_real tmp695;
    fftw_real tmp524;
    fftw_real tmp685;
    fftw_real tmp491;
    fftw_real tmp696;
    fftw_real tmp281;
    fftw_real tmp1012;
    fftw_real tmp841;
    fftw_real tmp854;
    fftw_real tmp970;
    fftw_real tmp1015;
    fftw_real tmp846;
    fftw_real tmp855;
    fftw_real tmp503;
    fftw_real tmp527;
    fftw_real tmp689;
    fftw_real tmp699;
    fftw_real tmp514;
    fftw_real tmp526;
    fftw_real tmp692;
    fftw_real tmp698;
    ASSERT_ALIGNED_DOUBLE;
    {
      fftw_real tmp1;
      fftw_real tmp1045;
      fftw_real tmp6;
      fftw_real tmp1044;
      fftw_real tmp12;
      fftw_real tmp380;
      fftw_real tmp17;
      fftw_real tmp381;
      ASSERT_ALIGNED_DOUBLE;
      tmp1 = c_re(inout[0]);
      tmp1045 = c_im(inout[0]);
      {
	fftw_real tmp3;
	fftw_real tmp5;
	fftw_real tmp2;
	fftw_real tmp4;
	ASSERT_ALIGNED_DOUBLE;
	tmp3 = c_re(inout[32 * iostride]);
	tmp5 = c_im(inout[32 * iostride]);
	tmp2 = c_re(W[31]);
	tmp4 = c_im(W[31]);
	tmp6 = (tmp2 * tmp3) + (tmp4 * tmp5);
	tmp1044 = (tmp2 * tmp5) - (tmp4 * tmp3);
      }
      {
	fftw_real tmp9;
	fftw_real tmp11;
	fftw_real tmp8;
	fftw_real tmp10;
	ASSERT_ALIGNED_DOUBLE;
	tmp9 = c_re(inout[16 * iostride]);
	tmp11 = c_im(inout[16 * iostride]);
	tmp8 = c_re(W[15]);
	tmp10 = c_im(W[15]);
	tmp12 = (tmp8 * tmp9) + (tmp10 * tmp11);
	tmp380 = (tmp8 * tmp11) - (tmp10 * tmp9);
      }
      {
	fftw_real tmp14;
	fftw_real tmp16;
	fftw_real tmp13;
	fftw_real tmp15;
	ASSERT_ALIGNED_DOUBLE;
	tmp14 = c_re(inout[48 * iostride]);
	tmp16 = c_im(inout[48 * iostride]);
	tmp13 = c_re(W[47]);
	tmp15 = c_im(W[47]);
	tmp17 = (tmp13 * tmp14) + (tmp15 * tmp16);
	tmp381 = (tmp13 * tmp16) - (tmp15 * tmp14);
      }
      {
	fftw_real tmp7;
	fftw_real tmp18;
	fftw_real tmp1107;
	fftw_real tmp1108;
	ASSERT_ALIGNED_DOUBLE;
	tmp7 = tmp1 + tmp6;
	tmp18 = tmp12 + tmp17;
	tmp19 = tmp7 + tmp18;
	tmp791 = tmp7 - tmp18;
	tmp1107 = tmp12 - tmp17;
	tmp1108 = tmp1045 - tmp1044;
	tmp1109 = tmp1107 + tmp1108;
	tmp1139 = tmp1108 - tmp1107;
      }
      {
	fftw_real tmp1043;
	fftw_real tmp1046;
	fftw_real tmp379;
	fftw_real tmp382;
	ASSERT_ALIGNED_DOUBLE;
	tmp1043 = tmp380 + tmp381;
	tmp1046 = tmp1044 + tmp1045;
	tmp1047 = tmp1043 + tmp1046;
	tmp1077 = tmp1046 - tmp1043;
	tmp379 = tmp1 - tmp6;
	tmp382 = tmp380 - tmp381;
	tmp383 = tmp379 - tmp382;
	tmp655 = tmp379 + tmp382;
      }
    }
    {
      fftw_real tmp54;
      fftw_real tmp412;
      fftw_real tmp409;
      fftw_real tmp797;
      fftw_real tmp65;
      fftw_real tmp410;
      fftw_real tmp415;
      fftw_real tmp798;
      fftw_real tmp796;
      fftw_real tmp799;
      ASSERT_ALIGNED_DOUBLE;
      {
	fftw_real tmp48;
	fftw_real tmp407;
	fftw_real tmp53;
	fftw_real tmp408;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp45;
	  fftw_real tmp47;
	  fftw_real tmp44;
	  fftw_real tmp46;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp45 = c_re(inout[4 * iostride]);
	  tmp47 = c_im(inout[4 * iostride]);
	  tmp44 = c_re(W[3]);
	  tmp46 = c_im(W[3]);
	  tmp48 = (tmp44 * tmp45) + (tmp46 * tmp47);
	  tmp407 = (tmp44 * tmp47) - (tmp46 * tmp45);
	}
	{
	  fftw_real tmp50;
	  fftw_real tmp52;
	  fftw_real tmp49;
	  fftw_real tmp51;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp50 = c_re(inout[36 * iostride]);
	  tmp52 = c_im(inout[36 * iostride]);
	  tmp49 = c_re(W[35]);
	  tmp51 = c_im(W[35]);
	  tmp53 = (tmp49 * tmp50) + (tmp51 * tmp52);
	  tmp408 = (tmp49 * tmp52) - (tmp51 * tmp50);
	}
	tmp54 = tmp48 + tmp53;
	tmp412 = tmp48 - tmp53;
	tmp409 = tmp407 - tmp408;
	tmp797 = tmp407 + tmp408;
      }
      {
	fftw_real tmp59;
	fftw_real tmp413;
	fftw_real tmp64;
	fftw_real tmp414;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp56;
	  fftw_real tmp58;
	  fftw_real tmp55;
	  fftw_real tmp57;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp56 = c_re(inout[20 * iostride]);
	  tmp58 = c_im(inout[20 * iostride]);
	  tmp55 = c_re(W[19]);
	  tmp57 = c_im(W[19]);
	  tmp59 = (tmp55 * tmp56) + (tmp57 * tmp58);
	  tmp413 = (tmp55 * tmp58) - (tmp57 * tmp56);
	}
	{
	  fftw_real tmp61;
	  fftw_real tmp63;
	  fftw_real tmp60;
	  fftw_real tmp62;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp61 = c_re(inout[52 * iostride]);
	  tmp63 = c_im(inout[52 * iostride]);
	  tmp60 = c_re(W[51]);
	  tmp62 = c_im(W[51]);
	  tmp64 = (tmp60 * tmp61) + (tmp62 * tmp63);
	  tmp414 = (tmp60 * tmp63) - (tmp62 * tmp61);
	}
	tmp65 = tmp59 + tmp64;
	tmp410 = tmp59 - tmp64;
	tmp415 = tmp413 - tmp414;
	tmp798 = tmp413 + tmp414;
      }
      tmp66 = tmp54 + tmp65;
      tmp796 = tmp54 - tmp65;
      tmp799 = tmp797 - tmp798;
      tmp800 = tmp796 - tmp799;
      tmp909 = tmp796 + tmp799;
      tmp993 = tmp797 + tmp798;
      {
	fftw_real tmp411;
	fftw_real tmp416;
	fftw_real tmp663;
	fftw_real tmp664;
	ASSERT_ALIGNED_DOUBLE;
	tmp411 = tmp409 + tmp410;
	tmp416 = tmp412 - tmp415;
	tmp417 = (K923879532 * tmp411) + (K382683432 * tmp416);
	tmp608 = (K923879532 * tmp416) - (K382683432 * tmp411);
	tmp663 = tmp409 - tmp410;
	tmp664 = tmp412 + tmp415;
	tmp665 = (K382683432 * tmp663) + (K923879532 * tmp664);
	tmp744 = (K382683432 * tmp664) - (K923879532 * tmp663);
      }
    }
    {
      fftw_real tmp24;
      fftw_real tmp385;
      fftw_real tmp29;
      fftw_real tmp386;
      fftw_real tmp384;
      fftw_real tmp387;
      fftw_real tmp35;
      fftw_real tmp390;
      fftw_real tmp40;
      fftw_real tmp391;
      fftw_real tmp389;
      fftw_real tmp392;
      ASSERT_ALIGNED_DOUBLE;
      {
	fftw_real tmp21;
	fftw_real tmp23;
	fftw_real tmp20;
	fftw_real tmp22;
	ASSERT_ALIGNED_DOUBLE;
	tmp21 = c_re(inout[8 * iostride]);
	tmp23 = c_im(inout[8 * iostride]);
	tmp20 = c_re(W[7]);
	tmp22 = c_im(W[7]);
	tmp24 = (tmp20 * tmp21) + (tmp22 * tmp23);
	tmp385 = (tmp20 * tmp23) - (tmp22 * tmp21);
      }
      {
	fftw_real tmp26;
	fftw_real tmp28;
	fftw_real tmp25;
	fftw_real tmp27;
	ASSERT_ALIGNED_DOUBLE;
	tmp26 = c_re(inout[40 * iostride]);
	tmp28 = c_im(inout[40 * iostride]);
	tmp25 = c_re(W[39]);
	tmp27 = c_im(W[39]);
	tmp29 = (tmp25 * tmp26) + (tmp27 * tmp28);
	tmp386 = (tmp25 * tmp28) - (tmp27 * tmp26);
      }
      tmp384 = tmp24 - tmp29;
      tmp387 = tmp385 - tmp386;
      {
	fftw_real tmp32;
	fftw_real tmp34;
	fftw_real tmp31;
	fftw_real tmp33;
	ASSERT_ALIGNED_DOUBLE;
	tmp32 = c_re(inout[56 * iostride]);
	tmp34 = c_im(inout[56 * iostride]);
	tmp31 = c_re(W[55]);
	tmp33 = c_im(W[55]);
	tmp35 = (tmp31 * tmp32) + (tmp33 * tmp34);
	tmp390 = (tmp31 * tmp34) - (tmp33 * tmp32);
      }
      {
	fftw_real tmp37;
	fftw_real tmp39;
	fftw_real tmp36;
	fftw_real tmp38;
	ASSERT_ALIGNED_DOUBLE;
	tmp37 = c_re(inout[24 * iostride]);
	tmp39 = c_im(inout[24 * iostride]);
	tmp36 = c_re(W[23]);
	tmp38 = c_im(W[23]);
	tmp40 = (tmp36 * tmp37) + (tmp38 * tmp39);
	tmp391 = (tmp36 * tmp39) - (tmp38 * tmp37);
      }
      tmp389 = tmp35 - tmp40;
      tmp392 = tmp390 - tmp391;
      {
	fftw_real tmp30;
	fftw_real tmp41;
	fftw_real tmp792;
	fftw_real tmp793;
	ASSERT_ALIGNED_DOUBLE;
	tmp30 = tmp24 + tmp29;
	tmp41 = tmp35 + tmp40;
	tmp42 = tmp30 + tmp41;
	tmp1076 = tmp30 - tmp41;
	tmp792 = tmp390 + tmp391;
	tmp793 = tmp385 + tmp386;
	tmp794 = tmp792 - tmp793;
	tmp1042 = tmp793 + tmp792;
      }
      {
	fftw_real tmp388;
	fftw_real tmp393;
	fftw_real tmp656;
	fftw_real tmp657;
	ASSERT_ALIGNED_DOUBLE;
	tmp388 = tmp384 - tmp387;
	tmp393 = tmp389 + tmp392;
	tmp394 = K707106781 * (tmp388 + tmp393);
	tmp1138 = K707106781 * (tmp388 - tmp393);
	tmp656 = tmp392 - tmp389;
	tmp657 = tmp384 + tmp387;
	tmp658 = K707106781 * (tmp656 - tmp657);
	tmp1106 = K707106781 * (tmp657 + tmp656);
      }
    }
    {
      fftw_real tmp287;
      fftw_real tmp572;
      fftw_real tmp292;
      fftw_real tmp573;
      fftw_real tmp293;
      fftw_real tmp876;
      fftw_real tmp327;
      fftw_real tmp541;
      fftw_real tmp544;
      fftw_real tmp860;
      fftw_real tmp298;
      fftw_real tmp532;
      fftw_real tmp303;
      fftw_real tmp533;
      fftw_real tmp304;
      fftw_real tmp877;
      fftw_real tmp316;
      fftw_real tmp536;
      fftw_real tmp539;
      fftw_real tmp861;
      ASSERT_ALIGNED_DOUBLE;
      {
	fftw_real tmp284;
	fftw_real tmp286;
	fftw_real tmp283;
	fftw_real tmp285;
	ASSERT_ALIGNED_DOUBLE;
	tmp284 = c_re(inout[63 * iostride]);
	tmp286 = c_im(inout[63 * iostride]);
	tmp283 = c_re(W[62]);
	tmp285 = c_im(W[62]);
	tmp287 = (tmp283 * tmp284) + (tmp285 * tmp286);
	tmp572 = (tmp283 * tmp286) - (tmp285 * tmp284);
      }
      {
	fftw_real tmp289;
	fftw_real tmp291;
	fftw_real tmp288;
	fftw_real tmp290;
	ASSERT_ALIGNED_DOUBLE;
	tmp289 = c_re(inout[31 * iostride]);
	tmp291 = c_im(inout[31 * iostride]);
	tmp288 = c_re(W[30]);
	tmp290 = c_im(W[30]);
	tmp292 = (tmp288 * tmp289) + (tmp290 * tmp291);
	tmp573 = (tmp288 * tmp291) - (tmp290 * tmp289);
      }
      tmp293 = tmp287 + tmp292;
      tmp876 = tmp572 + tmp573;
      {
	fftw_real tmp321;
	fftw_real tmp542;
	fftw_real tmp326;
	fftw_real tmp543;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp318;
	  fftw_real tmp320;
	  fftw_real tmp317;
	  fftw_real tmp319;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp318 = c_re(inout[55 * iostride]);
	  tmp320 = c_im(inout[55 * iostride]);
	  tmp317 = c_re(W[54]);
	  tmp319 = c_im(W[54]);
	  tmp321 = (tmp317 * tmp318) + (tmp319 * tmp320);
	  tmp542 = (tmp317 * tmp320) - (tmp319 * tmp318);
	}
	{
	  fftw_real tmp323;
	  fftw_real tmp325;
	  fftw_real tmp322;
	  fftw_real tmp324;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp323 = c_re(inout[23 * iostride]);
	  tmp325 = c_im(inout[23 * iostride]);
	  tmp322 = c_re(W[22]);
	  tmp324 = c_im(W[22]);
	  tmp326 = (tmp322 * tmp323) + (tmp324 * tmp325);
	  tmp543 = (tmp322 * tmp325) - (tmp324 * tmp323);
	}
	tmp327 = tmp321 + tmp326;
	tmp541 = tmp321 - tmp326;
	tmp544 = tmp542 - tmp543;
	tmp860 = tmp542 + tmp543;
      }
      {
	fftw_real tmp295;
	fftw_real tmp297;
	fftw_real tmp294;
	fftw_real tmp296;
	ASSERT_ALIGNED_DOUBLE;
	tmp295 = c_re(inout[15 * iostride]);
	tmp297 = c_im(inout[15 * iostride]);
	tmp294 = c_re(W[14]);
	tmp296 = c_im(W[14]);
	tmp298 = (tmp294 * tmp295) + (tmp296 * tmp297);
	tmp532 = (tmp294 * tmp297) - (tmp296 * tmp295);
      }
      {
	fftw_real tmp300;
	fftw_real tmp302;
	fftw_real tmp299;
	fftw_real tmp301;
	ASSERT_ALIGNED_DOUBLE;
	tmp300 = c_re(inout[47 * iostride]);
	tmp302 = c_im(inout[47 * iostride]);
	tmp299 = c_re(W[46]);
	tmp301 = c_im(W[46]);
	tmp303 = (tmp299 * tmp300) + (tmp301 * tmp302);
	tmp533 = (tmp299 * tmp302) - (tmp301 * tmp300);
      }
      tmp304 = tmp298 + tmp303;
      tmp877 = tmp532 + tmp533;
      {
	fftw_real tmp310;
	fftw_real tmp537;
	fftw_real tmp315;
	fftw_real tmp538;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp307;
	  fftw_real tmp309;
	  fftw_real tmp306;
	  fftw_real tmp308;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp307 = c_re(inout[7 * iostride]);
	  tmp309 = c_im(inout[7 * iostride]);
	  tmp306 = c_re(W[6]);
	  tmp308 = c_im(W[6]);
	  tmp310 = (tmp306 * tmp307) + (tmp308 * tmp309);
	  tmp537 = (tmp306 * tmp309) - (tmp308 * tmp307);
	}
	{
	  fftw_real tmp312;
	  fftw_real tmp314;
	  fftw_real tmp311;
	  fftw_real tmp313;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp312 = c_re(inout[39 * iostride]);
	  tmp314 = c_im(inout[39 * iostride]);
	  tmp311 = c_re(W[38]);
	  tmp313 = c_im(W[38]);
	  tmp315 = (tmp311 * tmp312) + (tmp313 * tmp314);
	  tmp538 = (tmp311 * tmp314) - (tmp313 * tmp312);
	}
	tmp316 = tmp310 + tmp315;
	tmp536 = tmp310 - tmp315;
	tmp539 = tmp537 - tmp538;
	tmp861 = tmp537 + tmp538;
      }
      {
	fftw_real tmp305;
	fftw_real tmp328;
	fftw_real tmp859;
	fftw_real tmp862;
	ASSERT_ALIGNED_DOUBLE;
	tmp305 = tmp293 + tmp304;
	tmp328 = tmp316 + tmp327;
	tmp329 = tmp305 + tmp328;
	tmp1007 = tmp305 - tmp328;
	tmp859 = tmp293 - tmp304;
	tmp862 = tmp860 - tmp861;
	tmp863 = tmp859 + tmp862;
	tmp923 = tmp859 - tmp862;
      }
      {
	fftw_real tmp974;
	fftw_real tmp975;
	fftw_real tmp878;
	fftw_real tmp879;
	ASSERT_ALIGNED_DOUBLE;
	tmp974 = tmp876 + tmp877;
	tmp975 = tmp861 + tmp860;
	tmp976 = tmp974 + tmp975;
	tmp1004 = tmp974 - tmp975;
	tmp878 = tmp876 - tmp877;
	tmp879 = tmp316 - tmp327;
	tmp880 = tmp878 + tmp879;
	tmp920 = tmp878 - tmp879;
      }
      {
	fftw_real tmp531;
	fftw_real tmp534;
	fftw_real tmp574;
	fftw_real tmp575;
	ASSERT_ALIGNED_DOUBLE;
	tmp531 = tmp287 - tmp292;
	tmp534 = tmp532 - tmp533;
	tmp535 = tmp531 - tmp534;
	tmp703 = tmp531 + tmp534;
	tmp574 = tmp572 - tmp573;
	tmp575 = tmp298 - tmp303;
	tmp576 = tmp574 + tmp575;
	tmp714 = tmp574 - tmp575;
      }
      {
	fftw_real tmp577;
	fftw_real tmp578;
	fftw_real tmp540;
	fftw_real tmp545;
	ASSERT_ALIGNED_DOUBLE;
	tmp577 = tmp536 + tmp539;
	tmp578 = tmp544 - tmp541;
	tmp579 = K707106781 * (tmp577 + tmp578);
	tmp704 = K707106781 * (tmp578 - tmp577);
	tmp540 = tmp536 - tmp539;
	tmp545 = tmp541 + tmp544;
	tmp546 = K707106781 * (tmp540 + tmp545);
	tmp715 = K707106781 * (tmp540 - tmp545);
      }
    }
    {
      fftw_real tmp340;
      fftw_real tmp564;
      fftw_real tmp561;
      fftw_real tmp865;
      fftw_real tmp374;
      fftw_real tmp551;
      fftw_real tmp556;
      fftw_real tmp871;
      fftw_real tmp351;
      fftw_real tmp562;
      fftw_real tmp567;
      fftw_real tmp866;
      fftw_real tmp363;
      fftw_real tmp553;
      fftw_real tmp550;
      fftw_real tmp870;
      ASSERT_ALIGNED_DOUBLE;
      {
	fftw_real tmp334;
	fftw_real tmp559;
	fftw_real tmp339;
	fftw_real tmp560;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp331;
	  fftw_real tmp333;
	  fftw_real tmp330;
	  fftw_real tmp332;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp331 = c_re(inout[3 * iostride]);
	  tmp333 = c_im(inout[3 * iostride]);
	  tmp330 = c_re(W[2]);
	  tmp332 = c_im(W[2]);
	  tmp334 = (tmp330 * tmp331) + (tmp332 * tmp333);
	  tmp559 = (tmp330 * tmp333) - (tmp332 * tmp331);
	}
	{
	  fftw_real tmp336;
	  fftw_real tmp338;
	  fftw_real tmp335;
	  fftw_real tmp337;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp336 = c_re(inout[35 * iostride]);
	  tmp338 = c_im(inout[35 * iostride]);
	  tmp335 = c_re(W[34]);
	  tmp337 = c_im(W[34]);
	  tmp339 = (tmp335 * tmp336) + (tmp337 * tmp338);
	  tmp560 = (tmp335 * tmp338) - (tmp337 * tmp336);
	}
	tmp340 = tmp334 + tmp339;
	tmp564 = tmp334 - tmp339;
	tmp561 = tmp559 - tmp560;
	tmp865 = tmp559 + tmp560;
      }
      {
	fftw_real tmp368;
	fftw_real tmp554;
	fftw_real tmp373;
	fftw_real tmp555;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp365;
	  fftw_real tmp367;
	  fftw_real tmp364;
	  fftw_real tmp366;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp365 = c_re(inout[11 * iostride]);
	  tmp367 = c_im(inout[11 * iostride]);
	  tmp364 = c_re(W[10]);
	  tmp366 = c_im(W[10]);
	  tmp368 = (tmp364 * tmp365) + (tmp366 * tmp367);
	  tmp554 = (tmp364 * tmp367) - (tmp366 * tmp365);
	}
	{
	  fftw_real tmp370;
	  fftw_real tmp372;
	  fftw_real tmp369;
	  fftw_real tmp371;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp370 = c_re(inout[43 * iostride]);
	  tmp372 = c_im(inout[43 * iostride]);
	  tmp369 = c_re(W[42]);
	  tmp371 = c_im(W[42]);
	  tmp373 = (tmp369 * tmp370) + (tmp371 * tmp372);
	  tmp555 = (tmp369 * tmp372) - (tmp371 * tmp370);
	}
	tmp374 = tmp368 + tmp373;
	tmp551 = tmp368 - tmp373;
	tmp556 = tmp554 - tmp555;
	tmp871 = tmp554 + tmp555;
      }
      {
	fftw_real tmp345;
	fftw_real tmp565;
	fftw_real tmp350;
	fftw_real tmp566;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp342;
	  fftw_real tmp344;
	  fftw_real tmp341;
	  fftw_real tmp343;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp342 = c_re(inout[19 * iostride]);
	  tmp344 = c_im(inout[19 * iostride]);
	  tmp341 = c_re(W[18]);
	  tmp343 = c_im(W[18]);
	  tmp345 = (tmp341 * tmp342) + (tmp343 * tmp344);
	  tmp565 = (tmp341 * tmp344) - (tmp343 * tmp342);
	}
	{
	  fftw_real tmp347;
	  fftw_real tmp349;
	  fftw_real tmp346;
	  fftw_real tmp348;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp347 = c_re(inout[51 * iostride]);
	  tmp349 = c_im(inout[51 * iostride]);
	  tmp346 = c_re(W[50]);
	  tmp348 = c_im(W[50]);
	  tmp350 = (tmp346 * tmp347) + (tmp348 * tmp349);
	  tmp566 = (tmp346 * tmp349) - (tmp348 * tmp347);
	}
	tmp351 = tmp345 + tmp350;
	tmp562 = tmp345 - tmp350;
	tmp567 = tmp565 - tmp566;
	tmp866 = tmp565 + tmp566;
      }
      {
	fftw_real tmp357;
	fftw_real tmp548;
	fftw_real tmp362;
	fftw_real tmp549;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp354;
	  fftw_real tmp356;
	  fftw_real tmp353;
	  fftw_real tmp355;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp354 = c_re(inout[59 * iostride]);
	  tmp356 = c_im(inout[59 * iostride]);
	  tmp353 = c_re(W[58]);
	  tmp355 = c_im(W[58]);
	  tmp357 = (tmp353 * tmp354) + (tmp355 * tmp356);
	  tmp548 = (tmp353 * tmp356) - (tmp355 * tmp354);
	}
	{
	  fftw_real tmp359;
	  fftw_real tmp361;
	  fftw_real tmp358;
	  fftw_real tmp360;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp359 = c_re(inout[27 * iostride]);
	  tmp361 = c_im(inout[27 * iostride]);
	  tmp358 = c_re(W[26]);
	  tmp360 = c_im(W[26]);
	  tmp362 = (tmp358 * tmp359) + (tmp360 * tmp361);
	  tmp549 = (tmp358 * tmp361) - (tmp360 * tmp359);
	}
	tmp363 = tmp357 + tmp362;
	tmp553 = tmp357 - tmp362;
	tmp550 = tmp548 - tmp549;
	tmp870 = tmp548 + tmp549;
      }
      {
	fftw_real tmp352;
	fftw_real tmp375;
	fftw_real tmp864;
	fftw_real tmp867;
	ASSERT_ALIGNED_DOUBLE;
	tmp352 = tmp340 + tmp351;
	tmp375 = tmp363 + tmp374;
	tmp376 = tmp352 + tmp375;
	tmp1005 = tmp352 - tmp375;
	tmp864 = tmp340 - tmp351;
	tmp867 = tmp865 - tmp866;
	tmp868 = tmp864 - tmp867;
	tmp881 = tmp864 + tmp867;
      }
      {
	fftw_real tmp977;
	fftw_real tmp978;
	fftw_real tmp869;
	fftw_real tmp872;
	ASSERT_ALIGNED_DOUBLE;
	tmp977 = tmp865 + tmp866;
	tmp978 = tmp870 + tmp871;
	tmp979 = tmp977 + tmp978;
	tmp1008 = tmp978 - tmp977;
	tmp869 = tmp363 - tmp374;
	tmp872 = tmp870 - tmp871;
	tmp873 = tmp869 + tmp872;
	tmp882 = tmp872 - tmp869;
      }
      {
	fftw_real tmp552;
	fftw_real tmp557;
	fftw_real tmp706;
	fftw_real tmp707;
	ASSERT_ALIGNED_DOUBLE;
	tmp552 = tmp550 + tmp551;
	tmp557 = tmp553 - tmp556;
	tmp558 = (K923879532 * tmp552) - (K382683432 * tmp557);
	tmp582 = (K382683432 * tmp552) + (K923879532 * tmp557);
	tmp706 = tmp550 - tmp551;
	tmp707 = tmp553 + tmp556;
	tmp708 = (K382683432 * tmp706) - (K923879532 * tmp707);
	tmp718 = (K923879532 * tmp706) + (K382683432 * tmp707);
      }
      {
	fftw_real tmp563;
	fftw_real tmp568;
	fftw_real tmp709;
	fftw_real tmp710;
	ASSERT_ALIGNED_DOUBLE;
	tmp563 = tmp561 + tmp562;
	tmp568 = tmp564 - tmp567;
	tmp569 = (K923879532 * tmp563) + (K382683432 * tmp568);
	tmp581 = (K923879532 * tmp568) - (K382683432 * tmp563);
	tmp709 = tmp561 - tmp562;
	tmp710 = tmp564 + tmp567;
	tmp711 = (K382683432 * tmp709) + (K923879532 * tmp710);
	tmp717 = (K382683432 * tmp710) - (K923879532 * tmp709);
      }
    }
    {
      fftw_real tmp77;
      fftw_real tmp401;
      fftw_real tmp398;
      fftw_real tmp802;
      fftw_real tmp88;
      fftw_real tmp399;
      fftw_real tmp404;
      fftw_real tmp803;
      fftw_real tmp801;
      fftw_real tmp804;
      ASSERT_ALIGNED_DOUBLE;
      {
	fftw_real tmp71;
	fftw_real tmp396;
	fftw_real tmp76;
	fftw_real tmp397;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp68;
	  fftw_real tmp70;
	  fftw_real tmp67;
	  fftw_real tmp69;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp68 = c_re(inout[60 * iostride]);
	  tmp70 = c_im(inout[60 * iostride]);
	  tmp67 = c_re(W[59]);
	  tmp69 = c_im(W[59]);
	  tmp71 = (tmp67 * tmp68) + (tmp69 * tmp70);
	  tmp396 = (tmp67 * tmp70) - (tmp69 * tmp68);
	}
	{
	  fftw_real tmp73;
	  fftw_real tmp75;
	  fftw_real tmp72;
	  fftw_real tmp74;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp73 = c_re(inout[28 * iostride]);
	  tmp75 = c_im(inout[28 * iostride]);
	  tmp72 = c_re(W[27]);
	  tmp74 = c_im(W[27]);
	  tmp76 = (tmp72 * tmp73) + (tmp74 * tmp75);
	  tmp397 = (tmp72 * tmp75) - (tmp74 * tmp73);
	}
	tmp77 = tmp71 + tmp76;
	tmp401 = tmp71 - tmp76;
	tmp398 = tmp396 - tmp397;
	tmp802 = tmp396 + tmp397;
      }
      {
	fftw_real tmp82;
	fftw_real tmp402;
	fftw_real tmp87;
	fftw_real tmp403;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp79;
	  fftw_real tmp81;
	  fftw_real tmp78;
	  fftw_real tmp80;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp79 = c_re(inout[12 * iostride]);
	  tmp81 = c_im(inout[12 * iostride]);
	  tmp78 = c_re(W[11]);
	  tmp80 = c_im(W[11]);
	  tmp82 = (tmp78 * tmp79) + (tmp80 * tmp81);
	  tmp402 = (tmp78 * tmp81) - (tmp80 * tmp79);
	}
	{
	  fftw_real tmp84;
	  fftw_real tmp86;
	  fftw_real tmp83;
	  fftw_real tmp85;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp84 = c_re(inout[44 * iostride]);
	  tmp86 = c_im(inout[44 * iostride]);
	  tmp83 = c_re(W[43]);
	  tmp85 = c_im(W[43]);
	  tmp87 = (tmp83 * tmp84) + (tmp85 * tmp86);
	  tmp403 = (tmp83 * tmp86) - (tmp85 * tmp84);
	}
	tmp88 = tmp82 + tmp87;
	tmp399 = tmp82 - tmp87;
	tmp404 = tmp402 - tmp403;
	tmp803 = tmp402 + tmp403;
      }
      tmp89 = tmp77 + tmp88;
      tmp801 = tmp77 - tmp88;
      tmp804 = tmp802 - tmp803;
      tmp805 = tmp801 + tmp804;
      tmp908 = tmp804 - tmp801;
      tmp992 = tmp802 + tmp803;
      {
	fftw_real tmp400;
	fftw_real tmp405;
	fftw_real tmp660;
	fftw_real tmp661;
	ASSERT_ALIGNED_DOUBLE;
	tmp400 = tmp398 + tmp399;
	tmp405 = tmp401 - tmp404;
	tmp406 = (K923879532 * tmp400) - (K382683432 * tmp405);
	tmp609 = (K382683432 * tmp400) + (K923879532 * tmp405);
	tmp660 = tmp398 - tmp399;
	tmp661 = tmp401 + tmp404;
	tmp662 = (K382683432 * tmp660) - (K923879532 * tmp661);
	tmp745 = (K923879532 * tmp660) + (K382683432 * tmp661);
      }
    }
    {
      fftw_real tmp143;
      fftw_real tmp420;
      fftw_real tmp148;
      fftw_real tmp421;
      fftw_real tmp149;
      fftw_real tmp808;
      fftw_real tmp183;
      fftw_real tmp433;
      fftw_real tmp432;
      fftw_real tmp814;
      fftw_real tmp154;
      fftw_real tmp438;
      fftw_real tmp159;
      fftw_real tmp439;
      fftw_real tmp160;
      fftw_real tmp809;
      fftw_real tmp172;
      fftw_real tmp425;
      fftw_real tmp428;
      fftw_real tmp815;
      ASSERT_ALIGNED_DOUBLE;
      {
	fftw_real tmp140;
	fftw_real tmp142;
	fftw_real tmp139;
	fftw_real tmp141;
	ASSERT_ALIGNED_DOUBLE;
	tmp140 = c_re(inout[62 * iostride]);
	tmp142 = c_im(inout[62 * iostride]);
	tmp139 = c_re(W[61]);
	tmp141 = c_im(W[61]);
	tmp143 = (tmp139 * tmp140) + (tmp141 * tmp142);
	tmp420 = (tmp139 * tmp142) - (tmp141 * tmp140);
      }
      {
	fftw_real tmp145;
	fftw_real tmp147;
	fftw_real tmp144;
	fftw_real tmp146;
	ASSERT_ALIGNED_DOUBLE;
	tmp145 = c_re(inout[30 * iostride]);
	tmp147 = c_im(inout[30 * iostride]);
	tmp144 = c_re(W[29]);
	tmp146 = c_im(W[29]);
	tmp148 = (tmp144 * tmp145) + (tmp146 * tmp147);
	tmp421 = (tmp144 * tmp147) - (tmp146 * tmp145);
      }
      tmp149 = tmp143 + tmp148;
      tmp808 = tmp420 + tmp421;
      {
	fftw_real tmp177;
	fftw_real tmp430;
	fftw_real tmp182;
	fftw_real tmp431;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp174;
	  fftw_real tmp176;
	  fftw_real tmp173;
	  fftw_real tmp175;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp174 = c_re(inout[54 * iostride]);
	  tmp176 = c_im(inout[54 * iostride]);
	  tmp173 = c_re(W[53]);
	  tmp175 = c_im(W[53]);
	  tmp177 = (tmp173 * tmp174) + (tmp175 * tmp176);
	  tmp430 = (tmp173 * tmp176) - (tmp175 * tmp174);
	}
	{
	  fftw_real tmp179;
	  fftw_real tmp181;
	  fftw_real tmp178;
	  fftw_real tmp180;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp179 = c_re(inout[22 * iostride]);
	  tmp181 = c_im(inout[22 * iostride]);
	  tmp178 = c_re(W[21]);
	  tmp180 = c_im(W[21]);
	  tmp182 = (tmp178 * tmp179) + (tmp180 * tmp181);
	  tmp431 = (tmp178 * tmp181) - (tmp180 * tmp179);
	}
	tmp183 = tmp177 + tmp182;
	tmp433 = tmp177 - tmp182;
	tmp432 = tmp430 - tmp431;
	tmp814 = tmp430 + tmp431;
      }
      {
	fftw_real tmp151;
	fftw_real tmp153;
	fftw_real tmp150;
	fftw_real tmp152;
	ASSERT_ALIGNED_DOUBLE;
	tmp151 = c_re(inout[14 * iostride]);
	tmp153 = c_im(inout[14 * iostride]);
	tmp150 = c_re(W[13]);
	tmp152 = c_im(W[13]);
	tmp154 = (tmp150 * tmp151) + (tmp152 * tmp153);
	tmp438 = (tmp150 * tmp153) - (tmp152 * tmp151);
      }
      {
	fftw_real tmp156;
	fftw_real tmp158;
	fftw_real tmp155;
	fftw_real tmp157;
	ASSERT_ALIGNED_DOUBLE;
	tmp156 = c_re(inout[46 * iostride]);
	tmp158 = c_im(inout[46 * iostride]);
	tmp155 = c_re(W[45]);
	tmp157 = c_im(W[45]);
	tmp159 = (tmp155 * tmp156) + (tmp157 * tmp158);
	tmp439 = (tmp155 * tmp158) - (tmp157 * tmp156);
      }
      tmp160 = tmp154 + tmp159;
      tmp809 = tmp438 + tmp439;
      {
	fftw_real tmp166;
	fftw_real tmp426;
	fftw_real tmp171;
	fftw_real tmp427;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp163;
	  fftw_real tmp165;
	  fftw_real tmp162;
	  fftw_real tmp164;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp163 = c_re(inout[6 * iostride]);
	  tmp165 = c_im(inout[6 * iostride]);
	  tmp162 = c_re(W[5]);
	  tmp164 = c_im(W[5]);
	  tmp166 = (tmp162 * tmp163) + (tmp164 * tmp165);
	  tmp426 = (tmp162 * tmp165) - (tmp164 * tmp163);
	}
	{
	  fftw_real tmp168;
	  fftw_real tmp170;
	  fftw_real tmp167;
	  fftw_real tmp169;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp168 = c_re(inout[38 * iostride]);
	  tmp170 = c_im(inout[38 * iostride]);
	  tmp167 = c_re(W[37]);
	  tmp169 = c_im(W[37]);
	  tmp171 = (tmp167 * tmp168) + (tmp169 * tmp170);
	  tmp427 = (tmp167 * tmp170) - (tmp169 * tmp168);
	}
	tmp172 = tmp166 + tmp171;
	tmp425 = tmp166 - tmp171;
	tmp428 = tmp426 - tmp427;
	tmp815 = tmp426 + tmp427;
      }
      {
	fftw_real tmp810;
	fftw_real tmp811;
	fftw_real tmp813;
	fftw_real tmp816;
	ASSERT_ALIGNED_DOUBLE;
	tmp161 = tmp149 + tmp160;
	tmp184 = tmp172 + tmp183;
	tmp997 = tmp161 - tmp184;
	tmp810 = tmp808 - tmp809;
	tmp811 = tmp172 - tmp183;
	tmp812 = tmp810 + tmp811;
	tmp912 = tmp810 - tmp811;
	tmp956 = tmp808 + tmp809;
	tmp957 = tmp815 + tmp814;
	tmp996 = tmp956 - tmp957;
	tmp813 = tmp149 - tmp160;
	tmp816 = tmp814 - tmp815;
	tmp817 = tmp813 + tmp816;
	tmp913 = tmp813 - tmp816;
      }
      {
	fftw_real tmp422;
	fftw_real tmp423;
	fftw_real tmp437;
	fftw_real tmp440;
	ASSERT_ALIGNED_DOUBLE;
	tmp422 = tmp420 - tmp421;
	tmp423 = tmp154 - tmp159;
	tmp424 = tmp422 + tmp423;
	tmp668 = tmp422 - tmp423;
	tmp437 = tmp143 - tmp148;
	tmp440 = tmp438 - tmp439;
	tmp441 = tmp437 - tmp440;
	tmp671 = tmp437 + tmp440;
      }
      {
	fftw_real tmp442;
	fftw_real tmp443;
	fftw_real tmp429;
	fftw_real tmp434;
	ASSERT_ALIGNED_DOUBLE;
	tmp442 = tmp425 - tmp428;
	tmp443 = tmp433 + tmp432;
	tmp444 = K707106781 * (tmp442 + tmp443);
	tmp669 = K707106781 * (tmp442 - tmp443);
	tmp429 = tmp425 + tmp428;
	tmp434 = tmp432 - tmp433;
	tmp435 = K707106781 * (tmp429 + tmp434);
	tmp672 = K707106781 * (tmp434 - tmp429);
      }
    }
    {
      fftw_real tmp96;
      fftw_real tmp464;
      fftw_real tmp101;
      fftw_real tmp465;
      fftw_real tmp102;
      fftw_real tmp819;
      fftw_real tmp136;
      fftw_real tmp457;
      fftw_real tmp460;
      fftw_real tmp825;
      fftw_real tmp107;
      fftw_real tmp448;
      fftw_real tmp112;
      fftw_real tmp449;
      fftw_real tmp113;
      fftw_real tmp820;
      fftw_real tmp125;
      fftw_real tmp452;
      fftw_real tmp455;
      fftw_real tmp826;
      ASSERT_ALIGNED_DOUBLE;
      {
	fftw_real tmp93;
	fftw_real tmp95;
	fftw_real tmp92;
	fftw_real tmp94;
	ASSERT_ALIGNED_DOUBLE;
	tmp93 = c_re(inout[2 * iostride]);
	tmp95 = c_im(inout[2 * iostride]);
	tmp92 = c_re(W[1]);
	tmp94 = c_im(W[1]);
	tmp96 = (tmp92 * tmp93) + (tmp94 * tmp95);
	tmp464 = (tmp92 * tmp95) - (tmp94 * tmp93);
      }
      {
	fftw_real tmp98;
	fftw_real tmp100;
	fftw_real tmp97;
	fftw_real tmp99;
	ASSERT_ALIGNED_DOUBLE;
	tmp98 = c_re(inout[34 * iostride]);
	tmp100 = c_im(inout[34 * iostride]);
	tmp97 = c_re(W[33]);
	tmp99 = c_im(W[33]);
	tmp101 = (tmp97 * tmp98) + (tmp99 * tmp100);
	tmp465 = (tmp97 * tmp100) - (tmp99 * tmp98);
      }
      tmp102 = tmp96 + tmp101;
      tmp819 = tmp464 + tmp465;
      {
	fftw_real tmp130;
	fftw_real tmp458;
	fftw_real tmp135;
	fftw_real tmp459;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp127;
	  fftw_real tmp129;
	  fftw_real tmp126;
	  fftw_real tmp128;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp127 = c_re(inout[58 * iostride]);
	  tmp129 = c_im(inout[58 * iostride]);
	  tmp126 = c_re(W[57]);
	  tmp128 = c_im(W[57]);
	  tmp130 = (tmp126 * tmp127) + (tmp128 * tmp129);
	  tmp458 = (tmp126 * tmp129) - (tmp128 * tmp127);
	}
	{
	  fftw_real tmp132;
	  fftw_real tmp134;
	  fftw_real tmp131;
	  fftw_real tmp133;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp132 = c_re(inout[26 * iostride]);
	  tmp134 = c_im(inout[26 * iostride]);
	  tmp131 = c_re(W[25]);
	  tmp133 = c_im(W[25]);
	  tmp135 = (tmp131 * tmp132) + (tmp133 * tmp134);
	  tmp459 = (tmp131 * tmp134) - (tmp133 * tmp132);
	}
	tmp136 = tmp130 + tmp135;
	tmp457 = tmp130 - tmp135;
	tmp460 = tmp458 - tmp459;
	tmp825 = tmp458 + tmp459;
      }
      {
	fftw_real tmp104;
	fftw_real tmp106;
	fftw_real tmp103;
	fftw_real tmp105;
	ASSERT_ALIGNED_DOUBLE;
	tmp104 = c_re(inout[18 * iostride]);
	tmp106 = c_im(inout[18 * iostride]);
	tmp103 = c_re(W[17]);
	tmp105 = c_im(W[17]);
	tmp107 = (tmp103 * tmp104) + (tmp105 * tmp106);
	tmp448 = (tmp103 * tmp106) - (tmp105 * tmp104);
      }
      {
	fftw_real tmp109;
	fftw_real tmp111;
	fftw_real tmp108;
	fftw_real tmp110;
	ASSERT_ALIGNED_DOUBLE;
	tmp109 = c_re(inout[50 * iostride]);
	tmp111 = c_im(inout[50 * iostride]);
	tmp108 = c_re(W[49]);
	tmp110 = c_im(W[49]);
	tmp112 = (tmp108 * tmp109) + (tmp110 * tmp111);
	tmp449 = (tmp108 * tmp111) - (tmp110 * tmp109);
      }
      tmp113 = tmp107 + tmp112;
      tmp820 = tmp448 + tmp449;
      {
	fftw_real tmp119;
	fftw_real tmp453;
	fftw_real tmp124;
	fftw_real tmp454;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp116;
	  fftw_real tmp118;
	  fftw_real tmp115;
	  fftw_real tmp117;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp116 = c_re(inout[10 * iostride]);
	  tmp118 = c_im(inout[10 * iostride]);
	  tmp115 = c_re(W[9]);
	  tmp117 = c_im(W[9]);
	  tmp119 = (tmp115 * tmp116) + (tmp117 * tmp118);
	  tmp453 = (tmp115 * tmp118) - (tmp117 * tmp116);
	}
	{
	  fftw_real tmp121;
	  fftw_real tmp123;
	  fftw_real tmp120;
	  fftw_real tmp122;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp121 = c_re(inout[42 * iostride]);
	  tmp123 = c_im(inout[42 * iostride]);
	  tmp120 = c_re(W[41]);
	  tmp122 = c_im(W[41]);
	  tmp124 = (tmp120 * tmp121) + (tmp122 * tmp123);
	  tmp454 = (tmp120 * tmp123) - (tmp122 * tmp121);
	}
	tmp125 = tmp119 + tmp124;
	tmp452 = tmp119 - tmp124;
	tmp455 = tmp453 - tmp454;
	tmp826 = tmp453 + tmp454;
      }
      {
	fftw_real tmp821;
	fftw_real tmp822;
	fftw_real tmp824;
	fftw_real tmp827;
	ASSERT_ALIGNED_DOUBLE;
	tmp114 = tmp102 + tmp113;
	tmp137 = tmp125 + tmp136;
	tmp999 = tmp114 - tmp137;
	tmp821 = tmp819 - tmp820;
	tmp822 = tmp125 - tmp136;
	tmp823 = tmp821 + tmp822;
	tmp915 = tmp821 - tmp822;
	tmp959 = tmp819 + tmp820;
	tmp960 = tmp826 + tmp825;
	tmp1000 = tmp959 - tmp960;
	tmp824 = tmp102 - tmp113;
	tmp827 = tmp825 - tmp826;
	tmp828 = tmp824 + tmp827;
	tmp916 = tmp824 - tmp827;
      }
      {
	fftw_real tmp447;
	fftw_real tmp450;
	fftw_real tmp466;
	fftw_real tmp467;
	ASSERT_ALIGNED_DOUBLE;
	tmp447 = tmp96 - tmp101;
	tmp450 = tmp448 - tmp449;
	tmp451 = tmp447 - tmp450;
	tmp678 = tmp447 + tmp450;
	tmp466 = tmp464 - tmp465;
	tmp467 = tmp107 - tmp112;
	tmp468 = tmp466 + tmp467;
	tmp675 = tmp466 - tmp467;
      }
      {
	fftw_real tmp469;
	fftw_real tmp470;
	fftw_real tmp456;
	fftw_real tmp461;
	ASSERT_ALIGNED_DOUBLE;
	tmp469 = tmp452 + tmp455;
	tmp470 = tmp460 - tmp457;
	tmp471 = K707106781 * (tmp469 + tmp470);
	tmp679 = K707106781 * (tmp470 - tmp469);
	tmp456 = tmp452 - tmp455;
	tmp461 = tmp457 + tmp460;
	tmp462 = K707106781 * (tmp456 + tmp461);
	tmp676 = K707106781 * (tmp456 - tmp461);
      }
    }
    {
      fftw_real tmp192;
      fftw_real tmp517;
      fftw_real tmp197;
      fftw_real tmp518;
      fftw_real tmp198;
      fftw_real tmp849;
      fftw_real tmp232;
      fftw_real tmp486;
      fftw_real tmp489;
      fftw_real tmp833;
      fftw_real tmp203;
      fftw_real tmp477;
      fftw_real tmp208;
      fftw_real tmp478;
      fftw_real tmp209;
      fftw_real tmp850;
      fftw_real tmp221;
      fftw_real tmp481;
      fftw_real tmp484;
      fftw_real tmp834;
      ASSERT_ALIGNED_DOUBLE;
      {
	fftw_real tmp189;
	fftw_real tmp191;
	fftw_real tmp188;
	fftw_real tmp190;
	ASSERT_ALIGNED_DOUBLE;
	tmp189 = c_re(inout[iostride]);
	tmp191 = c_im(inout[iostride]);
	tmp188 = c_re(W[0]);
	tmp190 = c_im(W[0]);
	tmp192 = (tmp188 * tmp189) + (tmp190 * tmp191);
	tmp517 = (tmp188 * tmp191) - (tmp190 * tmp189);
      }
      {
	fftw_real tmp194;
	fftw_real tmp196;
	fftw_real tmp193;
	fftw_real tmp195;
	ASSERT_ALIGNED_DOUBLE;
	tmp194 = c_re(inout[33 * iostride]);
	tmp196 = c_im(inout[33 * iostride]);
	tmp193 = c_re(W[32]);
	tmp195 = c_im(W[32]);
	tmp197 = (tmp193 * tmp194) + (tmp195 * tmp196);
	tmp518 = (tmp193 * tmp196) - (tmp195 * tmp194);
      }
      tmp198 = tmp192 + tmp197;
      tmp849 = tmp517 + tmp518;
      {
	fftw_real tmp226;
	fftw_real tmp487;
	fftw_real tmp231;
	fftw_real tmp488;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp223;
	  fftw_real tmp225;
	  fftw_real tmp222;
	  fftw_real tmp224;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp223 = c_re(inout[57 * iostride]);
	  tmp225 = c_im(inout[57 * iostride]);
	  tmp222 = c_re(W[56]);
	  tmp224 = c_im(W[56]);
	  tmp226 = (tmp222 * tmp223) + (tmp224 * tmp225);
	  tmp487 = (tmp222 * tmp225) - (tmp224 * tmp223);
	}
	{
	  fftw_real tmp228;
	  fftw_real tmp230;
	  fftw_real tmp227;
	  fftw_real tmp229;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp228 = c_re(inout[25 * iostride]);
	  tmp230 = c_im(inout[25 * iostride]);
	  tmp227 = c_re(W[24]);
	  tmp229 = c_im(W[24]);
	  tmp231 = (tmp227 * tmp228) + (tmp229 * tmp230);
	  tmp488 = (tmp227 * tmp230) - (tmp229 * tmp228);
	}
	tmp232 = tmp226 + tmp231;
	tmp486 = tmp226 - tmp231;
	tmp489 = tmp487 - tmp488;
	tmp833 = tmp487 + tmp488;
      }
      {
	fftw_real tmp200;
	fftw_real tmp202;
	fftw_real tmp199;
	fftw_real tmp201;
	ASSERT_ALIGNED_DOUBLE;
	tmp200 = c_re(inout[17 * iostride]);
	tmp202 = c_im(inout[17 * iostride]);
	tmp199 = c_re(W[16]);
	tmp201 = c_im(W[16]);
	tmp203 = (tmp199 * tmp200) + (tmp201 * tmp202);
	tmp477 = (tmp199 * tmp202) - (tmp201 * tmp200);
      }
      {
	fftw_real tmp205;
	fftw_real tmp207;
	fftw_real tmp204;
	fftw_real tmp206;
	ASSERT_ALIGNED_DOUBLE;
	tmp205 = c_re(inout[49 * iostride]);
	tmp207 = c_im(inout[49 * iostride]);
	tmp204 = c_re(W[48]);
	tmp206 = c_im(W[48]);
	tmp208 = (tmp204 * tmp205) + (tmp206 * tmp207);
	tmp478 = (tmp204 * tmp207) - (tmp206 * tmp205);
      }
      tmp209 = tmp203 + tmp208;
      tmp850 = tmp477 + tmp478;
      {
	fftw_real tmp215;
	fftw_real tmp482;
	fftw_real tmp220;
	fftw_real tmp483;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp212;
	  fftw_real tmp214;
	  fftw_real tmp211;
	  fftw_real tmp213;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp212 = c_re(inout[9 * iostride]);
	  tmp214 = c_im(inout[9 * iostride]);
	  tmp211 = c_re(W[8]);
	  tmp213 = c_im(W[8]);
	  tmp215 = (tmp211 * tmp212) + (tmp213 * tmp214);
	  tmp482 = (tmp211 * tmp214) - (tmp213 * tmp212);
	}
	{
	  fftw_real tmp217;
	  fftw_real tmp219;
	  fftw_real tmp216;
	  fftw_real tmp218;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp217 = c_re(inout[41 * iostride]);
	  tmp219 = c_im(inout[41 * iostride]);
	  tmp216 = c_re(W[40]);
	  tmp218 = c_im(W[40]);
	  tmp220 = (tmp216 * tmp217) + (tmp218 * tmp219);
	  tmp483 = (tmp216 * tmp219) - (tmp218 * tmp217);
	}
	tmp221 = tmp215 + tmp220;
	tmp481 = tmp215 - tmp220;
	tmp484 = tmp482 - tmp483;
	tmp834 = tmp482 + tmp483;
      }
      {
	fftw_real tmp210;
	fftw_real tmp233;
	fftw_real tmp832;
	fftw_real tmp835;
	ASSERT_ALIGNED_DOUBLE;
	tmp210 = tmp198 + tmp209;
	tmp233 = tmp221 + tmp232;
	tmp234 = tmp210 + tmp233;
	tmp1014 = tmp210 - tmp233;
	tmp832 = tmp198 - tmp209;
	tmp835 = tmp833 - tmp834;
	tmp836 = tmp832 + tmp835;
	tmp930 = tmp832 - tmp835;
      }
      {
	fftw_real tmp965;
	fftw_real tmp966;
	fftw_real tmp851;
	fftw_real tmp852;
	ASSERT_ALIGNED_DOUBLE;
	tmp965 = tmp849 + tmp850;
	tmp966 = tmp834 + tmp833;
	tmp967 = tmp965 + tmp966;
	tmp1011 = tmp965 - tmp966;
	tmp851 = tmp849 - tmp850;
	tmp852 = tmp221 - tmp232;
	tmp853 = tmp851 + tmp852;
	tmp927 = tmp851 - tmp852;
      }
      {
	fftw_real tmp476;
	fftw_real tmp479;
	fftw_real tmp519;
	fftw_real tmp520;
	ASSERT_ALIGNED_DOUBLE;
	tmp476 = tmp192 - tmp197;
	tmp479 = tmp477 - tmp478;
	tmp480 = tmp476 - tmp479;
	tmp684 = tmp476 + tmp479;
	tmp519 = tmp517 - tmp518;
	tmp520 = tmp203 - tmp208;
	tmp521 = tmp519 + tmp520;
	tmp695 = tmp519 - tmp520;
      }
      {
	fftw_real tmp522;
	fftw_real tmp523;
	fftw_real tmp485;
	fftw_real tmp490;
	ASSERT_ALIGNED_DOUBLE;
	tmp522 = tmp481 + tmp484;
	tmp523 = tmp489 - tmp486;
	tmp524 = K707106781 * (tmp522 + tmp523);
	tmp685 = K707106781 * (tmp523 - tmp522);
	tmp485 = tmp481 - tmp484;
	tmp490 = tmp486 + tmp489;
	tmp491 = K707106781 * (tmp485 + tmp490);
	tmp696 = K707106781 * (tmp485 - tmp490);
      }
    }
    {
      fftw_real tmp245;
      fftw_real tmp509;
      fftw_real tmp506;
      fftw_real tmp838;
      fftw_real tmp279;
      fftw_real tmp496;
      fftw_real tmp501;
      fftw_real tmp844;
      fftw_real tmp256;
      fftw_real tmp507;
      fftw_real tmp512;
      fftw_real tmp839;
      fftw_real tmp268;
      fftw_real tmp498;
      fftw_real tmp495;
      fftw_real tmp843;
      ASSERT_ALIGNED_DOUBLE;
      {
	fftw_real tmp239;
	fftw_real tmp504;
	fftw_real tmp244;
	fftw_real tmp505;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp236;
	  fftw_real tmp238;
	  fftw_real tmp235;
	  fftw_real tmp237;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp236 = c_re(inout[5 * iostride]);
	  tmp238 = c_im(inout[5 * iostride]);
	  tmp235 = c_re(W[4]);
	  tmp237 = c_im(W[4]);
	  tmp239 = (tmp235 * tmp236) + (tmp237 * tmp238);
	  tmp504 = (tmp235 * tmp238) - (tmp237 * tmp236);
	}
	{
	  fftw_real tmp241;
	  fftw_real tmp243;
	  fftw_real tmp240;
	  fftw_real tmp242;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp241 = c_re(inout[37 * iostride]);
	  tmp243 = c_im(inout[37 * iostride]);
	  tmp240 = c_re(W[36]);
	  tmp242 = c_im(W[36]);
	  tmp244 = (tmp240 * tmp241) + (tmp242 * tmp243);
	  tmp505 = (tmp240 * tmp243) - (tmp242 * tmp241);
	}
	tmp245 = tmp239 + tmp244;
	tmp509 = tmp239 - tmp244;
	tmp506 = tmp504 - tmp505;
	tmp838 = tmp504 + tmp505;
      }
      {
	fftw_real tmp273;
	fftw_real tmp499;
	fftw_real tmp278;
	fftw_real tmp500;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp270;
	  fftw_real tmp272;
	  fftw_real tmp269;
	  fftw_real tmp271;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp270 = c_re(inout[13 * iostride]);
	  tmp272 = c_im(inout[13 * iostride]);
	  tmp269 = c_re(W[12]);
	  tmp271 = c_im(W[12]);
	  tmp273 = (tmp269 * tmp270) + (tmp271 * tmp272);
	  tmp499 = (tmp269 * tmp272) - (tmp271 * tmp270);
	}
	{
	  fftw_real tmp275;
	  fftw_real tmp277;
	  fftw_real tmp274;
	  fftw_real tmp276;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp275 = c_re(inout[45 * iostride]);
	  tmp277 = c_im(inout[45 * iostride]);
	  tmp274 = c_re(W[44]);
	  tmp276 = c_im(W[44]);
	  tmp278 = (tmp274 * tmp275) + (tmp276 * tmp277);
	  tmp500 = (tmp274 * tmp277) - (tmp276 * tmp275);
	}
	tmp279 = tmp273 + tmp278;
	tmp496 = tmp273 - tmp278;
	tmp501 = tmp499 - tmp500;
	tmp844 = tmp499 + tmp500;
      }
      {
	fftw_real tmp250;
	fftw_real tmp510;
	fftw_real tmp255;
	fftw_real tmp511;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp247;
	  fftw_real tmp249;
	  fftw_real tmp246;
	  fftw_real tmp248;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp247 = c_re(inout[21 * iostride]);
	  tmp249 = c_im(inout[21 * iostride]);
	  tmp246 = c_re(W[20]);
	  tmp248 = c_im(W[20]);
	  tmp250 = (tmp246 * tmp247) + (tmp248 * tmp249);
	  tmp510 = (tmp246 * tmp249) - (tmp248 * tmp247);
	}
	{
	  fftw_real tmp252;
	  fftw_real tmp254;
	  fftw_real tmp251;
	  fftw_real tmp253;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp252 = c_re(inout[53 * iostride]);
	  tmp254 = c_im(inout[53 * iostride]);
	  tmp251 = c_re(W[52]);
	  tmp253 = c_im(W[52]);
	  tmp255 = (tmp251 * tmp252) + (tmp253 * tmp254);
	  tmp511 = (tmp251 * tmp254) - (tmp253 * tmp252);
	}
	tmp256 = tmp250 + tmp255;
	tmp507 = tmp250 - tmp255;
	tmp512 = tmp510 - tmp511;
	tmp839 = tmp510 + tmp511;
      }
      {
	fftw_real tmp262;
	fftw_real tmp493;
	fftw_real tmp267;
	fftw_real tmp494;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp259;
	  fftw_real tmp261;
	  fftw_real tmp258;
	  fftw_real tmp260;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp259 = c_re(inout[61 * iostride]);
	  tmp261 = c_im(inout[61 * iostride]);
	  tmp258 = c_re(W[60]);
	  tmp260 = c_im(W[60]);
	  tmp262 = (tmp258 * tmp259) + (tmp260 * tmp261);
	  tmp493 = (tmp258 * tmp261) - (tmp260 * tmp259);
	}
	{
	  fftw_real tmp264;
	  fftw_real tmp266;
	  fftw_real tmp263;
	  fftw_real tmp265;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp264 = c_re(inout[29 * iostride]);
	  tmp266 = c_im(inout[29 * iostride]);
	  tmp263 = c_re(W[28]);
	  tmp265 = c_im(W[28]);
	  tmp267 = (tmp263 * tmp264) + (tmp265 * tmp266);
	  tmp494 = (tmp263 * tmp266) - (tmp265 * tmp264);
	}
	tmp268 = tmp262 + tmp267;
	tmp498 = tmp262 - tmp267;
	tmp495 = tmp493 - tmp494;
	tmp843 = tmp493 + tmp494;
      }
      {
	fftw_real tmp257;
	fftw_real tmp280;
	fftw_real tmp837;
	fftw_real tmp840;
	ASSERT_ALIGNED_DOUBLE;
	tmp257 = tmp245 + tmp256;
	tmp280 = tmp268 + tmp279;
	tmp281 = tmp257 + tmp280;
	tmp1012 = tmp257 - tmp280;
	tmp837 = tmp245 - tmp256;
	tmp840 = tmp838 - tmp839;
	tmp841 = tmp837 - tmp840;
	tmp854 = tmp837 + tmp840;
      }
      {
	fftw_real tmp968;
	fftw_real tmp969;
	fftw_real tmp842;
	fftw_real tmp845;
	ASSERT_ALIGNED_DOUBLE;
	tmp968 = tmp838 + tmp839;
	tmp969 = tmp843 + tmp844;
	tmp970 = tmp968 + tmp969;
	tmp1015 = tmp969 - tmp968;
	tmp842 = tmp268 - tmp279;
	tmp845 = tmp843 - tmp844;
	tmp846 = tmp842 + tmp845;
	tmp855 = tmp845 - tmp842;
      }
      {
	fftw_real tmp497;
	fftw_real tmp502;
	fftw_real tmp687;
	fftw_real tmp688;
	ASSERT_ALIGNED_DOUBLE;
	tmp497 = tmp495 + tmp496;
	tmp502 = tmp498 - tmp501;
	tmp503 = (K923879532 * tmp497) - (K382683432 * tmp502);
	tmp527 = (K382683432 * tmp497) + (K923879532 * tmp502);
	tmp687 = tmp495 - tmp496;
	tmp688 = tmp498 + tmp501;
	tmp689 = (K382683432 * tmp687) - (K923879532 * tmp688);
	tmp699 = (K923879532 * tmp687) + (K382683432 * tmp688);
      }
      {
	fftw_real tmp508;
	fftw_real tmp513;
	fftw_real tmp690;
	fftw_real tmp691;
	ASSERT_ALIGNED_DOUBLE;
	tmp508 = tmp506 + tmp507;
	tmp513 = tmp509 - tmp512;
	tmp514 = (K923879532 * tmp508) + (K382683432 * tmp513);
	tmp526 = (K923879532 * tmp513) - (K382683432 * tmp508);
	tmp690 = tmp506 - tmp507;
	tmp691 = tmp509 + tmp512;
	tmp692 = (K382683432 * tmp690) + (K923879532 * tmp691);
	tmp698 = (K382683432 * tmp691) - (K923879532 * tmp690);
      }
    }
    {
      fftw_real tmp91;
      fftw_real tmp955;
      fftw_real tmp990;
      fftw_real tmp1039;
      fftw_real tmp1049;
      fftw_real tmp1055;
      fftw_real tmp186;
      fftw_real tmp1054;
      fftw_real tmp972;
      fftw_real tmp985;
      fftw_real tmp378;
      fftw_real tmp1051;
      fftw_real tmp981;
      fftw_real tmp984;
      fftw_real tmp962;
      fftw_real tmp1040;
      ASSERT_ALIGNED_DOUBLE;
      {
	fftw_real tmp43;
	fftw_real tmp90;
	fftw_real tmp988;
	fftw_real tmp989;
	ASSERT_ALIGNED_DOUBLE;
	tmp43 = tmp19 + tmp42;
	tmp90 = tmp66 + tmp89;
	tmp91 = tmp43 + tmp90;
	tmp955 = tmp43 - tmp90;
	tmp988 = tmp976 + tmp979;
	tmp989 = tmp967 + tmp970;
	tmp990 = tmp988 - tmp989;
	tmp1039 = tmp989 + tmp988;
      }
      {
	fftw_real tmp1041;
	fftw_real tmp1048;
	fftw_real tmp138;
	fftw_real tmp185;
	ASSERT_ALIGNED_DOUBLE;
	tmp1041 = tmp993 + tmp992;
	tmp1048 = tmp1042 + tmp1047;
	tmp1049 = tmp1041 + tmp1048;
	tmp1055 = tmp1048 - tmp1041;
	tmp138 = tmp114 + tmp137;
	tmp185 = tmp161 + tmp184;
	tmp186 = tmp138 + tmp185;
	tmp1054 = tmp138 - tmp185;
      }
      {
	fftw_real tmp964;
	fftw_real tmp971;
	fftw_real tmp282;
	fftw_real tmp377;
	ASSERT_ALIGNED_DOUBLE;
	tmp964 = tmp234 - tmp281;
	tmp971 = tmp967 - tmp970;
	tmp972 = tmp964 - tmp971;
	tmp985 = tmp964 + tmp971;
	tmp282 = tmp234 + tmp281;
	tmp377 = tmp329 + tmp376;
	tmp378 = tmp282 + tmp377;
	tmp1051 = tmp282 - tmp377;
      }
      {
	fftw_real tmp973;
	fftw_real tmp980;
	fftw_real tmp958;
	fftw_real tmp961;
	ASSERT_ALIGNED_DOUBLE;
	tmp973 = tmp329 - tmp376;
	tmp980 = tmp976 - tmp979;
	tmp981 = tmp973 + tmp980;
	tmp984 = tmp980 - tmp973;
	tmp958 = tmp956 + tmp957;
	tmp961 = tmp959 + tmp960;
	tmp962 = tmp958 - tmp961;
	tmp1040 = tmp961 + tmp958;
      }
      {
	fftw_real tmp187;
	fftw_real tmp987;
	fftw_real tmp1050;
	fftw_real tmp1052;
	ASSERT_ALIGNED_DOUBLE;
	tmp187 = tmp91 + tmp186;
	c_re(inout[32 * iostride]) = tmp187 - tmp378;
	c_re(inout[0]) = tmp187 + tmp378;
	tmp987 = tmp91 - tmp186;
	c_re(inout[48 * iostride]) = tmp987 - tmp990;
	c_re(inout[16 * iostride]) = tmp987 + tmp990;
	{
	  fftw_real tmp963;
	  fftw_real tmp982;
	  fftw_real tmp1057;
	  fftw_real tmp1058;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp963 = tmp955 + tmp962;
	  tmp982 = K707106781 * (tmp972 + tmp981);
	  c_re(inout[40 * iostride]) = tmp963 - tmp982;
	  c_re(inout[8 * iostride]) = tmp963 + tmp982;
	  tmp1057 = K707106781 * (tmp972 - tmp981);
	  tmp1058 = tmp1055 - tmp1054;
	  c_im(inout[24 * iostride]) = tmp1057 + tmp1058;
	  c_im(inout[56 * iostride]) = tmp1058 - tmp1057;
	}
	tmp1050 = tmp1040 + tmp1049;
	c_im(inout[0]) = tmp1039 + tmp1050;
	c_im(inout[32 * iostride]) = tmp1050 - tmp1039;
	tmp1052 = tmp1049 - tmp1040;
	c_im(inout[16 * iostride]) = tmp1051 + tmp1052;
	c_im(inout[48 * iostride]) = tmp1052 - tmp1051;
	{
	  fftw_real tmp1053;
	  fftw_real tmp1056;
	  fftw_real tmp983;
	  fftw_real tmp986;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp1053 = K707106781 * (tmp985 + tmp984);
	  tmp1056 = tmp1054 + tmp1055;
	  c_im(inout[8 * iostride]) = tmp1053 + tmp1056;
	  c_im(inout[40 * iostride]) = tmp1056 - tmp1053;
	  tmp983 = tmp955 - tmp962;
	  tmp986 = K707106781 * (tmp984 - tmp985);
	  c_re(inout[56 * iostride]) = tmp983 - tmp986;
	  c_re(inout[24 * iostride]) = tmp983 + tmp986;
	}
      }
    }
    {
      fftw_real tmp995;
      fftw_real tmp1023;
      fftw_real tmp1026;
      fftw_real tmp1068;
      fftw_real tmp1002;
      fftw_real tmp1060;
      fftw_real tmp1063;
      fftw_real tmp1069;
      fftw_real tmp1010;
      fftw_real tmp1021;
      fftw_real tmp1030;
      fftw_real tmp1037;
      fftw_real tmp1017;
      fftw_real tmp1020;
      fftw_real tmp1033;
      fftw_real tmp1036;
      ASSERT_ALIGNED_DOUBLE;
      {
	fftw_real tmp991;
	fftw_real tmp994;
	fftw_real tmp1024;
	fftw_real tmp1025;
	ASSERT_ALIGNED_DOUBLE;
	tmp991 = tmp19 - tmp42;
	tmp994 = tmp992 - tmp993;
	tmp995 = tmp991 - tmp994;
	tmp1023 = tmp991 + tmp994;
	tmp1024 = tmp999 - tmp1000;
	tmp1025 = tmp997 + tmp996;
	tmp1026 = K707106781 * (tmp1024 + tmp1025);
	tmp1068 = K707106781 * (tmp1024 - tmp1025);
      }
      {
	fftw_real tmp998;
	fftw_real tmp1001;
	fftw_real tmp1061;
	fftw_real tmp1062;
	ASSERT_ALIGNED_DOUBLE;
	tmp998 = tmp996 - tmp997;
	tmp1001 = tmp999 + tmp1000;
	tmp1002 = K707106781 * (tmp998 - tmp1001);
	tmp1060 = K707106781 * (tmp1001 + tmp998);
	tmp1061 = tmp66 - tmp89;
	tmp1062 = tmp1047 - tmp1042;
	tmp1063 = tmp1061 + tmp1062;
	tmp1069 = tmp1062 - tmp1061;
      }
      {
	fftw_real tmp1006;
	fftw_real tmp1009;
	fftw_real tmp1028;
	fftw_real tmp1029;
	ASSERT_ALIGNED_DOUBLE;
	tmp1006 = tmp1004 - tmp1005;
	tmp1009 = tmp1007 - tmp1008;
	tmp1010 =
	  (K382683432 * tmp1006) - (K923879532 * tmp1009);
	tmp1021 =
	  (K923879532 * tmp1006) + (K382683432 * tmp1009);
	tmp1028 = tmp1004 + tmp1005;
	tmp1029 = tmp1007 + tmp1008;
	tmp1030 =
	  (K923879532 * tmp1028) - (K382683432 * tmp1029);
	tmp1037 =
	  (K382683432 * tmp1028) + (K923879532 * tmp1029);
      }
      {
	fftw_real tmp1013;
	fftw_real tmp1016;
	fftw_real tmp1031;
	fftw_real tmp1032;
	ASSERT_ALIGNED_DOUBLE;
	tmp1013 = tmp1011 - tmp1012;
	tmp1016 = tmp1014 - tmp1015;
	tmp1017 =
	  (K382683432 * tmp1013) + (K923879532 * tmp1016);
	tmp1020 =
	  (K382683432 * tmp1016) - (K923879532 * tmp1013);
	tmp1031 = tmp1011 + tmp1012;
	tmp1032 = tmp1014 + tmp1015;
	tmp1033 =
	  (K923879532 * tmp1031) + (K382683432 * tmp1032);
	tmp1036 =
	  (K923879532 * tmp1032) - (K382683432 * tmp1031);
      }
      {
	fftw_real tmp1003;
	fftw_real tmp1018;
	fftw_real tmp1019;
	fftw_real tmp1022;
	ASSERT_ALIGNED_DOUBLE;
	tmp1003 = tmp995 - tmp1002;
	tmp1018 = tmp1010 - tmp1017;
	c_re(inout[60 * iostride]) = tmp1003 - tmp1018;
	c_re(inout[28 * iostride]) = tmp1003 + tmp1018;
	tmp1019 = tmp995 + tmp1002;
	tmp1022 = tmp1020 + tmp1021;
	c_re(inout[44 * iostride]) = tmp1019 - tmp1022;
	c_re(inout[12 * iostride]) = tmp1019 + tmp1022;
      }
      {
	fftw_real tmp1071;
	fftw_real tmp1072;
	fftw_real tmp1067;
	fftw_real tmp1070;
	ASSERT_ALIGNED_DOUBLE;
	tmp1071 = tmp1020 - tmp1021;
	tmp1072 = tmp1069 - tmp1068;
	c_im(inout[28 * iostride]) = tmp1071 + tmp1072;
	c_im(inout[60 * iostride]) = tmp1072 - tmp1071;
	tmp1067 = tmp1017 + tmp1010;
	tmp1070 = tmp1068 + tmp1069;
	c_im(inout[12 * iostride]) = tmp1067 + tmp1070;
	c_im(inout[44 * iostride]) = tmp1070 - tmp1067;
      }
      {
	fftw_real tmp1027;
	fftw_real tmp1034;
	fftw_real tmp1035;
	fftw_real tmp1038;
	ASSERT_ALIGNED_DOUBLE;
	tmp1027 = tmp1023 - tmp1026;
	tmp1034 = tmp1030 - tmp1033;
	c_re(inout[52 * iostride]) = tmp1027 - tmp1034;
	c_re(inout[20 * iostride]) = tmp1027 + tmp1034;
	tmp1035 = tmp1023 + tmp1026;
	tmp1038 = tmp1036 + tmp1037;
	c_re(inout[36 * iostride]) = tmp1035 - tmp1038;
	c_re(inout[4 * iostride]) = tmp1035 + tmp1038;
      }
      {
	fftw_real tmp1065;
	fftw_real tmp1066;
	fftw_real tmp1059;
	fftw_real tmp1064;
	ASSERT_ALIGNED_DOUBLE;
	tmp1065 = tmp1036 - tmp1037;
	tmp1066 = tmp1063 - tmp1060;
	c_im(inout[20 * iostride]) = tmp1065 + tmp1066;
	c_im(inout[52 * iostride]) = tmp1066 - tmp1065;
	tmp1059 = tmp1033 + tmp1030;
	tmp1064 = tmp1060 + tmp1063;
	c_im(inout[4 * iostride]) = tmp1059 + tmp1064;
	c_im(inout[36 * iostride]) = tmp1064 - tmp1059;
      }
    }
    {
      fftw_real tmp419;
      fftw_real tmp591;
      fftw_real tmp1125;
      fftw_real tmp1131;
      fftw_real tmp474;
      fftw_real tmp1122;
      fftw_real tmp594;
      fftw_real tmp1130;
      fftw_real tmp530;
      fftw_real tmp589;
      fftw_real tmp598;
      fftw_real tmp605;
      fftw_real tmp585;
      fftw_real tmp588;
      fftw_real tmp601;
      fftw_real tmp604;
      ASSERT_ALIGNED_DOUBLE;
      {
	fftw_real tmp395;
	fftw_real tmp418;
	fftw_real tmp1123;
	fftw_real tmp1124;
	ASSERT_ALIGNED_DOUBLE;
	tmp395 = tmp383 - tmp394;
	tmp418 = tmp406 - tmp417;
	tmp419 = tmp395 - tmp418;
	tmp591 = tmp395 + tmp418;
	tmp1123 = tmp608 - tmp609;
	tmp1124 = tmp1109 - tmp1106;
	tmp1125 = tmp1123 + tmp1124;
	tmp1131 = tmp1124 - tmp1123;
      }
      {
	fftw_real tmp446;
	fftw_real tmp593;
	fftw_real tmp473;
	fftw_real tmp592;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp436;
	  fftw_real tmp445;
	  fftw_real tmp463;
	  fftw_real tmp472;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp436 = tmp424 - tmp435;
	  tmp445 = tmp441 - tmp444;
	  tmp446 =
	    (K555570233 * tmp436) - (K831469612 * tmp445);
	  tmp593 =
	    (K555570233 * tmp445) + (K831469612 * tmp436);
	  tmp463 = tmp451 - tmp462;
	  tmp472 = tmp468 - tmp471;
	  tmp473 =
	    (K831469612 * tmp463) + (K555570233 * tmp472);
	  tmp592 =
	    (K555570233 * tmp463) - (K831469612 * tmp472);
	}
	tmp474 = tmp446 - tmp473;
	tmp1122 = tmp473 + tmp446;
	tmp594 = tmp592 + tmp593;
	tmp1130 = tmp592 - tmp593;
      }
      {
	fftw_real tmp516;
	fftw_real tmp596;
	fftw_real tmp529;
	fftw_real tmp597;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp492;
	  fftw_real tmp515;
	  fftw_real tmp525;
	  fftw_real tmp528;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp492 = tmp480 - tmp491;
	  tmp515 = tmp503 - tmp514;
	  tmp516 = tmp492 - tmp515;
	  tmp596 = tmp492 + tmp515;
	  tmp525 = tmp521 - tmp524;
	  tmp528 = tmp526 - tmp527;
	  tmp529 = tmp525 - tmp528;
	  tmp597 = tmp525 + tmp528;
	}
	tmp530 = (K290284677 * tmp516) - (K956940335 * tmp529);
	tmp589 = (K956940335 * tmp516) + (K290284677 * tmp529);
	tmp598 = (K881921264 * tmp596) - (K471396736 * tmp597);
	tmp605 = (K471396736 * tmp596) + (K881921264 * tmp597);
      }
      {
	fftw_real tmp571;
	fftw_real tmp599;
	fftw_real tmp584;
	fftw_real tmp600;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp547;
	  fftw_real tmp570;
	  fftw_real tmp580;
	  fftw_real tmp583;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp547 = tmp535 - tmp546;
	  tmp570 = tmp558 - tmp569;
	  tmp571 = tmp547 - tmp570;
	  tmp599 = tmp547 + tmp570;
	  tmp580 = tmp576 - tmp579;
	  tmp583 = tmp581 - tmp582;
	  tmp584 = tmp580 - tmp583;
	  tmp600 = tmp580 + tmp583;
	}
	tmp585 = (K290284677 * tmp571) + (K956940335 * tmp584);
	tmp588 = (K290284677 * tmp584) - (K956940335 * tmp571);
	tmp601 = (K881921264 * tmp599) + (K471396736 * tmp600);
	tmp604 = (K881921264 * tmp600) - (K471396736 * tmp599);
      }
      {
	fftw_real tmp475;
	fftw_real tmp586;
	fftw_real tmp587;
	fftw_real tmp590;
	ASSERT_ALIGNED_DOUBLE;
	tmp475 = tmp419 + tmp474;
	tmp586 = tmp530 + tmp585;
	c_re(inout[45 * iostride]) = tmp475 - tmp586;
	c_re(inout[13 * iostride]) = tmp475 + tmp586;
	tmp587 = tmp419 - tmp474;
	tmp590 = tmp588 - tmp589;
	c_re(inout[61 * iostride]) = tmp587 - tmp590;
	c_re(inout[29 * iostride]) = tmp587 + tmp590;
      }
      {
	fftw_real tmp1129;
	fftw_real tmp1132;
	fftw_real tmp1133;
	fftw_real tmp1134;
	ASSERT_ALIGNED_DOUBLE;
	tmp1129 = tmp589 + tmp588;
	tmp1132 = tmp1130 + tmp1131;
	c_im(inout[13 * iostride]) = tmp1129 + tmp1132;
	c_im(inout[45 * iostride]) = tmp1132 - tmp1129;
	tmp1133 = tmp530 - tmp585;
	tmp1134 = tmp1131 - tmp1130;
	c_im(inout[29 * iostride]) = tmp1133 + tmp1134;
	c_im(inout[61 * iostride]) = tmp1134 - tmp1133;
      }
      {
	fftw_real tmp595;
	fftw_real tmp602;
	fftw_real tmp603;
	fftw_real tmp606;
	ASSERT_ALIGNED_DOUBLE;
	tmp595 = tmp591 + tmp594;
	tmp602 = tmp598 + tmp601;
	c_re(inout[37 * iostride]) = tmp595 - tmp602;
	c_re(inout[5 * iostride]) = tmp595 + tmp602;
	tmp603 = tmp591 - tmp594;
	tmp606 = tmp604 - tmp605;
	c_re(inout[53 * iostride]) = tmp603 - tmp606;
	c_re(inout[21 * iostride]) = tmp603 + tmp606;
      }
      {
	fftw_real tmp1121;
	fftw_real tmp1126;
	fftw_real tmp1127;
	fftw_real tmp1128;
	ASSERT_ALIGNED_DOUBLE;
	tmp1121 = tmp605 + tmp604;
	tmp1126 = tmp1122 + tmp1125;
	c_im(inout[5 * iostride]) = tmp1121 + tmp1126;
	c_im(inout[37 * iostride]) = tmp1126 - tmp1121;
	tmp1127 = tmp598 - tmp601;
	tmp1128 = tmp1125 - tmp1122;
	c_im(inout[21 * iostride]) = tmp1127 + tmp1128;
	c_im(inout[53 * iostride]) = tmp1128 - tmp1127;
      }
    }
    {
      fftw_real tmp611;
      fftw_real tmp639;
      fftw_real tmp1111;
      fftw_real tmp1117;
      fftw_real tmp618;
      fftw_real tmp1104;
      fftw_real tmp642;
      fftw_real tmp1116;
      fftw_real tmp626;
      fftw_real tmp637;
      fftw_real tmp646;
      fftw_real tmp653;
      fftw_real tmp633;
      fftw_real tmp636;
      fftw_real tmp649;
      fftw_real tmp652;
      ASSERT_ALIGNED_DOUBLE;
      {
	fftw_real tmp607;
	fftw_real tmp610;
	fftw_real tmp1105;
	fftw_real tmp1110;
	ASSERT_ALIGNED_DOUBLE;
	tmp607 = tmp383 + tmp394;
	tmp610 = tmp608 + tmp609;
	tmp611 = tmp607 - tmp610;
	tmp639 = tmp607 + tmp610;
	tmp1105 = tmp417 + tmp406;
	tmp1110 = tmp1106 + tmp1109;
	tmp1111 = tmp1105 + tmp1110;
	tmp1117 = tmp1110 - tmp1105;
      }
      {
	fftw_real tmp614;
	fftw_real tmp641;
	fftw_real tmp617;
	fftw_real tmp640;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp612;
	  fftw_real tmp613;
	  fftw_real tmp615;
	  fftw_real tmp616;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp612 = tmp424 + tmp435;
	  tmp613 = tmp441 + tmp444;
	  tmp614 =
	    (K980785280 * tmp612) - (K195090322 * tmp613);
	  tmp641 =
	    (K980785280 * tmp613) + (K195090322 * tmp612);
	  tmp615 = tmp451 + tmp462;
	  tmp616 = tmp468 + tmp471;
	  tmp617 =
	    (K195090322 * tmp615) + (K980785280 * tmp616);
	  tmp640 =
	    (K980785280 * tmp615) - (K195090322 * tmp616);
	}
	tmp618 = tmp614 - tmp617;
	tmp1104 = tmp617 + tmp614;
	tmp642 = tmp640 + tmp641;
	tmp1116 = tmp640 - tmp641;
      }
      {
	fftw_real tmp622;
	fftw_real tmp644;
	fftw_real tmp625;
	fftw_real tmp645;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp620;
	  fftw_real tmp621;
	  fftw_real tmp623;
	  fftw_real tmp624;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp620 = tmp576 + tmp579;
	  tmp621 = tmp569 + tmp558;
	  tmp622 = tmp620 - tmp621;
	  tmp644 = tmp620 + tmp621;
	  tmp623 = tmp535 + tmp546;
	  tmp624 = tmp581 + tmp582;
	  tmp625 = tmp623 - tmp624;
	  tmp645 = tmp623 + tmp624;
	}
	tmp626 = (K634393284 * tmp622) - (K773010453 * tmp625);
	tmp637 = (K773010453 * tmp622) + (K634393284 * tmp625);
	tmp646 = (K995184726 * tmp644) - (K098017140 * tmp645);
	tmp653 = (K098017140 * tmp644) + (K995184726 * tmp645);
      }
      {
	fftw_real tmp629;
	fftw_real tmp647;
	fftw_real tmp632;
	fftw_real tmp648;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp627;
	  fftw_real tmp628;
	  fftw_real tmp630;
	  fftw_real tmp631;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp627 = tmp521 + tmp524;
	  tmp628 = tmp514 + tmp503;
	  tmp629 = tmp627 - tmp628;
	  tmp647 = tmp627 + tmp628;
	  tmp630 = tmp480 + tmp491;
	  tmp631 = tmp526 + tmp527;
	  tmp632 = tmp630 - tmp631;
	  tmp648 = tmp630 + tmp631;
	}
	tmp633 = (K634393284 * tmp629) + (K773010453 * tmp632);
	tmp636 = (K634393284 * tmp632) - (K773010453 * tmp629);
	tmp649 = (K995184726 * tmp647) + (K098017140 * tmp648);
	tmp652 = (K995184726 * tmp648) - (K098017140 * tmp647);
      }
      {
	fftw_real tmp619;
	fftw_real tmp634;
	fftw_real tmp635;
	fftw_real tmp638;
	ASSERT_ALIGNED_DOUBLE;
	tmp619 = tmp611 - tmp618;
	tmp634 = tmp626 - tmp633;
	c_re(inout[57 * iostride]) = tmp619 - tmp634;
	c_re(inout[25 * iostride]) = tmp619 + tmp634;
	tmp635 = tmp611 + tmp618;
	tmp638 = tmp636 + tmp637;
	c_re(inout[41 * iostride]) = tmp635 - tmp638;
	c_re(inout[9 * iostride]) = tmp635 + tmp638;
      }
      {
	fftw_real tmp1119;
	fftw_real tmp1120;
	fftw_real tmp1115;
	fftw_real tmp1118;
	ASSERT_ALIGNED_DOUBLE;
	tmp1119 = tmp636 - tmp637;
	tmp1120 = tmp1117 - tmp1116;
	c_im(inout[25 * iostride]) = tmp1119 + tmp1120;
	c_im(inout[57 * iostride]) = tmp1120 - tmp1119;
	tmp1115 = tmp633 + tmp626;
	tmp1118 = tmp1116 + tmp1117;
	c_im(inout[9 * iostride]) = tmp1115 + tmp1118;
	c_im(inout[41 * iostride]) = tmp1118 - tmp1115;
      }
      {
	fftw_real tmp643;
	fftw_real tmp650;
	fftw_real tmp651;
	fftw_real tmp654;
	ASSERT_ALIGNED_DOUBLE;
	tmp643 = tmp639 - tmp642;
	tmp650 = tmp646 - tmp649;
	c_re(inout[49 * iostride]) = tmp643 - tmp650;
	c_re(inout[17 * iostride]) = tmp643 + tmp650;
	tmp651 = tmp639 + tmp642;
	tmp654 = tmp652 + tmp653;
	c_re(inout[33 * iostride]) = tmp651 - tmp654;
	c_re(inout[iostride]) = tmp651 + tmp654;
      }
      {
	fftw_real tmp1113;
	fftw_real tmp1114;
	fftw_real tmp1103;
	fftw_real tmp1112;
	ASSERT_ALIGNED_DOUBLE;
	tmp1113 = tmp652 - tmp653;
	tmp1114 = tmp1111 - tmp1104;
	c_im(inout[17 * iostride]) = tmp1113 + tmp1114;
	c_im(inout[49 * iostride]) = tmp1114 - tmp1113;
	tmp1103 = tmp649 + tmp646;
	tmp1112 = tmp1104 + tmp1111;
	c_im(inout[iostride]) = tmp1103 + tmp1112;
	c_im(inout[33 * iostride]) = tmp1112 - tmp1103;
      }
    }
    {
      fftw_real tmp807;
      fftw_real tmp891;
      fftw_real tmp830;
      fftw_real tmp1074;
      fftw_real tmp1079;
      fftw_real tmp1085;
      fftw_real tmp894;
      fftw_real tmp1084;
      fftw_real tmp885;
      fftw_real tmp888;
      fftw_real tmp901;
      fftw_real tmp904;
      fftw_real tmp858;
      fftw_real tmp889;
      fftw_real tmp898;
      fftw_real tmp905;
      ASSERT_ALIGNED_DOUBLE;
      {
	fftw_real tmp795;
	fftw_real tmp806;
	fftw_real tmp892;
	fftw_real tmp893;
	ASSERT_ALIGNED_DOUBLE;
	tmp795 = tmp791 + tmp794;
	tmp806 = K707106781 * (tmp800 + tmp805);
	tmp807 = tmp795 - tmp806;
	tmp891 = tmp795 + tmp806;
	{
	  fftw_real tmp818;
	  fftw_real tmp829;
	  fftw_real tmp1075;
	  fftw_real tmp1078;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp818 =
	    (K923879532 * tmp812) - (K382683432 * tmp817);
	  tmp829 =
	    (K923879532 * tmp823) + (K382683432 * tmp828);
	  tmp830 = tmp818 - tmp829;
	  tmp1074 = tmp829 + tmp818;
	  tmp1075 = K707106781 * (tmp909 + tmp908);
	  tmp1078 = tmp1076 + tmp1077;
	  tmp1079 = tmp1075 + tmp1078;
	  tmp1085 = tmp1078 - tmp1075;
	}
	tmp892 = (K923879532 * tmp828) - (K382683432 * tmp823);
	tmp893 = (K382683432 * tmp812) + (K923879532 * tmp817);
	tmp894 = tmp892 + tmp893;
	tmp1084 = tmp892 - tmp893;
	{
	  fftw_real tmp875;
	  fftw_real tmp899;
	  fftw_real tmp884;
	  fftw_real tmp900;
	  fftw_real tmp874;
	  fftw_real tmp883;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp874 = K707106781 * (tmp868 + tmp873);
	  tmp875 = tmp863 - tmp874;
	  tmp899 = tmp863 + tmp874;
	  tmp883 = K707106781 * (tmp881 + tmp882);
	  tmp884 = tmp880 - tmp883;
	  tmp900 = tmp880 + tmp883;
	  tmp885 =
	    (K555570233 * tmp875) + (K831469612 * tmp884);
	  tmp888 =
	    (K555570233 * tmp884) - (K831469612 * tmp875);
	  tmp901 =
	    (K980785280 * tmp899) + (K195090322 * tmp900);
	  tmp904 =
	    (K980785280 * tmp900) - (K195090322 * tmp899);
	}
	{
	  fftw_real tmp848;
	  fftw_real tmp896;
	  fftw_real tmp857;
	  fftw_real tmp897;
	  fftw_real tmp847;
	  fftw_real tmp856;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp847 = K707106781 * (tmp841 + tmp846);
	  tmp848 = tmp836 - tmp847;
	  tmp896 = tmp836 + tmp847;
	  tmp856 = K707106781 * (tmp854 + tmp855);
	  tmp857 = tmp853 - tmp856;
	  tmp897 = tmp853 + tmp856;
	  tmp858 =
	    (K555570233 * tmp848) - (K831469612 * tmp857);
	  tmp889 =
	    (K831469612 * tmp848) + (K555570233 * tmp857);
	  tmp898 =
	    (K980785280 * tmp896) - (K195090322 * tmp897);
	  tmp905 =
	    (K195090322 * tmp896) + (K980785280 * tmp897);
	}
      }
      {
	fftw_real tmp831;
	fftw_real tmp886;
	fftw_real tmp887;
	fftw_real tmp890;
	ASSERT_ALIGNED_DOUBLE;
	tmp831 = tmp807 + tmp830;
	tmp886 = tmp858 + tmp885;
	c_re(inout[42 * iostride]) = tmp831 - tmp886;
	c_re(inout[10 * iostride]) = tmp831 + tmp886;
	tmp887 = tmp807 - tmp830;
	tmp890 = tmp888 - tmp889;
	c_re(inout[58 * iostride]) = tmp887 - tmp890;
	c_re(inout[26 * iostride]) = tmp887 + tmp890;
      }
      {
	fftw_real tmp1083;
	fftw_real tmp1086;
	fftw_real tmp1087;
	fftw_real tmp1088;
	ASSERT_ALIGNED_DOUBLE;
	tmp1083 = tmp889 + tmp888;
	tmp1086 = tmp1084 + tmp1085;
	c_im(inout[10 * iostride]) = tmp1083 + tmp1086;
	c_im(inout[42 * iostride]) = tmp1086 - tmp1083;
	tmp1087 = tmp858 - tmp885;
	tmp1088 = tmp1085 - tmp1084;
	c_im(inout[26 * iostride]) = tmp1087 + tmp1088;
	c_im(inout[58 * iostride]) = tmp1088 - tmp1087;
      }
      {
	fftw_real tmp895;
	fftw_real tmp902;
	fftw_real tmp903;
	fftw_real tmp906;
	ASSERT_ALIGNED_DOUBLE;
	tmp895 = tmp891 + tmp894;
	tmp902 = tmp898 + tmp901;
	c_re(inout[34 * iostride]) = tmp895 - tmp902;
	c_re(inout[2 * iostride]) = tmp895 + tmp902;
	tmp903 = tmp891 - tmp894;
	tmp906 = tmp904 - tmp905;
	c_re(inout[50 * iostride]) = tmp903 - tmp906;
	c_re(inout[18 * iostride]) = tmp903 + tmp906;
      }
      {
	fftw_real tmp1073;
	fftw_real tmp1080;
	fftw_real tmp1081;
	fftw_real tmp1082;
	ASSERT_ALIGNED_DOUBLE;
	tmp1073 = tmp905 + tmp904;
	tmp1080 = tmp1074 + tmp1079;
	c_im(inout[2 * iostride]) = tmp1073 + tmp1080;
	c_im(inout[34 * iostride]) = tmp1080 - tmp1073;
	tmp1081 = tmp898 - tmp901;
	tmp1082 = tmp1079 - tmp1074;
	c_im(inout[18 * iostride]) = tmp1081 + tmp1082;
	c_im(inout[50 * iostride]) = tmp1082 - tmp1081;
      }
    }
    {
      fftw_real tmp911;
      fftw_real tmp939;
      fftw_real tmp918;
      fftw_real tmp1090;
      fftw_real tmp1093;
      fftw_real tmp1099;
      fftw_real tmp942;
      fftw_real tmp1098;
      fftw_real tmp933;
      fftw_real tmp936;
      fftw_real tmp949;
      fftw_real tmp952;
      fftw_real tmp926;
      fftw_real tmp937;
      fftw_real tmp946;
      fftw_real tmp953;
      ASSERT_ALIGNED_DOUBLE;
      {
	fftw_real tmp907;
	fftw_real tmp910;
	fftw_real tmp940;
	fftw_real tmp941;
	ASSERT_ALIGNED_DOUBLE;
	tmp907 = tmp791 - tmp794;
	tmp910 = K707106781 * (tmp908 - tmp909);
	tmp911 = tmp907 - tmp910;
	tmp939 = tmp907 + tmp910;
	{
	  fftw_real tmp914;
	  fftw_real tmp917;
	  fftw_real tmp1091;
	  fftw_real tmp1092;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp914 =
	    (K382683432 * tmp912) - (K923879532 * tmp913);
	  tmp917 =
	    (K382683432 * tmp915) + (K923879532 * tmp916);
	  tmp918 = tmp914 - tmp917;
	  tmp1090 = tmp917 + tmp914;
	  tmp1091 = K707106781 * (tmp800 - tmp805);
	  tmp1092 = tmp1077 - tmp1076;
	  tmp1093 = tmp1091 + tmp1092;
	  tmp1099 = tmp1092 - tmp1091;
	}
	tmp940 = (K382683432 * tmp916) - (K923879532 * tmp915);
	tmp941 = (K923879532 * tmp912) + (K382683432 * tmp913);
	tmp942 = tmp940 + tmp941;
	tmp1098 = tmp940 - tmp941;
	{
	  fftw_real tmp929;
	  fftw_real tmp947;
	  fftw_real tmp932;
	  fftw_real tmp948;
	  fftw_real tmp928;
	  fftw_real tmp931;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp928 = K707106781 * (tmp841 - tmp846);
	  tmp929 = tmp927 - tmp928;
	  tmp947 = tmp927 + tmp928;
	  tmp931 = K707106781 * (tmp855 - tmp854);
	  tmp932 = tmp930 - tmp931;
	  tmp948 = tmp930 + tmp931;
	  tmp933 =
	    (K195090322 * tmp929) + (K980785280 * tmp932);
	  tmp936 =
	    (K195090322 * tmp932) - (K980785280 * tmp929);
	  tmp949 =
	    (K831469612 * tmp947) + (K555570233 * tmp948);
	  tmp952 =
	    (K831469612 * tmp948) - (K555570233 * tmp947);
	}
	{
	  fftw_real tmp922;
	  fftw_real tmp944;
	  fftw_real tmp925;
	  fftw_real tmp945;
	  fftw_real tmp921;
	  fftw_real tmp924;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp921 = K707106781 * (tmp868 - tmp873);
	  tmp922 = tmp920 - tmp921;
	  tmp944 = tmp920 + tmp921;
	  tmp924 = K707106781 * (tmp882 - tmp881);
	  tmp925 = tmp923 - tmp924;
	  tmp945 = tmp923 + tmp924;
	  tmp926 =
	    (K195090322 * tmp922) - (K980785280 * tmp925);
	  tmp937 =
	    (K980785280 * tmp922) + (K195090322 * tmp925);
	  tmp946 =
	    (K831469612 * tmp944) - (K555570233 * tmp945);
	  tmp953 =
	    (K555570233 * tmp944) + (K831469612 * tmp945);
	}
      }
      {
	fftw_real tmp919;
	fftw_real tmp934;
	fftw_real tmp935;
	fftw_real tmp938;
	ASSERT_ALIGNED_DOUBLE;
	tmp919 = tmp911 - tmp918;
	tmp934 = tmp926 - tmp933;
	c_re(inout[62 * iostride]) = tmp919 - tmp934;
	c_re(inout[30 * iostride]) = tmp919 + tmp934;
	tmp935 = tmp911 + tmp918;
	tmp938 = tmp936 + tmp937;
	c_re(inout[46 * iostride]) = tmp935 - tmp938;
	c_re(inout[14 * iostride]) = tmp935 + tmp938;
      }
      {
	fftw_real tmp1101;
	fftw_real tmp1102;
	fftw_real tmp1097;
	fftw_real tmp1100;
	ASSERT_ALIGNED_DOUBLE;
	tmp1101 = tmp936 - tmp937;
	tmp1102 = tmp1099 - tmp1098;
	c_im(inout[30 * iostride]) = tmp1101 + tmp1102;
	c_im(inout[62 * iostride]) = tmp1102 - tmp1101;
	tmp1097 = tmp933 + tmp926;
	tmp1100 = tmp1098 + tmp1099;
	c_im(inout[14 * iostride]) = tmp1097 + tmp1100;
	c_im(inout[46 * iostride]) = tmp1100 - tmp1097;
      }
      {
	fftw_real tmp943;
	fftw_real tmp950;
	fftw_real tmp951;
	fftw_real tmp954;
	ASSERT_ALIGNED_DOUBLE;
	tmp943 = tmp939 - tmp942;
	tmp950 = tmp946 - tmp949;
	c_re(inout[54 * iostride]) = tmp943 - tmp950;
	c_re(inout[22 * iostride]) = tmp943 + tmp950;
	tmp951 = tmp939 + tmp942;
	tmp954 = tmp952 + tmp953;
	c_re(inout[38 * iostride]) = tmp951 - tmp954;
	c_re(inout[6 * iostride]) = tmp951 + tmp954;
      }
      {
	fftw_real tmp1095;
	fftw_real tmp1096;
	fftw_real tmp1089;
	fftw_real tmp1094;
	ASSERT_ALIGNED_DOUBLE;
	tmp1095 = tmp952 - tmp953;
	tmp1096 = tmp1093 - tmp1090;
	c_im(inout[22 * iostride]) = tmp1095 + tmp1096;
	c_im(inout[54 * iostride]) = tmp1096 - tmp1095;
	tmp1089 = tmp949 + tmp946;
	tmp1094 = tmp1090 + tmp1093;
	c_im(inout[6 * iostride]) = tmp1089 + tmp1094;
	c_im(inout[38 * iostride]) = tmp1094 - tmp1089;
      }
    }
    {
      fftw_real tmp667;
      fftw_real tmp727;
      fftw_real tmp1155;
      fftw_real tmp1161;
      fftw_real tmp682;
      fftw_real tmp1152;
      fftw_real tmp730;
      fftw_real tmp1160;
      fftw_real tmp702;
      fftw_real tmp725;
      fftw_real tmp734;
      fftw_real tmp741;
      fftw_real tmp721;
      fftw_real tmp724;
      fftw_real tmp737;
      fftw_real tmp740;
      ASSERT_ALIGNED_DOUBLE;
      {
	fftw_real tmp659;
	fftw_real tmp666;
	fftw_real tmp1153;
	fftw_real tmp1154;
	ASSERT_ALIGNED_DOUBLE;
	tmp659 = tmp655 - tmp658;
	tmp666 = tmp662 - tmp665;
	tmp667 = tmp659 - tmp666;
	tmp727 = tmp659 + tmp666;
	tmp1153 = tmp744 - tmp745;
	tmp1154 = tmp1139 - tmp1138;
	tmp1155 = tmp1153 + tmp1154;
	tmp1161 = tmp1154 - tmp1153;
      }
      {
	fftw_real tmp674;
	fftw_real tmp729;
	fftw_real tmp681;
	fftw_real tmp728;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp670;
	  fftw_real tmp673;
	  fftw_real tmp677;
	  fftw_real tmp680;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp670 = tmp668 - tmp669;
	  tmp673 = tmp671 - tmp672;
	  tmp674 =
	    (K195090322 * tmp670) - (K980785280 * tmp673);
	  tmp729 =
	    (K980785280 * tmp670) + (K195090322 * tmp673);
	  tmp677 = tmp675 - tmp676;
	  tmp680 = tmp678 - tmp679;
	  tmp681 =
	    (K195090322 * tmp677) + (K980785280 * tmp680);
	  tmp728 =
	    (K195090322 * tmp680) - (K980785280 * tmp677);
	}
	tmp682 = tmp674 - tmp681;
	tmp1152 = tmp681 + tmp674;
	tmp730 = tmp728 + tmp729;
	tmp1160 = tmp728 - tmp729;
      }
      {
	fftw_real tmp694;
	fftw_real tmp732;
	fftw_real tmp701;
	fftw_real tmp733;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp686;
	  fftw_real tmp693;
	  fftw_real tmp697;
	  fftw_real tmp700;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp686 = tmp684 - tmp685;
	  tmp693 = tmp689 - tmp692;
	  tmp694 = tmp686 - tmp693;
	  tmp732 = tmp686 + tmp693;
	  tmp697 = tmp695 - tmp696;
	  tmp700 = tmp698 - tmp699;
	  tmp701 = tmp697 - tmp700;
	  tmp733 = tmp697 + tmp700;
	}
	tmp702 = (K098017140 * tmp694) - (K995184726 * tmp701);
	tmp725 = (K995184726 * tmp694) + (K098017140 * tmp701);
	tmp734 = (K773010453 * tmp732) - (K634393284 * tmp733);
	tmp741 = (K634393284 * tmp732) + (K773010453 * tmp733);
      }
      {
	fftw_real tmp713;
	fftw_real tmp735;
	fftw_real tmp720;
	fftw_real tmp736;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp705;
	  fftw_real tmp712;
	  fftw_real tmp716;
	  fftw_real tmp719;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp705 = tmp703 - tmp704;
	  tmp712 = tmp708 - tmp711;
	  tmp713 = tmp705 - tmp712;
	  tmp735 = tmp705 + tmp712;
	  tmp716 = tmp714 - tmp715;
	  tmp719 = tmp717 - tmp718;
	  tmp720 = tmp716 - tmp719;
	  tmp736 = tmp716 + tmp719;
	}
	tmp721 = (K098017140 * tmp713) + (K995184726 * tmp720);
	tmp724 = (K098017140 * tmp720) - (K995184726 * tmp713);
	tmp737 = (K773010453 * tmp735) + (K634393284 * tmp736);
	tmp740 = (K773010453 * tmp736) - (K634393284 * tmp735);
      }
      {
	fftw_real tmp683;
	fftw_real tmp722;
	fftw_real tmp723;
	fftw_real tmp726;
	ASSERT_ALIGNED_DOUBLE;
	tmp683 = tmp667 + tmp682;
	tmp722 = tmp702 + tmp721;
	c_re(inout[47 * iostride]) = tmp683 - tmp722;
	c_re(inout[15 * iostride]) = tmp683 + tmp722;
	tmp723 = tmp667 - tmp682;
	tmp726 = tmp724 - tmp725;
	c_re(inout[63 * iostride]) = tmp723 - tmp726;
	c_re(inout[31 * iostride]) = tmp723 + tmp726;
      }
      {
	fftw_real tmp1159;
	fftw_real tmp1162;
	fftw_real tmp1163;
	fftw_real tmp1164;
	ASSERT_ALIGNED_DOUBLE;
	tmp1159 = tmp725 + tmp724;
	tmp1162 = tmp1160 + tmp1161;
	c_im(inout[15 * iostride]) = tmp1159 + tmp1162;
	c_im(inout[47 * iostride]) = tmp1162 - tmp1159;
	tmp1163 = tmp702 - tmp721;
	tmp1164 = tmp1161 - tmp1160;
	c_im(inout[31 * iostride]) = tmp1163 + tmp1164;
	c_im(inout[63 * iostride]) = tmp1164 - tmp1163;
      }
      {
	fftw_real tmp731;
	fftw_real tmp738;
	fftw_real tmp739;
	fftw_real tmp742;
	ASSERT_ALIGNED_DOUBLE;
	tmp731 = tmp727 + tmp730;
	tmp738 = tmp734 + tmp737;
	c_re(inout[39 * iostride]) = tmp731 - tmp738;
	c_re(inout[7 * iostride]) = tmp731 + tmp738;
	tmp739 = tmp727 - tmp730;
	tmp742 = tmp740 - tmp741;
	c_re(inout[55 * iostride]) = tmp739 - tmp742;
	c_re(inout[23 * iostride]) = tmp739 + tmp742;
      }
      {
	fftw_real tmp1151;
	fftw_real tmp1156;
	fftw_real tmp1157;
	fftw_real tmp1158;
	ASSERT_ALIGNED_DOUBLE;
	tmp1151 = tmp741 + tmp740;
	tmp1156 = tmp1152 + tmp1155;
	c_im(inout[7 * iostride]) = tmp1151 + tmp1156;
	c_im(inout[39 * iostride]) = tmp1156 - tmp1151;
	tmp1157 = tmp734 - tmp737;
	tmp1158 = tmp1155 - tmp1152;
	c_im(inout[23 * iostride]) = tmp1157 + tmp1158;
	c_im(inout[55 * iostride]) = tmp1158 - tmp1157;
      }
    }
    {
      fftw_real tmp747;
      fftw_real tmp775;
      fftw_real tmp1141;
      fftw_real tmp1147;
      fftw_real tmp754;
      fftw_real tmp1136;
      fftw_real tmp778;
      fftw_real tmp1146;
      fftw_real tmp762;
      fftw_real tmp773;
      fftw_real tmp782;
      fftw_real tmp789;
      fftw_real tmp769;
      fftw_real tmp772;
      fftw_real tmp785;
      fftw_real tmp788;
      ASSERT_ALIGNED_DOUBLE;
      {
	fftw_real tmp743;
	fftw_real tmp746;
	fftw_real tmp1137;
	fftw_real tmp1140;
	ASSERT_ALIGNED_DOUBLE;
	tmp743 = tmp655 + tmp658;
	tmp746 = tmp744 + tmp745;
	tmp747 = tmp743 - tmp746;
	tmp775 = tmp743 + tmp746;
	tmp1137 = tmp665 + tmp662;
	tmp1140 = tmp1138 + tmp1139;
	tmp1141 = tmp1137 + tmp1140;
	tmp1147 = tmp1140 - tmp1137;
      }
      {
	fftw_real tmp750;
	fftw_real tmp777;
	fftw_real tmp753;
	fftw_real tmp776;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp748;
	  fftw_real tmp749;
	  fftw_real tmp751;
	  fftw_real tmp752;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp748 = tmp668 + tmp669;
	  tmp749 = tmp671 + tmp672;
	  tmp750 =
	    (K831469612 * tmp748) - (K555570233 * tmp749);
	  tmp777 =
	    (K555570233 * tmp748) + (K831469612 * tmp749);
	  tmp751 = tmp675 + tmp676;
	  tmp752 = tmp678 + tmp679;
	  tmp753 =
	    (K831469612 * tmp751) + (K555570233 * tmp752);
	  tmp776 =
	    (K831469612 * tmp752) - (K555570233 * tmp751);
	}
	tmp754 = tmp750 - tmp753;
	tmp1136 = tmp753 + tmp750;
	tmp778 = tmp776 + tmp777;
	tmp1146 = tmp776 - tmp777;
      }
      {
	fftw_real tmp758;
	fftw_real tmp780;
	fftw_real tmp761;
	fftw_real tmp781;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp756;
	  fftw_real tmp757;
	  fftw_real tmp759;
	  fftw_real tmp760;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp756 = tmp714 + tmp715;
	  tmp757 = tmp711 + tmp708;
	  tmp758 = tmp756 - tmp757;
	  tmp780 = tmp756 + tmp757;
	  tmp759 = tmp703 + tmp704;
	  tmp760 = tmp717 + tmp718;
	  tmp761 = tmp759 - tmp760;
	  tmp781 = tmp759 + tmp760;
	}
	tmp762 = (K471396736 * tmp758) - (K881921264 * tmp761);
	tmp773 = (K881921264 * tmp758) + (K471396736 * tmp761);
	tmp782 = (K956940335 * tmp780) - (K290284677 * tmp781);
	tmp789 = (K290284677 * tmp780) + (K956940335 * tmp781);
      }
      {
	fftw_real tmp765;
	fftw_real tmp783;
	fftw_real tmp768;
	fftw_real tmp784;
	ASSERT_ALIGNED_DOUBLE;
	{
	  fftw_real tmp763;
	  fftw_real tmp764;
	  fftw_real tmp766;
	  fftw_real tmp767;
	  ASSERT_ALIGNED_DOUBLE;
	  tmp763 = tmp695 + tmp696;
	  tmp764 = tmp692 + tmp689;
	  tmp765 = tmp763 - tmp764;
	  tmp783 = tmp763 + tmp764;
	  tmp766 = tmp684 + tmp685;
	  tmp767 = tmp698 + tmp699;
	  tmp768 = tmp766 - tmp767;
	  tmp784 = tmp766 + tmp767;
	}
	tmp769 = (K471396736 * tmp765) + (K881921264 * tmp768);
	tmp772 = (K471396736 * tmp768) - (K881921264 * tmp765);
	tmp785 = (K956940335 * tmp783) + (K290284677 * tmp784);
	tmp788 = (K956940335 * tmp784) - (K290284677 * tmp783);
      }
      {
	fftw_real tmp755;
	fftw_real tmp770;
	fftw_real tmp771;
	fftw_real tmp774;
	ASSERT_ALIGNED_DOUBLE;
	tmp755 = tmp747 - tmp754;
	tmp770 = tmp762 - tmp769;
	c_re(inout[59 * iostride]) = tmp755 - tmp770;
	c_re(inout[27 * iostride]) = tmp755 + tmp770;
	tmp771 = tmp747 + tmp754;
	tmp774 = tmp772 + tmp773;
	c_re(inout[43 * iostride]) = tmp771 - tmp774;
	c_re(inout[11 * iostride]) = tmp771 + tmp774;
      }
      {
	fftw_real tmp1149;
	fftw_real tmp1150;
	fftw_real tmp1145;
	fftw_real tmp1148;
	ASSERT_ALIGNED_DOUBLE;
	tmp1149 = tmp772 - tmp773;
	tmp1150 = tmp1147 - tmp1146;
	c_im(inout[27 * iostride]) = tmp1149 + tmp1150;
	c_im(inout[59 * iostride]) = tmp1150 - tmp1149;
	tmp1145 = tmp769 + tmp762;
	tmp1148 = tmp1146 + tmp1147;
	c_im(inout[11 * iostride]) = tmp1145 + tmp1148;
	c_im(inout[43 * iostride]) = tmp1148 - tmp1145;
      }
      {
	fftw_real tmp779;
	fftw_real tmp786;
	fftw_real tmp787;
	fftw_real tmp790;
	ASSERT_ALIGNED_DOUBLE;
	tmp779 = tmp775 - tmp778;
	tmp786 = tmp782 - tmp785;
	c_re(inout[51 * iostride]) = tmp779 - tmp786;
	c_re(inout[19 * iostride]) = tmp779 + tmp786;
	tmp787 = tmp775 + tmp778;
	tmp790 = tmp788 + tmp789;
	c_re(inout[35 * iostride]) = tmp787 - tmp790;
	c_re(inout[3 * iostride]) = tmp787 + tmp790;
      }
      {
	fftw_real tmp1143;
	fftw_real tmp1144;
	fftw_real tmp1135;
	fftw_real tmp1142;
	ASSERT_ALIGNED_DOUBLE;
	tmp1143 = tmp788 - tmp789;
	tmp1144 = tmp1141 - tmp1136;
	c_im(inout[19 * iostride]) = tmp1143 + tmp1144;
	c_im(inout[51 * iostride]) = tmp1144 - tmp1143;
	tmp1135 = tmp785 + tmp782;
	tmp1142 = tmp1136 + tmp1141;
	c_im(inout[3 * iostride]) = tmp1135 + tmp1142;
	c_im(inout[35 * iostride]) = tmp1142 - tmp1135;
      }
    }
  }
}

//static const int twiddle_order64[] =
//  { 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, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
//44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63 };
fftw_codelet_desc fftwi_twiddle_64_desc = {
  "fftwi_twiddle_64",
  (void (*)()) fftwi_twiddle_64,
  64,
  FFTW_BACKWARD,
  FFTW_TWIDDLE,
  1419,
  63,
  twiddle_order64,
};
