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
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
/* 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 interpret(const int *O_instrs, int O_c1, int O_c2)
{
  /* Declare guards */
  Guard T_G11101 = 1;
  Guard G11101 = 1;
  Guard T_G11101111111110 = 1;
  Guard G11101111111110 = 1;
  Guard T_G1110111111110 = 1;
  Guard G1110111111110 = 1;
  Guard T_G111011111110 = 1;
  Guard G111011111110 = 1;
  Guard T_G11101111110 = 1;
  Guard G11101111110 = 1;
  Guard T_G1110111110 = 1;
  Guard G1110111110 = 1;
  Guard T_G111011110 = 1;
  Guard G111011110 = 1;
  Guard T_G1110 = 1;
  Guard T_G11101110 = 1;
  Guard G11101110 = 1;
  Guard G1110 = 1;
  Guard T_G1110111111111010 = 1;
  Guard G1110111111111010 = 1;
  Guard T_G111011111111010 = 1;
  Guard G111011111111010 = 1;

  /* Declare/initialize tagged params */
  const int *T_O_instrs = O_instrs;
  int T_O_c1 = O_c1;
  int T_O_c2 = O_c2;

  /* Declare other variables */
  int O_tmp;
  int O_running;
  int O_result;
  int O_ptr;
  int T_O_tmp;
  int T_O_running;
  int T_O_result;
  int T_O_ptr;

  /* Here is the body! */
  O_result = 0;
  T_O_result = 0;
  O_ptr = 0;
  T_O_ptr = 0;
  O_running = 1;
  T_O_running = 1;
  G1110 = O_running == 1;
  T_G1110 = T_O_running == 1;
G1110__v__T_G1110:
    if (G1110) G11101 = 1;
    if (T_G1110) T_G11101 = 1;
    if (G1110) if (G11101) O_tmp = O_instrs[O_ptr];
    if (T_G1110) if (T_G11101) T_O_tmp = T_O_instrs[T_O_ptr];
    if (G1110) if (G11101) G11101110 = O_tmp == 0;
    if (T_G1110) if (T_G11101) T_G11101110 = T_O_tmp == 0;
    if (G1110) if (G11101) if (G11101110) O_running = 0;
    if (T_G1110) if (T_G11101) if (T_G11101110) T_O_running = 0;


    if (G1110) if (G11101) G111011110 = O_tmp == 1;
    if (T_G1110) if (T_G11101) T_G111011110 = T_O_tmp == 1;
    if (G1110) if (G11101) if (G111011110) O_c1 = (O_c1 + 1);
    if (T_G1110) if (T_G11101) if (T_G111011110) T_O_c1 = (T_O_c1 + 1);


    if (G1110) if (G11101) G1110111110 = O_tmp == 2;
    if (T_G1110) if (T_G11101) T_G1110111110 = T_O_tmp == 2;
    if (G1110) if (G11101) if (G1110111110) O_c2 = (O_c2 + 1);
    if (T_G1110) if (T_G11101) if (T_G1110111110) T_O_c2 = (T_O_c2 + 1);


    if (G1110) if (G11101) G11101111110 = O_tmp == 3;
    if (T_G1110) if (T_G11101) T_G11101111110 = T_O_tmp == 3;
    if (G1110) if (G11101) if (G11101111110) O_c1 = (O_c1 - 1);
    if (T_G1110) if (T_G11101) if (T_G11101111110) T_O_c1 = (T_O_c1 - 1);


    if (G1110) if (G11101) G111011111110 = O_tmp == 4;
    if (T_G1110) if (T_G11101) T_G111011111110 = T_O_tmp == 4;
    if (G1110) if (G11101) if (G111011111110) O_c2 = (O_c2 - 1);
    if (T_G1110) if (T_G11101) if (T_G111011111110) T_O_c2 = (T_O_c2 - 1);


    if (G1110) if (G11101) G1110111111110 = O_tmp == 5;
    if (T_G1110) if (T_G11101) T_G1110111111110 = T_O_tmp == 5;
    if (G1110) if (G11101) if (G1110111111110) G111011111111010 = O_c1 == 0;
    if (T_G1110) if (T_G11101) if (T_G1110111111110) T_G111011111111010 = T_O_c1 == 0;
    if (G1110) if (G11101) if (G1110111111110) if (G111011111111010) O_ptr = (O_ptr + 1);
    if (T_G1110) if (T_G11101) if (T_G1110111111110) if (T_G111011111111010) T_O_ptr = (T_O_ptr + 1);
    if (G1110) if (G11101) if (G1110111111110) if (G111011111111010) O_ptr = O_instrs[O_ptr];
    if (T_G1110) if (T_G11101) if (T_G1110111111110) if (T_G111011111111010) T_O_ptr = T_O_instrs[T_O_ptr];

    if (G1110) if (G11101) if (G1110111111110) if (!G111011111111010) O_ptr = (O_ptr + 2);
    if (T_G1110) if (T_G11101) if (T_G1110111111110) if (!T_G111011111111010) T_O_ptr = (T_O_ptr + 2);
    if (G1110) if (G11101) if (G1110111111110) if (!G111011111111010) O_ptr = O_instrs[O_ptr];
    if (T_G1110) if (T_G11101) if (T_G1110111111110) if (!T_G111011111111010) T_O_ptr = T_O_instrs[T_O_ptr];



    if (G1110) if (G11101) G11101111111110 = O_tmp == 6;
    if (T_G1110) if (T_G11101) T_G11101111111110 = T_O_tmp == 6;
    if (G1110) if (G11101) if (G11101111111110) G1110111111111010 = O_c2 == 0;
    if (T_G1110) if (T_G11101) if (T_G11101111111110) T_G1110111111111010 = T_O_c2 == 0;
    if (G1110) if (G11101) if (G11101111111110) if (G1110111111111010) O_ptr = (O_ptr + 1);
    if (T_G1110) if (T_G11101) if (T_G11101111111110) if (T_G1110111111111010) T_O_ptr = (T_O_ptr + 1);
    if (G1110) if (G11101) if (G11101111111110) if (G1110111111111010) O_ptr = O_instrs[O_ptr];
    if (T_G1110) if (T_G11101) if (T_G11101111111110) if (T_G1110111111111010) T_O_ptr = T_O_instrs[T_O_ptr];

    if (G1110) if (G11101) if (G11101111111110) if (!G1110111111111010) O_ptr = (O_ptr + 2);
    if (T_G1110) if (T_G11101) if (T_G11101111111110) if (!T_G1110111111111010) T_O_ptr = (T_O_ptr + 2);
    if (G1110) if (G11101) if (G11101111111110) if (!G1110111111111010) O_ptr = O_instrs[O_ptr];
    if (T_G1110) if (T_G11101) if (T_G11101111111110) if (!T_G1110111111111010) T_O_ptr = T_O_instrs[T_O_ptr];




    if (G1110) G1110 = O_running == 1;
    if (T_G1110) T_G1110 = T_O_running == 1;
    if (G1110) goto G1110__v__T_G1110;
    if (T_G1110) goto G1110__v__T_G1110;
  O_result = O_c1;
  T_O_result = T_O_c1;


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

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