procedure Dict.1 (Dict.557): let Dict.567 : List {[], []} = Array []; let Dict.574 : U64 = 0i64; let Dict.575 : U64 = 8i64; let Dict.568 : List U64 = CallByName List.11 Dict.574 Dict.575; let Dict.571 : I8 = CallByName Dict.40; let Dict.572 : U64 = 8i64; let Dict.569 : List I8 = CallByName List.11 Dict.571 Dict.572; let Dict.570 : U64 = 0i64; let Dict.566 : {List {[], []}, List U64, List I8, U64} = Struct {Dict.567, Dict.568, Dict.569, Dict.570}; ret Dict.566; procedure Dict.4 (Dict.564): let Dict.105 : U64 = StructAtIndex 3 Dict.564; let #Derived_gen.8 : List {[], []} = StructAtIndex 0 Dict.564; dec #Derived_gen.8; let #Derived_gen.7 : List U64 = StructAtIndex 1 Dict.564; dec #Derived_gen.7; let #Derived_gen.6 : List I8 = StructAtIndex 2 Dict.564; dec #Derived_gen.6; ret Dict.105; procedure Dict.40 (): let Dict.573 : I8 = -128i64; ret Dict.573; procedure List.11 (List.133, List.134): let List.554 : List I8 = CallByName List.68 List.134; let List.553 : List I8 = CallByName List.86 List.133 List.134 List.554; ret List.553; procedure List.11 (List.133, List.134): let List.566 : List U64 = CallByName List.68 List.134; let List.565 : List U64 = CallByName List.86 List.133 List.134 List.566; ret List.565; procedure List.68 (#Attr.2): let List.564 : List I8 = lowlevel ListWithCapacity #Attr.2; ret List.564; procedure List.68 (#Attr.2): let List.576 : List U64 = lowlevel ListWithCapacity #Attr.2; ret List.576; procedure List.71 (#Attr.2, #Attr.3): let List.561 : List I8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3; ret List.561; procedure List.71 (#Attr.2, #Attr.3): let List.573 : List U64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3; ret List.573; procedure List.86 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2): joinpoint List.555 List.135 List.136 List.137: let List.563 : U64 = 0i64; let List.557 : Int1 = CallByName Num.24 List.136 List.563; if List.557 then let List.562 : U64 = 1i64; let List.559 : U64 = CallByName Num.75 List.136 List.562; let List.560 : List I8 = CallByName List.71 List.137 List.135; jump List.555 List.135 List.559 List.560; else ret List.137; in jump List.555 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2; procedure List.86 (#Derived_gen.3, #Derived_gen.4, #Derived_gen.5): joinpoint List.567 List.135 List.136 List.137: let List.575 : U64 = 0i64; let List.569 : Int1 = CallByName Num.24 List.136 List.575; if List.569 then let List.574 : U64 = 1i64; let List.571 : U64 = CallByName Num.75 List.136 List.574; let List.572 : List U64 = CallByName List.71 List.137 List.135; jump List.567 List.135 List.571 List.572; else ret List.137; in jump List.567 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5; procedure Num.24 (#Attr.2, #Attr.3): let Num.294 : Int1 = lowlevel NumGt #Attr.2 #Attr.3; ret Num.294; procedure Num.75 (#Attr.2, #Attr.3): let Num.292 : U64 = lowlevel NumSubWrap #Attr.2 #Attr.3; ret Num.292; procedure Test.0 (): let Test.3 : {} = Struct {}; let Test.2 : {List {[], []}, List U64, List I8, U64} = CallByName Dict.1 Test.3; let Test.1 : U64 = CallByName Dict.4 Test.2; ret Test.1;