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


[128]nat x;
nat z;

thread BinaryTree_128 {
    nat y0,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12,y13,y14,y15,y16,y17,y18,y19,y20,y21,y22,y23,y24,y25,y26,y27,y28,y29,y30,y31,y32,y33,y34,y35,y36,y37,y38,y39,y40,y41,y42,y43,y44,y45,y46,y47,y48,y49,y50,y51,y52,y53,y54,y55,y56,y57,y58,y59,y60,y61,y62,y63,y64,y65,y66,y67,y68,y69,y70,y71,y72,y73,y74,y75,y76,y77,y78,y79,y80,y81,y82,y83,y84,y85,y86,y87,y88,y89,y90,y91,y92,y93,y94,y95,y96,y97,y98,y99,y100,y101,y102,y103,y104,y105,y106,y107,y108,y109,y110,y111,y112,y113,y114,y115,y116,y117,y118,y119,y120,y121,y122,y123,y124,y125,y126,y127;
    y0 = x[0];
    y1 = x[1];
    y2 = x[2];
    y3 = x[3];
    y4 = x[4];
    y5 = x[5];
    y6 = x[6];
    y7 = x[7];
    y8 = x[8];
    y9 = x[9];
    y10 = x[10];
    y11 = x[11];
    y12 = x[12];
    y13 = x[13];
    y14 = x[14];
    y15 = x[15];
    y16 = x[16];
    y17 = x[17];
    y18 = x[18];
    y19 = x[19];
    y20 = x[20];
    y21 = x[21];
    y22 = x[22];
    y23 = x[23];
    y24 = x[24];
    y25 = x[25];
    y26 = x[26];
    y27 = x[27];
    y28 = x[28];
    y29 = x[29];
    y30 = x[30];
    y31 = x[31];
    y32 = x[32];
    y33 = x[33];
    y34 = x[34];
    y35 = x[35];
    y36 = x[36];
    y37 = x[37];
    y38 = x[38];
    y39 = x[39];
    y40 = x[40];
    y41 = x[41];
    y42 = x[42];
    y43 = x[43];
    y44 = x[44];
    y45 = x[45];
    y46 = x[46];
    y47 = x[47];
    y48 = x[48];
    y49 = x[49];
    y50 = x[50];
    y51 = x[51];
    y52 = x[52];
    y53 = x[53];
    y54 = x[54];
    y55 = x[55];
    y56 = x[56];
    y57 = x[57];
    y58 = x[58];
    y59 = x[59];
    y60 = x[60];
    y61 = x[61];
    y62 = x[62];
    y63 = x[63];
    y64 = x[64];
    y65 = x[65];
    y66 = x[66];
    y67 = x[67];
    y68 = x[68];
    y69 = x[69];
    y70 = x[70];
    y71 = x[71];
    y72 = x[72];
    y73 = x[73];
    y74 = x[74];
    y75 = x[75];
    y76 = x[76];
    y77 = x[77];
    y78 = x[78];
    y79 = x[79];
    y80 = x[80];
    y81 = x[81];
    y82 = x[82];
    y83 = x[83];
    y84 = x[84];
    y85 = x[85];
    y86 = x[86];
    y87 = x[87];
    y88 = x[88];
    y89 = x[89];
    y90 = x[90];
    y91 = x[91];
    y92 = x[92];
    y93 = x[93];
    y94 = x[94];
    y95 = x[95];
    y96 = x[96];
    y97 = x[97];
    y98 = x[98];
    y99 = x[99];
    y100 = x[100];
    y101 = x[101];
    y102 = x[102];
    y103 = x[103];
    y104 = x[104];
    y105 = x[105];
    y106 = x[106];
    y107 = x[107];
    y108 = x[108];
    y109 = x[109];
    y110 = x[110];
    y111 = x[111];
    y112 = x[112];
    y113 = x[113];
    y114 = x[114];
    y115 = x[115];
    y116 = x[116];
    y117 = x[117];
    y118 = x[118];
    y119 = x[119];
    y120 = x[120];
    y121 = x[121];
    y122 = x[122];
    y123 = x[123];
    y124 = x[124];
    y125 = x[125];
    y126 = x[126];
    y127 = x[127];
    // level 0
    y0 = y0 + y1;
    y1 = y2 + y3;
    y2 = y4 + y5;
    y3 = y6 + y7;
    y4 = y8 + y9;
    y5 = y10 + y11;
    y6 = y12 + y13;
    y7 = y14 + y15;
    y8 = y16 + y17;
    y9 = y18 + y19;
    y10 = y20 + y21;
    y11 = y22 + y23;
    y12 = y24 + y25;
    y13 = y26 + y27;
    y14 = y28 + y29;
    y15 = y30 + y31;
    y16 = y32 + y33;
    y17 = y34 + y35;
    y18 = y36 + y37;
    y19 = y38 + y39;
    y20 = y40 + y41;
    y21 = y42 + y43;
    y22 = y44 + y45;
    y23 = y46 + y47;
    y24 = y48 + y49;
    y25 = y50 + y51;
    y26 = y52 + y53;
    y27 = y54 + y55;
    y28 = y56 + y57;
    y29 = y58 + y59;
    y30 = y60 + y61;
    y31 = y62 + y63;
    y32 = y64 + y65;
    y33 = y66 + y67;
    y34 = y68 + y69;
    y35 = y70 + y71;
    y36 = y72 + y73;
    y37 = y74 + y75;
    y38 = y76 + y77;
    y39 = y78 + y79;
    y40 = y80 + y81;
    y41 = y82 + y83;
    y42 = y84 + y85;
    y43 = y86 + y87;
    y44 = y88 + y89;
    y45 = y90 + y91;
    y46 = y92 + y93;
    y47 = y94 + y95;
    y48 = y96 + y97;
    y49 = y98 + y99;
    y50 = y100 + y101;
    y51 = y102 + y103;
    y52 = y104 + y105;
    y53 = y106 + y107;
    y54 = y108 + y109;
    y55 = y110 + y111;
    y56 = y112 + y113;
    y57 = y114 + y115;
    y58 = y116 + y117;
    y59 = y118 + y119;
    y60 = y120 + y121;
    y61 = y122 + y123;
    y62 = y124 + y125;
    y63 = y126 + y127;
    // level 0
    y0 = y0 + y1;
    y1 = y2 + y3;
    y2 = y4 + y5;
    y3 = y6 + y7;
    y4 = y8 + y9;
    y5 = y10 + y11;
    y6 = y12 + y13;
    y7 = y14 + y15;
    y8 = y16 + y17;
    y9 = y18 + y19;
    y10 = y20 + y21;
    y11 = y22 + y23;
    y12 = y24 + y25;
    y13 = y26 + y27;
    y14 = y28 + y29;
    y15 = y30 + y31;
    y16 = y32 + y33;
    y17 = y34 + y35;
    y18 = y36 + y37;
    y19 = y38 + y39;
    y20 = y40 + y41;
    y21 = y42 + y43;
    y22 = y44 + y45;
    y23 = y46 + y47;
    y24 = y48 + y49;
    y25 = y50 + y51;
    y26 = y52 + y53;
    y27 = y54 + y55;
    y28 = y56 + y57;
    y29 = y58 + y59;
    y30 = y60 + y61;
    y31 = y62 + y63;
    // level 0
    y0 = y0 + y1;
    y1 = y2 + y3;
    y2 = y4 + y5;
    y3 = y6 + y7;
    y4 = y8 + y9;
    y5 = y10 + y11;
    y6 = y12 + y13;
    y7 = y14 + y15;
    y8 = y16 + y17;
    y9 = y18 + y19;
    y10 = y20 + y21;
    y11 = y22 + y23;
    y12 = y24 + y25;
    y13 = y26 + y27;
    y14 = y28 + y29;
    y15 = y30 + y31;
    // level 0
    y0 = y0 + y1;
    y1 = y2 + y3;
    y2 = y4 + y5;
    y3 = y6 + y7;
    y4 = y8 + y9;
    y5 = y10 + y11;
    y6 = y12 + y13;
    y7 = y14 + y15;
    // level 0
    y0 = y0 + y1;
    y1 = y2 + y3;
    y2 = y4 + y5;
    y3 = y6 + y7;
    // level 0
    y0 = y0 + y1;
    y1 = y2 + y3;
    // level 0
    y0 = y0 + y1;
    z = y0;
}