procedure Num.22 (#Attr.2, #Attr.3): let Test.27 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; ret Test.27; procedure Num.24 (#Attr.2, #Attr.3): let Test.22 : I64 = lowlevel NumMul #Attr.2 #Attr.3; ret Test.22; procedure Test.1 (): let Test.28 : I64 = 1i64; ret Test.28; procedure Test.2 (): let Test.23 : I64 = 2i64; ret Test.23; procedure Test.3 (Test.6): let Test.26 : I64 = CallByName Test.1; let Test.25 : I64 = CallByName Num.22 Test.6 Test.26; ret Test.25; procedure Test.4 (Test.7): let Test.21 : I64 = CallByName Test.2; let Test.20 : I64 = CallByName Num.24 Test.7 Test.21; ret Test.20; procedure Test.5 (Test.8, Test.9): joinpoint Test.15 Test.14: ret Test.14; in switch Test.8: case 0: let Test.16 : I64 = CallByName Test.3 Test.9; jump Test.15 Test.16; default: let Test.17 : I64 = CallByName Test.4 Test.9; jump Test.15 Test.17; procedure Test.0 (): joinpoint Test.19 Test.12: let Test.13 : I64 = 42i64; let Test.11 : I64 = CallByName Test.5 Test.12 Test.13; ret Test.11; in let Test.24 : Int1 = true; if Test.24 then let Test.3 : Int1 = false; jump Test.19 Test.3; else let Test.4 : Int1 = true; jump Test.19 Test.4;