// ************************************************************************** //
//                                                                            //
//    eses                   eses                                             //
//   eses                     eses                                            //
//  eses    eseses  esesese    eses   Embedded Systems Group                  //
//  ese    ese  ese ese         ese                                           //
//  ese    eseseses eseseses    ese   Department of Computer Science          //
//  eses   eses          ese   eses                                           //
//   eses   eseses  eseseses  eses    University of Kaiserslautern            //
//    eses                   eses                                             //
//                                                                            //
// ************************************************************************** //


[32]int w;
[32]int x;
[32]int y;
thread FastFourierTransform {
    int t_1,t_2,t_3,t_4,t_5,t_6,t_7,t_8,t_9,t_10,t_11,t_12,t_13,t_14,t_15,t_16,t_17,t_18,t_19,t_20,t_21,t_22,t_23,t_24,t_25,t_26,t_27,t_28,t_29,t_30,t_31,t_32,t_33,t_34,t_35,t_36,t_37,t_38,t_39,t_40,t_41,t_42,t_43,t_44,t_45,t_46,t_47,t_48,t_49,t_50,t_51,t_52,t_53,t_54,t_55,t_56,t_57,t_58,t_59,t_60,t_61,t_62,t_63,t_64,t_65,t_66,t_67,t_68,t_69,t_70,t_71,t_72,t_73,t_74,t_75,t_76,t_77,t_78,t_79,t_80,t_81,t_82,t_83,t_84,t_85,t_86,t_87,t_88,t_89,t_90,t_91,t_92,t_93,t_94,t_95,t_96,t_97,t_98,t_99,t_100,t_101,t_102,t_103,t_104,t_105,t_106,t_107,t_108,t_109,t_110,t_111,t_112,t_113,t_114,t_115,t_116,t_117,t_118,t_119,t_120,t_121,t_122,t_123,t_124,t_125,t_126,t_127,t_128,t_129,t_130,t_131,t_132,t_133,t_134,t_135,t_136,t_137,t_138,t_139,t_140,t_141,t_142,t_143,t_144,t_145,t_146,t_147,t_148,t_149,t_150,t_151,t_152,t_153,t_154,t_155,t_156,t_157,t_158,t_159,t_160,t_161,t_162,t_163,t_164,t_165,t_166,t_167,t_168,t_169,t_170,t_171,t_172,t_173,t_174,t_175,t_176,t_177,t_178,t_179,t_180,t_181,t_182,t_183,t_184,t_185,t_186,t_187,t_188,t_189,t_190,t_191,t_192,t_193,t_194,t_195,t_196,t_197,t_198,t_199,t_200,t_201,t_202,t_203,t_204,t_205,t_206,t_207,t_208,t_209,t_210,t_211,t_212,t_213,t_214,t_215,t_216,t_217,t_218,t_219,t_220,t_221,t_222,t_223,t_224;
    t_1 = x[0];
    t_2 = x[1];
    t_3 = x[2];
    t_4 = x[3];
    t_5 = x[4];
    t_6 = x[5];
    t_7 = x[6];
    t_8 = x[7];
    t_9 = x[8];
    t_10 = x[9];
    t_11 = x[10];
    t_12 = x[11];
    t_13 = x[12];
    t_14 = x[13];
    t_15 = x[14];
    t_16 = x[15];
    t_17 = x[16];
    t_18 = x[17];
    t_19 = x[18];
    t_20 = x[19];
    t_21 = x[20];
    t_22 = x[21];
    t_23 = x[22];
    t_24 = x[23];
    t_25 = x[24];
    t_26 = x[25];
    t_27 = x[26];
    t_28 = x[27];
    t_29 = x[28];
    t_30 = x[29];
    t_31 = x[30];
    t_32 = x[31];
    t_33 = w[0];
    t_34 = w[1];
    t_35 = w[2];
    t_36 = w[3];
    t_37 = w[4];
    t_38 = w[5];
    t_39 = w[6];
    t_40 = w[7];
    t_41 = w[8];
    t_42 = w[9];
    t_43 = w[10];
    t_44 = w[11];
    t_45 = w[12];
    t_46 = w[13];
    t_47 = w[14];
    t_48 = w[15];
    t_49 = w[16];
    t_50 = w[17];
    t_51 = w[18];
    t_52 = w[19];
    t_53 = w[20];
    t_54 = w[21];
    t_55 = w[22];
    t_56 = w[23];
    t_57 = w[24];
    t_58 = w[25];
    t_59 = w[26];
    t_60 = w[27];
    t_61 = w[28];
    t_62 = w[29];
    t_63 = w[30];
    t_64 = w[31];
    t_65 = t_1 + t_17;
    t_66 = t_2 + t_18;
    t_67 = t_3 + t_19;
    t_68 = t_4 + t_20;
    t_69 = t_5 + t_21;
    t_70 = t_6 + t_22;
    t_71 = t_7 + t_23;
    t_72 = t_8 + t_24;
    t_73 = t_9 + t_25;
    t_74 = t_10 + t_26;
    t_75 = t_11 + t_27;
    t_76 = t_12 + t_28;
    t_77 = t_13 + t_29;
    t_78 = t_14 + t_30;
    t_79 = t_15 + t_31;
    t_80 = t_16 + t_32;
    t_81 = t_1 - t_17;
    t_82 = t_34 * (t_2 - t_18);
    t_83 = t_35 * (t_3 - t_19);
    t_84 = t_36 * (t_4 - t_20);
    t_85 = t_37 * (t_5 - t_21);
    t_86 = t_38 * (t_6 - t_22);
    t_87 = t_39 * (t_7 - t_23);
    t_88 = t_40 * (t_8 - t_24);
    t_89 = t_41 * (t_9 - t_25);
    t_90 = t_42 * (t_10 - t_26);
    t_91 = t_43 * (t_11 - t_27);
    t_92 = t_44 * (t_12 - t_28);
    t_93 = t_45 * (t_13 - t_29);
    t_94 = t_46 * (t_14 - t_30);
    t_95 = t_47 * (t_15 - t_31);
    t_96 = t_48 * (t_16 - t_32);
    t_97 = t_65 + t_73;
    t_98 = t_66 + t_74;
    t_99 = t_67 + t_75;
    t_100 = t_68 + t_76;
    t_101 = t_69 + t_77;
    t_102 = t_70 + t_78;
    t_103 = t_71 + t_79;
    t_104 = t_72 + t_80;
    t_105 = t_65 - t_73;
    t_106 = t_35 * (t_66 - t_74);
    t_107 = t_37 * (t_67 - t_75);
    t_108 = t_39 * (t_68 - t_76);
    t_109 = t_41 * (t_69 - t_77);
    t_110 = t_43 * (t_70 - t_78);
    t_111 = t_45 * (t_71 - t_79);
    t_112 = t_47 * (t_72 - t_80);
    t_113 = t_97 + t_101;
    t_114 = t_98 + t_102;
    t_115 = t_99 + t_103;
    t_116 = t_100 + t_104;
    t_117 = t_97 - t_101;
    t_118 = t_37 * (t_98 - t_102);
    t_119 = t_41 * (t_99 - t_103);
    t_120 = t_45 * (t_100 - t_104);
    t_121 = t_113 + t_115;
    t_122 = t_114 + t_116;
    t_123 = t_113 - t_115;
    t_124 = t_41 * (t_114 - t_116);
    t_125 = t_121 + t_122;
    t_126 = t_121 - t_122;
    t_127 = t_123 + t_124;
    t_128 = t_123 - t_124;
    t_129 = t_117 + t_119;
    t_130 = t_118 + t_120;
    t_131 = t_117 - t_119;
    t_132 = t_41 * (t_118 - t_120);
    t_133 = t_129 + t_130;
    t_134 = t_129 - t_130;
    t_135 = t_131 + t_132;
    t_136 = t_131 - t_132;
    t_137 = t_105 + t_109;
    t_138 = t_106 + t_110;
    t_139 = t_107 + t_111;
    t_140 = t_108 + t_112;
    t_141 = t_105 - t_109;
    t_142 = t_37 * (t_106 - t_110);
    t_143 = t_41 * (t_107 - t_111);
    t_144 = t_45 * (t_108 - t_112);
    t_145 = t_137 + t_139;
    t_146 = t_138 + t_140;
    t_147 = t_137 - t_139;
    t_148 = t_41 * (t_138 - t_140);
    t_149 = t_145 + t_146;
    t_150 = t_145 - t_146;
    t_151 = t_147 + t_148;
    t_152 = t_147 - t_148;
    t_153 = t_141 + t_143;
    t_154 = t_142 + t_144;
    t_155 = t_141 - t_143;
    t_156 = t_41 * (t_142 - t_144);
    t_157 = t_153 + t_154;
    t_158 = t_153 - t_154;
    t_159 = t_155 + t_156;
    t_160 = t_155 - t_156;
    t_161 = t_81 + t_89;
    t_162 = t_82 + t_90;
    t_163 = t_83 + t_91;
    t_164 = t_84 + t_92;
    t_165 = t_85 + t_93;
    t_166 = t_86 + t_94;
    t_167 = t_87 + t_95;
    t_168 = t_88 + t_96;
    t_169 = t_81 - t_89;
    t_170 = t_35 * (t_82 - t_90);
    t_171 = t_37 * (t_83 - t_91);
    t_172 = t_39 * (t_84 - t_92);
    t_173 = t_41 * (t_85 - t_93);
    t_174 = t_43 * (t_86 - t_94);
    t_175 = t_45 * (t_87 - t_95);
    t_176 = t_47 * (t_88 - t_96);
    t_177 = t_161 + t_165;
    t_178 = t_162 + t_166;
    t_179 = t_163 + t_167;
    t_180 = t_164 + t_168;
    t_181 = t_161 - t_165;
    t_182 = t_37 * (t_162 - t_166);
    t_183 = t_41 * (t_163 - t_167);
    t_184 = t_45 * (t_164 - t_168);
    t_185 = t_177 + t_179;
    t_186 = t_178 + t_180;
    t_187 = t_177 - t_179;
    t_188 = t_41 * (t_178 - t_180);
    t_189 = t_185 + t_186;
    t_190 = t_185 - t_186;
    t_191 = t_187 + t_188;
    t_192 = t_187 - t_188;
    t_193 = t_181 + t_183;
    t_194 = t_182 + t_184;
    t_195 = t_181 - t_183;
    t_196 = t_41 * (t_182 - t_184);
    t_197 = t_193 + t_194;
    t_198 = t_193 - t_194;
    t_199 = t_195 + t_196;
    t_200 = t_195 - t_196;
    t_201 = t_169 + t_173;
    t_202 = t_170 + t_174;
    t_203 = t_171 + t_175;
    t_204 = t_172 + t_176;
    t_205 = t_169 - t_173;
    t_206 = t_37 * (t_170 - t_174);
    t_207 = t_41 * (t_171 - t_175);
    t_208 = t_45 * (t_172 - t_176);
    t_209 = t_201 + t_203;
    t_210 = t_202 + t_204;
    t_211 = t_201 - t_203;
    t_212 = t_41 * (t_202 - t_204);
    t_213 = t_209 + t_210;
    t_214 = t_209 - t_210;
    t_215 = t_211 + t_212;
    t_216 = t_211 - t_212;
    t_217 = t_205 + t_207;
    t_218 = t_206 + t_208;
    t_219 = t_205 - t_207;
    t_220 = t_41 * (t_206 - t_208);
    t_221 = t_217 + t_218;
    t_222 = t_217 - t_218;
    t_223 = t_219 + t_220;
    t_224 = t_219 - t_220;
    y[0] = t_125;
    y[1] = t_189;
    y[2] = t_149;
    y[3] = t_213;
    y[4] = t_133;
    y[5] = t_197;
    y[6] = t_157;
    y[7] = t_221;
    y[8] = t_127;
    y[9] = t_191;
    y[10] = t_151;
    y[11] = t_215;
    y[12] = t_135;
    y[13] = t_199;
    y[14] = t_159;
    y[15] = t_223;
    y[16] = t_126;
    y[17] = t_190;
    y[18] = t_150;
    y[19] = t_214;
    y[20] = t_134;
    y[21] = t_198;
    y[22] = t_158;
    y[23] = t_222;
    y[24] = t_128;
    y[25] = t_192;
    y[26] = t_152;
    y[27] = t_216;
    y[28] = t_136;
    y[29] = t_200;
    y[30] = t_160;
    y[31] = t_224;
}