procedure Bool.7 (#Attr.2, #Attr.3): let Bool.11 : Int1 = lowlevel Eq #Attr.2 #Attr.3; ret Bool.11; procedure Num.39 (#Attr.2, #Attr.3): let Num.259 : I64 = lowlevel NumDivTruncUnchecked #Attr.2 #Attr.3; ret Num.259; procedure Num.40 (Num.229, Num.230): let Num.263 : I64 = 0i64; let Num.260 : Int1 = CallByName Bool.7 Num.230 Num.263; if Num.260 then let Num.262 : {} = Struct {}; let Num.261 : [C {}, C I64] = TagId(0) Num.262; ret Num.261; else let Num.258 : I64 = CallByName Num.39 Num.229 Num.230; let Num.257 : [C {}, C I64] = TagId(1) Num.258; ret Num.257; procedure Test.0 (): let Test.8 : I64 = 1000i64; let Test.9 : I64 = 10i64; let Test.2 : [C {}, C I64] = CallByName Num.40 Test.8 Test.9; let Test.5 : U8 = 1i64; let Test.6 : U8 = GetTagId Test.2; let Test.7 : Int1 = lowlevel Eq Test.5 Test.6; if Test.7 then let Test.1 : I64 = UnionAtIndex (Id 1) (Index 0) Test.2; ret Test.1; else let Test.4 : I64 = -1i64; ret Test.4;