// ************************************************************************** // // // // 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 // // // // ************************************************************************** // [3][3]nat a; [3][3]nat b; [3][3]nat c; thread MatrixMult { nat 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_1 = a[0][0] * b[0][0]; t_2 = a[0][1] * b[1][0]; t_3 = a[0][2] * b[2][0]; t_4 = t_1 + t_2; t_5 = t_4 + t_3; t_6 = a[0][0] * b[0][1]; t_7 = a[0][1] * b[1][1]; t_8 = a[0][2] * b[2][1]; t_9 = t_6 + t_7; t_10 = t_9 + t_8; t_11 = a[0][0] * b[0][2]; t_12 = a[0][1] * b[1][2]; t_13 = a[0][2] * b[2][2]; t_14 = t_11 + t_12; t_15 = t_14 + t_13; t_16 = a[1][0] * b[0][0]; t_17 = a[1][1] * b[1][0]; t_18 = a[1][2] * b[2][0]; t_19 = t_16 + t_17; t_20 = t_19 + t_18; t_21 = a[1][0] * b[0][1]; t_22 = a[1][1] * b[1][1]; t_23 = a[1][2] * b[2][1]; t_24 = t_21 + t_22; t_25 = t_24 + t_23; t_26 = a[1][0] * b[0][2]; t_27 = a[1][1] * b[1][2]; t_28 = a[1][2] * b[2][2]; t_29 = t_26 + t_27; t_30 = t_29 + t_28; t_31 = a[2][0] * b[0][0]; t_32 = a[2][1] * b[1][0]; t_33 = a[2][2] * b[2][0]; t_34 = t_31 + t_32; t_35 = t_34 + t_33; t_36 = a[2][0] * b[0][1]; t_37 = a[2][1] * b[1][1]; t_38 = a[2][2] * b[2][1]; t_39 = t_36 + t_37; t_40 = t_39 + t_38; t_41 = a[2][0] * b[0][2]; t_42 = a[2][1] * b[1][2]; t_43 = a[2][2] * b[2][2]; t_44 = t_41 + t_42; t_45 = t_44 + t_43; c[0][0] = t_5; c[0][1] = t_10; c[0][2] = t_15; c[1][0] = t_20; c[1][1] = t_25; c[1][2] = t_30; c[2][0] = t_35; c[2][1] = t_40; c[2][2] = t_45; }