========= FILE ./src/runtime/tests/fixtures/fizzbuzz/fizzbuzz.ir.actual ========
fn1 (s_0, digit_0) {
block0:
i_0 = 0
next block1(i_0)
block1(i_1):
t4 = # s_0
t5 = i_1 < t4
jnt t5 block5
next block2
block2:
t6 = s_0[i_1]
t7 = t6 == digit_0
jnt t7 block4
next block3
block3:
t8 = true
RETURN t8
block4:
t9 = 1
i_2 = i_1 + t9
jump block1(i_2)
block5:
t11 = false
RETURN t11
}
fn2 (n_0) {
block0:
str_0 = #str
STORE_ARG n_0
s_0 = CALL str_0
t5 = 5
t6 = n_0 % t5
t7 = 0
t8 = t6 == t7
jit t8 block2(t8)
next block1
block1:
t9 = "5"
LOAD_UPVAL contains_1
STORE_ARG s_0
STORE_ARG t9
t11 = CALL contains_1
next block2(t11)
block2(t26):
t14 = 7
t15 = n_0 % t14
t17 = t15 == t7
jit t17 block4(t17)
next block3
block3:
t18 = "7"
LOAD_UPVAL contains_0
STORE_ARG s_0
STORE_ARG t18
t19 = CALL contains_0
next block4(t19)
block4(t27):
jnt t26 block6(t26)
next block5
block5:
next block6(t27)
block6(t28):
jnt t28 block8
next block7
block7:
t22 = "fizzbuzz"
RETURN t22
block8:
jnt t26 block10
next block9
block9:
t23 = "fizz"
RETURN t23
block10:
jnt t27 block12
next block11
block11:
t24 = "buzz"
RETURN t24
block12:
t25 = null
RETURN t25
}
MAIN () {
block0:
contains_0 = fn1
fizzbuzz_0 = fn2
STORE_UPVAL fizzbuzz_0, contains_0
t2 = 51
STORE_ARG t2
t3 = CALL fizzbuzz_0
PRINT t3
t6 = 10
STORE_ARG t6
t7 = CALL fizzbuzz_0
PRINT t7
t10 = 17
STORE_ARG t10
t11 = CALL fizzbuzz_0
PRINT t11
t14 = 14
STORE_ARG t14
t15 = CALL fizzbuzz_0
PRINT t15
t18 = 70
STORE_ARG t18
t19 = CALL fizzbuzz_0
PRINT t19
t22 = 35
STORE_ARG t22
t23 = CALL fizzbuzz_0
PRINT t23
t26 = 57
STORE_ARG t26
t27 = CALL fizzbuzz_0
PRINT t27
t29 = null
RETURN t29
}