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
67
68
69
70
71
72
73
74
/* 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 fibonacci(int O_n)
{
  /* Declare guards */
  Guard T_G11101 = 1;
  Guard G11101 = 1;
  Guard T_G1110 = 1;
  Guard G1110 = 1;
  Guard T_G10 = 1;

  /* Declare/initialize tagged params */
  int T_O_n = O_n;

  /* Declare other variables */
  int O_tmp;
  int O_result;
  int O_i;
  int O_b;
  int O_a;
  int T_O_tmp;
  int T_O_result;
  int T_O_i;
  int T_O_b;
  int T_O_a;

  /* Here is the body! */
  O_i = 0;
  T_O_i = 0;
  T_G10 = 0 <= T_O_n;
  if (T_G10) T_O_a = 1;

  O_a = 0;
  if (!T_G10) T_O_a = 0;

  O_b = 1;
  T_O_b = 1;
  G1110 = O_i <= O_n;
  T_G1110 = (T_O_i + 1) <= T_O_n;
G1110__v__T_G1110:
    if (G1110) G11101 = 1;
    if (T_G1110) T_G11101 = 1;
    if (G1110) if (G11101) O_tmp = (O_a + O_b);
    if (T_G1110) if (T_G11101) T_O_i = (T_O_i + 1);
    if (T_G1110) if (T_G11101) T_O_tmp = T_O_a;
    if (G1110) if (G11101) O_a = O_b;
    if (T_G1110) if (T_G11101) T_O_a = T_O_b;
    if (T_G1110) if (T_G11101) T_O_b = (T_O_b + T_O_tmp);
    if (G1110) if (G11101) O_b = O_tmp;
    if (G1110) if (G11101) O_i = (O_i + 1);

    if (G1110) G1110 = O_i <= O_n;
    if (T_G1110) T_G1110 = (T_O_i + 1) <= T_O_n;
    if (G1110) goto G1110__v__T_G1110;
    if (T_G1110) goto G1110__v__T_G1110;
  O_result = O_a;
  T_O_result = T_O_a;


  /* Correlating point */
  { char *CP0; }

  /* Set the output... */
  res = O_result;
  T_res = T_O_result;
}