Merge pull request #5941 from isaacvando/main

Make List.dropFirst and List.dropLast drop n elements
This commit is contained in:
Anton-4 2023-10-30 13:12:17 +01:00 committed by GitHub
commit ad027e9c88
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
48 changed files with 3518 additions and 3470 deletions

View file

@ -121,8 +121,8 @@ DecoderFormatting implements
## ```
## decodeBool = Decode.custom \bytes, @Json {} ->
## when bytes is
## ['f', 'a', 'l', 's', 'e', ..] -> { result: Ok Bool.false, rest: List.drop bytes 5 }
## ['t', 'r', 'u', 'e', ..] -> { result: Ok Bool.true, rest: List.drop bytes 4 }
## ['f', 'a', 'l', 's', 'e', ..] -> { result: Ok Bool.false, rest: List.dropFirst bytes 5 }
## ['t', 'r', 'u', 'e', ..] -> { result: Ok Bool.true, rest: List.dropFirst bytes 4 }
## _ -> { result: Err TooShort, rest: bytes }
## ```
custom : (List U8, fmt -> DecodeResult val) -> Decoder val fmt where fmt implements DecoderFormatting

View file

@ -437,7 +437,7 @@ remove = \@Dict { metadata, dataIndices, data, size }, key ->
@Dict {
metadata: List.set metadata index deletedSlot,
dataIndices,
data: List.dropLast data,
data: List.dropLast data 1,
size: Num.subWrap size 1,
}
else
@ -618,7 +618,7 @@ swapAndUpdateDataIndex = \@Dict { metadata, dataIndices, data, size }, removedIn
nextData =
data
|> List.swap dataIndex lastIndex
|> List.dropLast
|> List.dropLast 1
@Dict {
# Set old metadata as deleted.

View file

@ -34,20 +34,19 @@ interface List
walkFromUntil,
range,
sortWith,
drop,
swap,
dropAt,
dropLast,
min,
max,
map4,
mapTry,
walkTry,
dropFirst,
joinMap,
any,
takeFirst,
takeLast,
dropFirst,
dropLast,
findFirst,
findLast,
findFirstIndex,
@ -912,20 +911,6 @@ first = \list ->
Ok v -> Ok v
Err _ -> Err ListWasEmpty
## Remove the first element from the list.
##
## Returns the new list (with the removed element missing).
dropFirst : List elem -> List elem
dropFirst = \list ->
List.dropAt list 0
## Remove the last element from the list.
##
## Returns the new list (with the removed element missing).
dropLast : List elem -> List elem
dropLast = \list ->
List.dropAt list (Num.subSaturated (List.len list) 1)
## Returns the given number of elements from the beginning of the list.
## ```
## List.takeFirst [1, 2, 3, 4, 5, 6, 7, 8] 4
@ -967,12 +952,19 @@ takeLast = \list, outputLength ->
List.sublist list { start: Num.subSaturated (List.len list) outputLength, len: outputLength }
## Drops n elements from the beginning of the list.
drop : List elem, Nat -> List elem
drop = \list, n ->
dropFirst : List elem, Nat -> List elem
dropFirst = \list, n ->
remaining = Num.subSaturated (List.len list) n
List.takeLast list remaining
## Drops n elements from the end of the list.
dropLast : List elem, Nat -> List elem
dropLast = \list, n ->
remaining = Num.subSaturated (List.len list) n
List.takeFirst list remaining
## Drops the element at the given index from the list.
##
## This has no effect if the given index is outside the bounds of the list.
@ -1121,7 +1113,7 @@ intersperse = \list, sep ->
|> List.appendUnsafe elem
|> List.appendUnsafe sep
List.dropLast newList
List.dropLast newList 1
## Returns `Bool.true` if the first list starts with the second list.
##

View file

@ -655,8 +655,8 @@ expect
decodeBool = Decode.custom \bytes, @Json {} ->
when bytes is
['f', 'a', 'l', 's', 'e', ..] -> { result: Ok Bool.false, rest: List.drop bytes 5 }
['t', 'r', 'u', 'e', ..] -> { result: Ok Bool.true, rest: List.drop bytes 4 }
['f', 'a', 'l', 's', 'e', ..] -> { result: Ok Bool.false, rest: List.dropFirst bytes 5 }
['t', 'r', 'u', 'e', ..] -> { result: Ok Bool.true, rest: List.dropFirst bytes 4 }
_ -> { result: Err TooShort, rest: bytes }
# Test decode of Bool
@ -763,7 +763,7 @@ takeJsonNumber = \bytes ->
|> List.dropIf \b -> b == '+'
|> List.map \b -> if b == 'E' then 'e' else b
{ taken, rest: List.drop bytes n }
{ taken, rest: List.dropFirst bytes n }
_ ->
{ taken: [], rest: bytes }
@ -952,7 +952,7 @@ expect
decodeString = Decode.custom \bytes, @Json {} ->
when bytes is
['n', 'u', 'l', 'l', ..] ->
{ result: Ok "null", rest: List.drop bytes 4 }
{ result: Ok "null", rest: List.dropFirst bytes 4 }
_ ->
{ taken: strBytes, rest } = takeJsonString bytes
@ -987,7 +987,7 @@ takeJsonString = \bytes ->
Finish n ->
{
taken: List.sublist bytes { start: 0, len: n },
rest: List.drop bytes n,
rest: List.dropFirst bytes n,
}
_ ->
@ -1119,8 +1119,8 @@ replaceEscapedChars = \{ inBytes, outBytes } ->
firstByte = List.get inBytes 0
secondByte = List.get inBytes 1
inBytesWithoutFirstTwo = List.drop inBytes 2
inBytesWithoutFirstSix = List.drop inBytes 6
inBytesWithoutFirstTwo = List.dropFirst inBytes 2
inBytesWithoutFirstSix = List.dropFirst inBytes 6
when Pair firstByte secondByte is
Pair (Ok a) (Ok b) if a == '\\' && b == 'u' ->
@ -1151,7 +1151,7 @@ replaceEscapedChars = \{ inBytes, outBytes } ->
Pair (Ok a) _ ->
# Process next character
replaceEscapedChars {
inBytes: List.dropFirst inBytes,
inBytes: List.dropFirst inBytes 1,
outBytes: List.append outBytes a,
}
@ -1206,7 +1206,7 @@ decodeList = \elemDecoder -> Decode.custom \bytes, @Json {} ->
result =
when List.walkUntil bytes (BeforeOpeningBracket 0) arrayOpeningHelp is
AfterOpeningBracket n -> Ok (List.drop bytes n)
AfterOpeningBracket n -> Ok (List.dropFirst bytes n)
_ -> Err ExpectedOpeningBracket
when result is
@ -1228,14 +1228,14 @@ arrayElemDecoder = \elemDecoder ->
when List.walkUntil bytes state arrayClosingHelp is
AfterClosingBracket n ->
# Eat remaining whitespace
rest = List.drop bytes n
rest = List.dropFirst bytes n
# Return List of decoded elements
{ result: Ok accum, rest }
BeforeNextElement n ->
# Eat any whitespace before element
elemBytes = List.drop bytes n
elemBytes = List.dropFirst bytes n
# Decode current element
{ result, rest } = Decode.decodeWith elemBytes elemDecoder json
@ -1349,7 +1349,7 @@ decodeRecord = \initialState, stepField, finalizer -> Decode.custom \bytes, @Jso
AfterColon n -> n
_ -> 0
valueBytes = List.drop bytesAfterField countBytesBeforeValue
valueBytes = List.dropFirst bytesAfterField countBytesBeforeValue
when objectNameResult is
Err TooShort ->
@ -1382,13 +1382,13 @@ decodeRecord = \initialState, stepField, finalizer -> Decode.custom \bytes, @Jso
# Check if another field or '}' for end of object
when List.walkUntil bytesAfterValue (AfterObjectValue 0) objectHelp is
ObjectFieldNameStart n ->
rest = List.drop bytesAfterValue n
rest = List.dropFirst bytesAfterValue n
# Decode the next field and value
decodeFields updatedRecord rest
AfterClosingBrace n ->
rest = List.drop bytesAfterValue n
rest = List.dropFirst bytesAfterValue n
# Build final record from decoded fields and values
when finalizer updatedRecord is
@ -1408,7 +1408,7 @@ decodeRecord = \initialState, stepField, finalizer -> Decode.custom \bytes, @Jso
# Invalid object, expected opening brace '{' followed by a field
{ result: Err TooShort, rest: bytes }
else
bytesBeforeFirstField = List.drop bytes countBytesBeforeFirstField
bytesBeforeFirstField = List.dropFirst bytes countBytesBeforeFirstField
# Begin decoding field:value pairs
decodeFields initialState bytesBeforeFirstField
@ -1583,7 +1583,7 @@ snakeToCamel = \str ->
when segments is
[first, ..] ->
segments
|> List.dropFirst
|> List.dropFirst 1
|> List.map uppercaseFirst
|> List.prepend first
|> Str.joinWith ""
@ -1598,7 +1598,7 @@ pascalToCamel = \str ->
when segments is
[a, ..] ->
first = toLowercase a
rest = List.dropFirst segments
rest = List.dropFirst segments 1
Str.joinWith (List.prepend rest first) ""
@ -1612,7 +1612,7 @@ kebabToCamel = \str ->
when segments is
[first, ..] ->
segments
|> List.dropFirst
|> List.dropFirst 1
|> List.map uppercaseFirst
|> List.prepend first
|> Str.joinWith ""
@ -1627,7 +1627,7 @@ camelToPascal = \str ->
when segments is
[a, ..] ->
first = toUppercase a
rest = List.dropFirst segments
rest = List.dropFirst segments 1
Str.joinWith (List.prepend rest first) ""
@ -1651,13 +1651,13 @@ camelToKebabHelp = \{ taken, rest } ->
[a, ..] if isUpperCase a ->
camelToKebabHelp {
taken: List.concat taken ["-", toLowercase a],
rest: List.dropFirst rest,
rest: List.dropFirst rest 1,
}
[a, ..] ->
camelToKebabHelp {
taken: List.append taken a,
rest: List.dropFirst rest,
rest: List.dropFirst rest 1,
}
expect camelToKebeb "someCaseString" == "some-case-string"
@ -1678,13 +1678,13 @@ camelToSnakeHelp = \{ taken, rest } ->
[a, ..] if isUpperCase a ->
camelToSnakeHelp {
taken: List.concat taken ["_", toLowercase a],
rest: List.dropFirst rest,
rest: List.dropFirst rest 1,
}
[a, ..] ->
camelToSnakeHelp {
taken: List.append taken a,
rest: List.dropFirst rest,
rest: List.dropFirst rest 1,
}
expect camelToSnake "someCaseString" == "some_case_string"
@ -1695,7 +1695,7 @@ uppercaseFirst = \str ->
when segments is
[a, ..] ->
first = toUppercase a
rest = List.dropFirst segments
rest = List.dropFirst segments 1
Str.joinWith (List.prepend rest first) ""

View file

@ -1378,7 +1378,7 @@ define_builtins! {
26 LIST_WALK_UNTIL: "walkUntil"
27 LIST_RANGE: "range"
28 LIST_SORT_WITH: "sortWith"
29 LIST_DROP: "drop"
29 LIST_CHUNKS_OF: "chunksOf"
30 LIST_SWAP: "swap"
31 LIST_DROP_AT: "dropAt"
32 LIST_DROP_LAST: "dropLast"
@ -1433,7 +1433,6 @@ define_builtins! {
81 LIST_RELEASE_EXCESS_CAPACITY: "releaseExcessCapacity"
82 LIST_UPDATE: "update"
83 LIST_WALK_WITH_INDEX: "walkWithIndex"
84 LIST_CHUNKS_OF: "chunksOf"
}
7 RESULT: "Result" => {
0 RESULT_RESULT: "Result" exposed_type=true // the Result.Result type alias

View file

@ -3856,7 +3856,7 @@ mod solve_expr {
List.dropLast
"#
),
"List elem -> List elem",
"List elem, Nat -> List elem",
);
}

View file

@ -329,7 +329,7 @@ fn decode() {
u8 = @MDecoder \lst, @Linear {} ->
when List.first lst is
Ok n -> { result: Ok n, rest: List.dropFirst lst }
Ok n -> { result: Ok n, rest: List.dropFirst lst 1 }
Err _ -> { result: Err TooShort, rest: [] }
MyU8 := U8 implements [MDecoding {decoder}]

View file

@ -521,19 +521,19 @@ fn list_chunks_of() {
#[test]
#[cfg(any(feature = "gen-llvm", feature = "gen-wasm", feature = "gen-dev"))]
fn list_drop() {
fn list_drop_first() {
assert_evals_to!(
"List.drop [1,2,3] 2",
"List.dropFirst [1,2,3] 2",
RocList::from_slice(&[3]),
RocList<i64>
);
assert_evals_to!(
"List.drop [] 1",
"List.dropFirst [] 1",
RocList::<i64>::from_slice(&[]),
RocList<i64>
);
assert_evals_to!(
"List.drop [1,2] 5",
"List.dropFirst [1,2] 5",
RocList::<i64>::from_slice(&[]),
RocList<i64>
);
@ -703,18 +703,18 @@ fn list_drop_if_string_eq() {
#[cfg(any(feature = "gen-llvm", feature = "gen-wasm", feature = "gen-dev"))]
fn list_drop_last() {
assert_evals_to!(
"List.dropLast [1, 2, 3]",
"List.dropLast [1, 2, 3] 1",
RocList::from_slice(&[1, 2]),
RocList<i64>
);
assert_evals_to!(
"List.dropLast []",
"List.dropLast [] 5",
RocList::<i64>::from_slice(&[]),
RocList<i64>
);
assert_evals_to!(
"List.dropLast [0]",
RocList::<i64>::from_slice(&[]),
"List.dropLast [0] 0",
RocList::<i64>::from_slice(&[0]),
RocList<i64>
);
}
@ -728,7 +728,7 @@ fn list_drop_last_mutable() {
list : List I64
list = [if Bool.true then 4 else 4, 5, 6]
{ newList: List.dropLast list, original: list }
{ newList: List.dropLast list 1, original: list }
"#
),
(
@ -741,26 +741,6 @@ fn list_drop_last_mutable() {
);
}
#[test]
#[cfg(any(feature = "gen-llvm", feature = "gen-wasm", feature = "gen-dev"))]
fn list_drop_first() {
assert_evals_to!(
"List.dropFirst [1, 2, 3]",
RocList::from_slice(&[2, 3]),
RocList<i64>
);
assert_evals_to!(
"List.dropFirst []",
RocList::<i64>::from_slice(&[]),
RocList<i64>
);
assert_evals_to!(
"List.dropFirst [0]",
RocList::<i64>::from_slice(&[]),
RocList<i64>
);
}
#[test]
#[cfg(any(feature = "gen-llvm", feature = "gen-wasm", feature = "gen-dev"))]
fn list_swap() {

View file

@ -3006,7 +3006,7 @@ fn do_pass_bool_byte_closure_layout() {
any: Parser U8
any = \inp ->
when List.first inp is
Ok u -> [Pair u (List.drop inp 1)]
Ok u -> [Pair u (List.dropFirst inp 1)]
_ -> []

View file

@ -2,29 +2,29 @@ procedure Bool.11 (#Attr.2, #Attr.3):
let Bool.24 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
ret Bool.24;
procedure List.26 (List.174, List.175, List.176):
let List.560 : [C U64, C U64] = CallByName List.98 List.174 List.175 List.176;
procedure List.26 (List.173, List.174, List.175):
let List.560 : [C U64, C U64] = CallByName List.97 List.173 List.174 List.175;
let List.563 : U8 = 1i64;
let List.564 : U8 = GetTagId List.560;
let List.565 : Int1 = lowlevel Eq List.563 List.564;
if List.565 then
let List.177 : U64 = UnionAtIndex (Id 1) (Index 0) List.560;
ret List.177;
let List.176 : U64 = UnionAtIndex (Id 1) (Index 0) List.560;
ret List.176;
else
let List.178 : U64 = UnionAtIndex (Id 0) (Index 0) List.560;
ret List.178;
let List.177 : U64 = UnionAtIndex (Id 0) (Index 0) List.560;
ret List.177;
procedure List.29 (List.319, List.320):
let List.559 : U64 = CallByName List.6 List.319;
let List.321 : U64 = CallByName Num.77 List.559 List.320;
let List.545 : List U8 = CallByName List.43 List.319 List.321;
procedure List.38 (List.316, List.317):
let List.559 : U64 = CallByName List.6 List.316;
let List.318 : U64 = CallByName Num.77 List.559 List.317;
let List.545 : List U8 = CallByName List.43 List.316 List.318;
ret List.545;
procedure List.43 (List.317, List.318):
let List.557 : U64 = CallByName List.6 List.317;
let List.556 : U64 = CallByName Num.77 List.557 List.318;
let List.547 : {U64, U64} = Struct {List.318, List.556};
let List.546 : List U8 = CallByName List.49 List.317 List.547;
procedure List.43 (List.314, List.315):
let List.557 : U64 = CallByName List.6 List.314;
let List.556 : U64 = CallByName Num.77 List.557 List.315;
let List.547 : {U64, U64} = Struct {List.315, List.556};
let List.546 : List U8 = CallByName List.49 List.314 List.547;
ret List.546;
procedure List.49 (List.392, List.393):
@ -79,7 +79,7 @@ procedure List.80 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.
in
jump List.569 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
procedure List.98 (List.460, List.461, List.462):
procedure List.97 (List.460, List.461, List.462):
let List.567 : U64 = 0i64;
let List.568 : U64 = CallByName List.6 List.460;
let List.566 : [C U64, C U64] = CallByName List.80 List.460 List.461 List.462 List.567 List.568;
@ -107,7 +107,7 @@ procedure Test.1 (Test.2):
if Test.10 then
ret Test.2;
else
let Test.9 : List U8 = CallByName List.29 Test.2 Test.3;
let Test.9 : List U8 = CallByName List.38 Test.2 Test.3;
ret Test.9;
procedure Test.4 (Test.5, Test.15):

View file

@ -1,7 +1,7 @@
procedure List.18 (List.147, List.148, List.149):
procedure List.18 (List.146, List.147, List.148):
let List.546 : U64 = 0i64;
let List.547 : U64 = CallByName List.6 List.147;
let List.545 : [<r>C {}, C *self {{}, []}] = CallByName List.87 List.147 List.148 List.149 List.546 List.547;
let List.547 : U64 = CallByName List.6 List.146;
let List.545 : [<r>C {}, C *self {{}, []}] = CallByName List.86 List.146 List.147 List.148 List.546 List.547;
ret List.545;
procedure List.6 (#Attr.2):
@ -12,18 +12,18 @@ procedure List.66 (#Attr.2, #Attr.3):
let List.555 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.555;
procedure List.87 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17):
joinpoint List.548 List.150 List.151 List.152 List.153 List.154:
let List.550 : Int1 = CallByName Num.22 List.153 List.154;
procedure List.86 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17):
joinpoint List.548 List.149 List.150 List.151 List.152 List.153:
let List.550 : Int1 = CallByName Num.22 List.152 List.153;
if List.550 then
let List.554 : [] = CallByName List.66 List.150 List.153;
let List.155 : [<r>C {}, C *self {{}, []}] = CallByName Test.29 List.151 List.554 List.152;
let List.554 : [] = CallByName List.66 List.149 List.152;
let List.154 : [<r>C {}, C *self {{}, []}] = CallByName Test.29 List.150 List.554 List.151;
let List.553 : U64 = 1i64;
let List.552 : U64 = CallByName Num.51 List.153 List.553;
jump List.548 List.150 List.155 List.152 List.552 List.154;
let List.552 : U64 = CallByName Num.51 List.152 List.553;
jump List.548 List.149 List.154 List.151 List.552 List.153;
else
dec List.150;
ret List.151;
dec List.149;
ret List.150;
in
jump List.548 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;

View file

@ -2,17 +2,17 @@ procedure Bool.1 ():
let Bool.24 : Int1 = false;
ret Bool.24;
procedure List.2 (List.102, List.103):
let List.559 : U64 = CallByName List.6 List.102;
let List.555 : Int1 = CallByName Num.22 List.103 List.559;
procedure List.2 (List.101, List.102):
let List.559 : U64 = CallByName List.6 List.101;
let List.555 : Int1 = CallByName Num.22 List.102 List.559;
if List.555 then
let List.557 : Str = CallByName List.66 List.102 List.103;
let List.557 : Str = CallByName List.66 List.101 List.102;
inc List.557;
dec List.102;
dec List.101;
let List.556 : [C {}, C Str] = TagId(1) List.557;
ret List.556;
else
dec List.102;
dec List.101;
let List.554 : {} = Struct {};
let List.553 : [C {}, C Str] = TagId(0) List.554;
ret List.553;
@ -30,15 +30,15 @@ procedure List.66 (#Attr.2, #Attr.3):
let List.558 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.558;
procedure List.9 (List.308):
procedure List.9 (List.307):
let List.552 : U64 = 0i64;
let List.545 : [C {}, C Str] = CallByName List.2 List.308 List.552;
let List.545 : [C {}, C Str] = CallByName List.2 List.307 List.552;
let List.549 : U8 = 1i64;
let List.550 : U8 = GetTagId List.545;
let List.551 : Int1 = lowlevel Eq List.549 List.550;
if List.551 then
let List.309 : Str = UnionAtIndex (Id 1) (Index 0) List.545;
let List.546 : [C {}, C Str] = TagId(1) List.309;
let List.308 : Str = UnionAtIndex (Id 1) (Index 0) List.545;
let List.546 : [C {}, C Str] = TagId(1) List.308;
ret List.546;
else
dec List.545;

View file

@ -2,10 +2,10 @@ procedure Bool.2 ():
let Bool.23 : Int1 = true;
ret Bool.23;
procedure List.18 (List.147, List.148, List.149):
procedure List.18 (List.146, List.147, List.148):
let List.546 : U64 = 0i64;
let List.547 : U64 = CallByName List.6 List.147;
let List.545 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName List.87 List.147 List.148 List.149 List.546 List.547;
let List.547 : U64 = CallByName List.6 List.146;
let List.545 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName List.86 List.146 List.147 List.148 List.546 List.547;
ret List.545;
procedure List.6 (#Attr.2):
@ -16,20 +16,20 @@ procedure List.66 (#Attr.2, #Attr.3):
let List.555 : Int1 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.555;
procedure List.87 (#Derived_gen.5, #Derived_gen.6, #Derived_gen.7, #Derived_gen.8, #Derived_gen.9):
joinpoint List.548 List.150 List.151 List.152 List.153 List.154:
let List.550 : Int1 = CallByName Num.22 List.153 List.154;
procedure List.86 (#Derived_gen.3, #Derived_gen.4, #Derived_gen.5, #Derived_gen.6, #Derived_gen.7):
joinpoint List.548 List.149 List.150 List.151 List.152 List.153:
let List.550 : Int1 = CallByName Num.22 List.152 List.153;
if List.550 then
let List.554 : Int1 = CallByName List.66 List.150 List.153;
let List.155 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName Test.6 List.151 List.554 List.152;
let List.554 : Int1 = CallByName List.66 List.149 List.152;
let List.154 : [<rnw><null>, C *self Int1, C *self Int1] = CallByName Test.6 List.150 List.554 List.151;
let List.553 : U64 = 1i64;
let List.552 : U64 = CallByName Num.51 List.153 List.553;
jump List.548 List.150 List.155 List.152 List.552 List.154;
let List.552 : U64 = CallByName Num.51 List.152 List.553;
jump List.548 List.149 List.154 List.151 List.552 List.153;
else
dec List.150;
ret List.151;
dec List.149;
ret List.150;
in
jump List.548 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7 #Derived_gen.8 #Derived_gen.9;
jump List.548 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
@ -46,7 +46,7 @@ procedure Str.3 (#Attr.2, #Attr.3):
procedure Test.1 (Test.5):
ret Test.5;
procedure Test.11 (#Derived_gen.3, #Derived_gen.4):
procedure Test.11 (#Derived_gen.8, #Derived_gen.9):
joinpoint Test.27 Test.12 #Attr.12:
let Test.34 : Int1 = UnionAtIndex (Id 2) (Index 1) #Attr.12;
let Test.33 : [<rnw><null>, C *self Int1, C *self Int1] = UnionAtIndex (Id 2) (Index 0) #Attr.12;
@ -86,7 +86,7 @@ procedure Test.11 (#Derived_gen.3, #Derived_gen.4):
decref #Attr.12;
jump #Derived_gen.12;
in
jump Test.27 #Derived_gen.3 #Derived_gen.4;
jump Test.27 #Derived_gen.8 #Derived_gen.9;
procedure Test.2 (Test.13):
ret Test.13;

View file

@ -24,14 +24,14 @@ procedure Dict.4 (Dict.560):
dec #Derived_gen.6;
ret Dict.101;
procedure List.11 (List.126, List.127):
let List.546 : List I8 = CallByName List.68 List.127;
let List.545 : List I8 = CallByName List.85 List.126 List.127 List.546;
procedure List.11 (List.125, List.126):
let List.546 : List I8 = CallByName List.68 List.126;
let List.545 : List I8 = CallByName List.84 List.125 List.126 List.546;
ret List.545;
procedure List.11 (List.126, List.127):
let List.558 : List U64 = CallByName List.68 List.127;
let List.557 : List U64 = CallByName List.85 List.126 List.127 List.558;
procedure List.11 (List.125, List.126):
let List.558 : List U64 = CallByName List.68 List.126;
let List.557 : List U64 = CallByName List.84 List.125 List.126 List.558;
ret List.557;
procedure List.68 (#Attr.2):
@ -50,33 +50,33 @@ procedure List.71 (#Attr.2, #Attr.3):
let List.565 : List U64 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.565;
procedure List.85 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2):
joinpoint List.559 List.128 List.129 List.130:
let List.567 : U64 = 0i64;
let List.561 : Int1 = CallByName Num.24 List.129 List.567;
if List.561 then
let List.566 : U64 = 1i64;
let List.563 : U64 = CallByName Num.75 List.129 List.566;
let List.564 : List U64 = CallByName List.71 List.130 List.128;
jump List.559 List.128 List.563 List.564;
else
ret List.130;
in
jump List.559 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2;
procedure List.85 (#Derived_gen.3, #Derived_gen.4, #Derived_gen.5):
joinpoint List.547 List.128 List.129 List.130:
procedure List.84 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2):
joinpoint List.547 List.127 List.128 List.129:
let List.555 : U64 = 0i64;
let List.549 : Int1 = CallByName Num.24 List.129 List.555;
let List.549 : Int1 = CallByName Num.24 List.128 List.555;
if List.549 then
let List.554 : U64 = 1i64;
let List.551 : U64 = CallByName Num.75 List.129 List.554;
let List.552 : List I8 = CallByName List.71 List.130 List.128;
jump List.547 List.128 List.551 List.552;
let List.551 : U64 = CallByName Num.75 List.128 List.554;
let List.552 : List I8 = CallByName List.71 List.129 List.127;
jump List.547 List.127 List.551 List.552;
else
ret List.130;
ret List.129;
in
jump List.547 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5;
jump List.547 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2;
procedure List.84 (#Derived_gen.3, #Derived_gen.4, #Derived_gen.5):
joinpoint List.559 List.127 List.128 List.129:
let List.567 : U64 = 0i64;
let List.561 : Int1 = CallByName Num.24 List.128 List.567;
if List.561 then
let List.566 : U64 = 1i64;
let List.563 : U64 = CallByName Num.75 List.128 List.566;
let List.564 : List U64 = CallByName List.71 List.129 List.127;
jump List.559 List.127 List.563 List.564;
else
ret List.129;
in
jump List.559 #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;

View file

@ -2,16 +2,16 @@ procedure Bool.1 ():
let Bool.23 : Int1 = false;
ret Bool.23;
procedure List.2 (List.102, List.103):
let List.551 : U64 = CallByName List.6 List.102;
let List.547 : Int1 = CallByName Num.22 List.103 List.551;
procedure List.2 (List.101, List.102):
let List.551 : U64 = CallByName List.6 List.101;
let List.547 : Int1 = CallByName Num.22 List.102 List.551;
if List.547 then
let List.549 : {} = CallByName List.66 List.102 List.103;
dec List.102;
let List.549 : {} = CallByName List.66 List.101 List.102;
dec List.101;
let List.548 : [C {}, C {}] = TagId(1) List.549;
ret List.548;
else
dec List.102;
dec List.101;
let List.546 : {} = Struct {};
let List.545 : [C {}, C {}] = TagId(0) List.546;
ret List.545;

View file

@ -1,7 +1,7 @@
procedure List.4 (List.118, List.119):
procedure List.4 (List.117, List.118):
let List.548 : U64 = 1i64;
let List.546 : List U8 = CallByName List.70 List.118 List.548;
let List.545 : List U8 = CallByName List.71 List.546 List.119;
let List.546 : List U8 = CallByName List.70 List.117 List.548;
let List.545 : List U8 = CallByName List.71 List.546 List.118;
ret List.545;
procedure List.70 (#Attr.2, #Attr.3):

View file

@ -15,23 +15,23 @@ procedure Encode.26 (Encode.105, Encode.106):
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
ret Encode.108;
procedure List.18 (List.147, List.148, List.149):
procedure List.18 (List.146, List.147, List.148):
let List.559 : U64 = 0i64;
let List.560 : U64 = CallByName List.6 List.147;
let List.558 : List U8 = CallByName List.87 List.147 List.148 List.149 List.559 List.560;
let List.560 : U64 = CallByName List.6 List.146;
let List.558 : List U8 = CallByName List.86 List.146 List.147 List.148 List.559 List.560;
ret List.558;
procedure List.26 (List.174, List.175, List.176):
let List.585 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.98 List.174 List.175 List.176;
procedure List.26 (List.173, List.174, List.175):
let List.585 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.97 List.173 List.174 List.175;
let List.588 : U8 = 1i64;
let List.589 : U8 = GetTagId List.585;
let List.590 : Int1 = lowlevel Eq List.588 List.589;
if List.590 then
let List.177 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.585;
ret List.177;
let List.176 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.585;
ret List.176;
else
let List.178 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.585;
ret List.178;
let List.177 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.585;
ret List.177;
procedure List.49 (List.392, List.393):
let List.577 : U64 = StructAtIndex 0 List.393;
@ -112,22 +112,22 @@ procedure List.80 (#Derived_gen.8, #Derived_gen.9, #Derived_gen.10, #Derived_gen
in
jump List.594 #Derived_gen.8 #Derived_gen.9 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12;
procedure List.87 (#Derived_gen.3, #Derived_gen.4, #Derived_gen.5, #Derived_gen.6, #Derived_gen.7):
joinpoint List.561 List.150 List.151 List.152 List.153 List.154:
let List.563 : Int1 = CallByName Num.22 List.153 List.154;
procedure List.86 (#Derived_gen.3, #Derived_gen.4, #Derived_gen.5, #Derived_gen.6, #Derived_gen.7):
joinpoint List.561 List.149 List.150 List.151 List.152 List.153:
let List.563 : Int1 = CallByName Num.22 List.152 List.153;
if List.563 then
let List.567 : U8 = CallByName List.66 List.150 List.153;
let List.155 : List U8 = CallByName TotallyNotJson.215 List.151 List.567;
let List.567 : U8 = CallByName List.66 List.149 List.152;
let List.154 : List U8 = CallByName TotallyNotJson.215 List.150 List.567;
let List.566 : U64 = 1i64;
let List.565 : U64 = CallByName Num.51 List.153 List.566;
jump List.561 List.150 List.155 List.152 List.565 List.154;
let List.565 : U64 = CallByName Num.51 List.152 List.566;
jump List.561 List.149 List.154 List.151 List.565 List.153;
else
dec List.150;
ret List.151;
dec List.149;
ret List.150;
in
jump List.561 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7;
procedure List.98 (List.460, List.461, List.462):
procedure List.97 (List.460, List.461, List.462):
let List.592 : U64 = 0i64;
let List.593 : U64 = CallByName List.6 List.460;
let List.591 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.460 List.461 List.462 List.592 List.593;

View file

@ -44,34 +44,34 @@ procedure Encode.26 (Encode.105, Encode.106):
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
ret Encode.108;
procedure List.18 (List.147, List.148, List.149):
procedure List.18 (List.146, List.147, List.148):
let List.573 : U64 = 0i64;
let List.574 : U64 = CallByName List.6 List.147;
let List.572 : {List U8, U64} = CallByName List.87 List.147 List.148 List.149 List.573 List.574;
let List.574 : U64 = CallByName List.6 List.146;
let List.572 : {List U8, U64} = CallByName List.86 List.146 List.147 List.148 List.573 List.574;
ret List.572;
procedure List.18 (List.147, List.148, List.149):
procedure List.18 (List.146, List.147, List.148):
let List.585 : U64 = 0i64;
let List.586 : U64 = CallByName List.6 List.147;
let List.584 : List U8 = CallByName List.87 List.147 List.148 List.149 List.585 List.586;
let List.586 : U64 = CallByName List.6 List.146;
let List.584 : List U8 = CallByName List.86 List.146 List.147 List.148 List.585 List.586;
ret List.584;
procedure List.26 (List.174, List.175, List.176):
let List.626 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.98 List.174 List.175 List.176;
procedure List.26 (List.173, List.174, List.175):
let List.626 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.97 List.173 List.174 List.175;
let List.629 : U8 = 1i64;
let List.630 : U8 = GetTagId List.626;
let List.631 : Int1 = lowlevel Eq List.629 List.630;
if List.631 then
let List.177 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.626;
ret List.177;
let List.176 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.626;
ret List.176;
else
let List.178 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.626;
ret List.178;
let List.177 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.626;
ret List.177;
procedure List.4 (List.118, List.119):
procedure List.4 (List.117, List.118):
let List.571 : U64 = 1i64;
let List.570 : List U8 = CallByName List.70 List.118 List.571;
let List.569 : List U8 = CallByName List.71 List.570 List.119;
let List.570 : List U8 = CallByName List.70 List.117 List.571;
let List.569 : List U8 = CallByName List.71 List.570 List.118;
ret List.569;
procedure List.49 (List.392, List.393):
@ -143,7 +143,7 @@ procedure List.8 (#Attr.2, #Attr.3):
let List.607 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.607;
procedure List.80 (#Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_gen.24, #Derived_gen.25):
procedure List.80 (#Derived_gen.16, #Derived_gen.17, #Derived_gen.18, #Derived_gen.19, #Derived_gen.20):
joinpoint List.635 List.463 List.464 List.465 List.466 List.467:
let List.637 : Int1 = CallByName Num.22 List.466 List.467;
if List.637 then
@ -167,40 +167,40 @@ procedure List.80 (#Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_g
let List.636 : [C {U64, Int1}, C {U64, Int1}] = TagId(1) List.464;
ret List.636;
in
jump List.635 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25;
jump List.635 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18 #Derived_gen.19 #Derived_gen.20;
procedure List.87 (#Derived_gen.10, #Derived_gen.11, #Derived_gen.12, #Derived_gen.13, #Derived_gen.14):
joinpoint List.575 List.150 List.151 List.152 List.153 List.154:
let List.577 : Int1 = CallByName Num.22 List.153 List.154;
if List.577 then
let List.581 : Str = CallByName List.66 List.150 List.153;
inc List.581;
let List.155 : {List U8, U64} = CallByName TotallyNotJson.267 List.151 List.581 List.152;
let List.580 : U64 = 1i64;
let List.579 : U64 = CallByName Num.51 List.153 List.580;
jump List.575 List.150 List.155 List.152 List.579 List.154;
else
dec List.150;
ret List.151;
in
jump List.575 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12 #Derived_gen.13 #Derived_gen.14;
procedure List.87 (#Derived_gen.26, #Derived_gen.27, #Derived_gen.28, #Derived_gen.29, #Derived_gen.30):
joinpoint List.587 List.150 List.151 List.152 List.153 List.154:
let List.589 : Int1 = CallByName Num.22 List.153 List.154;
procedure List.86 (#Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_gen.24, #Derived_gen.25):
joinpoint List.587 List.149 List.150 List.151 List.152 List.153:
let List.589 : Int1 = CallByName Num.22 List.152 List.153;
if List.589 then
let List.593 : U8 = CallByName List.66 List.150 List.153;
let List.155 : List U8 = CallByName TotallyNotJson.215 List.151 List.593;
let List.593 : U8 = CallByName List.66 List.149 List.152;
let List.154 : List U8 = CallByName TotallyNotJson.215 List.150 List.593;
let List.592 : U64 = 1i64;
let List.591 : U64 = CallByName Num.51 List.153 List.592;
jump List.587 List.150 List.155 List.152 List.591 List.154;
let List.591 : U64 = CallByName Num.51 List.152 List.592;
jump List.587 List.149 List.154 List.151 List.591 List.153;
else
dec List.150;
ret List.151;
dec List.149;
ret List.150;
in
jump List.587 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30;
jump List.587 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24 #Derived_gen.25;
procedure List.98 (List.460, List.461, List.462):
procedure List.86 (#Derived_gen.26, #Derived_gen.27, #Derived_gen.28, #Derived_gen.29, #Derived_gen.30):
joinpoint List.575 List.149 List.150 List.151 List.152 List.153:
let List.577 : Int1 = CallByName Num.22 List.152 List.153;
if List.577 then
let List.581 : Str = CallByName List.66 List.149 List.152;
inc List.581;
let List.154 : {List U8, U64} = CallByName TotallyNotJson.267 List.150 List.581 List.151;
let List.580 : U64 = 1i64;
let List.579 : U64 = CallByName Num.51 List.152 List.580;
jump List.575 List.149 List.154 List.151 List.579 List.153;
else
dec List.149;
ret List.150;
in
jump List.575 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30;
procedure List.97 (List.460, List.461, List.462):
let List.633 : U64 = 0i64;
let List.634 : U64 = CallByName List.6 List.460;
let List.632 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.460 List.461 List.462 List.633 List.634;

View file

@ -47,34 +47,34 @@ procedure Encode.26 (Encode.105, Encode.106):
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
ret Encode.108;
procedure List.18 (List.147, List.148, List.149):
procedure List.18 (List.146, List.147, List.148):
let List.573 : U64 = 0i64;
let List.574 : U64 = CallByName List.6 List.147;
let List.572 : {List U8, U64} = CallByName List.87 List.147 List.148 List.149 List.573 List.574;
let List.574 : U64 = CallByName List.6 List.146;
let List.572 : {List U8, U64} = CallByName List.86 List.146 List.147 List.148 List.573 List.574;
ret List.572;
procedure List.18 (List.147, List.148, List.149):
procedure List.18 (List.146, List.147, List.148):
let List.585 : U64 = 0i64;
let List.586 : U64 = CallByName List.6 List.147;
let List.584 : List U8 = CallByName List.87 List.147 List.148 List.149 List.585 List.586;
let List.586 : U64 = CallByName List.6 List.146;
let List.584 : List U8 = CallByName List.86 List.146 List.147 List.148 List.585 List.586;
ret List.584;
procedure List.26 (List.174, List.175, List.176):
let List.626 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.98 List.174 List.175 List.176;
procedure List.26 (List.173, List.174, List.175):
let List.626 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.97 List.173 List.174 List.175;
let List.629 : U8 = 1i64;
let List.630 : U8 = GetTagId List.626;
let List.631 : Int1 = lowlevel Eq List.629 List.630;
if List.631 then
let List.177 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.626;
ret List.177;
let List.176 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.626;
ret List.176;
else
let List.178 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.626;
ret List.178;
let List.177 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.626;
ret List.177;
procedure List.4 (List.118, List.119):
procedure List.4 (List.117, List.118):
let List.571 : U64 = 1i64;
let List.570 : List U8 = CallByName List.70 List.118 List.571;
let List.569 : List U8 = CallByName List.71 List.570 List.119;
let List.570 : List U8 = CallByName List.70 List.117 List.571;
let List.569 : List U8 = CallByName List.71 List.570 List.118;
ret List.569;
procedure List.49 (List.392, List.393):
@ -172,38 +172,38 @@ procedure List.80 (#Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_g
in
jump List.635 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17 #Derived_gen.18;
procedure List.87 (#Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23):
joinpoint List.587 List.150 List.151 List.152 List.153 List.154:
let List.589 : Int1 = CallByName Num.22 List.153 List.154;
if List.589 then
let List.593 : U8 = CallByName List.66 List.150 List.153;
let List.155 : List U8 = CallByName TotallyNotJson.215 List.151 List.593;
let List.592 : U64 = 1i64;
let List.591 : U64 = CallByName Num.51 List.153 List.592;
jump List.587 List.150 List.155 List.152 List.591 List.154;
else
dec List.150;
ret List.151;
in
jump List.587 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23;
procedure List.87 (#Derived_gen.24, #Derived_gen.25, #Derived_gen.26, #Derived_gen.27, #Derived_gen.28):
joinpoint List.575 List.150 List.151 List.152 List.153 List.154:
let List.577 : Int1 = CallByName Num.22 List.153 List.154;
procedure List.86 (#Derived_gen.19, #Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23):
joinpoint List.575 List.149 List.150 List.151 List.152 List.153:
let List.577 : Int1 = CallByName Num.22 List.152 List.153;
if List.577 then
let List.581 : Str = CallByName List.66 List.150 List.153;
let List.581 : Str = CallByName List.66 List.149 List.152;
inc List.581;
let List.155 : {List U8, U64} = CallByName TotallyNotJson.267 List.151 List.581 List.152;
let List.154 : {List U8, U64} = CallByName TotallyNotJson.267 List.150 List.581 List.151;
let List.580 : U64 = 1i64;
let List.579 : U64 = CallByName Num.51 List.153 List.580;
jump List.575 List.150 List.155 List.152 List.579 List.154;
let List.579 : U64 = CallByName Num.51 List.152 List.580;
jump List.575 List.149 List.154 List.151 List.579 List.153;
else
dec List.150;
ret List.151;
dec List.149;
ret List.150;
in
jump List.575 #Derived_gen.24 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28;
jump List.575 #Derived_gen.19 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23;
procedure List.98 (List.460, List.461, List.462):
procedure List.86 (#Derived_gen.27, #Derived_gen.28, #Derived_gen.29, #Derived_gen.30, #Derived_gen.31):
joinpoint List.587 List.149 List.150 List.151 List.152 List.153:
let List.589 : Int1 = CallByName Num.22 List.152 List.153;
if List.589 then
let List.593 : U8 = CallByName List.66 List.149 List.152;
let List.154 : List U8 = CallByName TotallyNotJson.215 List.150 List.593;
let List.592 : U64 = 1i64;
let List.591 : U64 = CallByName Num.51 List.152 List.592;
jump List.587 List.149 List.154 List.151 List.591 List.153;
else
dec List.149;
ret List.150;
in
jump List.587 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30 #Derived_gen.31;
procedure List.97 (List.460, List.461, List.462):
let List.633 : U64 = 0i64;
let List.634 : U64 = CallByName List.6 List.460;
let List.632 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.460 List.461 List.462 List.633 List.634;

View file

@ -6,16 +6,16 @@ procedure Bool.2 ():
let Bool.23 : Int1 = true;
ret Bool.23;
procedure List.2 (List.102, List.103):
let List.559 : U64 = CallByName List.6 List.102;
let List.555 : Int1 = CallByName Num.22 List.103 List.559;
procedure List.2 (List.101, List.102):
let List.559 : U64 = CallByName List.6 List.101;
let List.555 : Int1 = CallByName Num.22 List.102 List.559;
if List.555 then
let List.557 : I64 = CallByName List.66 List.102 List.103;
dec List.102;
let List.557 : I64 = CallByName List.66 List.101 List.102;
dec List.101;
let List.556 : [C {}, C I64] = TagId(1) List.557;
ret List.556;
else
dec List.102;
dec List.101;
let List.554 : {} = Struct {};
let List.553 : [C {}, C I64] = TagId(0) List.554;
ret List.553;
@ -28,15 +28,15 @@ procedure List.66 (#Attr.2, #Attr.3):
let List.558 : I64 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.558;
procedure List.9 (List.308):
procedure List.9 (List.307):
let List.552 : U64 = 0i64;
let List.545 : [C {}, C I64] = CallByName List.2 List.308 List.552;
let List.545 : [C {}, C I64] = CallByName List.2 List.307 List.552;
let List.549 : U8 = 1i64;
let List.550 : U8 = GetTagId List.545;
let List.551 : Int1 = lowlevel Eq List.549 List.550;
if List.551 then
let List.309 : I64 = UnionAtIndex (Id 1) (Index 0) List.545;
let List.546 : [C Int1, C I64] = TagId(1) List.309;
let List.308 : I64 = UnionAtIndex (Id 1) (Index 0) List.545;
let List.546 : [C Int1, C I64] = TagId(1) List.308;
ret List.546;
else
let List.548 : Int1 = true;

View file

@ -64,136 +64,127 @@ procedure Decode.27 (Decode.107, Decode.108):
let Decode.123 : [C [C List U8, C ], C Str] = TagId(0) Decode.124;
ret Decode.123;
procedure List.1 (List.101):
let List.612 : U64 = CallByName List.6 List.101;
dec List.101;
let List.613 : U64 = 0i64;
let List.611 : Int1 = CallByName Bool.11 List.612 List.613;
ret List.611;
procedure List.1 (List.100):
let List.611 : U64 = CallByName List.6 List.100;
dec List.100;
let List.612 : U64 = 0i64;
let List.610 : Int1 = CallByName Bool.11 List.611 List.612;
ret List.610;
procedure List.2 (List.102, List.103):
let List.595 : U64 = CallByName List.6 List.102;
let List.592 : Int1 = CallByName Num.22 List.103 List.595;
if List.592 then
let List.594 : U8 = CallByName List.66 List.102 List.103;
dec List.102;
let List.593 : [C {}, C U8] = TagId(1) List.594;
ret List.593;
procedure List.2 (List.101, List.102):
let List.594 : U64 = CallByName List.6 List.101;
let List.591 : Int1 = CallByName Num.22 List.102 List.594;
if List.591 then
let List.593 : U8 = CallByName List.66 List.101 List.102;
dec List.101;
let List.592 : [C {}, C U8] = TagId(1) List.593;
ret List.592;
else
dec List.102;
let List.591 : {} = Struct {};
let List.590 : [C {}, C U8] = TagId(0) List.591;
ret List.590;
dec List.101;
let List.590 : {} = Struct {};
let List.589 : [C {}, C U8] = TagId(0) List.590;
ret List.589;
procedure List.26 (List.174, List.175, List.176):
let List.614 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName List.98 List.174 List.175 List.176;
let List.617 : U8 = 1i64;
let List.618 : U8 = GetTagId List.614;
let List.619 : Int1 = lowlevel Eq List.617 List.618;
if List.619 then
let List.177 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 1) (Index 0) List.614;
procedure List.26 (List.173, List.174, List.175):
let List.613 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName List.97 List.173 List.174 List.175;
let List.616 : U8 = 1i64;
let List.617 : U8 = GetTagId List.613;
let List.618 : Int1 = lowlevel Eq List.616 List.617;
if List.618 then
let List.176 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 1) (Index 0) List.613;
ret List.176;
else
let List.177 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 0) (Index 0) List.613;
ret List.177;
else
let List.178 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 0) (Index 0) List.614;
ret List.178;
procedure List.29 (List.319, List.320):
let List.569 : U64 = CallByName List.6 List.319;
let List.321 : U64 = CallByName Num.77 List.569 List.320;
let List.568 : List U8 = CallByName List.43 List.319 List.321;
ret List.568;
procedure List.38 (List.316, List.317):
let List.571 : U64 = CallByName List.6 List.316;
let List.318 : U64 = CallByName Num.77 List.571 List.317;
let List.570 : List U8 = CallByName List.43 List.316 List.318;
ret List.570;
procedure List.31 (#Attr.2, #Attr.3):
let List.582 : List U8 = lowlevel ListDropAt #Attr.2 #Attr.3;
ret List.582;
procedure List.4 (List.117, List.118):
let List.581 : U64 = 1i64;
let List.580 : List U8 = CallByName List.70 List.117 List.581;
let List.579 : List U8 = CallByName List.71 List.580 List.118;
ret List.579;
procedure List.38 (List.313):
let List.581 : U64 = 0i64;
let List.580 : List U8 = CallByName List.31 List.313 List.581;
ret List.580;
procedure List.4 (List.118, List.119):
let List.579 : U64 = 1i64;
let List.578 : List U8 = CallByName List.70 List.118 List.579;
let List.577 : List U8 = CallByName List.71 List.578 List.119;
ret List.577;
procedure List.43 (List.317, List.318):
let List.561 : U64 = CallByName List.6 List.317;
let List.560 : U64 = CallByName Num.77 List.561 List.318;
let List.551 : {U64, U64} = Struct {List.318, List.560};
let List.550 : List U8 = CallByName List.49 List.317 List.551;
procedure List.43 (List.314, List.315):
let List.561 : U64 = CallByName List.6 List.314;
let List.560 : U64 = CallByName Num.77 List.561 List.315;
let List.551 : {U64, U64} = Struct {List.315, List.560};
let List.550 : List U8 = CallByName List.49 List.314 List.551;
ret List.550;
procedure List.49 (List.392, List.393):
let List.608 : U64 = StructAtIndex 0 List.393;
let List.609 : U64 = 0i64;
let List.606 : Int1 = CallByName Bool.11 List.608 List.609;
if List.606 then
let List.607 : U64 = StructAtIndex 0 List.393;
let List.608 : U64 = 0i64;
let List.605 : Int1 = CallByName Bool.11 List.607 List.608;
if List.605 then
dec List.392;
let List.607 : List U8 = Array [];
ret List.607;
let List.606 : List U8 = Array [];
ret List.606;
else
let List.604 : U64 = StructAtIndex 1 List.393;
let List.605 : U64 = StructAtIndex 0 List.393;
let List.603 : List U8 = CallByName List.72 List.392 List.604 List.605;
ret List.603;
let List.603 : U64 = StructAtIndex 1 List.393;
let List.604 : U64 = StructAtIndex 0 List.393;
let List.602 : List U8 = CallByName List.72 List.392 List.603 List.604;
ret List.602;
procedure List.6 (#Attr.2):
let List.635 : U64 = lowlevel ListLen #Attr.2;
ret List.635;
let List.634 : U64 = lowlevel ListLen #Attr.2;
ret List.634;
procedure List.66 (#Attr.2, #Attr.3):
let List.588 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.588;
let List.587 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.587;
procedure List.70 (#Attr.2, #Attr.3):
let List.576 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.576;
let List.578 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.578;
procedure List.71 (#Attr.2, #Attr.3):
let List.574 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.574;
let List.576 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.576;
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
let List.555 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.555;
procedure List.8 (#Attr.2, #Attr.3):
let List.571 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.571;
let List.573 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.573;
procedure List.80 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
joinpoint List.623 List.463 List.464 List.465 List.466 List.467:
let List.625 : Int1 = CallByName Num.22 List.466 List.467;
if List.625 then
let List.634 : U8 = CallByName List.66 List.463 List.466;
let List.626 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName TotallyNotJson.62 List.464 List.634;
let List.631 : U8 = 1i64;
let List.632 : U8 = GetTagId List.626;
let List.633 : Int1 = lowlevel Eq List.631 List.632;
if List.633 then
let List.468 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 1) (Index 0) List.626;
let List.629 : U64 = 1i64;
let List.628 : U64 = CallByName Num.51 List.466 List.629;
jump List.623 List.463 List.468 List.465 List.628 List.467;
procedure List.80 (#Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4, #Derived_gen.5):
joinpoint List.622 List.463 List.464 List.465 List.466 List.467:
let List.624 : Int1 = CallByName Num.22 List.466 List.467;
if List.624 then
let List.633 : U8 = CallByName List.66 List.463 List.466;
let List.625 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName TotallyNotJson.62 List.464 List.633;
let List.630 : U8 = 1i64;
let List.631 : U8 = GetTagId List.625;
let List.632 : Int1 = lowlevel Eq List.630 List.631;
if List.632 then
let List.468 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 1) (Index 0) List.625;
let List.628 : U64 = 1i64;
let List.627 : U64 = CallByName Num.51 List.466 List.628;
jump List.622 List.463 List.468 List.465 List.627 List.467;
else
dec List.463;
let List.469 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 0) (Index 0) List.626;
let List.630 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) List.469;
ret List.630;
let List.469 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 0) (Index 0) List.625;
let List.629 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) List.469;
ret List.629;
else
dec List.463;
let List.624 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) List.464;
ret List.624;
let List.623 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) List.464;
ret List.623;
in
jump List.623 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
jump List.622 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5;
procedure List.98 (List.460, List.461, List.462):
let List.621 : U64 = 0i64;
let List.622 : U64 = CallByName List.6 List.460;
let List.620 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName List.80 List.460 List.461 List.462 List.621 List.622;
ret List.620;
procedure List.97 (List.460, List.461, List.462):
let List.620 : U64 = 0i64;
let List.621 : U64 = CallByName List.6 List.460;
let List.619 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName List.80 List.460 List.461 List.462 List.620 List.621;
ret List.619;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.294 : U8 = lowlevel NumAdd #Attr.2 #Attr.3;
@ -208,8 +199,8 @@ procedure Num.20 (#Attr.2, #Attr.3):
ret Num.306;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.327 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.327;
let Num.328 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.328;
procedure Num.23 (#Attr.2, #Attr.3):
let Num.312 : Int1 = lowlevel NumLte #Attr.2 #Attr.3;
@ -220,8 +211,8 @@ procedure Num.25 (#Attr.2, #Attr.3):
ret Num.318;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.328 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.328;
let Num.329 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.329;
procedure Num.71 (#Attr.2, #Attr.3):
let Num.291 : U8 = lowlevel NumBitwiseOr #Attr.2 #Attr.3;
@ -232,8 +223,8 @@ procedure Num.72 (#Attr.2, #Attr.3):
ret Num.292;
procedure Num.77 (#Attr.2, #Attr.3):
let Num.324 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.324;
let Num.325 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.325;
procedure Str.48 (#Attr.2, #Attr.3, #Attr.4):
let Str.301 : {U64, Str, Int1, U8} = lowlevel StrFromUtf8Range #Attr.2 #Attr.3 #Attr.4;
@ -251,8 +242,8 @@ procedure Str.9 (Str.80):
else
let Str.294 : U8 = StructAtIndex 3 Str.81;
let Str.295 : U64 = StructAtIndex 0 Str.81;
let #Derived_gen.6 : Str = StructAtIndex 1 Str.81;
dec #Derived_gen.6;
let #Derived_gen.7 : Str = StructAtIndex 1 Str.81;
dec #Derived_gen.7;
let Str.293 : {U64, U8} = Struct {Str.295, Str.294};
let Str.292 : [C {U64, U8}, C Str] = TagId(0) Str.293;
ret Str.292;
@ -273,27 +264,27 @@ procedure Test.3 ():
ret Test.4;
procedure TotallyNotJson.525 (TotallyNotJson.526, TotallyNotJson.1175):
joinpoint TotallyNotJson.1458:
joinpoint TotallyNotJson.1459:
inc TotallyNotJson.526;
let TotallyNotJson.1327 : {List U8, List U8} = CallByName TotallyNotJson.61 TotallyNotJson.526;
let TotallyNotJson.530 : List U8 = StructAtIndex 0 TotallyNotJson.1327;
let TotallyNotJson.529 : List U8 = StructAtIndex 1 TotallyNotJson.1327;
let TotallyNotJson.1328 : {List U8, List U8} = CallByName TotallyNotJson.61 TotallyNotJson.526;
let TotallyNotJson.530 : List U8 = StructAtIndex 0 TotallyNotJson.1328;
let TotallyNotJson.529 : List U8 = StructAtIndex 1 TotallyNotJson.1328;
inc TotallyNotJson.529;
let TotallyNotJson.1323 : Int1 = CallByName List.1 TotallyNotJson.529;
if TotallyNotJson.1323 then
let TotallyNotJson.1324 : Int1 = CallByName List.1 TotallyNotJson.529;
if TotallyNotJson.1324 then
dec TotallyNotJson.530;
dec TotallyNotJson.529;
let TotallyNotJson.1326 : {} = Struct {};
let TotallyNotJson.1325 : [C {}, C Str] = TagId(0) TotallyNotJson.1326;
let TotallyNotJson.1324 : {List U8, [C {}, C Str]} = Struct {TotallyNotJson.526, TotallyNotJson.1325};
ret TotallyNotJson.1324;
let TotallyNotJson.1327 : {} = Struct {};
let TotallyNotJson.1326 : [C {}, C Str] = TagId(0) TotallyNotJson.1327;
let TotallyNotJson.1325 : {List U8, [C {}, C Str]} = Struct {TotallyNotJson.526, TotallyNotJson.1326};
ret TotallyNotJson.1325;
else
let TotallyNotJson.1321 : U64 = CallByName List.6 TotallyNotJson.529;
let TotallyNotJson.1322 : U64 = 2i64;
let TotallyNotJson.1319 : U64 = CallByName Num.77 TotallyNotJson.1321 TotallyNotJson.1322;
let TotallyNotJson.1320 : U64 = 1i64;
let TotallyNotJson.1318 : {U64, U64} = Struct {TotallyNotJson.1319, TotallyNotJson.1320};
let TotallyNotJson.1194 : List U8 = CallByName List.49 TotallyNotJson.529 TotallyNotJson.1318;
let TotallyNotJson.1322 : U64 = CallByName List.6 TotallyNotJson.529;
let TotallyNotJson.1323 : U64 = 2i64;
let TotallyNotJson.1320 : U64 = CallByName Num.77 TotallyNotJson.1322 TotallyNotJson.1323;
let TotallyNotJson.1321 : U64 = 1i64;
let TotallyNotJson.1319 : {U64, U64} = Struct {TotallyNotJson.1320, TotallyNotJson.1321};
let TotallyNotJson.1194 : List U8 = CallByName List.49 TotallyNotJson.529 TotallyNotJson.1319;
let TotallyNotJson.1195 : {} = Struct {};
let TotallyNotJson.1190 : {List U8, List U8} = CallByName TotallyNotJson.534 TotallyNotJson.1194;
let TotallyNotJson.1191 : {} = Struct {};
@ -316,57 +307,57 @@ procedure TotallyNotJson.525 (TotallyNotJson.526, TotallyNotJson.1175):
let TotallyNotJson.1183 : {List U8, [C {}, C Str]} = Struct {TotallyNotJson.526, TotallyNotJson.1184};
ret TotallyNotJson.1183;
in
let TotallyNotJson.1456 : U64 = lowlevel ListLen TotallyNotJson.526;
let TotallyNotJson.1457 : U64 = 4i64;
let TotallyNotJson.1463 : Int1 = lowlevel NumGte TotallyNotJson.1456 TotallyNotJson.1457;
if TotallyNotJson.1463 then
let TotallyNotJson.1453 : U64 = 3i64;
let TotallyNotJson.1454 : U8 = lowlevel ListGetUnsafe TotallyNotJson.526 TotallyNotJson.1453;
let TotallyNotJson.1455 : U8 = 108i64;
let TotallyNotJson.1462 : Int1 = lowlevel Eq TotallyNotJson.1455 TotallyNotJson.1454;
if TotallyNotJson.1462 then
let TotallyNotJson.1450 : U64 = 2i64;
let TotallyNotJson.1451 : U8 = lowlevel ListGetUnsafe TotallyNotJson.526 TotallyNotJson.1450;
let TotallyNotJson.1452 : U8 = 108i64;
let TotallyNotJson.1461 : Int1 = lowlevel Eq TotallyNotJson.1452 TotallyNotJson.1451;
if TotallyNotJson.1461 then
let TotallyNotJson.1447 : U64 = 1i64;
let TotallyNotJson.1448 : U8 = lowlevel ListGetUnsafe TotallyNotJson.526 TotallyNotJson.1447;
let TotallyNotJson.1449 : U8 = 117i64;
let TotallyNotJson.1460 : Int1 = lowlevel Eq TotallyNotJson.1449 TotallyNotJson.1448;
if TotallyNotJson.1460 then
let TotallyNotJson.1444 : U64 = 0i64;
let TotallyNotJson.1445 : U8 = lowlevel ListGetUnsafe TotallyNotJson.526 TotallyNotJson.1444;
let TotallyNotJson.1446 : U8 = 110i64;
let TotallyNotJson.1459 : Int1 = lowlevel Eq TotallyNotJson.1446 TotallyNotJson.1445;
if TotallyNotJson.1459 then
let TotallyNotJson.1457 : U64 = lowlevel ListLen TotallyNotJson.526;
let TotallyNotJson.1458 : U64 = 4i64;
let TotallyNotJson.1464 : Int1 = lowlevel NumGte TotallyNotJson.1457 TotallyNotJson.1458;
if TotallyNotJson.1464 then
let TotallyNotJson.1454 : U64 = 3i64;
let TotallyNotJson.1455 : U8 = lowlevel ListGetUnsafe TotallyNotJson.526 TotallyNotJson.1454;
let TotallyNotJson.1456 : U8 = 108i64;
let TotallyNotJson.1463 : Int1 = lowlevel Eq TotallyNotJson.1456 TotallyNotJson.1455;
if TotallyNotJson.1463 then
let TotallyNotJson.1451 : U64 = 2i64;
let TotallyNotJson.1452 : U8 = lowlevel ListGetUnsafe TotallyNotJson.526 TotallyNotJson.1451;
let TotallyNotJson.1453 : U8 = 108i64;
let TotallyNotJson.1462 : Int1 = lowlevel Eq TotallyNotJson.1453 TotallyNotJson.1452;
if TotallyNotJson.1462 then
let TotallyNotJson.1448 : U64 = 1i64;
let TotallyNotJson.1449 : U8 = lowlevel ListGetUnsafe TotallyNotJson.526 TotallyNotJson.1448;
let TotallyNotJson.1450 : U8 = 117i64;
let TotallyNotJson.1461 : Int1 = lowlevel Eq TotallyNotJson.1450 TotallyNotJson.1449;
if TotallyNotJson.1461 then
let TotallyNotJson.1445 : U64 = 0i64;
let TotallyNotJson.1446 : U8 = lowlevel ListGetUnsafe TotallyNotJson.526 TotallyNotJson.1445;
let TotallyNotJson.1447 : U8 = 110i64;
let TotallyNotJson.1460 : Int1 = lowlevel Eq TotallyNotJson.1447 TotallyNotJson.1446;
if TotallyNotJson.1460 then
let TotallyNotJson.1180 : U64 = 4i64;
let TotallyNotJson.1177 : List U8 = CallByName List.29 TotallyNotJson.526 TotallyNotJson.1180;
let TotallyNotJson.1177 : List U8 = CallByName List.38 TotallyNotJson.526 TotallyNotJson.1180;
let TotallyNotJson.1179 : Str = "null";
let TotallyNotJson.1178 : [C {}, C Str] = TagId(1) TotallyNotJson.1179;
let TotallyNotJson.1176 : {List U8, [C {}, C Str]} = Struct {TotallyNotJson.1177, TotallyNotJson.1178};
ret TotallyNotJson.1176;
else
jump TotallyNotJson.1458;
jump TotallyNotJson.1459;
else
jump TotallyNotJson.1458;
jump TotallyNotJson.1459;
else
jump TotallyNotJson.1458;
jump TotallyNotJson.1459;
else
jump TotallyNotJson.1458;
jump TotallyNotJson.1459;
else
jump TotallyNotJson.1458;
jump TotallyNotJson.1459;
procedure TotallyNotJson.534 (TotallyNotJson.535):
let TotallyNotJson.1317 : List U8 = Array [];
let TotallyNotJson.1197 : {List U8, List U8} = Struct {TotallyNotJson.535, TotallyNotJson.1317};
let TotallyNotJson.1318 : List U8 = Array [];
let TotallyNotJson.1197 : {List U8, List U8} = Struct {TotallyNotJson.535, TotallyNotJson.1318};
let TotallyNotJson.1196 : {List U8, List U8} = CallByName TotallyNotJson.70 TotallyNotJson.1197;
ret TotallyNotJson.1196;
procedure TotallyNotJson.536 (TotallyNotJson.1192):
let TotallyNotJson.1193 : List U8 = StructAtIndex 1 TotallyNotJson.1192;
let #Derived_gen.7 : List U8 = StructAtIndex 0 TotallyNotJson.1192;
dec #Derived_gen.7;
let #Derived_gen.6 : List U8 = StructAtIndex 0 TotallyNotJson.1192;
dec #Derived_gen.6;
ret TotallyNotJson.1193;
procedure TotallyNotJson.60 ():
@ -375,233 +366,233 @@ procedure TotallyNotJson.60 ():
ret TotallyNotJson.1173;
procedure TotallyNotJson.61 (TotallyNotJson.541):
let TotallyNotJson.1339 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(4) ;
let TotallyNotJson.1340 : {} = Struct {};
let TotallyNotJson.1340 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(4) ;
let TotallyNotJson.1341 : {} = Struct {};
inc TotallyNotJson.541;
let TotallyNotJson.1328 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = CallByName List.26 TotallyNotJson.541 TotallyNotJson.1339 TotallyNotJson.1340;
let TotallyNotJson.1336 : U8 = 2i64;
let TotallyNotJson.1337 : U8 = GetTagId TotallyNotJson.1328;
let TotallyNotJson.1338 : Int1 = lowlevel Eq TotallyNotJson.1336 TotallyNotJson.1337;
if TotallyNotJson.1338 then
let TotallyNotJson.1329 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = CallByName List.26 TotallyNotJson.541 TotallyNotJson.1340 TotallyNotJson.1341;
let TotallyNotJson.1337 : U8 = 2i64;
let TotallyNotJson.1338 : U8 = GetTagId TotallyNotJson.1329;
let TotallyNotJson.1339 : Int1 = lowlevel Eq TotallyNotJson.1337 TotallyNotJson.1338;
if TotallyNotJson.1339 then
inc TotallyNotJson.541;
let TotallyNotJson.543 : U64 = UnionAtIndex (Id 2) (Index 0) TotallyNotJson.1328;
let TotallyNotJson.1330 : List U8 = CallByName List.29 TotallyNotJson.541 TotallyNotJson.543;
let TotallyNotJson.1333 : U64 = 0i64;
let TotallyNotJson.1332 : {U64, U64} = Struct {TotallyNotJson.543, TotallyNotJson.1333};
let TotallyNotJson.1331 : List U8 = CallByName List.49 TotallyNotJson.541 TotallyNotJson.1332;
let TotallyNotJson.1329 : {List U8, List U8} = Struct {TotallyNotJson.1330, TotallyNotJson.1331};
ret TotallyNotJson.1329;
let TotallyNotJson.543 : U64 = UnionAtIndex (Id 2) (Index 0) TotallyNotJson.1329;
let TotallyNotJson.1331 : List U8 = CallByName List.38 TotallyNotJson.541 TotallyNotJson.543;
let TotallyNotJson.1334 : U64 = 0i64;
let TotallyNotJson.1333 : {U64, U64} = Struct {TotallyNotJson.543, TotallyNotJson.1334};
let TotallyNotJson.1332 : List U8 = CallByName List.49 TotallyNotJson.541 TotallyNotJson.1333;
let TotallyNotJson.1330 : {List U8, List U8} = Struct {TotallyNotJson.1331, TotallyNotJson.1332};
ret TotallyNotJson.1330;
else
let TotallyNotJson.1335 : List U8 = Array [];
let TotallyNotJson.1334 : {List U8, List U8} = Struct {TotallyNotJson.541, TotallyNotJson.1335};
ret TotallyNotJson.1334;
let TotallyNotJson.1336 : List U8 = Array [];
let TotallyNotJson.1335 : {List U8, List U8} = Struct {TotallyNotJson.541, TotallyNotJson.1336};
ret TotallyNotJson.1335;
procedure TotallyNotJson.62 (TotallyNotJson.544, TotallyNotJson.545):
let TotallyNotJson.1341 : {[C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], U8} = Struct {TotallyNotJson.544, TotallyNotJson.545};
joinpoint TotallyNotJson.1384:
let TotallyNotJson.1382 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(3) ;
let TotallyNotJson.1381 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) TotallyNotJson.1382;
ret TotallyNotJson.1381;
let TotallyNotJson.1342 : {[C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], U8} = Struct {TotallyNotJson.544, TotallyNotJson.545};
joinpoint TotallyNotJson.1385:
let TotallyNotJson.1383 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(3) ;
let TotallyNotJson.1382 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) TotallyNotJson.1383;
ret TotallyNotJson.1382;
in
let TotallyNotJson.1385 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1341;
let TotallyNotJson.1443 : U8 = GetTagId TotallyNotJson.1385;
switch TotallyNotJson.1443:
let TotallyNotJson.1386 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1342;
let TotallyNotJson.1444 : U8 = GetTagId TotallyNotJson.1386;
switch TotallyNotJson.1444:
case 4:
let TotallyNotJson.546 : U8 = StructAtIndex 1 TotallyNotJson.1341;
joinpoint TotallyNotJson.1387 TotallyNotJson.1386:
if TotallyNotJson.1386 then
let TotallyNotJson.1344 : U64 = 1i64;
let TotallyNotJson.1343 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) TotallyNotJson.1344;
let TotallyNotJson.1342 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1343;
ret TotallyNotJson.1342;
let TotallyNotJson.546 : U8 = StructAtIndex 1 TotallyNotJson.1342;
joinpoint TotallyNotJson.1388 TotallyNotJson.1387:
if TotallyNotJson.1387 then
let TotallyNotJson.1345 : U64 = 1i64;
let TotallyNotJson.1344 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) TotallyNotJson.1345;
let TotallyNotJson.1343 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1344;
ret TotallyNotJson.1343;
else
jump TotallyNotJson.1384;
jump TotallyNotJson.1385;
in
let TotallyNotJson.1389 : U8 = 34i64;
let TotallyNotJson.1388 : Int1 = CallByName Bool.11 TotallyNotJson.546 TotallyNotJson.1389;
jump TotallyNotJson.1387 TotallyNotJson.1388;
let TotallyNotJson.1390 : U8 = 34i64;
let TotallyNotJson.1389 : Int1 = CallByName Bool.11 TotallyNotJson.546 TotallyNotJson.1390;
jump TotallyNotJson.1388 TotallyNotJson.1389;
case 0:
let TotallyNotJson.1400 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1341;
let TotallyNotJson.549 : U64 = UnionAtIndex (Id 0) (Index 0) TotallyNotJson.1400;
let TotallyNotJson.550 : U8 = StructAtIndex 1 TotallyNotJson.1341;
joinpoint TotallyNotJson.1397 TotallyNotJson.1391:
if TotallyNotJson.1391 then
let TotallyNotJson.1348 : U64 = 1i64;
let TotallyNotJson.1347 : U64 = CallByName Num.19 TotallyNotJson.549 TotallyNotJson.1348;
let TotallyNotJson.1346 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(2) TotallyNotJson.1347;
let TotallyNotJson.1345 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) TotallyNotJson.1346;
ret TotallyNotJson.1345;
let TotallyNotJson.1401 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1342;
let TotallyNotJson.549 : U64 = UnionAtIndex (Id 0) (Index 0) TotallyNotJson.1401;
let TotallyNotJson.550 : U8 = StructAtIndex 1 TotallyNotJson.1342;
joinpoint TotallyNotJson.1398 TotallyNotJson.1392:
if TotallyNotJson.1392 then
let TotallyNotJson.1349 : U64 = 1i64;
let TotallyNotJson.1348 : U64 = CallByName Num.19 TotallyNotJson.549 TotallyNotJson.1349;
let TotallyNotJson.1347 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(2) TotallyNotJson.1348;
let TotallyNotJson.1346 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) TotallyNotJson.1347;
ret TotallyNotJson.1346;
else
let TotallyNotJson.1396 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1341;
let TotallyNotJson.553 : U64 = UnionAtIndex (Id 0) (Index 0) TotallyNotJson.1396;
let TotallyNotJson.554 : U8 = StructAtIndex 1 TotallyNotJson.1341;
joinpoint TotallyNotJson.1393 TotallyNotJson.1392:
if TotallyNotJson.1392 then
let TotallyNotJson.1352 : U64 = 1i64;
let TotallyNotJson.1351 : U64 = CallByName Num.19 TotallyNotJson.553 TotallyNotJson.1352;
let TotallyNotJson.1350 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(1) TotallyNotJson.1351;
let TotallyNotJson.1349 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1350;
ret TotallyNotJson.1349;
let TotallyNotJson.1397 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1342;
let TotallyNotJson.553 : U64 = UnionAtIndex (Id 0) (Index 0) TotallyNotJson.1397;
let TotallyNotJson.554 : U8 = StructAtIndex 1 TotallyNotJson.1342;
joinpoint TotallyNotJson.1394 TotallyNotJson.1393:
if TotallyNotJson.1393 then
let TotallyNotJson.1353 : U64 = 1i64;
let TotallyNotJson.1352 : U64 = CallByName Num.19 TotallyNotJson.553 TotallyNotJson.1353;
let TotallyNotJson.1351 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(1) TotallyNotJson.1352;
let TotallyNotJson.1350 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1351;
ret TotallyNotJson.1350;
else
let TotallyNotJson.1383 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1341;
let TotallyNotJson.557 : U64 = UnionAtIndex (Id 0) (Index 0) TotallyNotJson.1383;
let TotallyNotJson.1356 : U64 = 1i64;
let TotallyNotJson.1355 : U64 = CallByName Num.19 TotallyNotJson.557 TotallyNotJson.1356;
let TotallyNotJson.1354 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) TotallyNotJson.1355;
let TotallyNotJson.1353 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1354;
ret TotallyNotJson.1353;
let TotallyNotJson.1384 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1342;
let TotallyNotJson.557 : U64 = UnionAtIndex (Id 0) (Index 0) TotallyNotJson.1384;
let TotallyNotJson.1357 : U64 = 1i64;
let TotallyNotJson.1356 : U64 = CallByName Num.19 TotallyNotJson.557 TotallyNotJson.1357;
let TotallyNotJson.1355 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) TotallyNotJson.1356;
let TotallyNotJson.1354 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1355;
ret TotallyNotJson.1354;
in
let TotallyNotJson.1395 : U8 = 92i64;
let TotallyNotJson.1394 : Int1 = CallByName Bool.11 TotallyNotJson.554 TotallyNotJson.1395;
jump TotallyNotJson.1393 TotallyNotJson.1394;
let TotallyNotJson.1396 : U8 = 92i64;
let TotallyNotJson.1395 : Int1 = CallByName Bool.11 TotallyNotJson.554 TotallyNotJson.1396;
jump TotallyNotJson.1394 TotallyNotJson.1395;
in
let TotallyNotJson.1399 : U8 = 34i64;
let TotallyNotJson.1398 : Int1 = CallByName Bool.11 TotallyNotJson.550 TotallyNotJson.1399;
jump TotallyNotJson.1397 TotallyNotJson.1398;
let TotallyNotJson.1400 : U8 = 34i64;
let TotallyNotJson.1399 : Int1 = CallByName Bool.11 TotallyNotJson.550 TotallyNotJson.1400;
jump TotallyNotJson.1398 TotallyNotJson.1399;
case 1:
let TotallyNotJson.1409 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1341;
let TotallyNotJson.560 : U64 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1409;
let TotallyNotJson.561 : U8 = StructAtIndex 1 TotallyNotJson.1341;
joinpoint TotallyNotJson.1407 TotallyNotJson.1401:
if TotallyNotJson.1401 then
let TotallyNotJson.1360 : U64 = 1i64;
let TotallyNotJson.1359 : U64 = CallByName Num.19 TotallyNotJson.560 TotallyNotJson.1360;
let TotallyNotJson.1358 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) TotallyNotJson.1359;
let TotallyNotJson.1357 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1358;
ret TotallyNotJson.1357;
let TotallyNotJson.1410 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1342;
let TotallyNotJson.560 : U64 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1410;
let TotallyNotJson.561 : U8 = StructAtIndex 1 TotallyNotJson.1342;
joinpoint TotallyNotJson.1408 TotallyNotJson.1402:
if TotallyNotJson.1402 then
let TotallyNotJson.1361 : U64 = 1i64;
let TotallyNotJson.1360 : U64 = CallByName Num.19 TotallyNotJson.560 TotallyNotJson.1361;
let TotallyNotJson.1359 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) TotallyNotJson.1360;
let TotallyNotJson.1358 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1359;
ret TotallyNotJson.1358;
else
let TotallyNotJson.1406 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1341;
let TotallyNotJson.564 : U64 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1406;
let TotallyNotJson.565 : U8 = StructAtIndex 1 TotallyNotJson.1341;
joinpoint TotallyNotJson.1403 TotallyNotJson.1402:
if TotallyNotJson.1402 then
let TotallyNotJson.1364 : U64 = 1i64;
let TotallyNotJson.1363 : U64 = CallByName Num.19 TotallyNotJson.564 TotallyNotJson.1364;
let TotallyNotJson.1362 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(5) TotallyNotJson.1363;
let TotallyNotJson.1361 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1362;
ret TotallyNotJson.1361;
let TotallyNotJson.1407 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1342;
let TotallyNotJson.564 : U64 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1407;
let TotallyNotJson.565 : U8 = StructAtIndex 1 TotallyNotJson.1342;
joinpoint TotallyNotJson.1404 TotallyNotJson.1403:
if TotallyNotJson.1403 then
let TotallyNotJson.1365 : U64 = 1i64;
let TotallyNotJson.1364 : U64 = CallByName Num.19 TotallyNotJson.564 TotallyNotJson.1365;
let TotallyNotJson.1363 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(5) TotallyNotJson.1364;
let TotallyNotJson.1362 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1363;
ret TotallyNotJson.1362;
else
jump TotallyNotJson.1384;
jump TotallyNotJson.1385;
in
let TotallyNotJson.1405 : U8 = 117i64;
let TotallyNotJson.1404 : Int1 = CallByName Bool.11 TotallyNotJson.565 TotallyNotJson.1405;
jump TotallyNotJson.1403 TotallyNotJson.1404;
let TotallyNotJson.1406 : U8 = 117i64;
let TotallyNotJson.1405 : Int1 = CallByName Bool.11 TotallyNotJson.565 TotallyNotJson.1406;
jump TotallyNotJson.1404 TotallyNotJson.1405;
in
let TotallyNotJson.1408 : Int1 = CallByName TotallyNotJson.63 TotallyNotJson.561;
jump TotallyNotJson.1407 TotallyNotJson.1408;
let TotallyNotJson.1409 : Int1 = CallByName TotallyNotJson.63 TotallyNotJson.561;
jump TotallyNotJson.1408 TotallyNotJson.1409;
case 5:
let TotallyNotJson.1430 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1341;
let TotallyNotJson.568 : U64 = UnionAtIndex (Id 5) (Index 0) TotallyNotJson.1430;
let TotallyNotJson.569 : U8 = StructAtIndex 1 TotallyNotJson.1341;
joinpoint TotallyNotJson.1411 TotallyNotJson.1410:
if TotallyNotJson.1410 then
let TotallyNotJson.1368 : U64 = 1i64;
let TotallyNotJson.1367 : U64 = CallByName Num.19 TotallyNotJson.568 TotallyNotJson.1368;
let TotallyNotJson.1366 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(6) TotallyNotJson.1367;
let TotallyNotJson.1365 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1366;
ret TotallyNotJson.1365;
let TotallyNotJson.1431 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1342;
let TotallyNotJson.568 : U64 = UnionAtIndex (Id 5) (Index 0) TotallyNotJson.1431;
let TotallyNotJson.569 : U8 = StructAtIndex 1 TotallyNotJson.1342;
joinpoint TotallyNotJson.1412 TotallyNotJson.1411:
if TotallyNotJson.1411 then
let TotallyNotJson.1369 : U64 = 1i64;
let TotallyNotJson.1368 : U64 = CallByName Num.19 TotallyNotJson.568 TotallyNotJson.1369;
let TotallyNotJson.1367 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(6) TotallyNotJson.1368;
let TotallyNotJson.1366 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1367;
ret TotallyNotJson.1366;
else
jump TotallyNotJson.1384;
jump TotallyNotJson.1385;
in
let TotallyNotJson.1412 : Int1 = CallByName TotallyNotJson.65 TotallyNotJson.569;
jump TotallyNotJson.1411 TotallyNotJson.1412;
let TotallyNotJson.1413 : Int1 = CallByName TotallyNotJson.65 TotallyNotJson.569;
jump TotallyNotJson.1412 TotallyNotJson.1413;
case 6:
let TotallyNotJson.1434 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1341;
let TotallyNotJson.572 : U64 = UnionAtIndex (Id 6) (Index 0) TotallyNotJson.1434;
let TotallyNotJson.573 : U8 = StructAtIndex 1 TotallyNotJson.1341;
joinpoint TotallyNotJson.1432 TotallyNotJson.1431:
if TotallyNotJson.1431 then
let TotallyNotJson.1372 : U64 = 1i64;
let TotallyNotJson.1371 : U64 = CallByName Num.19 TotallyNotJson.572 TotallyNotJson.1372;
let TotallyNotJson.1370 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(7) TotallyNotJson.1371;
let TotallyNotJson.1369 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1370;
ret TotallyNotJson.1369;
let TotallyNotJson.1435 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1342;
let TotallyNotJson.572 : U64 = UnionAtIndex (Id 6) (Index 0) TotallyNotJson.1435;
let TotallyNotJson.573 : U8 = StructAtIndex 1 TotallyNotJson.1342;
joinpoint TotallyNotJson.1433 TotallyNotJson.1432:
if TotallyNotJson.1432 then
let TotallyNotJson.1373 : U64 = 1i64;
let TotallyNotJson.1372 : U64 = CallByName Num.19 TotallyNotJson.572 TotallyNotJson.1373;
let TotallyNotJson.1371 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(7) TotallyNotJson.1372;
let TotallyNotJson.1370 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1371;
ret TotallyNotJson.1370;
else
jump TotallyNotJson.1384;
jump TotallyNotJson.1385;
in
let TotallyNotJson.1433 : Int1 = CallByName TotallyNotJson.65 TotallyNotJson.573;
jump TotallyNotJson.1432 TotallyNotJson.1433;
let TotallyNotJson.1434 : Int1 = CallByName TotallyNotJson.65 TotallyNotJson.573;
jump TotallyNotJson.1433 TotallyNotJson.1434;
case 7:
let TotallyNotJson.1438 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1341;
let TotallyNotJson.576 : U64 = UnionAtIndex (Id 7) (Index 0) TotallyNotJson.1438;
let TotallyNotJson.577 : U8 = StructAtIndex 1 TotallyNotJson.1341;
joinpoint TotallyNotJson.1436 TotallyNotJson.1435:
if TotallyNotJson.1435 then
let TotallyNotJson.1376 : U64 = 1i64;
let TotallyNotJson.1375 : U64 = CallByName Num.19 TotallyNotJson.576 TotallyNotJson.1376;
let TotallyNotJson.1374 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(8) TotallyNotJson.1375;
let TotallyNotJson.1373 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1374;
ret TotallyNotJson.1373;
let TotallyNotJson.1439 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1342;
let TotallyNotJson.576 : U64 = UnionAtIndex (Id 7) (Index 0) TotallyNotJson.1439;
let TotallyNotJson.577 : U8 = StructAtIndex 1 TotallyNotJson.1342;
joinpoint TotallyNotJson.1437 TotallyNotJson.1436:
if TotallyNotJson.1436 then
let TotallyNotJson.1377 : U64 = 1i64;
let TotallyNotJson.1376 : U64 = CallByName Num.19 TotallyNotJson.576 TotallyNotJson.1377;
let TotallyNotJson.1375 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(8) TotallyNotJson.1376;
let TotallyNotJson.1374 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1375;
ret TotallyNotJson.1374;
else
jump TotallyNotJson.1384;
jump TotallyNotJson.1385;
in
let TotallyNotJson.1437 : Int1 = CallByName TotallyNotJson.65 TotallyNotJson.577;
jump TotallyNotJson.1436 TotallyNotJson.1437;
let TotallyNotJson.1438 : Int1 = CallByName TotallyNotJson.65 TotallyNotJson.577;
jump TotallyNotJson.1437 TotallyNotJson.1438;
case 8:
let TotallyNotJson.1442 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1341;
let TotallyNotJson.580 : U64 = UnionAtIndex (Id 8) (Index 0) TotallyNotJson.1442;
let TotallyNotJson.581 : U8 = StructAtIndex 1 TotallyNotJson.1341;
joinpoint TotallyNotJson.1440 TotallyNotJson.1439:
if TotallyNotJson.1439 then
let TotallyNotJson.1380 : U64 = 1i64;
let TotallyNotJson.1379 : U64 = CallByName Num.19 TotallyNotJson.580 TotallyNotJson.1380;
let TotallyNotJson.1378 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) TotallyNotJson.1379;
let TotallyNotJson.1377 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1378;
ret TotallyNotJson.1377;
let TotallyNotJson.1443 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1342;
let TotallyNotJson.580 : U64 = UnionAtIndex (Id 8) (Index 0) TotallyNotJson.1443;
let TotallyNotJson.581 : U8 = StructAtIndex 1 TotallyNotJson.1342;
joinpoint TotallyNotJson.1441 TotallyNotJson.1440:
if TotallyNotJson.1440 then
let TotallyNotJson.1381 : U64 = 1i64;
let TotallyNotJson.1380 : U64 = CallByName Num.19 TotallyNotJson.580 TotallyNotJson.1381;
let TotallyNotJson.1379 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) TotallyNotJson.1380;
let TotallyNotJson.1378 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1379;
ret TotallyNotJson.1378;
else
jump TotallyNotJson.1384;
jump TotallyNotJson.1385;
in
let TotallyNotJson.1441 : Int1 = CallByName TotallyNotJson.65 TotallyNotJson.581;
jump TotallyNotJson.1440 TotallyNotJson.1441;
let TotallyNotJson.1442 : Int1 = CallByName TotallyNotJson.65 TotallyNotJson.581;
jump TotallyNotJson.1441 TotallyNotJson.1442;
default:
jump TotallyNotJson.1384;
jump TotallyNotJson.1385;
procedure TotallyNotJson.63 (TotallyNotJson.586):
switch TotallyNotJson.586:
case 34:
let TotallyNotJson.1285 : Int1 = CallByName Bool.2;
ret TotallyNotJson.1285;
case 92:
let TotallyNotJson.1286 : Int1 = CallByName Bool.2;
ret TotallyNotJson.1286;
case 47:
case 92:
let TotallyNotJson.1287 : Int1 = CallByName Bool.2;
ret TotallyNotJson.1287;
case 98:
case 47:
let TotallyNotJson.1288 : Int1 = CallByName Bool.2;
ret TotallyNotJson.1288;
case 102:
case 98:
let TotallyNotJson.1289 : Int1 = CallByName Bool.2;
ret TotallyNotJson.1289;
case 110:
case 102:
let TotallyNotJson.1290 : Int1 = CallByName Bool.2;
ret TotallyNotJson.1290;
case 114:
case 110:
let TotallyNotJson.1291 : Int1 = CallByName Bool.2;
ret TotallyNotJson.1291;
case 116:
case 114:
let TotallyNotJson.1292 : Int1 = CallByName Bool.2;
ret TotallyNotJson.1292;
default:
let TotallyNotJson.1293 : Int1 = CallByName Bool.1;
case 116:
let TotallyNotJson.1293 : Int1 = CallByName Bool.2;
ret TotallyNotJson.1293;
default:
let TotallyNotJson.1294 : Int1 = CallByName Bool.1;
ret TotallyNotJson.1294;
procedure TotallyNotJson.64 (TotallyNotJson.587):
switch TotallyNotJson.587:
@ -642,24 +633,24 @@ procedure TotallyNotJson.64 (TotallyNotJson.587):
procedure TotallyNotJson.65 (TotallyNotJson.588):
let TotallyNotJson.1429 : U8 = 48i64;
let TotallyNotJson.1426 : Int1 = CallByName Num.25 TotallyNotJson.588 TotallyNotJson.1429;
let TotallyNotJson.1428 : U8 = 57i64;
let TotallyNotJson.1427 : Int1 = CallByName Num.23 TotallyNotJson.588 TotallyNotJson.1428;
let TotallyNotJson.1414 : Int1 = CallByName Bool.3 TotallyNotJson.1426 TotallyNotJson.1427;
let TotallyNotJson.1425 : U8 = 97i64;
let TotallyNotJson.1422 : Int1 = CallByName Num.25 TotallyNotJson.588 TotallyNotJson.1425;
let TotallyNotJson.1424 : U8 = 102i64;
let TotallyNotJson.1423 : Int1 = CallByName Num.23 TotallyNotJson.588 TotallyNotJson.1424;
let TotallyNotJson.1416 : Int1 = CallByName Bool.3 TotallyNotJson.1422 TotallyNotJson.1423;
let TotallyNotJson.1421 : U8 = 65i64;
let TotallyNotJson.1418 : Int1 = CallByName Num.25 TotallyNotJson.588 TotallyNotJson.1421;
let TotallyNotJson.1420 : U8 = 70i64;
let TotallyNotJson.1419 : Int1 = CallByName Num.23 TotallyNotJson.588 TotallyNotJson.1420;
let TotallyNotJson.1417 : Int1 = CallByName Bool.3 TotallyNotJson.1418 TotallyNotJson.1419;
let TotallyNotJson.1415 : Int1 = CallByName Bool.4 TotallyNotJson.1416 TotallyNotJson.1417;
let TotallyNotJson.1413 : Int1 = CallByName Bool.4 TotallyNotJson.1414 TotallyNotJson.1415;
ret TotallyNotJson.1413;
let TotallyNotJson.1430 : U8 = 48i64;
let TotallyNotJson.1427 : Int1 = CallByName Num.25 TotallyNotJson.588 TotallyNotJson.1430;
let TotallyNotJson.1429 : U8 = 57i64;
let TotallyNotJson.1428 : Int1 = CallByName Num.23 TotallyNotJson.588 TotallyNotJson.1429;
let TotallyNotJson.1415 : Int1 = CallByName Bool.3 TotallyNotJson.1427 TotallyNotJson.1428;
let TotallyNotJson.1426 : U8 = 97i64;
let TotallyNotJson.1423 : Int1 = CallByName Num.25 TotallyNotJson.588 TotallyNotJson.1426;
let TotallyNotJson.1425 : U8 = 102i64;
let TotallyNotJson.1424 : Int1 = CallByName Num.23 TotallyNotJson.588 TotallyNotJson.1425;
let TotallyNotJson.1417 : Int1 = CallByName Bool.3 TotallyNotJson.1423 TotallyNotJson.1424;
let TotallyNotJson.1422 : U8 = 65i64;
let TotallyNotJson.1419 : Int1 = CallByName Num.25 TotallyNotJson.588 TotallyNotJson.1422;
let TotallyNotJson.1421 : U8 = 70i64;
let TotallyNotJson.1420 : Int1 = CallByName Num.23 TotallyNotJson.588 TotallyNotJson.1421;
let TotallyNotJson.1418 : Int1 = CallByName Bool.3 TotallyNotJson.1419 TotallyNotJson.1420;
let TotallyNotJson.1416 : Int1 = CallByName Bool.4 TotallyNotJson.1417 TotallyNotJson.1418;
let TotallyNotJson.1414 : Int1 = CallByName Bool.4 TotallyNotJson.1415 TotallyNotJson.1416;
ret TotallyNotJson.1414;
procedure TotallyNotJson.66 (TotallyNotJson.589):
let TotallyNotJson.1242 : U8 = 48i64;
@ -733,44 +724,45 @@ procedure TotallyNotJson.69 ():
let TotallyNotJson.1247 : List U8 = CallByName TotallyNotJson.68 TotallyNotJson.1248 TotallyNotJson.1249 TotallyNotJson.1250 TotallyNotJson.1251;
ret TotallyNotJson.1247;
procedure TotallyNotJson.70 (#Derived_gen.5):
procedure TotallyNotJson.70 (#Derived_gen.0):
joinpoint TotallyNotJson.1198 TotallyNotJson.1166:
let TotallyNotJson.600 : List U8 = StructAtIndex 0 TotallyNotJson.1166;
inc 4 TotallyNotJson.600;
let TotallyNotJson.601 : List U8 = StructAtIndex 1 TotallyNotJson.1166;
let TotallyNotJson.1316 : U64 = 0i64;
let TotallyNotJson.602 : [C {}, C U8] = CallByName List.2 TotallyNotJson.600 TotallyNotJson.1316;
let TotallyNotJson.1315 : U64 = 1i64;
let TotallyNotJson.603 : [C {}, C U8] = CallByName List.2 TotallyNotJson.600 TotallyNotJson.1315;
let TotallyNotJson.1314 : U64 = 2i64;
let TotallyNotJson.604 : List U8 = CallByName List.29 TotallyNotJson.600 TotallyNotJson.1314;
let TotallyNotJson.1313 : U64 = 6i64;
let TotallyNotJson.605 : List U8 = CallByName List.29 TotallyNotJson.600 TotallyNotJson.1313;
let TotallyNotJson.1317 : U64 = 0i64;
let TotallyNotJson.602 : [C {}, C U8] = CallByName List.2 TotallyNotJson.600 TotallyNotJson.1317;
let TotallyNotJson.1316 : U64 = 1i64;
let TotallyNotJson.603 : [C {}, C U8] = CallByName List.2 TotallyNotJson.600 TotallyNotJson.1316;
let TotallyNotJson.1315 : U64 = 2i64;
let TotallyNotJson.604 : List U8 = CallByName List.38 TotallyNotJson.600 TotallyNotJson.1315;
let TotallyNotJson.1314 : U64 = 6i64;
let TotallyNotJson.605 : List U8 = CallByName List.38 TotallyNotJson.600 TotallyNotJson.1314;
let TotallyNotJson.1199 : {[C {}, C U8], [C {}, C U8]} = Struct {TotallyNotJson.602, TotallyNotJson.603};
joinpoint TotallyNotJson.1278:
let TotallyNotJson.1277 : [C {}, C U8] = StructAtIndex 0 TotallyNotJson.1199;
let TotallyNotJson.616 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1277;
let TotallyNotJson.1274 : List U8 = CallByName List.38 TotallyNotJson.600;
joinpoint TotallyNotJson.1279:
let TotallyNotJson.1278 : [C {}, C U8] = StructAtIndex 0 TotallyNotJson.1199;
let TotallyNotJson.616 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1278;
let TotallyNotJson.1276 : U64 = 1i64;
let TotallyNotJson.1274 : List U8 = CallByName List.38 TotallyNotJson.600 TotallyNotJson.1276;
let TotallyNotJson.1275 : List U8 = CallByName List.4 TotallyNotJson.601 TotallyNotJson.616;
let TotallyNotJson.1273 : {List U8, List U8} = Struct {TotallyNotJson.1274, TotallyNotJson.1275};
jump TotallyNotJson.1198 TotallyNotJson.1273;
in
let TotallyNotJson.1309 : [C {}, C U8] = StructAtIndex 0 TotallyNotJson.1199;
let TotallyNotJson.1310 : U8 = 1i64;
let TotallyNotJson.1311 : U8 = GetTagId TotallyNotJson.1309;
let TotallyNotJson.1312 : Int1 = lowlevel Eq TotallyNotJson.1310 TotallyNotJson.1311;
if TotallyNotJson.1312 then
let TotallyNotJson.1305 : [C {}, C U8] = StructAtIndex 1 TotallyNotJson.1199;
let TotallyNotJson.1306 : U8 = 1i64;
let TotallyNotJson.1307 : U8 = GetTagId TotallyNotJson.1305;
let TotallyNotJson.1308 : Int1 = lowlevel Eq TotallyNotJson.1306 TotallyNotJson.1307;
if TotallyNotJson.1308 then
let TotallyNotJson.1304 : [C {}, C U8] = StructAtIndex 0 TotallyNotJson.1199;
let TotallyNotJson.607 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1304;
let TotallyNotJson.1303 : [C {}, C U8] = StructAtIndex 1 TotallyNotJson.1199;
let TotallyNotJson.608 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1303;
joinpoint TotallyNotJson.1297 TotallyNotJson.1279:
if TotallyNotJson.1279 then
let TotallyNotJson.1310 : [C {}, C U8] = StructAtIndex 0 TotallyNotJson.1199;
let TotallyNotJson.1311 : U8 = 1i64;
let TotallyNotJson.1312 : U8 = GetTagId TotallyNotJson.1310;
let TotallyNotJson.1313 : Int1 = lowlevel Eq TotallyNotJson.1311 TotallyNotJson.1312;
if TotallyNotJson.1313 then
let TotallyNotJson.1306 : [C {}, C U8] = StructAtIndex 1 TotallyNotJson.1199;
let TotallyNotJson.1307 : U8 = 1i64;
let TotallyNotJson.1308 : U8 = GetTagId TotallyNotJson.1306;
let TotallyNotJson.1309 : Int1 = lowlevel Eq TotallyNotJson.1307 TotallyNotJson.1308;
if TotallyNotJson.1309 then
let TotallyNotJson.1305 : [C {}, C U8] = StructAtIndex 0 TotallyNotJson.1199;
let TotallyNotJson.607 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1305;
let TotallyNotJson.1304 : [C {}, C U8] = StructAtIndex 1 TotallyNotJson.1199;
let TotallyNotJson.608 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1304;
joinpoint TotallyNotJson.1298 TotallyNotJson.1280:
if TotallyNotJson.1280 then
dec TotallyNotJson.600;
let TotallyNotJson.1256 : U64 = lowlevel ListLen TotallyNotJson.604;
let TotallyNotJson.1257 : U64 = 4i64;
@ -797,12 +789,12 @@ procedure TotallyNotJson.70 (#Derived_gen.5):
jump TotallyNotJson.1198 TotallyNotJson.1244;
else
dec TotallyNotJson.605;
let TotallyNotJson.1296 : [C {}, C U8] = StructAtIndex 0 TotallyNotJson.1199;
let TotallyNotJson.614 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1296;
let TotallyNotJson.1295 : [C {}, C U8] = StructAtIndex 1 TotallyNotJson.1199;
let TotallyNotJson.615 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1295;
joinpoint TotallyNotJson.1281 TotallyNotJson.1280:
if TotallyNotJson.1280 then
let TotallyNotJson.1297 : [C {}, C U8] = StructAtIndex 0 TotallyNotJson.1199;
let TotallyNotJson.614 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1297;
let TotallyNotJson.1296 : [C {}, C U8] = StructAtIndex 1 TotallyNotJson.1199;
let TotallyNotJson.615 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1296;
joinpoint TotallyNotJson.1282 TotallyNotJson.1281:
if TotallyNotJson.1281 then
dec TotallyNotJson.600;
let TotallyNotJson.1262 : U8 = CallByName TotallyNotJson.64 TotallyNotJson.615;
let TotallyNotJson.1261 : List U8 = CallByName List.4 TotallyNotJson.601 TotallyNotJson.1262;
@ -810,31 +802,31 @@ procedure TotallyNotJson.70 (#Derived_gen.5):
jump TotallyNotJson.1198 TotallyNotJson.1260;
else
dec TotallyNotJson.604;
jump TotallyNotJson.1278;
jump TotallyNotJson.1279;
in
let TotallyNotJson.1294 : U8 = 92i64;
let TotallyNotJson.1283 : Int1 = CallByName Bool.11 TotallyNotJson.614 TotallyNotJson.1294;
let TotallyNotJson.1284 : Int1 = CallByName TotallyNotJson.63 TotallyNotJson.615;
let TotallyNotJson.1282 : Int1 = CallByName Bool.3 TotallyNotJson.1283 TotallyNotJson.1284;
jump TotallyNotJson.1281 TotallyNotJson.1282;
let TotallyNotJson.1295 : U8 = 92i64;
let TotallyNotJson.1284 : Int1 = CallByName Bool.11 TotallyNotJson.614 TotallyNotJson.1295;
let TotallyNotJson.1285 : Int1 = CallByName TotallyNotJson.63 TotallyNotJson.615;
let TotallyNotJson.1283 : Int1 = CallByName Bool.3 TotallyNotJson.1284 TotallyNotJson.1285;
jump TotallyNotJson.1282 TotallyNotJson.1283;
in
let TotallyNotJson.1302 : U8 = 92i64;
let TotallyNotJson.1299 : Int1 = CallByName Bool.11 TotallyNotJson.607 TotallyNotJson.1302;
let TotallyNotJson.1301 : U8 = 117i64;
let TotallyNotJson.1300 : Int1 = CallByName Bool.11 TotallyNotJson.608 TotallyNotJson.1301;
let TotallyNotJson.1298 : Int1 = CallByName Bool.3 TotallyNotJson.1299 TotallyNotJson.1300;
jump TotallyNotJson.1297 TotallyNotJson.1298;
let TotallyNotJson.1303 : U8 = 92i64;
let TotallyNotJson.1300 : Int1 = CallByName Bool.11 TotallyNotJson.607 TotallyNotJson.1303;
let TotallyNotJson.1302 : U8 = 117i64;
let TotallyNotJson.1301 : Int1 = CallByName Bool.11 TotallyNotJson.608 TotallyNotJson.1302;
let TotallyNotJson.1299 : Int1 = CallByName Bool.3 TotallyNotJson.1300 TotallyNotJson.1301;
jump TotallyNotJson.1298 TotallyNotJson.1299;
else
dec TotallyNotJson.605;
dec TotallyNotJson.604;
jump TotallyNotJson.1278;
jump TotallyNotJson.1279;
else
dec TotallyNotJson.605;
dec TotallyNotJson.604;
let TotallyNotJson.1276 : {List U8, List U8} = Struct {TotallyNotJson.600, TotallyNotJson.601};
ret TotallyNotJson.1276;
let TotallyNotJson.1277 : {List U8, List U8} = Struct {TotallyNotJson.600, TotallyNotJson.601};
ret TotallyNotJson.1277;
in
jump TotallyNotJson.1198 #Derived_gen.5;
jump TotallyNotJson.1198 #Derived_gen.0;
procedure TotallyNotJson.8 ():
let TotallyNotJson.1172 : [C , C [], C , C , C , C ] = TagId(2) ;

View file

@ -6,8 +6,8 @@ procedure Bool.2 ():
let Bool.24 : Int1 = true;
ret Bool.24;
procedure List.209 (List.547, List.210, List.208):
let List.577 : Int1 = CallByName Test.1 List.210;
procedure List.208 (List.547, List.209, List.207):
let List.577 : Int1 = CallByName Test.1 List.209;
if List.577 then
let List.579 : {} = Struct {};
let List.578 : [C {}, C {}] = TagId(1) List.579;
@ -23,9 +23,9 @@ procedure List.23 (#Attr.2, #Attr.3, #Attr.4):
decref #Attr.2;
ret List.580;
procedure List.56 (List.207, List.208):
procedure List.56 (List.206, List.207):
let List.556 : {} = Struct {};
let List.548 : [C {}, C {}] = CallByName List.98 List.207 List.556 List.208;
let List.548 : [C {}, C {}] = CallByName List.97 List.206 List.556 List.207;
let List.553 : U8 = 1i64;
let List.554 : U8 = GetTagId List.548;
let List.555 : Int1 = lowlevel Eq List.553 List.554;
@ -54,7 +54,7 @@ procedure List.80 (#Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.
if List.563 then
let List.572 : {[<r>C I64, C List *self], [<r>C I64, C List *self]} = CallByName List.66 List.463 List.466;
inc List.572;
let List.564 : [C {}, C {}] = CallByName List.209 List.464 List.572 List.465;
let List.564 : [C {}, C {}] = CallByName List.208 List.464 List.572 List.465;
let List.569 : U8 = 1i64;
let List.570 : U8 = GetTagId List.564;
let List.571 : Int1 = lowlevel Eq List.569 List.570;
@ -75,7 +75,7 @@ procedure List.80 (#Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.
in
jump List.561 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5;
procedure List.98 (List.460, List.461, List.462):
procedure List.97 (List.460, List.461, List.462):
let List.559 : U64 = 0i64;
let List.560 : U64 = CallByName List.6 List.460;
let List.558 : [C {}, C {}] = CallByName List.80 List.460 List.461 List.462 List.559 List.560;

View file

@ -38,136 +38,127 @@ procedure Decode.26 (Decode.105, Decode.106):
let Decode.122 : {List U8, [C {}, C Str]} = CallByName Decode.25 Decode.105 Decode.123 Decode.106;
ret Decode.122;
procedure List.1 (List.101):
let List.608 : U64 = CallByName List.6 List.101;
dec List.101;
let List.609 : U64 = 0i64;
let List.607 : Int1 = CallByName Bool.11 List.608 List.609;
ret List.607;
procedure List.1 (List.100):
let List.607 : U64 = CallByName List.6 List.100;
dec List.100;
let List.608 : U64 = 0i64;
let List.606 : Int1 = CallByName Bool.11 List.607 List.608;
ret List.606;
procedure List.2 (List.102, List.103):
let List.591 : U64 = CallByName List.6 List.102;
let List.588 : Int1 = CallByName Num.22 List.103 List.591;
if List.588 then
let List.590 : U8 = CallByName List.66 List.102 List.103;
dec List.102;
let List.589 : [C {}, C U8] = TagId(1) List.590;
ret List.589;
procedure List.2 (List.101, List.102):
let List.590 : U64 = CallByName List.6 List.101;
let List.587 : Int1 = CallByName Num.22 List.102 List.590;
if List.587 then
let List.589 : U8 = CallByName List.66 List.101 List.102;
dec List.101;
let List.588 : [C {}, C U8] = TagId(1) List.589;
ret List.588;
else
dec List.102;
let List.587 : {} = Struct {};
let List.586 : [C {}, C U8] = TagId(0) List.587;
ret List.586;
dec List.101;
let List.586 : {} = Struct {};
let List.585 : [C {}, C U8] = TagId(0) List.586;
ret List.585;
procedure List.26 (List.174, List.175, List.176):
let List.610 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName List.98 List.174 List.175 List.176;
let List.613 : U8 = 1i64;
let List.614 : U8 = GetTagId List.610;
let List.615 : Int1 = lowlevel Eq List.613 List.614;
if List.615 then
let List.177 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 1) (Index 0) List.610;
procedure List.26 (List.173, List.174, List.175):
let List.609 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName List.97 List.173 List.174 List.175;
let List.612 : U8 = 1i64;
let List.613 : U8 = GetTagId List.609;
let List.614 : Int1 = lowlevel Eq List.612 List.613;
if List.614 then
let List.176 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 1) (Index 0) List.609;
ret List.176;
else
let List.177 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 0) (Index 0) List.609;
ret List.177;
else
let List.178 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 0) (Index 0) List.610;
ret List.178;
procedure List.29 (List.319, List.320):
let List.565 : U64 = CallByName List.6 List.319;
let List.321 : U64 = CallByName Num.77 List.565 List.320;
let List.564 : List U8 = CallByName List.43 List.319 List.321;
ret List.564;
procedure List.38 (List.316, List.317):
let List.567 : U64 = CallByName List.6 List.316;
let List.318 : U64 = CallByName Num.77 List.567 List.317;
let List.566 : List U8 = CallByName List.43 List.316 List.318;
ret List.566;
procedure List.31 (#Attr.2, #Attr.3):
let List.578 : List U8 = lowlevel ListDropAt #Attr.2 #Attr.3;
ret List.578;
procedure List.4 (List.117, List.118):
let List.577 : U64 = 1i64;
let List.576 : List U8 = CallByName List.70 List.117 List.577;
let List.575 : List U8 = CallByName List.71 List.576 List.118;
ret List.575;
procedure List.38 (List.313):
let List.577 : U64 = 0i64;
let List.576 : List U8 = CallByName List.31 List.313 List.577;
ret List.576;
procedure List.4 (List.118, List.119):
let List.575 : U64 = 1i64;
let List.574 : List U8 = CallByName List.70 List.118 List.575;
let List.573 : List U8 = CallByName List.71 List.574 List.119;
ret List.573;
procedure List.43 (List.317, List.318):
let List.557 : U64 = CallByName List.6 List.317;
let List.556 : U64 = CallByName Num.77 List.557 List.318;
let List.547 : {U64, U64} = Struct {List.318, List.556};
let List.546 : List U8 = CallByName List.49 List.317 List.547;
procedure List.43 (List.314, List.315):
let List.557 : U64 = CallByName List.6 List.314;
let List.556 : U64 = CallByName Num.77 List.557 List.315;
let List.547 : {U64, U64} = Struct {List.315, List.556};
let List.546 : List U8 = CallByName List.49 List.314 List.547;
ret List.546;
procedure List.49 (List.392, List.393):
let List.604 : U64 = StructAtIndex 0 List.393;
let List.605 : U64 = 0i64;
let List.602 : Int1 = CallByName Bool.11 List.604 List.605;
if List.602 then
let List.603 : U64 = StructAtIndex 0 List.393;
let List.604 : U64 = 0i64;
let List.601 : Int1 = CallByName Bool.11 List.603 List.604;
if List.601 then
dec List.392;
let List.603 : List U8 = Array [];
ret List.603;
let List.602 : List U8 = Array [];
ret List.602;
else
let List.600 : U64 = StructAtIndex 1 List.393;
let List.601 : U64 = StructAtIndex 0 List.393;
let List.599 : List U8 = CallByName List.72 List.392 List.600 List.601;
ret List.599;
let List.599 : U64 = StructAtIndex 1 List.393;
let List.600 : U64 = StructAtIndex 0 List.393;
let List.598 : List U8 = CallByName List.72 List.392 List.599 List.600;
ret List.598;
procedure List.6 (#Attr.2):
let List.631 : U64 = lowlevel ListLen #Attr.2;
ret List.631;
let List.630 : U64 = lowlevel ListLen #Attr.2;
ret List.630;
procedure List.66 (#Attr.2, #Attr.3):
let List.584 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.584;
let List.583 : U8 = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.583;
procedure List.70 (#Attr.2, #Attr.3):
let List.572 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.572;
let List.574 : List U8 = lowlevel ListReserve #Attr.2 #Attr.3;
ret List.574;
procedure List.71 (#Attr.2, #Attr.3):
let List.570 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.570;
let List.572 : List U8 = lowlevel ListAppendUnsafe #Attr.2 #Attr.3;
ret List.572;
procedure List.72 (#Attr.2, #Attr.3, #Attr.4):
let List.551 : List U8 = lowlevel ListSublist #Attr.2 #Attr.3 #Attr.4;
ret List.551;
procedure List.8 (#Attr.2, #Attr.3):
let List.567 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.567;
let List.569 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.569;
procedure List.80 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
joinpoint List.619 List.463 List.464 List.465 List.466 List.467:
let List.621 : Int1 = CallByName Num.22 List.466 List.467;
if List.621 then
let List.630 : U8 = CallByName List.66 List.463 List.466;
let List.622 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName TotallyNotJson.62 List.464 List.630;
let List.627 : U8 = 1i64;
let List.628 : U8 = GetTagId List.622;
let List.629 : Int1 = lowlevel Eq List.627 List.628;
if List.629 then
let List.468 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 1) (Index 0) List.622;
let List.625 : U64 = 1i64;
let List.624 : U64 = CallByName Num.51 List.466 List.625;
jump List.619 List.463 List.468 List.465 List.624 List.467;
joinpoint List.618 List.463 List.464 List.465 List.466 List.467:
let List.620 : Int1 = CallByName Num.22 List.466 List.467;
if List.620 then
let List.629 : U8 = CallByName List.66 List.463 List.466;
let List.621 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName TotallyNotJson.62 List.464 List.629;
let List.626 : U8 = 1i64;
let List.627 : U8 = GetTagId List.621;
let List.628 : Int1 = lowlevel Eq List.626 List.627;
if List.628 then
let List.468 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 1) (Index 0) List.621;
let List.624 : U64 = 1i64;
let List.623 : U64 = CallByName Num.51 List.466 List.624;
jump List.618 List.463 List.468 List.465 List.623 List.467;
else
dec List.463;
let List.469 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 0) (Index 0) List.622;
let List.626 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) List.469;
ret List.626;
let List.469 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = UnionAtIndex (Id 0) (Index 0) List.621;
let List.625 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) List.469;
ret List.625;
else
dec List.463;
let List.620 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) List.464;
ret List.620;
let List.619 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) List.464;
ret List.619;
in
jump List.619 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
jump List.618 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
procedure List.98 (List.460, List.461, List.462):
let List.617 : U64 = 0i64;
let List.618 : U64 = CallByName List.6 List.460;
let List.616 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName List.80 List.460 List.461 List.462 List.617 List.618;
ret List.616;
procedure List.97 (List.460, List.461, List.462):
let List.616 : U64 = 0i64;
let List.617 : U64 = CallByName List.6 List.460;
let List.615 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = CallByName List.80 List.460 List.461 List.462 List.616 List.617;
ret List.615;
procedure Num.19 (#Attr.2, #Attr.3):
let Num.294 : U8 = lowlevel NumAdd #Attr.2 #Attr.3;
@ -182,8 +173,8 @@ procedure Num.20 (#Attr.2, #Attr.3):
ret Num.306;
procedure Num.22 (#Attr.2, #Attr.3):
let Num.327 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.327;
let Num.328 : Int1 = lowlevel NumLt #Attr.2 #Attr.3;
ret Num.328;
procedure Num.23 (#Attr.2, #Attr.3):
let Num.312 : Int1 = lowlevel NumLte #Attr.2 #Attr.3;
@ -194,8 +185,8 @@ procedure Num.25 (#Attr.2, #Attr.3):
ret Num.318;
procedure Num.51 (#Attr.2, #Attr.3):
let Num.328 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.328;
let Num.329 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3;
ret Num.329;
procedure Num.71 (#Attr.2, #Attr.3):
let Num.291 : U8 = lowlevel NumBitwiseOr #Attr.2 #Attr.3;
@ -206,8 +197,8 @@ procedure Num.72 (#Attr.2, #Attr.3):
ret Num.292;
procedure Num.77 (#Attr.2, #Attr.3):
let Num.324 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.324;
let Num.325 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3;
ret Num.325;
procedure Str.12 (#Attr.2):
let Str.301 : List U8 = lowlevel StrToUtf8 #Attr.2;
@ -305,27 +296,27 @@ procedure Test.12 ():
ret Test.13;
procedure TotallyNotJson.525 (TotallyNotJson.526, TotallyNotJson.1175):
joinpoint TotallyNotJson.1458:
joinpoint TotallyNotJson.1459:
inc TotallyNotJson.526;
let TotallyNotJson.1327 : {List U8, List U8} = CallByName TotallyNotJson.61 TotallyNotJson.526;
let TotallyNotJson.530 : List U8 = StructAtIndex 0 TotallyNotJson.1327;
let TotallyNotJson.529 : List U8 = StructAtIndex 1 TotallyNotJson.1327;
let TotallyNotJson.1328 : {List U8, List U8} = CallByName TotallyNotJson.61 TotallyNotJson.526;
let TotallyNotJson.530 : List U8 = StructAtIndex 0 TotallyNotJson.1328;
let TotallyNotJson.529 : List U8 = StructAtIndex 1 TotallyNotJson.1328;
inc TotallyNotJson.529;
let TotallyNotJson.1323 : Int1 = CallByName List.1 TotallyNotJson.529;
if TotallyNotJson.1323 then
let TotallyNotJson.1324 : Int1 = CallByName List.1 TotallyNotJson.529;
if TotallyNotJson.1324 then
dec TotallyNotJson.530;
dec TotallyNotJson.529;
let TotallyNotJson.1326 : {} = Struct {};
let TotallyNotJson.1325 : [C {}, C Str] = TagId(0) TotallyNotJson.1326;
let TotallyNotJson.1324 : {List U8, [C {}, C Str]} = Struct {TotallyNotJson.526, TotallyNotJson.1325};
ret TotallyNotJson.1324;
let TotallyNotJson.1327 : {} = Struct {};
let TotallyNotJson.1326 : [C {}, C Str] = TagId(0) TotallyNotJson.1327;
let TotallyNotJson.1325 : {List U8, [C {}, C Str]} = Struct {TotallyNotJson.526, TotallyNotJson.1326};
ret TotallyNotJson.1325;
else
let TotallyNotJson.1321 : U64 = CallByName List.6 TotallyNotJson.529;
let TotallyNotJson.1322 : U64 = 2i64;
let TotallyNotJson.1319 : U64 = CallByName Num.77 TotallyNotJson.1321 TotallyNotJson.1322;
let TotallyNotJson.1320 : U64 = 1i64;
let TotallyNotJson.1318 : {U64, U64} = Struct {TotallyNotJson.1319, TotallyNotJson.1320};
let TotallyNotJson.1194 : List U8 = CallByName List.49 TotallyNotJson.529 TotallyNotJson.1318;
let TotallyNotJson.1322 : U64 = CallByName List.6 TotallyNotJson.529;
let TotallyNotJson.1323 : U64 = 2i64;
let TotallyNotJson.1320 : U64 = CallByName Num.77 TotallyNotJson.1322 TotallyNotJson.1323;
let TotallyNotJson.1321 : U64 = 1i64;
let TotallyNotJson.1319 : {U64, U64} = Struct {TotallyNotJson.1320, TotallyNotJson.1321};
let TotallyNotJson.1194 : List U8 = CallByName List.49 TotallyNotJson.529 TotallyNotJson.1319;
let TotallyNotJson.1195 : {} = Struct {};
let TotallyNotJson.1190 : {List U8, List U8} = CallByName TotallyNotJson.534 TotallyNotJson.1194;
let TotallyNotJson.1191 : {} = Struct {};
@ -348,50 +339,50 @@ procedure TotallyNotJson.525 (TotallyNotJson.526, TotallyNotJson.1175):
let TotallyNotJson.1183 : {List U8, [C {}, C Str]} = Struct {TotallyNotJson.526, TotallyNotJson.1184};
ret TotallyNotJson.1183;
in
let TotallyNotJson.1456 : U64 = lowlevel ListLen TotallyNotJson.526;
let TotallyNotJson.1457 : U64 = 4i64;
let TotallyNotJson.1463 : Int1 = lowlevel NumGte TotallyNotJson.1456 TotallyNotJson.1457;
if TotallyNotJson.1463 then
let TotallyNotJson.1453 : U64 = 3i64;
let TotallyNotJson.1454 : U8 = lowlevel ListGetUnsafe TotallyNotJson.526 TotallyNotJson.1453;
let TotallyNotJson.1455 : U8 = 108i64;
let TotallyNotJson.1462 : Int1 = lowlevel Eq TotallyNotJson.1455 TotallyNotJson.1454;
if TotallyNotJson.1462 then
let TotallyNotJson.1450 : U64 = 2i64;
let TotallyNotJson.1451 : U8 = lowlevel ListGetUnsafe TotallyNotJson.526 TotallyNotJson.1450;
let TotallyNotJson.1452 : U8 = 108i64;
let TotallyNotJson.1461 : Int1 = lowlevel Eq TotallyNotJson.1452 TotallyNotJson.1451;
if TotallyNotJson.1461 then
let TotallyNotJson.1447 : U64 = 1i64;
let TotallyNotJson.1448 : U8 = lowlevel ListGetUnsafe TotallyNotJson.526 TotallyNotJson.1447;
let TotallyNotJson.1449 : U8 = 117i64;
let TotallyNotJson.1460 : Int1 = lowlevel Eq TotallyNotJson.1449 TotallyNotJson.1448;
if TotallyNotJson.1460 then
let TotallyNotJson.1444 : U64 = 0i64;
let TotallyNotJson.1445 : U8 = lowlevel ListGetUnsafe TotallyNotJson.526 TotallyNotJson.1444;
let TotallyNotJson.1446 : U8 = 110i64;
let TotallyNotJson.1459 : Int1 = lowlevel Eq TotallyNotJson.1446 TotallyNotJson.1445;
if TotallyNotJson.1459 then
let TotallyNotJson.1457 : U64 = lowlevel ListLen TotallyNotJson.526;
let TotallyNotJson.1458 : U64 = 4i64;
let TotallyNotJson.1464 : Int1 = lowlevel NumGte TotallyNotJson.1457 TotallyNotJson.1458;
if TotallyNotJson.1464 then
let TotallyNotJson.1454 : U64 = 3i64;
let TotallyNotJson.1455 : U8 = lowlevel ListGetUnsafe TotallyNotJson.526 TotallyNotJson.1454;
let TotallyNotJson.1456 : U8 = 108i64;
let TotallyNotJson.1463 : Int1 = lowlevel Eq TotallyNotJson.1456 TotallyNotJson.1455;
if TotallyNotJson.1463 then
let TotallyNotJson.1451 : U64 = 2i64;
let TotallyNotJson.1452 : U8 = lowlevel ListGetUnsafe TotallyNotJson.526 TotallyNotJson.1451;
let TotallyNotJson.1453 : U8 = 108i64;
let TotallyNotJson.1462 : Int1 = lowlevel Eq TotallyNotJson.1453 TotallyNotJson.1452;
if TotallyNotJson.1462 then
let TotallyNotJson.1448 : U64 = 1i64;
let TotallyNotJson.1449 : U8 = lowlevel ListGetUnsafe TotallyNotJson.526 TotallyNotJson.1448;
let TotallyNotJson.1450 : U8 = 117i64;
let TotallyNotJson.1461 : Int1 = lowlevel Eq TotallyNotJson.1450 TotallyNotJson.1449;
if TotallyNotJson.1461 then
let TotallyNotJson.1445 : U64 = 0i64;
let TotallyNotJson.1446 : U8 = lowlevel ListGetUnsafe TotallyNotJson.526 TotallyNotJson.1445;
let TotallyNotJson.1447 : U8 = 110i64;
let TotallyNotJson.1460 : Int1 = lowlevel Eq TotallyNotJson.1447 TotallyNotJson.1446;
if TotallyNotJson.1460 then
let TotallyNotJson.1180 : U64 = 4i64;
let TotallyNotJson.1177 : List U8 = CallByName List.29 TotallyNotJson.526 TotallyNotJson.1180;
let TotallyNotJson.1177 : List U8 = CallByName List.38 TotallyNotJson.526 TotallyNotJson.1180;
let TotallyNotJson.1179 : Str = "null";
let TotallyNotJson.1178 : [C {}, C Str] = TagId(1) TotallyNotJson.1179;
let TotallyNotJson.1176 : {List U8, [C {}, C Str]} = Struct {TotallyNotJson.1177, TotallyNotJson.1178};
ret TotallyNotJson.1176;
else
jump TotallyNotJson.1458;
jump TotallyNotJson.1459;
else
jump TotallyNotJson.1458;
jump TotallyNotJson.1459;
else
jump TotallyNotJson.1458;
jump TotallyNotJson.1459;
else
jump TotallyNotJson.1458;
jump TotallyNotJson.1459;
else
jump TotallyNotJson.1458;
jump TotallyNotJson.1459;
procedure TotallyNotJson.534 (TotallyNotJson.535):
let TotallyNotJson.1317 : List U8 = Array [];
let TotallyNotJson.1197 : {List U8, List U8} = Struct {TotallyNotJson.535, TotallyNotJson.1317};
let TotallyNotJson.1318 : List U8 = Array [];
let TotallyNotJson.1197 : {List U8, List U8} = Struct {TotallyNotJson.535, TotallyNotJson.1318};
let TotallyNotJson.1196 : {List U8, List U8} = CallByName TotallyNotJson.70 TotallyNotJson.1197;
ret TotallyNotJson.1196;
@ -407,233 +398,233 @@ procedure TotallyNotJson.60 ():
ret TotallyNotJson.1173;
procedure TotallyNotJson.61 (TotallyNotJson.541):
let TotallyNotJson.1339 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(4) ;
let TotallyNotJson.1340 : {} = Struct {};
let TotallyNotJson.1340 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(4) ;
let TotallyNotJson.1341 : {} = Struct {};
inc TotallyNotJson.541;
let TotallyNotJson.1328 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = CallByName List.26 TotallyNotJson.541 TotallyNotJson.1339 TotallyNotJson.1340;
let TotallyNotJson.1336 : U8 = 2i64;
let TotallyNotJson.1337 : U8 = GetTagId TotallyNotJson.1328;
let TotallyNotJson.1338 : Int1 = lowlevel Eq TotallyNotJson.1336 TotallyNotJson.1337;
if TotallyNotJson.1338 then
let TotallyNotJson.1329 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = CallByName List.26 TotallyNotJson.541 TotallyNotJson.1340 TotallyNotJson.1341;
let TotallyNotJson.1337 : U8 = 2i64;
let TotallyNotJson.1338 : U8 = GetTagId TotallyNotJson.1329;
let TotallyNotJson.1339 : Int1 = lowlevel Eq TotallyNotJson.1337 TotallyNotJson.1338;
if TotallyNotJson.1339 then
inc TotallyNotJson.541;
let TotallyNotJson.543 : U64 = UnionAtIndex (Id 2) (Index 0) TotallyNotJson.1328;
let TotallyNotJson.1330 : List U8 = CallByName List.29 TotallyNotJson.541 TotallyNotJson.543;
let TotallyNotJson.1333 : U64 = 0i64;
let TotallyNotJson.1332 : {U64, U64} = Struct {TotallyNotJson.543, TotallyNotJson.1333};
let TotallyNotJson.1331 : List U8 = CallByName List.49 TotallyNotJson.541 TotallyNotJson.1332;
let TotallyNotJson.1329 : {List U8, List U8} = Struct {TotallyNotJson.1330, TotallyNotJson.1331};
ret TotallyNotJson.1329;
let TotallyNotJson.543 : U64 = UnionAtIndex (Id 2) (Index 0) TotallyNotJson.1329;
let TotallyNotJson.1331 : List U8 = CallByName List.38 TotallyNotJson.541 TotallyNotJson.543;
let TotallyNotJson.1334 : U64 = 0i64;
let TotallyNotJson.1333 : {U64, U64} = Struct {TotallyNotJson.543, TotallyNotJson.1334};
let TotallyNotJson.1332 : List U8 = CallByName List.49 TotallyNotJson.541 TotallyNotJson.1333;
let TotallyNotJson.1330 : {List U8, List U8} = Struct {TotallyNotJson.1331, TotallyNotJson.1332};
ret TotallyNotJson.1330;
else
let TotallyNotJson.1335 : List U8 = Array [];
let TotallyNotJson.1334 : {List U8, List U8} = Struct {TotallyNotJson.541, TotallyNotJson.1335};
ret TotallyNotJson.1334;
let TotallyNotJson.1336 : List U8 = Array [];
let TotallyNotJson.1335 : {List U8, List U8} = Struct {TotallyNotJson.541, TotallyNotJson.1336};
ret TotallyNotJson.1335;
procedure TotallyNotJson.62 (TotallyNotJson.544, TotallyNotJson.545):
let TotallyNotJson.1341 : {[C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], U8} = Struct {TotallyNotJson.544, TotallyNotJson.545};
joinpoint TotallyNotJson.1384:
let TotallyNotJson.1382 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(3) ;
let TotallyNotJson.1381 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) TotallyNotJson.1382;
ret TotallyNotJson.1381;
let TotallyNotJson.1342 : {[C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], U8} = Struct {TotallyNotJson.544, TotallyNotJson.545};
joinpoint TotallyNotJson.1385:
let TotallyNotJson.1383 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(3) ;
let TotallyNotJson.1382 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) TotallyNotJson.1383;
ret TotallyNotJson.1382;
in
let TotallyNotJson.1385 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1341;
let TotallyNotJson.1443 : U8 = GetTagId TotallyNotJson.1385;
switch TotallyNotJson.1443:
let TotallyNotJson.1386 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1342;
let TotallyNotJson.1444 : U8 = GetTagId TotallyNotJson.1386;
switch TotallyNotJson.1444:
case 4:
let TotallyNotJson.546 : U8 = StructAtIndex 1 TotallyNotJson.1341;
joinpoint TotallyNotJson.1387 TotallyNotJson.1386:
if TotallyNotJson.1386 then
let TotallyNotJson.1344 : U64 = 1i64;
let TotallyNotJson.1343 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) TotallyNotJson.1344;
let TotallyNotJson.1342 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1343;
ret TotallyNotJson.1342;
let TotallyNotJson.546 : U8 = StructAtIndex 1 TotallyNotJson.1342;
joinpoint TotallyNotJson.1388 TotallyNotJson.1387:
if TotallyNotJson.1387 then
let TotallyNotJson.1345 : U64 = 1i64;
let TotallyNotJson.1344 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) TotallyNotJson.1345;
let TotallyNotJson.1343 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1344;
ret TotallyNotJson.1343;
else
jump TotallyNotJson.1384;
jump TotallyNotJson.1385;
in
let TotallyNotJson.1389 : U8 = 34i64;
let TotallyNotJson.1388 : Int1 = CallByName Bool.11 TotallyNotJson.546 TotallyNotJson.1389;
jump TotallyNotJson.1387 TotallyNotJson.1388;
let TotallyNotJson.1390 : U8 = 34i64;
let TotallyNotJson.1389 : Int1 = CallByName Bool.11 TotallyNotJson.546 TotallyNotJson.1390;
jump TotallyNotJson.1388 TotallyNotJson.1389;
case 0:
let TotallyNotJson.1400 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1341;
let TotallyNotJson.549 : U64 = UnionAtIndex (Id 0) (Index 0) TotallyNotJson.1400;
let TotallyNotJson.550 : U8 = StructAtIndex 1 TotallyNotJson.1341;
joinpoint TotallyNotJson.1397 TotallyNotJson.1391:
if TotallyNotJson.1391 then
let TotallyNotJson.1348 : U64 = 1i64;
let TotallyNotJson.1347 : U64 = CallByName Num.19 TotallyNotJson.549 TotallyNotJson.1348;
let TotallyNotJson.1346 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(2) TotallyNotJson.1347;
let TotallyNotJson.1345 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) TotallyNotJson.1346;
ret TotallyNotJson.1345;
let TotallyNotJson.1401 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1342;
let TotallyNotJson.549 : U64 = UnionAtIndex (Id 0) (Index 0) TotallyNotJson.1401;
let TotallyNotJson.550 : U8 = StructAtIndex 1 TotallyNotJson.1342;
joinpoint TotallyNotJson.1398 TotallyNotJson.1392:
if TotallyNotJson.1392 then
let TotallyNotJson.1349 : U64 = 1i64;
let TotallyNotJson.1348 : U64 = CallByName Num.19 TotallyNotJson.549 TotallyNotJson.1349;
let TotallyNotJson.1347 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(2) TotallyNotJson.1348;
let TotallyNotJson.1346 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(0) TotallyNotJson.1347;
ret TotallyNotJson.1346;
else
let TotallyNotJson.1396 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1341;
let TotallyNotJson.553 : U64 = UnionAtIndex (Id 0) (Index 0) TotallyNotJson.1396;
let TotallyNotJson.554 : U8 = StructAtIndex 1 TotallyNotJson.1341;
joinpoint TotallyNotJson.1393 TotallyNotJson.1392:
if TotallyNotJson.1392 then
let TotallyNotJson.1352 : U64 = 1i64;
let TotallyNotJson.1351 : U64 = CallByName Num.19 TotallyNotJson.553 TotallyNotJson.1352;
let TotallyNotJson.1350 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(1) TotallyNotJson.1351;
let TotallyNotJson.1349 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1350;
ret TotallyNotJson.1349;
let TotallyNotJson.1397 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1342;
let TotallyNotJson.553 : U64 = UnionAtIndex (Id 0) (Index 0) TotallyNotJson.1397;
let TotallyNotJson.554 : U8 = StructAtIndex 1 TotallyNotJson.1342;
joinpoint TotallyNotJson.1394 TotallyNotJson.1393:
if TotallyNotJson.1393 then
let TotallyNotJson.1353 : U64 = 1i64;
let TotallyNotJson.1352 : U64 = CallByName Num.19 TotallyNotJson.553 TotallyNotJson.1353;
let TotallyNotJson.1351 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(1) TotallyNotJson.1352;
let TotallyNotJson.1350 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1351;
ret TotallyNotJson.1350;
else
let TotallyNotJson.1383 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1341;
let TotallyNotJson.557 : U64 = UnionAtIndex (Id 0) (Index 0) TotallyNotJson.1383;
let TotallyNotJson.1356 : U64 = 1i64;
let TotallyNotJson.1355 : U64 = CallByName Num.19 TotallyNotJson.557 TotallyNotJson.1356;
let TotallyNotJson.1354 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) TotallyNotJson.1355;
let TotallyNotJson.1353 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1354;
ret TotallyNotJson.1353;
let TotallyNotJson.1384 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1342;
let TotallyNotJson.557 : U64 = UnionAtIndex (Id 0) (Index 0) TotallyNotJson.1384;
let TotallyNotJson.1357 : U64 = 1i64;
let TotallyNotJson.1356 : U64 = CallByName Num.19 TotallyNotJson.557 TotallyNotJson.1357;
let TotallyNotJson.1355 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) TotallyNotJson.1356;
let TotallyNotJson.1354 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1355;
ret TotallyNotJson.1354;
in
let TotallyNotJson.1395 : U8 = 92i64;
let TotallyNotJson.1394 : Int1 = CallByName Bool.11 TotallyNotJson.554 TotallyNotJson.1395;
jump TotallyNotJson.1393 TotallyNotJson.1394;
let TotallyNotJson.1396 : U8 = 92i64;
let TotallyNotJson.1395 : Int1 = CallByName Bool.11 TotallyNotJson.554 TotallyNotJson.1396;
jump TotallyNotJson.1394 TotallyNotJson.1395;
in
let TotallyNotJson.1399 : U8 = 34i64;
let TotallyNotJson.1398 : Int1 = CallByName Bool.11 TotallyNotJson.550 TotallyNotJson.1399;
jump TotallyNotJson.1397 TotallyNotJson.1398;
let TotallyNotJson.1400 : U8 = 34i64;
let TotallyNotJson.1399 : Int1 = CallByName Bool.11 TotallyNotJson.550 TotallyNotJson.1400;
jump TotallyNotJson.1398 TotallyNotJson.1399;
case 1:
let TotallyNotJson.1409 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1341;
let TotallyNotJson.560 : U64 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1409;
let TotallyNotJson.561 : U8 = StructAtIndex 1 TotallyNotJson.1341;
joinpoint TotallyNotJson.1407 TotallyNotJson.1401:
if TotallyNotJson.1401 then
let TotallyNotJson.1360 : U64 = 1i64;
let TotallyNotJson.1359 : U64 = CallByName Num.19 TotallyNotJson.560 TotallyNotJson.1360;
let TotallyNotJson.1358 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) TotallyNotJson.1359;
let TotallyNotJson.1357 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1358;
ret TotallyNotJson.1357;
let TotallyNotJson.1410 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1342;
let TotallyNotJson.560 : U64 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1410;
let TotallyNotJson.561 : U8 = StructAtIndex 1 TotallyNotJson.1342;
joinpoint TotallyNotJson.1408 TotallyNotJson.1402:
if TotallyNotJson.1402 then
let TotallyNotJson.1361 : U64 = 1i64;
let TotallyNotJson.1360 : U64 = CallByName Num.19 TotallyNotJson.560 TotallyNotJson.1361;
let TotallyNotJson.1359 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) TotallyNotJson.1360;
let TotallyNotJson.1358 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1359;
ret TotallyNotJson.1358;
else
let TotallyNotJson.1406 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1341;
let TotallyNotJson.564 : U64 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1406;
let TotallyNotJson.565 : U8 = StructAtIndex 1 TotallyNotJson.1341;
joinpoint TotallyNotJson.1403 TotallyNotJson.1402:
if TotallyNotJson.1402 then
let TotallyNotJson.1364 : U64 = 1i64;
let TotallyNotJson.1363 : U64 = CallByName Num.19 TotallyNotJson.564 TotallyNotJson.1364;
let TotallyNotJson.1362 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(5) TotallyNotJson.1363;
let TotallyNotJson.1361 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1362;
ret TotallyNotJson.1361;
let TotallyNotJson.1407 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1342;
let TotallyNotJson.564 : U64 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1407;
let TotallyNotJson.565 : U8 = StructAtIndex 1 TotallyNotJson.1342;
joinpoint TotallyNotJson.1404 TotallyNotJson.1403:
if TotallyNotJson.1403 then
let TotallyNotJson.1365 : U64 = 1i64;
let TotallyNotJson.1364 : U64 = CallByName Num.19 TotallyNotJson.564 TotallyNotJson.1365;
let TotallyNotJson.1363 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(5) TotallyNotJson.1364;
let TotallyNotJson.1362 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1363;
ret TotallyNotJson.1362;
else
jump TotallyNotJson.1384;
jump TotallyNotJson.1385;
in
let TotallyNotJson.1405 : U8 = 117i64;
let TotallyNotJson.1404 : Int1 = CallByName Bool.11 TotallyNotJson.565 TotallyNotJson.1405;
jump TotallyNotJson.1403 TotallyNotJson.1404;
let TotallyNotJson.1406 : U8 = 117i64;
let TotallyNotJson.1405 : Int1 = CallByName Bool.11 TotallyNotJson.565 TotallyNotJson.1406;
jump TotallyNotJson.1404 TotallyNotJson.1405;
in
let TotallyNotJson.1408 : Int1 = CallByName TotallyNotJson.63 TotallyNotJson.561;
jump TotallyNotJson.1407 TotallyNotJson.1408;
let TotallyNotJson.1409 : Int1 = CallByName TotallyNotJson.63 TotallyNotJson.561;
jump TotallyNotJson.1408 TotallyNotJson.1409;
case 5:
let TotallyNotJson.1430 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1341;
let TotallyNotJson.568 : U64 = UnionAtIndex (Id 5) (Index 0) TotallyNotJson.1430;
let TotallyNotJson.569 : U8 = StructAtIndex 1 TotallyNotJson.1341;
joinpoint TotallyNotJson.1411 TotallyNotJson.1410:
if TotallyNotJson.1410 then
let TotallyNotJson.1368 : U64 = 1i64;
let TotallyNotJson.1367 : U64 = CallByName Num.19 TotallyNotJson.568 TotallyNotJson.1368;
let TotallyNotJson.1366 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(6) TotallyNotJson.1367;
let TotallyNotJson.1365 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1366;
ret TotallyNotJson.1365;
let TotallyNotJson.1431 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1342;
let TotallyNotJson.568 : U64 = UnionAtIndex (Id 5) (Index 0) TotallyNotJson.1431;
let TotallyNotJson.569 : U8 = StructAtIndex 1 TotallyNotJson.1342;
joinpoint TotallyNotJson.1412 TotallyNotJson.1411:
if TotallyNotJson.1411 then
let TotallyNotJson.1369 : U64 = 1i64;
let TotallyNotJson.1368 : U64 = CallByName Num.19 TotallyNotJson.568 TotallyNotJson.1369;
let TotallyNotJson.1367 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(6) TotallyNotJson.1368;
let TotallyNotJson.1366 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1367;
ret TotallyNotJson.1366;
else
jump TotallyNotJson.1384;
jump TotallyNotJson.1385;
in
let TotallyNotJson.1412 : Int1 = CallByName TotallyNotJson.65 TotallyNotJson.569;
jump TotallyNotJson.1411 TotallyNotJson.1412;
let TotallyNotJson.1413 : Int1 = CallByName TotallyNotJson.65 TotallyNotJson.569;
jump TotallyNotJson.1412 TotallyNotJson.1413;
case 6:
let TotallyNotJson.1434 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1341;
let TotallyNotJson.572 : U64 = UnionAtIndex (Id 6) (Index 0) TotallyNotJson.1434;
let TotallyNotJson.573 : U8 = StructAtIndex 1 TotallyNotJson.1341;
joinpoint TotallyNotJson.1432 TotallyNotJson.1431:
if TotallyNotJson.1431 then
let TotallyNotJson.1372 : U64 = 1i64;
let TotallyNotJson.1371 : U64 = CallByName Num.19 TotallyNotJson.572 TotallyNotJson.1372;
let TotallyNotJson.1370 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(7) TotallyNotJson.1371;
let TotallyNotJson.1369 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1370;
ret TotallyNotJson.1369;
let TotallyNotJson.1435 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1342;
let TotallyNotJson.572 : U64 = UnionAtIndex (Id 6) (Index 0) TotallyNotJson.1435;
let TotallyNotJson.573 : U8 = StructAtIndex 1 TotallyNotJson.1342;
joinpoint TotallyNotJson.1433 TotallyNotJson.1432:
if TotallyNotJson.1432 then
let TotallyNotJson.1373 : U64 = 1i64;
let TotallyNotJson.1372 : U64 = CallByName Num.19 TotallyNotJson.572 TotallyNotJson.1373;
let TotallyNotJson.1371 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(7) TotallyNotJson.1372;
let TotallyNotJson.1370 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1371;
ret TotallyNotJson.1370;
else
jump TotallyNotJson.1384;
jump TotallyNotJson.1385;
in
let TotallyNotJson.1433 : Int1 = CallByName TotallyNotJson.65 TotallyNotJson.573;
jump TotallyNotJson.1432 TotallyNotJson.1433;
let TotallyNotJson.1434 : Int1 = CallByName TotallyNotJson.65 TotallyNotJson.573;
jump TotallyNotJson.1433 TotallyNotJson.1434;
case 7:
let TotallyNotJson.1438 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1341;
let TotallyNotJson.576 : U64 = UnionAtIndex (Id 7) (Index 0) TotallyNotJson.1438;
let TotallyNotJson.577 : U8 = StructAtIndex 1 TotallyNotJson.1341;
joinpoint TotallyNotJson.1436 TotallyNotJson.1435:
if TotallyNotJson.1435 then
let TotallyNotJson.1376 : U64 = 1i64;
let TotallyNotJson.1375 : U64 = CallByName Num.19 TotallyNotJson.576 TotallyNotJson.1376;
let TotallyNotJson.1374 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(8) TotallyNotJson.1375;
let TotallyNotJson.1373 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1374;
ret TotallyNotJson.1373;
let TotallyNotJson.1439 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1342;
let TotallyNotJson.576 : U64 = UnionAtIndex (Id 7) (Index 0) TotallyNotJson.1439;
let TotallyNotJson.577 : U8 = StructAtIndex 1 TotallyNotJson.1342;
joinpoint TotallyNotJson.1437 TotallyNotJson.1436:
if TotallyNotJson.1436 then
let TotallyNotJson.1377 : U64 = 1i64;
let TotallyNotJson.1376 : U64 = CallByName Num.19 TotallyNotJson.576 TotallyNotJson.1377;
let TotallyNotJson.1375 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(8) TotallyNotJson.1376;
let TotallyNotJson.1374 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1375;
ret TotallyNotJson.1374;
else
jump TotallyNotJson.1384;
jump TotallyNotJson.1385;
in
let TotallyNotJson.1437 : Int1 = CallByName TotallyNotJson.65 TotallyNotJson.577;
jump TotallyNotJson.1436 TotallyNotJson.1437;
let TotallyNotJson.1438 : Int1 = CallByName TotallyNotJson.65 TotallyNotJson.577;
jump TotallyNotJson.1437 TotallyNotJson.1438;
case 8:
let TotallyNotJson.1442 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1341;
let TotallyNotJson.580 : U64 = UnionAtIndex (Id 8) (Index 0) TotallyNotJson.1442;
let TotallyNotJson.581 : U8 = StructAtIndex 1 TotallyNotJson.1341;
joinpoint TotallyNotJson.1440 TotallyNotJson.1439:
if TotallyNotJson.1439 then
let TotallyNotJson.1380 : U64 = 1i64;
let TotallyNotJson.1379 : U64 = CallByName Num.19 TotallyNotJson.580 TotallyNotJson.1380;
let TotallyNotJson.1378 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) TotallyNotJson.1379;
let TotallyNotJson.1377 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1378;
ret TotallyNotJson.1377;
let TotallyNotJson.1443 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = StructAtIndex 0 TotallyNotJson.1342;
let TotallyNotJson.580 : U64 = UnionAtIndex (Id 8) (Index 0) TotallyNotJson.1443;
let TotallyNotJson.581 : U8 = StructAtIndex 1 TotallyNotJson.1342;
joinpoint TotallyNotJson.1441 TotallyNotJson.1440:
if TotallyNotJson.1440 then
let TotallyNotJson.1381 : U64 = 1i64;
let TotallyNotJson.1380 : U64 = CallByName Num.19 TotallyNotJson.580 TotallyNotJson.1381;
let TotallyNotJson.1379 : [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64] = TagId(0) TotallyNotJson.1380;
let TotallyNotJson.1378 : [C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64], C [C U64, C U64, C U64, C , C , C U64, C U64, C U64, C U64]] = TagId(1) TotallyNotJson.1379;
ret TotallyNotJson.1378;
else
jump TotallyNotJson.1384;
jump TotallyNotJson.1385;
in
let TotallyNotJson.1441 : Int1 = CallByName TotallyNotJson.65 TotallyNotJson.581;
jump TotallyNotJson.1440 TotallyNotJson.1441;
let TotallyNotJson.1442 : Int1 = CallByName TotallyNotJson.65 TotallyNotJson.581;
jump TotallyNotJson.1441 TotallyNotJson.1442;
default:
jump TotallyNotJson.1384;
jump TotallyNotJson.1385;
procedure TotallyNotJson.63 (TotallyNotJson.586):
switch TotallyNotJson.586:
case 34:
let TotallyNotJson.1285 : Int1 = CallByName Bool.2;
ret TotallyNotJson.1285;
case 92:
let TotallyNotJson.1286 : Int1 = CallByName Bool.2;
ret TotallyNotJson.1286;
case 47:
case 92:
let TotallyNotJson.1287 : Int1 = CallByName Bool.2;
ret TotallyNotJson.1287;
case 98:
case 47:
let TotallyNotJson.1288 : Int1 = CallByName Bool.2;
ret TotallyNotJson.1288;
case 102:
case 98:
let TotallyNotJson.1289 : Int1 = CallByName Bool.2;
ret TotallyNotJson.1289;
case 110:
case 102:
let TotallyNotJson.1290 : Int1 = CallByName Bool.2;
ret TotallyNotJson.1290;
case 114:
case 110:
let TotallyNotJson.1291 : Int1 = CallByName Bool.2;
ret TotallyNotJson.1291;
case 116:
case 114:
let TotallyNotJson.1292 : Int1 = CallByName Bool.2;
ret TotallyNotJson.1292;
default:
let TotallyNotJson.1293 : Int1 = CallByName Bool.1;
case 116:
let TotallyNotJson.1293 : Int1 = CallByName Bool.2;
ret TotallyNotJson.1293;
default:
let TotallyNotJson.1294 : Int1 = CallByName Bool.1;
ret TotallyNotJson.1294;
procedure TotallyNotJson.64 (TotallyNotJson.587):
switch TotallyNotJson.587:
@ -674,24 +665,24 @@ procedure TotallyNotJson.64 (TotallyNotJson.587):
procedure TotallyNotJson.65 (TotallyNotJson.588):
let TotallyNotJson.1429 : U8 = 48i64;
let TotallyNotJson.1426 : Int1 = CallByName Num.25 TotallyNotJson.588 TotallyNotJson.1429;
let TotallyNotJson.1428 : U8 = 57i64;
let TotallyNotJson.1427 : Int1 = CallByName Num.23 TotallyNotJson.588 TotallyNotJson.1428;
let TotallyNotJson.1414 : Int1 = CallByName Bool.3 TotallyNotJson.1426 TotallyNotJson.1427;
let TotallyNotJson.1425 : U8 = 97i64;
let TotallyNotJson.1422 : Int1 = CallByName Num.25 TotallyNotJson.588 TotallyNotJson.1425;
let TotallyNotJson.1424 : U8 = 102i64;
let TotallyNotJson.1423 : Int1 = CallByName Num.23 TotallyNotJson.588 TotallyNotJson.1424;
let TotallyNotJson.1416 : Int1 = CallByName Bool.3 TotallyNotJson.1422 TotallyNotJson.1423;
let TotallyNotJson.1421 : U8 = 65i64;
let TotallyNotJson.1418 : Int1 = CallByName Num.25 TotallyNotJson.588 TotallyNotJson.1421;
let TotallyNotJson.1420 : U8 = 70i64;
let TotallyNotJson.1419 : Int1 = CallByName Num.23 TotallyNotJson.588 TotallyNotJson.1420;
let TotallyNotJson.1417 : Int1 = CallByName Bool.3 TotallyNotJson.1418 TotallyNotJson.1419;
let TotallyNotJson.1415 : Int1 = CallByName Bool.4 TotallyNotJson.1416 TotallyNotJson.1417;
let TotallyNotJson.1413 : Int1 = CallByName Bool.4 TotallyNotJson.1414 TotallyNotJson.1415;
ret TotallyNotJson.1413;
let TotallyNotJson.1430 : U8 = 48i64;
let TotallyNotJson.1427 : Int1 = CallByName Num.25 TotallyNotJson.588 TotallyNotJson.1430;
let TotallyNotJson.1429 : U8 = 57i64;
let TotallyNotJson.1428 : Int1 = CallByName Num.23 TotallyNotJson.588 TotallyNotJson.1429;
let TotallyNotJson.1415 : Int1 = CallByName Bool.3 TotallyNotJson.1427 TotallyNotJson.1428;
let TotallyNotJson.1426 : U8 = 97i64;
let TotallyNotJson.1423 : Int1 = CallByName Num.25 TotallyNotJson.588 TotallyNotJson.1426;
let TotallyNotJson.1425 : U8 = 102i64;
let TotallyNotJson.1424 : Int1 = CallByName Num.23 TotallyNotJson.588 TotallyNotJson.1425;
let TotallyNotJson.1417 : Int1 = CallByName Bool.3 TotallyNotJson.1423 TotallyNotJson.1424;
let TotallyNotJson.1422 : U8 = 65i64;
let TotallyNotJson.1419 : Int1 = CallByName Num.25 TotallyNotJson.588 TotallyNotJson.1422;
let TotallyNotJson.1421 : U8 = 70i64;
let TotallyNotJson.1420 : Int1 = CallByName Num.23 TotallyNotJson.588 TotallyNotJson.1421;
let TotallyNotJson.1418 : Int1 = CallByName Bool.3 TotallyNotJson.1419 TotallyNotJson.1420;
let TotallyNotJson.1416 : Int1 = CallByName Bool.4 TotallyNotJson.1417 TotallyNotJson.1418;
let TotallyNotJson.1414 : Int1 = CallByName Bool.4 TotallyNotJson.1415 TotallyNotJson.1416;
ret TotallyNotJson.1414;
procedure TotallyNotJson.66 (TotallyNotJson.589):
let TotallyNotJson.1242 : U8 = 48i64;
@ -770,39 +761,40 @@ procedure TotallyNotJson.70 (#Derived_gen.5):
let TotallyNotJson.600 : List U8 = StructAtIndex 0 TotallyNotJson.1166;
inc 4 TotallyNotJson.600;
let TotallyNotJson.601 : List U8 = StructAtIndex 1 TotallyNotJson.1166;
let TotallyNotJson.1316 : U64 = 0i64;
let TotallyNotJson.602 : [C {}, C U8] = CallByName List.2 TotallyNotJson.600 TotallyNotJson.1316;
let TotallyNotJson.1315 : U64 = 1i64;
let TotallyNotJson.603 : [C {}, C U8] = CallByName List.2 TotallyNotJson.600 TotallyNotJson.1315;
let TotallyNotJson.1314 : U64 = 2i64;
let TotallyNotJson.604 : List U8 = CallByName List.29 TotallyNotJson.600 TotallyNotJson.1314;
let TotallyNotJson.1313 : U64 = 6i64;
let TotallyNotJson.605 : List U8 = CallByName List.29 TotallyNotJson.600 TotallyNotJson.1313;
let TotallyNotJson.1317 : U64 = 0i64;
let TotallyNotJson.602 : [C {}, C U8] = CallByName List.2 TotallyNotJson.600 TotallyNotJson.1317;
let TotallyNotJson.1316 : U64 = 1i64;
let TotallyNotJson.603 : [C {}, C U8] = CallByName List.2 TotallyNotJson.600 TotallyNotJson.1316;
let TotallyNotJson.1315 : U64 = 2i64;
let TotallyNotJson.604 : List U8 = CallByName List.38 TotallyNotJson.600 TotallyNotJson.1315;
let TotallyNotJson.1314 : U64 = 6i64;
let TotallyNotJson.605 : List U8 = CallByName List.38 TotallyNotJson.600 TotallyNotJson.1314;
let TotallyNotJson.1199 : {[C {}, C U8], [C {}, C U8]} = Struct {TotallyNotJson.602, TotallyNotJson.603};
joinpoint TotallyNotJson.1278:
let TotallyNotJson.1277 : [C {}, C U8] = StructAtIndex 0 TotallyNotJson.1199;
let TotallyNotJson.616 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1277;
let TotallyNotJson.1274 : List U8 = CallByName List.38 TotallyNotJson.600;
joinpoint TotallyNotJson.1279:
let TotallyNotJson.1278 : [C {}, C U8] = StructAtIndex 0 TotallyNotJson.1199;
let TotallyNotJson.616 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1278;
let TotallyNotJson.1276 : U64 = 1i64;
let TotallyNotJson.1274 : List U8 = CallByName List.38 TotallyNotJson.600 TotallyNotJson.1276;
let TotallyNotJson.1275 : List U8 = CallByName List.4 TotallyNotJson.601 TotallyNotJson.616;
let TotallyNotJson.1273 : {List U8, List U8} = Struct {TotallyNotJson.1274, TotallyNotJson.1275};
jump TotallyNotJson.1198 TotallyNotJson.1273;
in
let TotallyNotJson.1309 : [C {}, C U8] = StructAtIndex 0 TotallyNotJson.1199;
let TotallyNotJson.1310 : U8 = 1i64;
let TotallyNotJson.1311 : U8 = GetTagId TotallyNotJson.1309;
let TotallyNotJson.1312 : Int1 = lowlevel Eq TotallyNotJson.1310 TotallyNotJson.1311;
if TotallyNotJson.1312 then
let TotallyNotJson.1305 : [C {}, C U8] = StructAtIndex 1 TotallyNotJson.1199;
let TotallyNotJson.1306 : U8 = 1i64;
let TotallyNotJson.1307 : U8 = GetTagId TotallyNotJson.1305;
let TotallyNotJson.1308 : Int1 = lowlevel Eq TotallyNotJson.1306 TotallyNotJson.1307;
if TotallyNotJson.1308 then
let TotallyNotJson.1304 : [C {}, C U8] = StructAtIndex 0 TotallyNotJson.1199;
let TotallyNotJson.607 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1304;
let TotallyNotJson.1303 : [C {}, C U8] = StructAtIndex 1 TotallyNotJson.1199;
let TotallyNotJson.608 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1303;
joinpoint TotallyNotJson.1297 TotallyNotJson.1279:
if TotallyNotJson.1279 then
let TotallyNotJson.1310 : [C {}, C U8] = StructAtIndex 0 TotallyNotJson.1199;
let TotallyNotJson.1311 : U8 = 1i64;
let TotallyNotJson.1312 : U8 = GetTagId TotallyNotJson.1310;
let TotallyNotJson.1313 : Int1 = lowlevel Eq TotallyNotJson.1311 TotallyNotJson.1312;
if TotallyNotJson.1313 then
let TotallyNotJson.1306 : [C {}, C U8] = StructAtIndex 1 TotallyNotJson.1199;
let TotallyNotJson.1307 : U8 = 1i64;
let TotallyNotJson.1308 : U8 = GetTagId TotallyNotJson.1306;
let TotallyNotJson.1309 : Int1 = lowlevel Eq TotallyNotJson.1307 TotallyNotJson.1308;
if TotallyNotJson.1309 then
let TotallyNotJson.1305 : [C {}, C U8] = StructAtIndex 0 TotallyNotJson.1199;
let TotallyNotJson.607 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1305;
let TotallyNotJson.1304 : [C {}, C U8] = StructAtIndex 1 TotallyNotJson.1199;
let TotallyNotJson.608 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1304;
joinpoint TotallyNotJson.1298 TotallyNotJson.1280:
if TotallyNotJson.1280 then
dec TotallyNotJson.600;
let TotallyNotJson.1256 : U64 = lowlevel ListLen TotallyNotJson.604;
let TotallyNotJson.1257 : U64 = 4i64;
@ -829,12 +821,12 @@ procedure TotallyNotJson.70 (#Derived_gen.5):
jump TotallyNotJson.1198 TotallyNotJson.1244;
else
dec TotallyNotJson.605;
let TotallyNotJson.1296 : [C {}, C U8] = StructAtIndex 0 TotallyNotJson.1199;
let TotallyNotJson.614 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1296;
let TotallyNotJson.1295 : [C {}, C U8] = StructAtIndex 1 TotallyNotJson.1199;
let TotallyNotJson.615 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1295;
joinpoint TotallyNotJson.1281 TotallyNotJson.1280:
if TotallyNotJson.1280 then
let TotallyNotJson.1297 : [C {}, C U8] = StructAtIndex 0 TotallyNotJson.1199;
let TotallyNotJson.614 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1297;
let TotallyNotJson.1296 : [C {}, C U8] = StructAtIndex 1 TotallyNotJson.1199;
let TotallyNotJson.615 : U8 = UnionAtIndex (Id 1) (Index 0) TotallyNotJson.1296;
joinpoint TotallyNotJson.1282 TotallyNotJson.1281:
if TotallyNotJson.1281 then
dec TotallyNotJson.600;
let TotallyNotJson.1262 : U8 = CallByName TotallyNotJson.64 TotallyNotJson.615;
let TotallyNotJson.1261 : List U8 = CallByName List.4 TotallyNotJson.601 TotallyNotJson.1262;
@ -842,29 +834,29 @@ procedure TotallyNotJson.70 (#Derived_gen.5):
jump TotallyNotJson.1198 TotallyNotJson.1260;
else
dec TotallyNotJson.604;
jump TotallyNotJson.1278;
jump TotallyNotJson.1279;
in
let TotallyNotJson.1294 : U8 = 92i64;
let TotallyNotJson.1283 : Int1 = CallByName Bool.11 TotallyNotJson.614 TotallyNotJson.1294;
let TotallyNotJson.1284 : Int1 = CallByName TotallyNotJson.63 TotallyNotJson.615;
let TotallyNotJson.1282 : Int1 = CallByName Bool.3 TotallyNotJson.1283 TotallyNotJson.1284;
jump TotallyNotJson.1281 TotallyNotJson.1282;
let TotallyNotJson.1295 : U8 = 92i64;
let TotallyNotJson.1284 : Int1 = CallByName Bool.11 TotallyNotJson.614 TotallyNotJson.1295;
let TotallyNotJson.1285 : Int1 = CallByName TotallyNotJson.63 TotallyNotJson.615;
let TotallyNotJson.1283 : Int1 = CallByName Bool.3 TotallyNotJson.1284 TotallyNotJson.1285;
jump TotallyNotJson.1282 TotallyNotJson.1283;
in
let TotallyNotJson.1302 : U8 = 92i64;
let TotallyNotJson.1299 : Int1 = CallByName Bool.11 TotallyNotJson.607 TotallyNotJson.1302;
let TotallyNotJson.1301 : U8 = 117i64;
let TotallyNotJson.1300 : Int1 = CallByName Bool.11 TotallyNotJson.608 TotallyNotJson.1301;
let TotallyNotJson.1298 : Int1 = CallByName Bool.3 TotallyNotJson.1299 TotallyNotJson.1300;
jump TotallyNotJson.1297 TotallyNotJson.1298;
let TotallyNotJson.1303 : U8 = 92i64;
let TotallyNotJson.1300 : Int1 = CallByName Bool.11 TotallyNotJson.607 TotallyNotJson.1303;
let TotallyNotJson.1302 : U8 = 117i64;
let TotallyNotJson.1301 : Int1 = CallByName Bool.11 TotallyNotJson.608 TotallyNotJson.1302;
let TotallyNotJson.1299 : Int1 = CallByName Bool.3 TotallyNotJson.1300 TotallyNotJson.1301;
jump TotallyNotJson.1298 TotallyNotJson.1299;
else
dec TotallyNotJson.605;
dec TotallyNotJson.604;
jump TotallyNotJson.1278;
jump TotallyNotJson.1279;
else
dec TotallyNotJson.605;
dec TotallyNotJson.604;
let TotallyNotJson.1276 : {List U8, List U8} = Struct {TotallyNotJson.600, TotallyNotJson.601};
ret TotallyNotJson.1276;
let TotallyNotJson.1277 : {List U8, List U8} = Struct {TotallyNotJson.600, TotallyNotJson.601};
ret TotallyNotJson.1277;
in
jump TotallyNotJson.1198 #Derived_gen.5;

View file

@ -1,7 +1,7 @@
procedure List.18 (List.147, List.148, List.149):
procedure List.18 (List.146, List.147, List.148):
let List.546 : U64 = 0i64;
let List.547 : U64 = CallByName List.6 List.147;
let List.545 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName List.87 List.147 List.148 List.149 List.546 List.547;
let List.547 : U64 = CallByName List.6 List.146;
let List.545 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName List.86 List.146 List.147 List.148 List.546 List.547;
ret List.545;
procedure List.6 (#Attr.2):
@ -12,19 +12,19 @@ procedure List.66 (#Attr.2, #Attr.3):
let List.555 : [<rnu>C *self, <null>] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.555;
procedure List.87 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
joinpoint List.548 List.150 List.151 List.152 List.153 List.154:
let List.550 : Int1 = CallByName Num.22 List.153 List.154;
procedure List.86 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.3, #Derived_gen.4):
joinpoint List.548 List.149 List.150 List.151 List.152 List.153:
let List.550 : Int1 = CallByName Num.22 List.152 List.153;
if List.550 then
let List.554 : [<rnu>C *self, <null>] = CallByName List.66 List.150 List.153;
let List.554 : [<rnu>C *self, <null>] = CallByName List.66 List.149 List.152;
inc List.554;
let List.155 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName Test.7 List.151 List.554;
let List.154 : [<rnu><null>, C {[<rnu>C *self, <null>], *self}] = CallByName Test.7 List.150 List.554;
let List.553 : U64 = 1i64;
let List.552 : U64 = CallByName Num.51 List.153 List.553;
jump List.548 List.150 List.155 List.152 List.552 List.154;
let List.552 : U64 = CallByName Num.51 List.152 List.553;
jump List.548 List.149 List.154 List.151 List.552 List.153;
else
dec List.150;
ret List.151;
dec List.149;
ret List.150;
in
jump List.548 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;

View file

@ -1,7 +1,7 @@
procedure List.4 (List.118, List.119):
procedure List.4 (List.117, List.118):
let List.548 : U64 = 1i64;
let List.546 : List I64 = CallByName List.70 List.118 List.548;
let List.545 : List I64 = CallByName List.71 List.546 List.119;
let List.546 : List I64 = CallByName List.70 List.117 List.548;
let List.545 : List I64 = CallByName List.71 List.546 List.118;
ret List.545;
procedure List.70 (#Attr.2, #Attr.3):

View file

@ -1,7 +1,7 @@
procedure List.4 (List.118, List.119):
procedure List.4 (List.117, List.118):
let List.548 : U64 = 1i64;
let List.546 : List I64 = CallByName List.70 List.118 List.548;
let List.545 : List I64 = CallByName List.71 List.546 List.119;
let List.546 : List I64 = CallByName List.70 List.117 List.548;
let List.545 : List I64 = CallByName List.71 List.546 List.118;
ret List.545;
procedure List.70 (#Attr.2, #Attr.3):

View file

@ -1,5 +1,5 @@
procedure List.3 (List.110, List.111, List.112):
let List.548 : {List I64, I64} = CallByName List.64 List.110 List.111 List.112;
procedure List.3 (List.109, List.110, List.111):
let List.548 : {List I64, I64} = CallByName List.64 List.109 List.110 List.111;
let List.547 : List I64 = StructAtIndex 0 List.548;
ret List.547;
@ -7,14 +7,14 @@ procedure List.6 (#Attr.2):
let List.546 : U64 = lowlevel ListLen #Attr.2;
ret List.546;
procedure List.64 (List.107, List.108, List.109):
let List.553 : U64 = CallByName List.6 List.107;
let List.550 : Int1 = CallByName Num.22 List.108 List.553;
procedure List.64 (List.106, List.107, List.108):
let List.553 : U64 = CallByName List.6 List.106;
let List.550 : Int1 = CallByName Num.22 List.107 List.553;
if List.550 then
let List.551 : {List I64, I64} = CallByName List.67 List.107 List.108 List.109;
let List.551 : {List I64, I64} = CallByName List.67 List.106 List.107 List.108;
ret List.551;
else
let List.549 : {List I64, I64} = Struct {List.107, List.109};
let List.549 : {List I64, I64} = Struct {List.106, List.108};
ret List.549;
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):

View file

@ -1,13 +1,13 @@
procedure List.2 (List.102, List.103):
let List.551 : U64 = CallByName List.6 List.102;
let List.547 : Int1 = CallByName Num.22 List.103 List.551;
procedure List.2 (List.101, List.102):
let List.551 : U64 = CallByName List.6 List.101;
let List.547 : Int1 = CallByName Num.22 List.102 List.551;
if List.547 then
let List.549 : I64 = CallByName List.66 List.102 List.103;
dec List.102;
let List.549 : I64 = CallByName List.66 List.101 List.102;
dec List.101;
let List.548 : [C {}, C I64] = TagId(1) List.549;
ret List.548;
else
dec List.102;
dec List.101;
let List.546 : {} = Struct {};
let List.545 : [C {}, C I64] = TagId(0) List.546;
ret List.545;

View file

@ -1,14 +1,14 @@
procedure List.2 (List.102, List.103):
let List.551 : U64 = CallByName List.6 List.102;
let List.547 : Int1 = CallByName Num.22 List.103 List.551;
procedure List.2 (List.101, List.102):
let List.551 : U64 = CallByName List.6 List.101;
let List.547 : Int1 = CallByName Num.22 List.102 List.551;
if List.547 then
let List.549 : Str = CallByName List.66 List.102 List.103;
let List.549 : Str = CallByName List.66 List.101 List.102;
inc List.549;
dec List.102;
dec List.101;
let List.548 : [C {}, C Str] = TagId(1) List.549;
ret List.548;
else
dec List.102;
dec List.101;
let List.546 : {} = Struct {};
let List.545 : [C {}, C Str] = TagId(0) List.546;
ret List.545;

View file

@ -1,14 +1,14 @@
procedure List.2 (List.102, List.103):
let List.551 : U64 = CallByName List.6 List.102;
let List.547 : Int1 = CallByName Num.22 List.103 List.551;
procedure List.2 (List.101, List.102):
let List.551 : U64 = CallByName List.6 List.101;
let List.547 : Int1 = CallByName Num.22 List.102 List.551;
if List.547 then
let List.549 : Str = CallByName List.66 List.102 List.103;
let List.549 : Str = CallByName List.66 List.101 List.102;
inc List.549;
dec List.102;
dec List.101;
let List.548 : [C {}, C Str] = TagId(1) List.549;
ret List.548;
else
dec List.102;
dec List.101;
let List.546 : {} = Struct {};
let List.545 : [C {}, C Str] = TagId(0) List.546;
ret List.545;

View file

@ -1,5 +1,5 @@
procedure List.3 (List.110, List.111, List.112):
let List.546 : {List I64, I64} = CallByName List.64 List.110 List.111 List.112;
procedure List.3 (List.109, List.110, List.111):
let List.546 : {List I64, I64} = CallByName List.64 List.109 List.110 List.111;
let List.545 : List I64 = StructAtIndex 0 List.546;
ret List.545;
@ -7,14 +7,14 @@ procedure List.6 (#Attr.2):
let List.552 : U64 = lowlevel ListLen #Attr.2;
ret List.552;
procedure List.64 (List.107, List.108, List.109):
let List.551 : U64 = CallByName List.6 List.107;
let List.548 : Int1 = CallByName Num.22 List.108 List.551;
procedure List.64 (List.106, List.107, List.108):
let List.551 : U64 = CallByName List.6 List.106;
let List.548 : Int1 = CallByName Num.22 List.107 List.551;
if List.548 then
let List.549 : {List I64, I64} = CallByName List.67 List.107 List.108 List.109;
let List.549 : {List I64, I64} = CallByName List.67 List.106 List.107 List.108;
ret List.549;
else
let List.547 : {List I64, I64} = Struct {List.107, List.109};
let List.547 : {List I64, I64} = Struct {List.106, List.108};
ret List.547;
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):

View file

@ -2,9 +2,9 @@ procedure List.28 (#Attr.2, #Attr.3):
let List.547 : List I64 = lowlevel ListSortWith { xs: `#Attr.#arg1` } #Attr.2 Num.46 #Attr.3;
ret List.547;
procedure List.59 (List.303):
procedure List.59 (List.302):
let List.546 : {} = Struct {};
let List.545 : List I64 = CallByName List.28 List.303 List.546;
let List.545 : List I64 = CallByName List.28 List.302 List.546;
ret List.545;
procedure Num.46 (#Attr.2, #Attr.3):

View file

@ -1,19 +1,19 @@
procedure List.2 (List.102, List.103):
let List.567 : U64 = CallByName List.6 List.102;
let List.564 : Int1 = CallByName Num.22 List.103 List.567;
procedure List.2 (List.101, List.102):
let List.567 : U64 = CallByName List.6 List.101;
let List.564 : Int1 = CallByName Num.22 List.102 List.567;
if List.564 then
let List.566 : I64 = CallByName List.66 List.102 List.103;
dec List.102;
let List.566 : I64 = CallByName List.66 List.101 List.102;
dec List.101;
let List.565 : [C {}, C I64] = TagId(1) List.566;
ret List.565;
else
dec List.102;
dec List.101;
let List.563 : {} = Struct {};
let List.562 : [C {}, C I64] = TagId(0) List.563;
ret List.562;
procedure List.3 (List.110, List.111, List.112):
let List.554 : {List I64, I64} = CallByName List.64 List.110 List.111 List.112;
procedure List.3 (List.109, List.110, List.111):
let List.554 : {List I64, I64} = CallByName List.64 List.109 List.110 List.111;
let List.553 : List I64 = StructAtIndex 0 List.554;
ret List.553;
@ -21,14 +21,14 @@ procedure List.6 (#Attr.2):
let List.552 : U64 = lowlevel ListLen #Attr.2;
ret List.552;
procedure List.64 (List.107, List.108, List.109):
let List.551 : U64 = CallByName List.6 List.107;
let List.548 : Int1 = CallByName Num.22 List.108 List.551;
procedure List.64 (List.106, List.107, List.108):
let List.551 : U64 = CallByName List.6 List.106;
let List.548 : Int1 = CallByName Num.22 List.107 List.551;
if List.548 then
let List.549 : {List I64, I64} = CallByName List.67 List.107 List.108 List.109;
let List.549 : {List I64, I64} = CallByName List.67 List.106 List.107 List.108;
ret List.549;
else
let List.547 : {List I64, I64} = Struct {List.107, List.109};
let List.547 : {List I64, I64} = Struct {List.106, List.108};
ret List.547;
procedure List.66 (#Attr.2, #Attr.3):

View file

@ -1,5 +1,5 @@
procedure List.3 (List.110, List.111, List.112):
let List.554 : {List U64, U64} = CallByName List.64 List.110 List.111 List.112;
procedure List.3 (List.109, List.110, List.111):
let List.554 : {List U64, U64} = CallByName List.64 List.109 List.110 List.111;
let List.553 : List U64 = StructAtIndex 0 List.554;
ret List.553;
@ -7,14 +7,14 @@ procedure List.6 (#Attr.2):
let List.552 : U64 = lowlevel ListLen #Attr.2;
ret List.552;
procedure List.64 (List.107, List.108, List.109):
let List.551 : U64 = CallByName List.6 List.107;
let List.548 : Int1 = CallByName Num.22 List.108 List.551;
procedure List.64 (List.106, List.107, List.108):
let List.551 : U64 = CallByName List.6 List.106;
let List.548 : Int1 = CallByName Num.22 List.107 List.551;
if List.548 then
let List.549 : {List U64, U64} = CallByName List.67 List.107 List.108 List.109;
let List.549 : {List U64, U64} = CallByName List.67 List.106 List.107 List.108;
ret List.549;
else
let List.547 : {List U64, U64} = Struct {List.107, List.109};
let List.547 : {List U64, U64} = Struct {List.106, List.108};
ret List.547;
procedure List.67 (#Attr.2, #Attr.3, #Attr.4):

View file

@ -1,19 +1,19 @@
procedure List.2 (List.102, List.103):
let List.567 : U64 = CallByName List.6 List.102;
let List.564 : Int1 = CallByName Num.22 List.103 List.567;
procedure List.2 (List.101, List.102):
let List.567 : U64 = CallByName List.6 List.101;
let List.564 : Int1 = CallByName Num.22 List.102 List.567;
if List.564 then
let List.566 : I64 = CallByName List.66 List.102 List.103;
dec List.102;
let List.566 : I64 = CallByName List.66 List.101 List.102;
dec List.101;
let List.565 : [C {}, C I64] = TagId(1) List.566;
ret List.565;
else
dec List.102;
dec List.101;
let List.563 : {} = Struct {};
let List.562 : [C {}, C I64] = TagId(0) List.563;
ret List.562;
procedure List.3 (List.110, List.111, List.112):
let List.554 : {List I64, I64} = CallByName List.64 List.110 List.111 List.112;
procedure List.3 (List.109, List.110, List.111):
let List.554 : {List I64, I64} = CallByName List.64 List.109 List.110 List.111;
let List.553 : List I64 = StructAtIndex 0 List.554;
ret List.553;
@ -21,14 +21,14 @@ procedure List.6 (#Attr.2):
let List.552 : U64 = lowlevel ListLen #Attr.2;
ret List.552;
procedure List.64 (List.107, List.108, List.109):
let List.551 : U64 = CallByName List.6 List.107;
let List.548 : Int1 = CallByName Num.22 List.108 List.551;
procedure List.64 (List.106, List.107, List.108):
let List.551 : U64 = CallByName List.6 List.106;
let List.548 : Int1 = CallByName Num.22 List.107 List.551;
if List.548 then
let List.549 : {List I64, I64} = CallByName List.67 List.107 List.108 List.109;
let List.549 : {List I64, I64} = CallByName List.67 List.106 List.107 List.108;
ret List.549;
else
let List.547 : {List I64, I64} = Struct {List.107, List.109};
let List.547 : {List I64, I64} = Struct {List.106, List.108};
ret List.547;
procedure List.66 (#Attr.2, #Attr.3):

View file

@ -33,34 +33,34 @@ procedure Encode.26 (Encode.105, Encode.106):
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
ret Encode.108;
procedure List.18 (List.147, List.148, List.149):
procedure List.18 (List.146, List.147, List.148):
let List.572 : U64 = 0i64;
let List.573 : U64 = CallByName List.6 List.147;
let List.571 : {List U8, U64} = CallByName List.87 List.147 List.148 List.149 List.572 List.573;
let List.573 : U64 = CallByName List.6 List.146;
let List.571 : {List U8, U64} = CallByName List.86 List.146 List.147 List.148 List.572 List.573;
ret List.571;
procedure List.18 (List.147, List.148, List.149):
procedure List.18 (List.146, List.147, List.148):
let List.584 : U64 = 0i64;
let List.585 : U64 = CallByName List.6 List.147;
let List.583 : List U8 = CallByName List.87 List.147 List.148 List.149 List.584 List.585;
let List.585 : U64 = CallByName List.6 List.146;
let List.583 : List U8 = CallByName List.86 List.146 List.147 List.148 List.584 List.585;
ret List.583;
procedure List.26 (List.174, List.175, List.176):
let List.625 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.98 List.174 List.175 List.176;
procedure List.26 (List.173, List.174, List.175):
let List.625 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.97 List.173 List.174 List.175;
let List.628 : U8 = 1i64;
let List.629 : U8 = GetTagId List.625;
let List.630 : Int1 = lowlevel Eq List.628 List.629;
if List.630 then
let List.177 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.625;
ret List.177;
let List.176 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.625;
ret List.176;
else
let List.178 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.625;
ret List.178;
let List.177 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.625;
ret List.177;
procedure List.4 (List.118, List.119):
procedure List.4 (List.117, List.118):
let List.570 : U64 = 1i64;
let List.569 : List U8 = CallByName List.70 List.118 List.570;
let List.568 : List U8 = CallByName List.71 List.569 List.119;
let List.569 : List U8 = CallByName List.70 List.117 List.570;
let List.568 : List U8 = CallByName List.71 List.569 List.118;
ret List.568;
procedure List.49 (List.392, List.393):
@ -158,38 +158,38 @@ procedure List.80 (#Derived_gen.8, #Derived_gen.9, #Derived_gen.10, #Derived_gen
in
jump List.634 #Derived_gen.8 #Derived_gen.9 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12;
procedure List.87 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17):
joinpoint List.586 List.150 List.151 List.152 List.153 List.154:
let List.588 : Int1 = CallByName Num.22 List.153 List.154;
procedure List.86 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17):
joinpoint List.586 List.149 List.150 List.151 List.152 List.153:
let List.588 : Int1 = CallByName Num.22 List.152 List.153;
if List.588 then
let List.592 : U8 = CallByName List.66 List.150 List.153;
let List.155 : List U8 = CallByName TotallyNotJson.215 List.151 List.592;
let List.592 : U8 = CallByName List.66 List.149 List.152;
let List.154 : List U8 = CallByName TotallyNotJson.215 List.150 List.592;
let List.591 : U64 = 1i64;
let List.590 : U64 = CallByName Num.51 List.153 List.591;
jump List.586 List.150 List.155 List.152 List.590 List.154;
let List.590 : U64 = CallByName Num.51 List.152 List.591;
jump List.586 List.149 List.154 List.151 List.590 List.153;
else
dec List.150;
ret List.151;
dec List.149;
ret List.150;
in
jump List.586 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17;
procedure List.87 (#Derived_gen.3, #Derived_gen.4, #Derived_gen.5, #Derived_gen.6, #Derived_gen.7):
joinpoint List.574 List.150 List.151 List.152 List.153 List.154:
let List.576 : Int1 = CallByName Num.22 List.153 List.154;
procedure List.86 (#Derived_gen.3, #Derived_gen.4, #Derived_gen.5, #Derived_gen.6, #Derived_gen.7):
joinpoint List.574 List.149 List.150 List.151 List.152 List.153:
let List.576 : Int1 = CallByName Num.22 List.152 List.153;
if List.576 then
let List.580 : Str = CallByName List.66 List.150 List.153;
let List.580 : Str = CallByName List.66 List.149 List.152;
inc List.580;
let List.155 : {List U8, U64} = CallByName TotallyNotJson.267 List.151 List.580 List.152;
let List.154 : {List U8, U64} = CallByName TotallyNotJson.267 List.150 List.580 List.151;
let List.579 : U64 = 1i64;
let List.578 : U64 = CallByName Num.51 List.153 List.579;
jump List.574 List.150 List.155 List.152 List.578 List.154;
let List.578 : U64 = CallByName Num.51 List.152 List.579;
jump List.574 List.149 List.154 List.151 List.578 List.153;
else
dec List.150;
ret List.151;
dec List.149;
ret List.150;
in
jump List.574 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7;
procedure List.98 (List.460, List.461, List.462):
procedure List.97 (List.460, List.461, List.462):
let List.632 : U64 = 0i64;
let List.633 : U64 = CallByName List.6 List.460;
let List.631 : [C {U64, Int1}, C {U64, Int1}] = CallByName List.80 List.460 List.461 List.462 List.632 List.633;

View file

@ -81,22 +81,22 @@ procedure Encode.26 (Encode.105, Encode.106):
let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
ret Encode.108;
procedure List.18 (List.147, List.148, List.149):
procedure List.18 (List.146, List.147, List.148):
let List.572 : U64 = 0i64;
let List.573 : U64 = CallByName List.6 List.147;
let List.571 : {List U8, U64} = CallByName List.87 List.147 List.148 List.149 List.572 List.573;
let List.573 : U64 = CallByName List.6 List.146;
let List.571 : {List U8, U64} = CallByName List.86 List.146 List.147 List.148 List.572 List.573;
ret List.571;
procedure List.18 (List.147, List.148, List.149):
procedure List.18 (List.146, List.147, List.148):
let List.612 : U64 = 0i64;
let List.613 : U64 = CallByName List.6 List.147;
let List.611 : {List U8, U64} = CallByName List.87 List.147 List.148 List.149 List.612 List.613;
let List.613 : U64 = CallByName List.6 List.146;
let List.611 : {List U8, U64} = CallByName List.86 List.146 List.147 List.148 List.612 List.613;
ret List.611;
procedure List.4 (List.118, List.119):
procedure List.4 (List.117, List.118):
let List.610 : U64 = 1i64;
let List.609 : List U8 = CallByName List.70 List.118 List.610;
let List.608 : List U8 = CallByName List.71 List.609 List.119;
let List.609 : List U8 = CallByName List.70 List.117 List.610;
let List.608 : List U8 = CallByName List.71 List.609 List.118;
ret List.608;
procedure List.6 (#Attr.2):
@ -127,35 +127,35 @@ procedure List.8 (#Attr.2, #Attr.3):
let List.624 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.624;
procedure List.87 (#Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_gen.24):
joinpoint List.574 List.150 List.151 List.152 List.153 List.154:
let List.576 : Int1 = CallByName Num.22 List.153 List.154;
procedure List.86 (#Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_gen.24):
joinpoint List.574 List.149 List.150 List.151 List.152 List.153:
let List.576 : Int1 = CallByName Num.22 List.152 List.153;
if List.576 then
let List.580 : [C {}, C {}] = CallByName List.66 List.150 List.153;
let List.155 : {List U8, U64} = CallByName TotallyNotJson.267 List.151 List.580 List.152;
let List.580 : [C {}, C {}] = CallByName List.66 List.149 List.152;
let List.154 : {List U8, U64} = CallByName TotallyNotJson.267 List.150 List.580 List.151;
let List.579 : U64 = 1i64;
let List.578 : U64 = CallByName Num.51 List.153 List.579;
jump List.574 List.150 List.155 List.152 List.578 List.154;
let List.578 : U64 = CallByName Num.51 List.152 List.579;
jump List.574 List.149 List.154 List.151 List.578 List.153;
else
dec List.150;
ret List.151;
dec List.149;
ret List.150;
in
jump List.574 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24;
procedure List.87 (#Derived_gen.25, #Derived_gen.26, #Derived_gen.27, #Derived_gen.28, #Derived_gen.29):
joinpoint List.614 List.150 List.151 List.152 List.153 List.154:
let List.616 : Int1 = CallByName Num.22 List.153 List.154;
procedure List.86 (#Derived_gen.34, #Derived_gen.35, #Derived_gen.36, #Derived_gen.37, #Derived_gen.38):
joinpoint List.614 List.149 List.150 List.151 List.152 List.153:
let List.616 : Int1 = CallByName Num.22 List.152 List.153;
if List.616 then
let List.620 : [] = CallByName List.66 List.150 List.153;
let List.155 : {List U8, U64} = CallByName TotallyNotJson.267 List.151 List.620 List.152;
let List.620 : [] = CallByName List.66 List.149 List.152;
let List.154 : {List U8, U64} = CallByName TotallyNotJson.267 List.150 List.620 List.151;
let List.619 : U64 = 1i64;
let List.618 : U64 = CallByName Num.51 List.153 List.619;
jump List.614 List.150 List.155 List.152 List.618 List.154;
let List.618 : U64 = CallByName Num.51 List.152 List.619;
jump List.614 List.149 List.154 List.151 List.618 List.153;
else
dec List.150;
ret List.151;
dec List.149;
ret List.150;
in
jump List.614 #Derived_gen.25 #Derived_gen.26 #Derived_gen.27 #Derived_gen.28 #Derived_gen.29;
jump List.614 #Derived_gen.34 #Derived_gen.35 #Derived_gen.36 #Derived_gen.37 #Derived_gen.38;
procedure Num.127 (#Attr.2):
let Num.310 : U8 = lowlevel NumIntCast #Attr.2;

View file

@ -2,29 +2,29 @@ procedure Bool.11 (#Attr.2, #Attr.3):
let Bool.24 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
ret Bool.24;
procedure List.26 (List.174, List.175, List.176):
let List.560 : [C U64, C U64] = CallByName List.98 List.174 List.175 List.176;
procedure List.26 (List.173, List.174, List.175):
let List.560 : [C U64, C U64] = CallByName List.97 List.173 List.174 List.175;
let List.563 : U8 = 1i64;
let List.564 : U8 = GetTagId List.560;
let List.565 : Int1 = lowlevel Eq List.563 List.564;
if List.565 then
let List.177 : U64 = UnionAtIndex (Id 1) (Index 0) List.560;
ret List.177;
let List.176 : U64 = UnionAtIndex (Id 1) (Index 0) List.560;
ret List.176;
else
let List.178 : U64 = UnionAtIndex (Id 0) (Index 0) List.560;
ret List.178;
let List.177 : U64 = UnionAtIndex (Id 0) (Index 0) List.560;
ret List.177;
procedure List.29 (List.319, List.320):
let List.559 : U64 = CallByName List.6 List.319;
let List.321 : U64 = CallByName Num.77 List.559 List.320;
let List.545 : List U8 = CallByName List.43 List.319 List.321;
procedure List.38 (List.316, List.317):
let List.559 : U64 = CallByName List.6 List.316;
let List.318 : U64 = CallByName Num.77 List.559 List.317;
let List.545 : List U8 = CallByName List.43 List.316 List.318;
ret List.545;
procedure List.43 (List.317, List.318):
let List.557 : U64 = CallByName List.6 List.317;
let List.556 : U64 = CallByName Num.77 List.557 List.318;
let List.547 : {U64, U64} = Struct {List.318, List.556};
let List.546 : List U8 = CallByName List.49 List.317 List.547;
procedure List.43 (List.314, List.315):
let List.557 : U64 = CallByName List.6 List.314;
let List.556 : U64 = CallByName Num.77 List.557 List.315;
let List.547 : {U64, U64} = Struct {List.315, List.556};
let List.546 : List U8 = CallByName List.49 List.314 List.547;
ret List.546;
procedure List.49 (List.392, List.393):
@ -79,7 +79,7 @@ procedure List.80 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen.
in
jump List.569 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4;
procedure List.98 (List.460, List.461, List.462):
procedure List.97 (List.460, List.461, List.462):
let List.567 : U64 = 0i64;
let List.568 : U64 = CallByName List.6 List.460;
let List.566 : [C U64, C U64] = CallByName List.80 List.460 List.461 List.462 List.567 List.568;
@ -111,5 +111,5 @@ procedure Test.0 (Test.1):
if Test.7 then
ret Test.1;
else
let Test.6 : List U8 = CallByName List.29 Test.1 Test.2;
let Test.6 : List U8 = CallByName List.38 Test.1 Test.2;
ret Test.6;

View file

@ -2285,7 +2285,7 @@ fn anonymous_closure_in_polymorphic_expression_issue_4717() {
if index == 0 then
input
else
List.drop input index
List.dropFirst input index
main = chompWhile [1u8, 2u8, 3u8]
"###
@ -2482,7 +2482,7 @@ fn weakening_avoids_overspecialization() {
if index == 0 then
input
else
List.drop input index
List.dropFirst input index
"###
)
}

View file

@ -28,7 +28,7 @@ Linear := {} implements [MDecoderFormatting {u8}]
u8 = @MDecoder \lst, @Linear {} ->
#^^{-1} Linear#u8(11): MDecoder U8 Linear
when List.first lst is
Ok n -> { result: Ok n, rest: List.dropFirst lst }
Ok n -> { result: Ok n, rest: List.dropFirst lst 1 }
Err _ -> { result: Err TooShort, rest: [] }
MyU8 := U8 implements [MDecoding {decoder}]

View file

@ -5,7 +5,7 @@ Parser a : List U8 -> List [Pair a (List U8)]
any: Parser U8
any = \inp ->
when List.first inp is
Ok u -> [Pair u (List.drop inp 1)]
Ok u -> [Pair u (List.dropFirst inp 1)]
_ -> []
main = any

View file

@ -103,7 +103,7 @@ field = \fieldParser ->
Ok rawStr ->
when Parser.Str.parseRawStr fieldParser rawStr is
Ok val ->
Ok { val: val, input: List.dropFirst fieldsList }
Ok { val: val, input: List.dropFirst fieldsList 1 }
Err (ParsingFailure reason) ->
fieldStr = rawStr |> strFromRaw

View file

@ -40,7 +40,7 @@ letterParser =
_ -> Ok Other
valResult
|> Result.map \val -> { val, input: List.dropFirst input }
|> Result.map \val -> { val, input: List.dropFirst input 1 }
expect
input = "B"

View file

@ -103,7 +103,7 @@ field = \fieldParser ->
Ok rawStr ->
when ParserStr.parseRawStr fieldParser rawStr is
Ok val ->
Ok { val: val, input: List.dropFirst fieldsList }
Ok { val: val, input: List.dropFirst fieldsList 1 }
Err (ParsingFailure reason) ->
fieldStr = rawStr |> strFromRaw

View file

@ -586,7 +586,7 @@ renderAttr = \{ nodeId, attrs, patches, handlers, deletedHandlerCache }, attr ->
{
handlerId: id,
newHandlers: List.set handlers id (Ok handler),
newDeletedHandlerCache: List.dropLast deletedHandlerCache,
newDeletedHandlerCache: List.dropLast deletedHandlerCache 1,
}
Err _ ->
@ -630,7 +630,7 @@ insertNode = \rendered, node ->
newRendered =
{ rendered &
nodes: List.set rendered.nodes id (Ok node),
deletedNodeCache: List.dropLast rendered.deletedNodeCache,
deletedNodeCache: List.dropLast rendered.deletedNodeCache 1,
}
{ rendered: newRendered, id }