/* Stuff needed by cdizy: */
typedef short Guard;
/* External functions, don't include standard libs because cdizy is weird */
extern int atoi (const char *nptr);
extern int printf(const char *format, ...);
/* In order to be able to inspect the result... */
int res, T_res;
void gcd(int O_a, int O_b)
{
/* Declare guards */
Guard T_G0101 = 1;
Guard G0101 = 1;
Guard T_G010110 = 1;
Guard G010110 = 1;
Guard T_G010 = 1;
Guard G010 = 1;
Guard T_G0 = 1;
Guard G0 = 1;
/* Declare/initialize tagged params */
int T_O_a = O_a;
int T_O_b = O_b;
/* Declare other variables */
int O_result;
int T_O_result;
/* Here is the body! */
G0 = (1 <= O_a) && (1 <= O_b);
T_G0 = (1 <= T_O_b) && (1 <= T_O_a);
if (G0) G010 = !(O_a == O_b);
if (T_G0) T_G010 = !((T_O_a <= T_O_b) && (T_O_b <= T_O_a));
G0_G010__v__T_G0_T_G010:
if (G0) if (G010) G0101 = 1;
if (T_G0) if (T_G010) T_G0101 = 1;
if (G0) if (G010) if (G0101) G010110 = O_a <= O_b;
if (T_G0) if (T_G010) if (T_G0101) T_G010110 = T_O_a <= T_O_b;
if (G0) if (G010) if (G0101) if (G010110) O_b = (O_b - O_a);
if (T_G0) if (T_G010) if (T_G0101) if (T_G010110) T_O_b = (T_O_b - T_O_a);
if (G0) if (G010) if (G0101) if (!G010110) O_a = (O_a - O_b);
if (T_G0) if (T_G010) if (T_G0101) if (!T_G010110) T_O_a = (T_O_a - T_O_b);
if (G0) if (G010) G010 = !(O_a == O_b);
if (T_G0) if (T_G010) T_G010 = !((T_O_a <= T_O_b) && (T_O_b <= T_O_a));
if (G0) if (G010) goto G0_G010__v__T_G0_T_G010;
if (T_G0) if (T_G010) goto G0_G010__v__T_G0_T_G010;
if (G0) O_result = O_a;
if (T_G0) T_O_result = T_O_a;
if (!G0) O_result = 0;
if (!T_G0) T_O_result = 0;
/* Correlating point */
{ char *CP0; }
/* Set the output... */
res = O_result;
T_res = T_O_result;
}