1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/* 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;
}