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