Test suite hoopl-test: RUNNING...
Test:testing/tests/test1
f(a, b) {
L1:
  r0 = 3
  r1 = 4
  r2 = r0 + r1
  ret (r2)
}

f(a, b) {
L1:
  r0 = 3
  r1 = 4
  r2 = 7
  ret (7)
}

f(a, b) {
L1:
  ret (7)
}

Test:testing/tests/test2
f(a, b) {
L1:
  x = 5
  y = 0
  goto L2
L2:
  if x > 0 then goto L3 else goto L4
L3:
  y = y + x
  x = x - 1
  goto L2
L4:
  ret (y)
}

f(a, b) {
L1:
  x = 5
  y = 0
  goto L2
L2:
  if x > 0 then goto L3 else goto L4
L3:
  y = y + x
  x = x - 1
  goto L2
L4:
  ret (y)
}

f(a, b) {
L1:
  x = 5
  y = 0
  goto L2
L2:
  if x > 0 then goto L3 else goto L4
L3:
  y = y + x
  x = x - 1
  goto L2
L4:
  ret (y)
}

Test:testing/tests/test3
f(x, y) {
L1:
  goto L2
L2:
  if x > 0 then goto L3 else goto L4
L3:
  (z) = f(x - 1, y - 1) goto L5
L4:
  ret (y)
L5:
  y = y + z
  x = x - 1
  goto L2
}

f(x, y) {
L1:
  goto L2
L2:
  if x > 0 then goto L3 else goto L4
L3:
  (z) = f(x - 1, y - 1) goto L5
L4:
  ret (y)
L5:
  y = y + z
  x = x - 1
  goto L2
}

f(x, y) {
L1:
  goto L2
L2:
  if x > 0 then goto L3 else goto L4
L3:
  (z) = f(x - 1, y - 1) goto L5
L4:
  ret (y)
L5:
  y = y + z
  x = x - 1
  goto L2
}

Test:testing/tests/test4
f(x) {
L1:
  y = 5
  goto L2
L2:
  if y < 0 then goto L3 else goto L4
L3:
  y = y - 1
  goto L2
L4:
  ret ((x + y) + 4)
}

f(x) {
L1:
  y = 5
  goto L2
L2:
  goto L4
L4:
  ret ((x + 5) + 4)
}

f(x) {
L1:
  goto L2
L2:
  goto L4
L4:
  ret ((x + 5) + 4)
}

Test:testing/tests/if-test
f() {
L1:
  x = 3 + 4
  z = x > 5
  if z then goto L2 else goto L3
L2:
  ret (1)
L3:
  ret (2)
}

f() {
L1:
  x = 7
  z = True
  goto L2
L2:
  ret (1)
}

f() {
L1:
  goto L2
L2:
  ret (1)
}

Test:testing/tests/if-test2
f(a) {
L1:
  x = 3 + 4
  res = 0
  goto L2
L2:
  if a > 0 then goto L3 else goto L4
L3:
  a = a - 1
  res = res + x
  if x > 5 then goto L5 else goto L6
L4:
  ret (res)
L5:
  goto L7
L6:
  x = x - 1
  goto L7
L7:
  goto L2
}

f(a) {
L1:
  x = 7
  res = 0
  goto L2
L2:
  if a > 0 then goto L3 else goto L4
L3:
  a = a - 1
  res = res + 7
  goto L5
L4:
  ret (res)
L5:
  goto L7
L7:
  goto L2
}

f(a) {
L1:
  res = 0
  goto L2
L2:
  if a > 0 then goto L3 else goto L4
L3:
  a = a - 1
  res = res + 7
  goto L5
L4:
  ret (res)
L5:
  goto L7
L7:
  goto L2
}

Test:testing/tests/if-test3
f(x) {
L1:
  if x > 5 then goto L2 else goto L3
L2:
  z = 1
  goto L4
L3:
  z = 1
  goto L4
L4:
  ret (z)
}

f(x) {
L1:
  if x > 5 then goto L2 else goto L3
L2:
  z = 1
  goto L4
L3:
  z = 1
  goto L4
L4:
  ret (1)
}

f(x) {
L1:
  if x > 5 then goto L2 else goto L3
L2:
  goto L4
L3:
  goto L4
L4:
  ret (1)
}

Test:testing/tests/if-test4
f(x) {
L1:
  if x > 5 then goto L2 else goto L3
L2:
  z = 1
  goto L4
L3:
  z = 2
  goto L4
L4:
  ret (z)
}

f(x) {
L1:
  if x > 5 then goto L2 else goto L3
L2:
  z = 1
  goto L4
L3:
  z = 2
  goto L4
L4:
  ret (z)
}

f(x) {
L1:
  if x > 5 then goto L2 else goto L3
L2:
  z = 1
  goto L4
L3:
  z = 2
  goto L4
L4:
  ret (z)
}

Test suite hoopl-test: PASS
Test suite logged to: dist/test/hoopl-3.10.2.1-hoopl-test.log
