procedure Dict.1 (Dict.508): let Dict.511 : List {[], []} = Array []; let Dict.518 : U64 = 0i64; let Dict.519 : U64 = 8i64; let Dict.512 : List U64 = CallByName List.11 Dict.518 Dict.519; let Dict.515 : I8 = CallByName Dict.34; let Dict.516 : U64 = 8i64; let Dict.513 : List I8 = CallByName List.11 Dict.515 Dict.516; let Dict.514 : U64 = 0i64; let Dict.510 : {List {[], []}, List U64, List I8, U64} = Struct {Dict.511, Dict.512, Dict.513, Dict.514}; ret Dict.510; procedure Dict.34 (): let Dict.517 : I8 = -128i64; ret Dict.517; procedure Dict.4 (Dict.497): let Dict.85 : U64 = StructAtIndex 3 Dict.497; dec Dict.497; ret Dict.85; procedure List.11 (List.114, List.115): let List.494 : List I8 = CallByName List.68 List.115; let List.493 : List I8 = CallByName List.81 List.114 List.115 List.494; ret List.493; procedure List.11 (List.114, List.115): let List.506 : List U64 = CallByName List.68 List.115; let List.505 : List U64 = CallByName List.81 List.114 List.115 List.506; ret List.505; procedure List.68 (#Attr.2): let List.504 : List I8 = lowlevel ListWithCapacity #Attr.2; ret List.504; procedure List.68 (#Attr.2): let List.516 : List U64 = lowlevel ListWithCapacity #Attr.2; ret List.516; procedure List.71 (#Attr.2, #Attr.3): let List.501 : List I8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3; ret List.501; procedure List.71 (#Attr.2, #Attr.3): let List.513 : List U64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3; ret List.513; procedure List.81 (List.517, List.518, List.519): joinpoint List.495 List.116 List.117 List.118: let List.503 : U64 = 0i64; let List.497 : Int1 = CallByName Num.24 List.117 List.503; if List.497 then let List.502 : U64 = 1i64; let List.499 : U64 = CallByName Num.20 List.117 List.502; let List.500 : List I8 = CallByName List.71 List.118 List.116; jump List.495 List.116 List.499 List.500; else ret List.118; in jump List.495 List.517 List.518 List.519; procedure List.81 (List.525, List.526, List.527): joinpoint List.507 List.116 List.117 List.118: let List.515 : U64 = 0i64; let List.509 : Int1 = CallByName Num.24 List.117 List.515; if List.509 then let List.514 : U64 = 1i64; let List.511 : U64 = CallByName Num.20 List.117 List.514; let List.512 : List U64 = CallByName List.71 List.118 List.116; jump List.507 List.116 List.511 List.512; else ret List.118; in jump List.507 List.525 List.526 List.527; procedure Num.20 (#Attr.2, #Attr.3): let Num.257 : U64 = lowlevel NumSub #Attr.2 #Attr.3; ret Num.257; procedure Num.24 (#Attr.2, #Attr.3): let Num.259 : Int1 = lowlevel NumGt #Attr.2 #Attr.3; ret Num.259; 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;