// ************************************************************************** //
//                                                                            //
//    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                                             //
//                                                                            //
// ************************************************************************** //


int w_0,w_1,w_2,w_3,w_4,w_5,w_6,w_7,w_8,w_9,w_10,w_11,w_12,w_13,w_14,w_15;
int x_0,x_1,x_2,x_3,x_4,x_5,x_6,x_7,x_8,x_9,x_10,x_11,x_12,x_13,x_14,x_15;
int y_0,y_1,y_2,y_3,y_4,y_5,y_6,y_7,y_8,y_9,y_10,y_11,y_12,y_13,y_14,y_15;
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_1 = x_0 + x_8;
    t_2 = x_1 + x_9;
    t_3 = x_2 + x_10;
    t_4 = x_3 + x_11;
    t_5 = x_4 + x_12;
    t_6 = x_5 + x_13;
    t_7 = x_6 + x_14;
    t_8 = x_7 + x_15;
    t_9 = x_0 - x_8;
    t_10 = w_1 * (x_1 - x_9);
    t_11 = w_2 * (x_2 - x_10);
    t_12 = w_3 * (x_3 - x_11);
    t_13 = w_4 * (x_4 - x_12);
    t_14 = w_5 * (x_5 - x_13);
    t_15 = w_6 * (x_6 - x_14);
    t_16 = w_7 * (x_7 - x_15);
    t_17 = t_1 + t_5;
    t_18 = t_2 + t_6;
    t_19 = t_3 + t_7;
    t_20 = t_4 + t_8;
    t_21 = t_1 - t_5;
    t_22 = w_2 * (t_2 - t_6);
    t_23 = w_4 * (t_3 - t_7);
    t_24 = w_6 * (t_4 - t_8);
    t_25 = t_17 + t_19;
    t_26 = t_18 + t_20;
    t_27 = t_17 - t_19;
    t_28 = w_4 * (t_18 - t_20);
    t_29 = t_25 + t_26;
    t_30 = t_25 - t_26;
    t_31 = t_27 + t_28;
    t_32 = t_27 - t_28;
    t_33 = t_21 + t_23;
    t_34 = t_22 + t_24;
    t_35 = t_21 - t_23;
    t_36 = w_4 * (t_22 - t_24);
    t_37 = t_33 + t_34;
    t_38 = t_33 - t_34;
    t_39 = t_35 + t_36;
    t_40 = t_35 - t_36;
    t_41 = t_9 + t_13;
    t_42 = t_10 + t_14;
    t_43 = t_11 + t_15;
    t_44 = t_12 + t_16;
    t_45 = t_9 - t_13;
    t_46 = w_2 * (t_10 - t_14);
    t_47 = w_4 * (t_11 - t_15);
    t_48 = w_6 * (t_12 - t_16);
    t_49 = t_41 + t_43;
    t_50 = t_42 + t_44;
    t_51 = t_41 - t_43;
    t_52 = w_4 * (t_42 - t_44);
    t_53 = t_49 + t_50;
    t_54 = t_49 - t_50;
    t_55 = t_51 + t_52;
    t_56 = t_51 - t_52;
    t_57 = t_45 + t_47;
    t_58 = t_46 + t_48;
    t_59 = t_45 - t_47;
    t_60 = w_4 * (t_46 - t_48);
    t_61 = t_57 + t_58;
    t_62 = t_57 - t_58;
    t_63 = t_59 + t_60;
    t_64 = t_59 - t_60;
    y_0 = t_29;
    y_1 = t_53;
    y_2 = t_37;
    y_3 = t_61;
    y_4 = t_31;
    y_5 = t_55;
    y_6 = t_39;
    y_7 = t_63;
    y_8 = t_30;
    y_9 = t_54;
    y_10 = t_38;
    y_11 = t_62;
    y_12 = t_32;
    y_13 = t_56;
    y_14 = t_40;
    y_15 = t_64;
}