// ************************************************************************** //
//                                                                            //
//    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_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_1 = a[0][0];
    t_2 = a[0][1];
    t_3 = a[0][2];
    t_4 = a[1][0];
    t_5 = a[1][1];
    t_6 = a[1][2];
    t_7 = a[2][0];
    t_8 = a[2][1];
    t_9 = a[2][2];
    t_10 = b[0][0];
    t_11 = b[0][1];
    t_12 = b[0][2];
    t_13 = b[1][0];
    t_14 = b[1][1];
    t_15 = b[1][2];
    t_16 = b[2][0];
    t_17 = b[2][1];
    t_18 = b[2][2];
    t_19 = t_1 * t_10;
    t_20 = t_2 * t_13;
    t_21 = t_3 * t_16;
    t_22 = t_19 + t_20;
    t_23 = t_22 + t_21;
    t_24 = t_1 * t_11;
    t_25 = t_2 * t_14;
    t_26 = t_3 * t_17;
    t_27 = t_24 + t_25;
    t_28 = t_27 + t_26;
    t_29 = t_1 * t_12;
    t_30 = t_2 * t_15;
    t_31 = t_3 * t_18;
    t_32 = t_29 + t_30;
    t_33 = t_32 + t_31;
    t_34 = t_4 * t_10;
    t_35 = t_5 * t_13;
    t_36 = t_6 * t_16;
    t_37 = t_34 + t_35;
    t_38 = t_37 + t_36;
    t_39 = t_4 * t_11;
    t_40 = t_5 * t_14;
    t_41 = t_6 * t_17;
    t_42 = t_39 + t_40;
    t_43 = t_42 + t_41;
    t_44 = t_4 * t_12;
    t_45 = t_5 * t_15;
    t_46 = t_6 * t_18;
    t_47 = t_44 + t_45;
    t_48 = t_47 + t_46;
    t_49 = t_7 * t_10;
    t_50 = t_8 * t_13;
    t_51 = t_9 * t_16;
    t_52 = t_49 + t_50;
    t_53 = t_52 + t_51;
    t_54 = t_7 * t_11;
    t_55 = t_8 * t_14;
    t_56 = t_9 * t_17;
    t_57 = t_54 + t_55;
    t_58 = t_57 + t_56;
    t_59 = t_7 * t_12;
    t_60 = t_8 * t_15;
    t_61 = t_9 * t_18;
    t_62 = t_59 + t_60;
    t_63 = t_62 + t_61;
    c[0][0] = t_23;
    c[0][1] = t_28;
    c[0][2] = t_33;
    c[1][0] = t_38;
    c[1][1] = t_43;
    c[1][2] = t_48;
    c[2][0] = t_53;
    c[2][1] = t_58;
    c[2][2] = t_63;
}