procedure Test.1 (Test.5): let Test.19 : I64 = 2i64; let Test.2 : [C I64, C I64] = TagId(1) Test.19; joinpoint Test.9 Test.3: ret Test.3; in let Test.16 : U8 = 1i64; let Test.17 : U8 = GetTagId Test.2; let Test.18 : Int1 = lowlevel Eq Test.16 Test.17; if Test.18 then let Test.13 : I64 = UnionAtIndex (Id 1) (Index 0) Test.2; let Test.14 : I64 = 3i64; let Test.15 : Int1 = lowlevel Eq Test.14 Test.13; if Test.15 then let Test.10 : I64 = 1i64; jump Test.9 Test.10; else let Test.11 : I64 = 2i64; jump Test.9 Test.11; else let Test.12 : I64 = 3i64; jump Test.9 Test.12; procedure Test.0 (): let Test.7 : {} = Struct {}; let Test.6 : I64 = CallByName Test.1 Test.7; ret Test.6;