// ************************************************************************** //
//                                                                            //
//    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 MatrixMultCannon {
    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_1 = a[0][0];
    t_2 = a[0][1];
    t_3 = a[0][2];
    t_4 = a[1][1];
    t_5 = a[1][2];
    t_6 = a[1][0];
    t_7 = a[2][2];
    t_8 = a[2][0];
    t_9 = a[2][1];
    t_10 = b[0][0];
    t_11 = b[1][1];
    t_12 = b[2][2];
    t_13 = b[1][0];
    t_14 = b[2][1];
    t_15 = b[0][2];
    t_16 = b[2][0];
    t_17 = b[0][1];
    t_18 = b[1][2];
    t_10 = t_13;
    t_1 = t_2;
    t_19 = t_19 + t_1 * t_10;
    t_10 = t_13;
    t_1 = t_2;
    t_19 = t_19 + t_1 * t_10;
    t_10 = t_13;
    t_1 = t_2;
    t_19 = t_19 + t_1 * t_10;
    t_11 = t_14;
    t_2 = t_3;
    t_20 = t_20 + t_2 * t_11;
    t_11 = t_14;
    t_2 = t_3;
    t_20 = t_20 + t_2 * t_11;
    t_11 = t_14;
    t_2 = t_3;
    t_20 = t_20 + t_2 * t_11;
    t_12 = t_15;
    t_3 = t_1;
    t_21 = t_21 + t_3 * t_12;
    t_12 = t_15;
    t_3 = t_1;
    t_21 = t_21 + t_3 * t_12;
    t_12 = t_15;
    t_3 = t_1;
    t_21 = t_21 + t_3 * t_12;
    t_13 = t_16;
    t_4 = t_5;
    t_22 = t_22 + t_4 * t_13;
    t_13 = t_16;
    t_4 = t_5;
    t_22 = t_22 + t_4 * t_13;
    t_13 = t_16;
    t_4 = t_5;
    t_22 = t_22 + t_4 * t_13;
    t_14 = t_17;
    t_5 = t_6;
    t_23 = t_23 + t_5 * t_14;
    t_14 = t_17;
    t_5 = t_6;
    t_23 = t_23 + t_5 * t_14;
    t_14 = t_17;
    t_5 = t_6;
    t_23 = t_23 + t_5 * t_14;
    t_15 = t_18;
    t_6 = t_4;
    t_24 = t_24 + t_6 * t_15;
    t_15 = t_18;
    t_6 = t_4;
    t_24 = t_24 + t_6 * t_15;
    t_15 = t_18;
    t_6 = t_4;
    t_24 = t_24 + t_6 * t_15;
    t_16 = t_10;
    t_7 = t_8;
    t_25 = t_25 + t_7 * t_16;
    t_16 = t_10;
    t_7 = t_8;
    t_25 = t_25 + t_7 * t_16;
    t_16 = t_10;
    t_7 = t_8;
    t_25 = t_25 + t_7 * t_16;
    t_17 = t_11;
    t_8 = t_9;
    t_26 = t_26 + t_8 * t_17;
    t_17 = t_11;
    t_8 = t_9;
    t_26 = t_26 + t_8 * t_17;
    t_17 = t_11;
    t_8 = t_9;
    t_26 = t_26 + t_8 * t_17;
    t_18 = t_12;
    t_9 = t_7;
    t_27 = t_27 + t_9 * t_18;
    t_18 = t_12;
    t_9 = t_7;
    t_27 = t_27 + t_9 * t_18;
    t_18 = t_12;
    t_9 = t_7;
    t_27 = t_27 + t_9 * t_18;
    c[0][0] = t_19;
    c[0][1] = t_20;
    c[0][2] = t_21;
    c[1][0] = t_22;
    c[1][1] = t_23;
    c[1][2] = t_24;
    c[2][0] = t_25;
    c[2][1] = t_26;
    c[2][2] = t_27;
}