// ************************************************************************** //
//                                                                            //
//    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                                             //
//                                                                            //
// ************************************************************************** //


nat a_0_0,a_0_1,a_0_2,a_1_0,a_1_1,a_1_2,a_2_0,a_2_1,a_2_2;
nat b_0_0,b_0_1,b_0_2,b_1_0,b_1_1,b_1_2,b_2_0,b_2_1,b_2_2;
nat c_0_0,c_0_1,c_0_2,c_1_0,c_1_1,c_1_2,c_2_0,c_2_1,c_2_2;
thread MatrixMultCannon {
    b_0_0 = b_1_0;
    a_0_0 = a_0_1;
    c_0_0 = c_0_0 + a_0_0 * b_0_0;
    b_0_0 = b_1_0;
    a_0_0 = a_0_1;
    c_0_0 = c_0_0 + a_0_0 * b_0_0;
    b_0_0 = b_1_0;
    a_0_0 = a_0_1;
    c_0_0 = c_0_0 + a_0_0 * b_0_0;
    b_0_1 = b_1_1;
    a_0_1 = a_0_2;
    c_0_1 = c_0_1 + a_0_1 * b_0_1;
    b_0_1 = b_1_1;
    a_0_1 = a_0_2;
    c_0_1 = c_0_1 + a_0_1 * b_0_1;
    b_0_1 = b_1_1;
    a_0_1 = a_0_2;
    c_0_1 = c_0_1 + a_0_1 * b_0_1;
    b_0_2 = b_1_2;
    a_0_2 = a_0_0;
    c_0_2 = c_0_2 + a_0_2 * b_0_2;
    b_0_2 = b_1_2;
    a_0_2 = a_0_0;
    c_0_2 = c_0_2 + a_0_2 * b_0_2;
    b_0_2 = b_1_2;
    a_0_2 = a_0_0;
    c_0_2 = c_0_2 + a_0_2 * b_0_2;
    b_1_0 = b_2_0;
    a_1_0 = a_1_1;
    c_1_0 = c_1_0 + a_1_0 * b_1_0;
    b_1_0 = b_2_0;
    a_1_0 = a_1_1;
    c_1_0 = c_1_0 + a_1_0 * b_1_0;
    b_1_0 = b_2_0;
    a_1_0 = a_1_1;
    c_1_0 = c_1_0 + a_1_0 * b_1_0;
    b_1_1 = b_2_1;
    a_1_1 = a_1_2;
    c_1_1 = c_1_1 + a_1_1 * b_1_1;
    b_1_1 = b_2_1;
    a_1_1 = a_1_2;
    c_1_1 = c_1_1 + a_1_1 * b_1_1;
    b_1_1 = b_2_1;
    a_1_1 = a_1_2;
    c_1_1 = c_1_1 + a_1_1 * b_1_1;
    b_1_2 = b_2_2;
    a_1_2 = a_1_0;
    c_1_2 = c_1_2 + a_1_2 * b_1_2;
    b_1_2 = b_2_2;
    a_1_2 = a_1_0;
    c_1_2 = c_1_2 + a_1_2 * b_1_2;
    b_1_2 = b_2_2;
    a_1_2 = a_1_0;
    c_1_2 = c_1_2 + a_1_2 * b_1_2;
    b_2_0 = b_0_0;
    a_2_0 = a_2_1;
    c_2_0 = c_2_0 + a_2_0 * b_2_0;
    b_2_0 = b_0_0;
    a_2_0 = a_2_1;
    c_2_0 = c_2_0 + a_2_0 * b_2_0;
    b_2_0 = b_0_0;
    a_2_0 = a_2_1;
    c_2_0 = c_2_0 + a_2_0 * b_2_0;
    b_2_1 = b_0_1;
    a_2_1 = a_2_2;
    c_2_1 = c_2_1 + a_2_1 * b_2_1;
    b_2_1 = b_0_1;
    a_2_1 = a_2_2;
    c_2_1 = c_2_1 + a_2_1 * b_2_1;
    b_2_1 = b_0_1;
    a_2_1 = a_2_2;
    c_2_1 = c_2_1 + a_2_1 * b_2_1;
    b_2_2 = b_0_2;
    a_2_2 = a_2_0;
    c_2_2 = c_2_2 + a_2_2 * b_2_2;
    b_2_2 = b_0_2;
    a_2_2 = a_2_0;
    c_2_2 = c_2_2 + a_2_2 * b_2_2;
    b_2_2 = b_0_2;
    a_2_2 = a_2_0;
    c_2_2 = c_2_2 + a_2_2 * b_2_2;
    c_0_0 = c_0_0;
    c_0_1 = c_0_1;
    c_0_2 = c_0_2;
    c_1_0 = c_1_0;
    c_1_1 = c_1_1;
    c_1_2 = c_1_2;
    c_2_0 = c_2_0;
    c_2_1 = c_2_1;
    c_2_2 = c_2_2;
}