Merge remote-tracking branch 'origin/main' into wip-updates

This commit is contained in:
Richard Feldman 2023-11-01 22:17:37 -04:00
commit 5e65e2a7d3
No known key found for this signature in database
GPG key ID: F1F21AA5B1D9E43B
56 changed files with 5516 additions and 3509 deletions

View file

@ -891,8 +891,8 @@ fn link_linux(
lib_dirs.extend([
usr_lib_arch_path,
lib_arch_path,
strs_to_path(&["/usr", "lib"]),
strs_to_path(&["/usr", "lib64"]),
strs_to_path(&["/usr", "lib"]),
]);
// Look for the libraries we'll need

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 }

View file

@ -1,7 +1,7 @@
app "roc-tutorial"
packages { pf: "../../../examples/static-site-gen/platform/main.roc" }
imports [
pf.Html.{ html, head, body, header, footer, script, div, main, p, section, h1, h2, label, ol, input, text, nav, a, li, link, meta },
pf.Html.{ html, head, body, header, footer, script, div, main, p, section, h1, h2, label, ol, input, text, nav, a, li, link, meta, ariaLabel },
pf.Html.Attributes.{ content, name, for, id, type, href, rel, lang, title, charset, src, role },
]
provides [transformFileContent] to pf

View file

@ -53,7 +53,7 @@ If you like, you can run a program that has compile-time errors like this. (If t
You can run `roc test` to run all your tests. Each test is declared with the `expect` keyword, and can be as short as one line. For example, this is a complete test:
```
```roc
## One plus one should equal two.
expect 1 + 1 == 2
```

View file

@ -6,7 +6,7 @@ Roc is designed to have a small number of simple language primitives. This goal
All Roc values are semantically immutable, but may be opportunistically mutated behind the scenes when it would improve performance (without affecting the program's behavior). For example:
```elm
```roc
colors
|> Set.insert "Purple"
|> Set.insert "Orange"
@ -29,7 +29,7 @@ An ergonomics benefit of having no direct mutation primitives is that functions
This makes Roc functions naturally amenable to pipelining, as we saw in the earlier example:
```elm
```roc
colors
|> Set.insert "Purple"
|> Set.insert "Orange"
@ -53,41 +53,41 @@ In Roc, this will give a compile-time error. Once a name has been assigned to a
A benefit of this design is that it makes Roc code easier to rearrange without causing regressions. Consider this code:
```elm
```roc
func = \arg ->
greeting = "Hello"
welcome = \name -> "\(greeting), \(name)!"
#
message = welcome "friend"
#
```
Suppose I decide to extract the `welcome` function to the top level, so I can reuse it elsewhere:
```elm
```roc
func = \arg ->
#
message = welcome "Hello" "friend"
#
welcome = \prefix, name -> "\(prefix), \(name)!"
```
Without knowing the rest of `func`, we can be confident this change will not alter the code's behavior. In contrast, suppose Roc allowed reassignment. Then it's possible something in the `…` parts of the code could have modified `greeting` before it was used in the `message =` declaration. For example:
Without knowing the rest of `func`, we can be confident this change will not alter the code's behavior. In contrast, suppose Roc allowed reassignment. Then it's possible something in the `# …` parts of the code could have modified `greeting` before it was used in the `message =` declaration. For example:
```elm
```roc
func = \arg ->
greeting = "Hello"
welcome = \name -> "\(greeting), \(name)!"
#
if someCondition then
greeting = "Hi"
#
else
#
#
message = welcome "friend"
#
```
In this example, if we didn't read the whole function to see that `greeting` was later sometimes (but not always) changed from `"Hello"` to `"Hi"`, we might not have realized that changing it to `message = welcome "Hello" "friend"` would cause a regression due to having the greeting always be `"Hello"`. Because Roc disallows reassignment, this particular regression can't happen, and so the code can be confidently rearranged without checking the rest of the function.

View file

@ -25,21 +25,21 @@
<section class="home-goals-container">
<div class="home-goals-column">
<a href="/fast" class="home-goals-content">
<a href="/wip/fast" class="home-goals-content">
<h3 class="home-goals-title">Fast</h3>
<p class="home-goals-description">Roc code is designed to build fast and run fast. <span class="nobreak-on-mobile">It compiles to machine code or WebAssembly.</span></p>
<p class="home-goals-learn-more">What does <i>fast</i> mean here?</p>
</a>
</div>
<div class="home-goals-column">
<a href="/friendly" class="home-goals-content">
<a href="/wip/friendly" class="home-goals-content">
<h3 class="home-goals-title">Friendly</h3>
<p class="home-goals-description">Rocs syntax, semantics, and included toolset <span class="nobreak-on-mobile">all prioritize user-friendliness.</span></p>
<p class="home-goals-learn-more">What does <i>friendly</i> mean here?</p>
</a>
</div>
<div class="home-goals-column">
<a href="/functional" class="home-goals-content">
<a href="/wip/functional" class="home-goals-content">
<h3 class="home-goals-title">Functional</h3>
<p class="home-goals-description">
Roc has a small number of simple language primitives. <span class="nobreak-on-mobile">Its a single-paradigm functional language.</span></p>
@ -60,7 +60,7 @@
<div id="repl" role="presentation">
<code class="history">
<div id="help-text"></div>
<div id="history-text"><div id="loading-message">Loading REPL WebAssembly moduleplease wait!</div></div>
<div id="history-text"><div id="loading-message">Loading REPL WebAssembly module...please wait!</div></div>
</code>
<section id="source-input-wrapper">
<textarea rows="5" id="source-input" placeholder="You can enter Roc code here once the REPL loads!"

File diff suppressed because it is too large Load diff

View file

@ -2,7 +2,7 @@ app "roc-website"
packages { pf: "../../examples/static-site-gen/platform/main.roc" }
imports [
pf.Html.{ html, head, body, header, footer, div, main, text, nav, a, link, meta, script },
pf.Html.Attributes.{ content, name, id, href, rel, lang, class, title, charset, color, ariaLabel },
pf.Html.Attributes.{ content, name, id, href, rel, lang, class, title, charset, color, ariaLabel, src },
InteractiveExample,
]
provides [transformFileContent] to pf
@ -69,8 +69,7 @@ view = \page, htmlContent ->
],
],
],
# TODO - add site.js if needed
# script [src "/site.js"] [],
script [src "/site.js"] [],
]
viewNavbar : Str -> Html.Node

View file

@ -14,6 +14,7 @@
--primary-1: #9b6bf2;
--primary-2: #7c38f5;
--highlight: #1bd6bd;
--code-color: white;
--link-color: var(--primary-2);
--code-link-color: var(--primary-2);
--text-color: #000;
@ -192,10 +193,10 @@ main {
code,
samp {
font-family: var(--font-mono);
color: var(--code-color);
color: var(--text-color);
background-color: var(--gray-bg);
display: inline-block;
padding: 0;
padding: 5px;
}
p code,
@ -229,11 +230,14 @@ pre {
font-size: var(--font-size-normal);
line-height: 1.76em;
white-space: pre;
background-color: var(--dark-code-bg);
}
pre>samp {
overflow-x: auto;
display: block;
background-color: var(--dark-code-bg);
color: var(--code-color);
}
/* The repl won't work at all if you have JS disabled. */
@ -735,7 +739,7 @@ samp .punctuation.terminator,
code .punctuation.terminator,
samp .kw,
code .kw {
color: var(--magenta);
color: var(--primary-1);
}
/* Operators */
@ -743,13 +747,13 @@ samp .op,
code .op,
samp .keyword.operator,
code .keyword.operator {
color: var(--orange);
color: var(--primary-1);
}
/* Delimieters */
samp .delimeter,
code .delimeter {
color: var(--gray);
color: var(--primary-1);
}
/* Variables modules and field names */
@ -761,7 +765,7 @@ samp .meta.block,
code .meta.block,
samp .lowerident,
code .lowerident {
color: var(--blue);
color: white;
}
/* Types, Tags, and Modules */
@ -771,7 +775,7 @@ samp .meta.path,
code .meta.path,
samp .upperident,
code .upperident {
color: var(--green);
color: var(--dark-cyan);
}
samp .dim,
@ -786,17 +790,17 @@ code .dim {
}
.copy-button {
background: var(--gray-bg);
border: 1px solid var(--magenta);
color: var(--magenta);
background: var(--dark-code-bg);
border: 1px solid var(--dark-cyan);
color: var(--dark-cyan);
display: inline-block;
cursor: pointer;
margin: 8px;
}
.copy-button:hover {
border-color: var(--green);
color: var(--green);
border-color: var(--code-color);
color: var(--code-color);
}
.roc-logo {