// ************************************************************************** // // // // 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 // // // // ************************************************************************** // [64]nat x; nat z; thread BinaryTree_64 { 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; 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]; // 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; }