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

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

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
L4:
  ret (y)
L3:
  y = y + x
  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
L5:
  y = y + z
  x = x - 1
  goto L2
L4:
  ret (y)
}

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

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:
  goto L2
L2:
  goto L4
L4:
  ret ((x + 5) + 4)
}

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

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

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
L5:
  goto L7
L6:
  x = x - 1
  goto L7
L7:
  goto L2
L4:
  ret (res)
}

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

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
L3:
  goto L4
L2:
  goto L4
L4:
  ret (1)
}

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
L3:
  z = 2
  goto L4
L2:
  z = 1
  goto L4
L4:
  ret (z)
}

