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([ lib_dirs.extend([
usr_lib_arch_path, usr_lib_arch_path,
lib_arch_path, lib_arch_path,
strs_to_path(&["/usr", "lib"]),
strs_to_path(&["/usr", "lib64"]), strs_to_path(&["/usr", "lib64"]),
strs_to_path(&["/usr", "lib"]),
]); ]);
// Look for the libraries we'll need // Look for the libraries we'll need

View file

@ -121,8 +121,8 @@ DecoderFormatting implements
## ``` ## ```
## decodeBool = Decode.custom \bytes, @Json {} -> ## decodeBool = Decode.custom \bytes, @Json {} ->
## when bytes is ## when bytes is
## ['f', 'a', 'l', 's', 'e', ..] -> { result: Ok Bool.false, rest: List.drop bytes 5 } ## ['f', 'a', 'l', 's', 'e', ..] -> { result: Ok Bool.false, rest: List.dropFirst bytes 5 }
## ['t', 'r', 'u', 'e', ..] -> { result: Ok Bool.true, rest: List.drop bytes 4 } ## ['t', 'r', 'u', 'e', ..] -> { result: Ok Bool.true, rest: List.dropFirst bytes 4 }
## _ -> { result: Err TooShort, rest: bytes } ## _ -> { result: Err TooShort, rest: bytes }
## ``` ## ```
custom : (List U8, fmt -> DecodeResult val) -> Decoder val fmt where fmt implements DecoderFormatting 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 { @Dict {
metadata: List.set metadata index deletedSlot, metadata: List.set metadata index deletedSlot,
dataIndices, dataIndices,
data: List.dropLast data, data: List.dropLast data 1,
size: Num.subWrap size 1, size: Num.subWrap size 1,
} }
else else
@ -618,7 +618,7 @@ swapAndUpdateDataIndex = \@Dict { metadata, dataIndices, data, size }, removedIn
nextData = nextData =
data data
|> List.swap dataIndex lastIndex |> List.swap dataIndex lastIndex
|> List.dropLast |> List.dropLast 1
@Dict { @Dict {
# Set old metadata as deleted. # Set old metadata as deleted.

View file

@ -34,20 +34,19 @@ interface List
walkFromUntil, walkFromUntil,
range, range,
sortWith, sortWith,
drop,
swap, swap,
dropAt, dropAt,
dropLast,
min, min,
max, max,
map4, map4,
mapTry, mapTry,
walkTry, walkTry,
dropFirst,
joinMap, joinMap,
any, any,
takeFirst, takeFirst,
takeLast, takeLast,
dropFirst,
dropLast,
findFirst, findFirst,
findLast, findLast,
findFirstIndex, findFirstIndex,
@ -912,20 +911,6 @@ first = \list ->
Ok v -> Ok v Ok v -> Ok v
Err _ -> Err ListWasEmpty 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. ## Returns the given number of elements from the beginning of the list.
## ``` ## ```
## List.takeFirst [1, 2, 3, 4, 5, 6, 7, 8] 4 ## 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 } List.sublist list { start: Num.subSaturated (List.len list) outputLength, len: outputLength }
## Drops n elements from the beginning of the list. ## Drops n elements from the beginning of the list.
drop : List elem, Nat -> List elem dropFirst : List elem, Nat -> List elem
drop = \list, n -> dropFirst = \list, n ->
remaining = Num.subSaturated (List.len list) n remaining = Num.subSaturated (List.len list) n
List.takeLast list remaining 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. ## 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. ## 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 elem
|> List.appendUnsafe sep |> List.appendUnsafe sep
List.dropLast newList List.dropLast newList 1
## Returns `Bool.true` if the first list starts with the second list. ## Returns `Bool.true` if the first list starts with the second list.
## ##

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -3006,7 +3006,7 @@ fn do_pass_bool_byte_closure_layout() {
any: Parser U8 any: Parser U8
any = \inp -> any = \inp ->
when List.first inp is 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; let Bool.24 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
ret Bool.24; ret Bool.24;
procedure List.26 (List.174, List.175, List.176): procedure List.26 (List.173, List.174, List.175):
let List.560 : [C U64, C U64] = CallByName List.98 List.174 List.175 List.176; let List.560 : [C U64, C U64] = CallByName List.97 List.173 List.174 List.175;
let List.563 : U8 = 1i64; let List.563 : U8 = 1i64;
let List.564 : U8 = GetTagId List.560; let List.564 : U8 = GetTagId List.560;
let List.565 : Int1 = lowlevel Eq List.563 List.564; let List.565 : Int1 = lowlevel Eq List.563 List.564;
if List.565 then if List.565 then
let List.177 : U64 = UnionAtIndex (Id 1) (Index 0) List.560; let List.176 : U64 = UnionAtIndex (Id 1) (Index 0) List.560;
ret List.177; ret List.176;
else else
let List.178 : U64 = UnionAtIndex (Id 0) (Index 0) List.560; let List.177 : U64 = UnionAtIndex (Id 0) (Index 0) List.560;
ret List.178; ret List.177;
procedure List.29 (List.319, List.320): procedure List.38 (List.316, List.317):
let List.559 : U64 = CallByName List.6 List.319; let List.559 : U64 = CallByName List.6 List.316;
let List.321 : U64 = CallByName Num.77 List.559 List.320; let List.318 : U64 = CallByName Num.77 List.559 List.317;
let List.545 : List U8 = CallByName List.43 List.319 List.321; let List.545 : List U8 = CallByName List.43 List.316 List.318;
ret List.545; ret List.545;
procedure List.43 (List.317, List.318): procedure List.43 (List.314, List.315):
let List.557 : U64 = CallByName List.6 List.317; let List.557 : U64 = CallByName List.6 List.314;
let List.556 : U64 = CallByName Num.77 List.557 List.318; let List.556 : U64 = CallByName Num.77 List.557 List.315;
let List.547 : {U64, U64} = Struct {List.318, List.556}; let List.547 : {U64, U64} = Struct {List.315, List.556};
let List.546 : List U8 = CallByName List.49 List.317 List.547; let List.546 : List U8 = CallByName List.49 List.314 List.547;
ret List.546; ret List.546;
procedure List.49 (List.392, List.393): 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 in
jump List.569 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4; 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.567 : U64 = 0i64;
let List.568 : U64 = CallByName List.6 List.460; 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; 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 if Test.10 then
ret Test.2; ret Test.2;
else 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; ret Test.9;
procedure Test.4 (Test.5, Test.15): 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.546 : U64 = 0i64;
let List.547 : U64 = CallByName List.6 List.147; let List.547 : U64 = CallByName List.6 List.146;
let List.545 : [<r>C {}, C *self {{}, []}] = CallByName List.87 List.147 List.148 List.149 List.546 List.547; let List.545 : [<r>C {}, C *self {{}, []}] = CallByName List.86 List.146 List.147 List.148 List.546 List.547;
ret List.545; ret List.545;
procedure List.6 (#Attr.2): 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; let List.555 : [] = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.555; ret List.555;
procedure List.87 (#Derived_gen.13, #Derived_gen.14, #Derived_gen.15, #Derived_gen.16, #Derived_gen.17): procedure List.86 (#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: joinpoint List.548 List.149 List.150 List.151 List.152 List.153:
let List.550 : Int1 = CallByName Num.22 List.153 List.154; let List.550 : Int1 = CallByName Num.22 List.152 List.153;
if List.550 then if List.550 then
let List.554 : [] = CallByName List.66 List.150 List.153; let List.554 : [] = CallByName List.66 List.149 List.152;
let List.155 : [<r>C {}, C *self {{}, []}] = CallByName Test.29 List.151 List.554 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.553 : U64 = 1i64;
let List.552 : U64 = CallByName Num.51 List.153 List.553; let List.552 : U64 = CallByName Num.51 List.152 List.553;
jump List.548 List.150 List.155 List.152 List.552 List.154; jump List.548 List.149 List.154 List.151 List.552 List.153;
else else
dec List.150; dec List.149;
ret List.151; ret List.150;
in in
jump List.548 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17; 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; let Bool.24 : Int1 = false;
ret Bool.24; ret Bool.24;
procedure List.2 (List.102, List.103): procedure List.2 (List.101, List.102):
let List.559 : U64 = CallByName List.6 List.102; let List.559 : U64 = CallByName List.6 List.101;
let List.555 : Int1 = CallByName Num.22 List.103 List.559; let List.555 : Int1 = CallByName Num.22 List.102 List.559;
if List.555 then 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; inc List.557;
dec List.102; dec List.101;
let List.556 : [C {}, C Str] = TagId(1) List.557; let List.556 : [C {}, C Str] = TagId(1) List.557;
ret List.556; ret List.556;
else else
dec List.102; dec List.101;
let List.554 : {} = Struct {}; let List.554 : {} = Struct {};
let List.553 : [C {}, C Str] = TagId(0) List.554; let List.553 : [C {}, C Str] = TagId(0) List.554;
ret List.553; ret List.553;
@ -30,15 +30,15 @@ procedure List.66 (#Attr.2, #Attr.3):
let List.558 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3; let List.558 : Str = lowlevel ListGetUnsafe #Attr.2 #Attr.3;
ret List.558; ret List.558;
procedure List.9 (List.308): procedure List.9 (List.307):
let List.552 : U64 = 0i64; 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.549 : U8 = 1i64;
let List.550 : U8 = GetTagId List.545; let List.550 : U8 = GetTagId List.545;
let List.551 : Int1 = lowlevel Eq List.549 List.550; let List.551 : Int1 = lowlevel Eq List.549 List.550;
if List.551 then if List.551 then
let List.309 : Str = UnionAtIndex (Id 1) (Index 0) List.545; let List.308 : Str = UnionAtIndex (Id 1) (Index 0) List.545;
let List.546 : [C {}, C Str] = TagId(1) List.309; let List.546 : [C {}, C Str] = TagId(1) List.308;
ret List.546; ret List.546;
else else
dec List.545; dec List.545;

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,19 +1,19 @@
procedure List.2 (List.102, List.103): procedure List.2 (List.101, List.102):
let List.567 : U64 = CallByName List.6 List.102; let List.567 : U64 = CallByName List.6 List.101;
let List.564 : Int1 = CallByName Num.22 List.103 List.567; let List.564 : Int1 = CallByName Num.22 List.102 List.567;
if List.564 then if List.564 then
let List.566 : I64 = CallByName List.66 List.102 List.103; let List.566 : I64 = CallByName List.66 List.101 List.102;
dec List.102; dec List.101;
let List.565 : [C {}, C I64] = TagId(1) List.566; let List.565 : [C {}, C I64] = TagId(1) List.566;
ret List.565; ret List.565;
else else
dec List.102; dec List.101;
let List.563 : {} = Struct {}; let List.563 : {} = Struct {};
let List.562 : [C {}, C I64] = TagId(0) List.563; let List.562 : [C {}, C I64] = TagId(0) List.563;
ret List.562; ret List.562;
procedure List.3 (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.110 List.111 List.112; let List.554 : {List I64, I64} = CallByName List.64 List.109 List.110 List.111;
let List.553 : List I64 = StructAtIndex 0 List.554; let List.553 : List I64 = StructAtIndex 0 List.554;
ret List.553; ret List.553;
@ -21,14 +21,14 @@ procedure List.6 (#Attr.2):
let List.552 : U64 = lowlevel ListLen #Attr.2; let List.552 : U64 = lowlevel ListLen #Attr.2;
ret List.552; ret List.552;
procedure List.64 (List.107, List.108, List.109): procedure List.64 (List.106, List.107, List.108):
let List.551 : U64 = CallByName List.6 List.107; let List.551 : U64 = CallByName List.6 List.106;
let List.548 : Int1 = CallByName Num.22 List.108 List.551; let List.548 : Int1 = CallByName Num.22 List.107 List.551;
if List.548 then 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; ret List.549;
else 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; ret List.547;
procedure List.66 (#Attr.2, #Attr.3): 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; let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
ret Encode.108; 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.572 : U64 = 0i64;
let List.573 : U64 = CallByName List.6 List.147; let List.573 : U64 = CallByName List.6 List.146;
let List.571 : {List U8, U64} = CallByName List.87 List.147 List.148 List.149 List.572 List.573; let List.571 : {List U8, U64} = CallByName List.86 List.146 List.147 List.148 List.572 List.573;
ret List.571; 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.584 : U64 = 0i64;
let List.585 : U64 = CallByName List.6 List.147; let List.585 : U64 = CallByName List.6 List.146;
let List.583 : List U8 = CallByName List.87 List.147 List.148 List.149 List.584 List.585; let List.583 : List U8 = CallByName List.86 List.146 List.147 List.148 List.584 List.585;
ret List.583; ret List.583;
procedure List.26 (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.98 List.174 List.175 List.176; 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.628 : U8 = 1i64;
let List.629 : U8 = GetTagId List.625; let List.629 : U8 = GetTagId List.625;
let List.630 : Int1 = lowlevel Eq List.628 List.629; let List.630 : Int1 = lowlevel Eq List.628 List.629;
if List.630 then if List.630 then
let List.177 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.625; let List.176 : {U64, Int1} = UnionAtIndex (Id 1) (Index 0) List.625;
ret List.177; ret List.176;
else else
let List.178 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.625; let List.177 : {U64, Int1} = UnionAtIndex (Id 0) (Index 0) List.625;
ret List.178; ret List.177;
procedure List.4 (List.118, List.119): procedure List.4 (List.117, List.118):
let List.570 : U64 = 1i64; let List.570 : U64 = 1i64;
let List.569 : List U8 = CallByName List.70 List.118 List.570; let List.569 : List U8 = CallByName List.70 List.117 List.570;
let List.568 : List U8 = CallByName List.71 List.569 List.119; let List.568 : List U8 = CallByName List.71 List.569 List.118;
ret List.568; ret List.568;
procedure List.49 (List.392, List.393): 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 in
jump List.634 #Derived_gen.8 #Derived_gen.9 #Derived_gen.10 #Derived_gen.11 #Derived_gen.12; 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): procedure List.86 (#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: joinpoint List.586 List.149 List.150 List.151 List.152 List.153:
let List.588 : Int1 = CallByName Num.22 List.153 List.154; let List.588 : Int1 = CallByName Num.22 List.152 List.153;
if List.588 then if List.588 then
let List.592 : U8 = CallByName List.66 List.150 List.153; let List.592 : U8 = CallByName List.66 List.149 List.152;
let List.155 : List U8 = CallByName TotallyNotJson.215 List.151 List.592; let List.154 : List U8 = CallByName TotallyNotJson.215 List.150 List.592;
let List.591 : U64 = 1i64; let List.591 : U64 = 1i64;
let List.590 : U64 = CallByName Num.51 List.153 List.591; let List.590 : U64 = CallByName Num.51 List.152 List.591;
jump List.586 List.150 List.155 List.152 List.590 List.154; jump List.586 List.149 List.154 List.151 List.590 List.153;
else else
dec List.150; dec List.149;
ret List.151; ret List.150;
in in
jump List.586 #Derived_gen.13 #Derived_gen.14 #Derived_gen.15 #Derived_gen.16 #Derived_gen.17; 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): procedure List.86 (#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: joinpoint List.574 List.149 List.150 List.151 List.152 List.153:
let List.576 : Int1 = CallByName Num.22 List.153 List.154; let List.576 : Int1 = CallByName Num.22 List.152 List.153;
if List.576 then 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; 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.579 : U64 = 1i64;
let List.578 : U64 = CallByName Num.51 List.153 List.579; let List.578 : U64 = CallByName Num.51 List.152 List.579;
jump List.574 List.150 List.155 List.152 List.578 List.154; jump List.574 List.149 List.154 List.151 List.578 List.153;
else else
dec List.150; dec List.149;
ret List.151; ret List.150;
in in
jump List.574 #Derived_gen.3 #Derived_gen.4 #Derived_gen.5 #Derived_gen.6 #Derived_gen.7; 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.632 : U64 = 0i64;
let List.633 : U64 = CallByName List.6 List.460; 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; 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; let Encode.108 : List U8 = CallByName Encode.24 Encode.109 Encode.110 Encode.106;
ret Encode.108; 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.572 : U64 = 0i64;
let List.573 : U64 = CallByName List.6 List.147; let List.573 : U64 = CallByName List.6 List.146;
let List.571 : {List U8, U64} = CallByName List.87 List.147 List.148 List.149 List.572 List.573; let List.571 : {List U8, U64} = CallByName List.86 List.146 List.147 List.148 List.572 List.573;
ret List.571; 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.612 : U64 = 0i64;
let List.613 : U64 = CallByName List.6 List.147; let List.613 : U64 = CallByName List.6 List.146;
let List.611 : {List U8, U64} = CallByName List.87 List.147 List.148 List.149 List.612 List.613; let List.611 : {List U8, U64} = CallByName List.86 List.146 List.147 List.148 List.612 List.613;
ret List.611; ret List.611;
procedure List.4 (List.118, List.119): procedure List.4 (List.117, List.118):
let List.610 : U64 = 1i64; let List.610 : U64 = 1i64;
let List.609 : List U8 = CallByName List.70 List.118 List.610; let List.609 : List U8 = CallByName List.70 List.117 List.610;
let List.608 : List U8 = CallByName List.71 List.609 List.119; let List.608 : List U8 = CallByName List.71 List.609 List.118;
ret List.608; ret List.608;
procedure List.6 (#Attr.2): 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; let List.624 : List U8 = lowlevel ListConcat #Attr.2 #Attr.3;
ret List.624; ret List.624;
procedure List.87 (#Derived_gen.20, #Derived_gen.21, #Derived_gen.22, #Derived_gen.23, #Derived_gen.24): procedure List.86 (#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: joinpoint List.574 List.149 List.150 List.151 List.152 List.153:
let List.576 : Int1 = CallByName Num.22 List.153 List.154; let List.576 : Int1 = CallByName Num.22 List.152 List.153;
if List.576 then if List.576 then
let List.580 : [C {}, C {}] = CallByName List.66 List.150 List.153; let List.580 : [C {}, C {}] = CallByName List.66 List.149 List.152;
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.579 : U64 = 1i64;
let List.578 : U64 = CallByName Num.51 List.153 List.579; let List.578 : U64 = CallByName Num.51 List.152 List.579;
jump List.574 List.150 List.155 List.152 List.578 List.154; jump List.574 List.149 List.154 List.151 List.578 List.153;
else else
dec List.150; dec List.149;
ret List.151; ret List.150;
in in
jump List.574 #Derived_gen.20 #Derived_gen.21 #Derived_gen.22 #Derived_gen.23 #Derived_gen.24; 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): procedure List.86 (#Derived_gen.34, #Derived_gen.35, #Derived_gen.36, #Derived_gen.37, #Derived_gen.38):
joinpoint List.614 List.150 List.151 List.152 List.153 List.154: joinpoint List.614 List.149 List.150 List.151 List.152 List.153:
let List.616 : Int1 = CallByName Num.22 List.153 List.154; let List.616 : Int1 = CallByName Num.22 List.152 List.153;
if List.616 then if List.616 then
let List.620 : [] = CallByName List.66 List.150 List.153; let List.620 : [] = CallByName List.66 List.149 List.152;
let List.155 : {List U8, U64} = CallByName TotallyNotJson.267 List.151 List.620 List.152; let List.154 : {List U8, U64} = CallByName TotallyNotJson.267 List.150 List.620 List.151;
let List.619 : U64 = 1i64; let List.619 : U64 = 1i64;
let List.618 : U64 = CallByName Num.51 List.153 List.619; let List.618 : U64 = CallByName Num.51 List.152 List.619;
jump List.614 List.150 List.155 List.152 List.618 List.154; jump List.614 List.149 List.154 List.151 List.618 List.153;
else else
dec List.150; dec List.149;
ret List.151; ret List.150;
in 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): procedure Num.127 (#Attr.2):
let Num.310 : U8 = lowlevel NumIntCast #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; let Bool.24 : Int1 = lowlevel Eq #Attr.2 #Attr.3;
ret Bool.24; ret Bool.24;
procedure List.26 (List.174, List.175, List.176): procedure List.26 (List.173, List.174, List.175):
let List.560 : [C U64, C U64] = CallByName List.98 List.174 List.175 List.176; let List.560 : [C U64, C U64] = CallByName List.97 List.173 List.174 List.175;
let List.563 : U8 = 1i64; let List.563 : U8 = 1i64;
let List.564 : U8 = GetTagId List.560; let List.564 : U8 = GetTagId List.560;
let List.565 : Int1 = lowlevel Eq List.563 List.564; let List.565 : Int1 = lowlevel Eq List.563 List.564;
if List.565 then if List.565 then
let List.177 : U64 = UnionAtIndex (Id 1) (Index 0) List.560; let List.176 : U64 = UnionAtIndex (Id 1) (Index 0) List.560;
ret List.177; ret List.176;
else else
let List.178 : U64 = UnionAtIndex (Id 0) (Index 0) List.560; let List.177 : U64 = UnionAtIndex (Id 0) (Index 0) List.560;
ret List.178; ret List.177;
procedure List.29 (List.319, List.320): procedure List.38 (List.316, List.317):
let List.559 : U64 = CallByName List.6 List.319; let List.559 : U64 = CallByName List.6 List.316;
let List.321 : U64 = CallByName Num.77 List.559 List.320; let List.318 : U64 = CallByName Num.77 List.559 List.317;
let List.545 : List U8 = CallByName List.43 List.319 List.321; let List.545 : List U8 = CallByName List.43 List.316 List.318;
ret List.545; ret List.545;
procedure List.43 (List.317, List.318): procedure List.43 (List.314, List.315):
let List.557 : U64 = CallByName List.6 List.317; let List.557 : U64 = CallByName List.6 List.314;
let List.556 : U64 = CallByName Num.77 List.557 List.318; let List.556 : U64 = CallByName Num.77 List.557 List.315;
let List.547 : {U64, U64} = Struct {List.318, List.556}; let List.547 : {U64, U64} = Struct {List.315, List.556};
let List.546 : List U8 = CallByName List.49 List.317 List.547; let List.546 : List U8 = CallByName List.49 List.314 List.547;
ret List.546; ret List.546;
procedure List.49 (List.392, List.393): 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 in
jump List.569 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4; 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.567 : U64 = 0i64;
let List.568 : U64 = CallByName List.6 List.460; 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; 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 if Test.7 then
ret Test.1; ret Test.1;
else 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; ret Test.6;

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,7 +1,7 @@
app "roc-tutorial" app "roc-tutorial"
packages { pf: "../../../examples/static-site-gen/platform/main.roc" } packages { pf: "../../../examples/static-site-gen/platform/main.roc" }
imports [ 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 }, pf.Html.Attributes.{ content, name, for, id, type, href, rel, lang, title, charset, src, role },
] ]
provides [transformFileContent] to pf 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: 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. ## One plus one should equal two.
expect 1 + 1 == 2 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: 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 colors
|> Set.insert "Purple" |> Set.insert "Purple"
|> Set.insert "Orange" |> 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: This makes Roc functions naturally amenable to pipelining, as we saw in the earlier example:
```elm ```roc
colors colors
|> Set.insert "Purple" |> Set.insert "Purple"
|> Set.insert "Orange" |> 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: A benefit of this design is that it makes Roc code easier to rearrange without causing regressions. Consider this code:
```elm ```roc
func = \arg -> func = \arg ->
greeting = "Hello" greeting = "Hello"
welcome = \name -> "\(greeting), \(name)!" welcome = \name -> "\(greeting), \(name)!"
#
message = welcome "friend" message = welcome "friend"
#
``` ```
Suppose I decide to extract the `welcome` function to the top level, so I can reuse it elsewhere: Suppose I decide to extract the `welcome` function to the top level, so I can reuse it elsewhere:
```elm ```roc
func = \arg -> func = \arg ->
#
message = welcome "Hello" "friend" message = welcome "Hello" "friend"
#
welcome = \prefix, name -> "\(prefix), \(name)!" 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 -> func = \arg ->
greeting = "Hello" greeting = "Hello"
welcome = \name -> "\(greeting), \(name)!" welcome = \name -> "\(greeting), \(name)!"
#
if someCondition then if someCondition then
greeting = "Hi" greeting = "Hi"
#
else else
#
#
message = welcome "friend" 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. 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"> <section class="home-goals-container">
<div class="home-goals-column"> <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> <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-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> <p class="home-goals-learn-more">What does <i>fast</i> mean here?</p>
</a> </a>
</div> </div>
<div class="home-goals-column"> <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> <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-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> <p class="home-goals-learn-more">What does <i>friendly</i> mean here?</p>
</a> </a>
</div> </div>
<div class="home-goals-column"> <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> <h3 class="home-goals-title">Functional</h3>
<p class="home-goals-description"> <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> 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"> <div id="repl" role="presentation">
<code class="history"> <code class="history">
<div id="help-text"></div> <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> </code>
<section id="source-input-wrapper"> <section id="source-input-wrapper">
<textarea rows="5" id="source-input" placeholder="You can enter Roc code here once the REPL loads!" <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" } packages { pf: "../../examples/static-site-gen/platform/main.roc" }
imports [ imports [
pf.Html.{ html, head, body, header, footer, div, main, text, nav, a, link, meta, script }, 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, InteractiveExample,
] ]
provides [transformFileContent] to pf 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 viewNavbar : Str -> Html.Node

View file

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