// ************************************************************************** //
//                                                                            //
//    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                                             //
//                                                                            //
// ************************************************************************** //
// The function below computes the greatest common divisor using Euclid's
// algorithm.
// ************************************************************************** //

function euclid(nat a,b) : nat {
    nat t;
    while(b!=0) {
       t = b;
       b = a % b;
       a = t;
    }
    return a;
}


thread Euclid {
    nat x,y,z;
    x = 147;
    y = 693;
    z = euclid(x,y);
}