fun i32 @fibonacci (i32) { init: bid: b0 allocations: %l0:i32:n block b0: %b0:i0:unit = store %b0:p0:i32 %l0:i32* j b1() block b1: %b1:i0:i32 = load %l0:i32* %b1:i1:i32 = load %l0:i32* %b1:i2:i32 = add %b1:i0:i32 %b1:i1:i32 %b1:i3:u1 = cmp ne %b1:i2:i32 0:i32 br %b1:i3:u1, b2(), b3() block b2: %b2:i0:i32 = load %l0:i32* ret %b2:i0:i32 block b3: ret undef:i32 block b4: j b1() } fun i32 @main () { init: bid: b0 allocations: block b0: ret 1:i32 block b1: ret 0:i32 }