diff --git a/examples/n-body/assembly/index.ts b/examples/n-body/assembly/index.ts index 4173cb117b..4fe1ddf626 100644 --- a/examples/n-body/assembly/index.ts +++ b/examples/n-body/assembly/index.ts @@ -82,7 +82,7 @@ function Neptune(): Body { class NBodySystem { - constructor(public bodies: Body[]) { + constructor(public bodies: StaticArray) { var px: float = 0.0; var py: float = 0.0; var pz: float = 0.0; diff --git a/examples/n-body/build/index.asm.js b/examples/n-body/build/index.asm.js index a34219ace4..5b3416dec5 100644 --- a/examples/n-body/build/index.asm.js +++ b/examples/n-body/build/index.asm.js @@ -58,20 +58,20 @@ function asmFunc(global, env, buffer) { function assembly_index_NBodySystem_constructor($0) { var $1 = 0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0; - $7 = HEAP32[($0 + 12 | 0) >> 2]; - loop_0 : while (1) { + $7 = HEAP32[(($0 - 16 | 0) + 12 | 0) >> 2] >>> 2 | 0; + for_loop_0 : while (1) { if (($1 | 0) < ($7 | 0)) { - $2 = HEAP32[(HEAP32[($0 + 4 | 0) >> 2] + ($1 << 2 | 0) | 0) >> 2]; + $2 = HEAP32[(($1 << 2 | 0) + $0 | 0) >> 2]; $3 = HEAPF64[($2 + 48 | 0) >> 3]; $4 = $4 + HEAPF64[($2 + 24 | 0) >> 3] * $3; $5 = $5 + HEAPF64[($2 + 32 | 0) >> 3] * $3; $6 = $6 + HEAPF64[($2 + 40 | 0) >> 3] * $3; $1 = $1 + 1 | 0; - continue loop_0; + continue for_loop_0; } - break loop_0; + break for_loop_0; }; - $1 = HEAP32[HEAP32[($0 + 4 | 0) >> 2] >> 2]; + $1 = HEAP32[$0 >> 2]; HEAPF64[($1 + 24 | 0) >> 3] = -$4 / 39.47841760435743; HEAPF64[($1 + 32 | 0) >> 3] = -$5 / 39.47841760435743; HEAPF64[($1 + 40 | 0) >> 3] = -$6 / 39.47841760435743; @@ -93,36 +93,24 @@ function asmFunc(global, env, buffer) { return $7; } - function $lib_rt___allocArray() { - var $0 = 0, $1 = 0; - $0 = $lib_rt_stub___alloc(16, 5); - $1 = $lib_rt_stub___alloc(20, 0); - HEAP32[$0 >> 2] = $1; - HEAP32[($0 + 4 | 0) >> 2] = $1; - HEAP32[($0 + 8 | 0) >> 2] = 20; - HEAP32[($0 + 12 | 0) >> 2] = 5; - return $0; - } - function assembly_index_init() { - var $0 = 0, $1 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; - $1 = $lib_rt___allocArray(); - $0 = HEAP32[($1 + 4 | 0) >> 2]; + var $0 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $0 = $lib_rt_stub___alloc(20, 5); (wasm2js_i32$0 = $0, wasm2js_i32$1 = assembly_index_Body_constructor(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 39.47841760435743)), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $0, wasm2js_i32$1 = assembly_index_Body_constructor(4.841431442464721, -1.1603200440274284, -.10362204447112311, .606326392995832, 2.81198684491626, -.02521836165988763, .03769367487038949)), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $0, wasm2js_i32$1 = assembly_index_Body_constructor(8.34336671824458, 4.124798564124305, -.4035234171143214, -1.0107743461787924, 1.8256623712304119, .008415761376584154, .011286326131968767)), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $0, wasm2js_i32$1 = assembly_index_Body_constructor(12.894369562139131, -15.111151401698631, -.22330757889265573, 1.0827910064415354, .8687130181696082, -.010832637401363636, 1.7237240570597112e-03)), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; (wasm2js_i32$0 = $0, wasm2js_i32$1 = assembly_index_Body_constructor(15.379697114850917, -25.919314609987964, .17925877295037118, .979090732243898, .5946989986476762, -.034755955504078104, 2.0336868699246304e-03)), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; - assembly_index_system = assembly_index_NBodySystem_constructor($1); + assembly_index_system = assembly_index_NBodySystem_constructor($0); } function assembly_index_NBodySystem_advance($0) { var $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0; $12 = HEAP32[$0 >> 2]; - $13 = HEAP32[($12 + 12 | 0) >> 2]; - loop_0 : while (1) { + $13 = HEAP32[(($12 - 16 | 0) + 12 | 0) >> 2] >>> 2 | 0; + for_loop_0 : while (1) { if ($4 >>> 0 < $13 >>> 0) { - $0 = HEAP32[(HEAP32[($12 + 4 | 0) >> 2] + ($4 << 2 | 0) | 0) >> 2]; + $0 = HEAP32[(($4 << 2 | 0) + $12 | 0) >> 2]; $14 = HEAPF64[$0 >> 3]; $15 = HEAPF64[($0 + 8 | 0) >> 3]; $16 = HEAPF64[($0 + 16 | 0) >> 3]; @@ -131,9 +119,9 @@ function asmFunc(global, env, buffer) { $7 = HEAPF64[($0 + 40 | 0) >> 3]; $17 = HEAPF64[($0 + 48 | 0) >> 3]; $8 = $4 + 1 | 0; - loop_1 : while (1) { + for_loop_1 : while (1) { if ($8 >>> 0 < $13 >>> 0) { - $1 = HEAP32[(HEAP32[($12 + 4 | 0) >> 2] + ($8 << 2 | 0) | 0) >> 2]; + $1 = HEAP32[(($8 << 2 | 0) + $12 | 0) >> 2]; $2 = $14 - HEAPF64[$1 >> 3]; $9 = $15 - HEAPF64[($1 + 8 | 0) >> 3]; $10 = $16 - HEAPF64[($1 + 16 | 0) >> 3]; @@ -150,9 +138,9 @@ function asmFunc(global, env, buffer) { HEAPF64[($1 + 32 | 0) >> 3] = HEAPF64[($1 + 32 | 0) >> 3] + $9 * $2; HEAPF64[($1 + 40 | 0) >> 3] = HEAPF64[($1 + 40 | 0) >> 3] + $10 * $2; $8 = $8 + 1 | 0; - continue loop_1; + continue for_loop_1; } - break loop_1; + break for_loop_1; }; HEAPF64[($0 + 24 | 0) >> 3] = $5; HEAPF64[($0 + 32 | 0) >> 3] = $6; @@ -161,19 +149,19 @@ function asmFunc(global, env, buffer) { HEAPF64[($0 + 8 | 0) >> 3] = HEAPF64[($0 + 8 | 0) >> 3] + .01 * $6; HEAPF64[($0 + 16 | 0) >> 3] = HEAPF64[($0 + 16 | 0) >> 3] + .01 * $7; $4 = $4 + 1 | 0; - continue loop_0; + continue for_loop_0; } - break loop_0; + break for_loop_0; }; } function assembly_index_NBodySystem_energy($0) { var $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $10 = 0.0, $11 = 0.0; $5 = HEAP32[$0 >> 2]; - $7 = HEAP32[($5 + 12 | 0) >> 2]; - loop_0 : while (1) { + $7 = HEAP32[(($5 - 16 | 0) + 12 | 0) >> 2] >>> 2 | 0; + for_loop_0 : while (1) { if ($3 >>> 0 < $7 >>> 0) { - $0 = HEAP32[(HEAP32[($5 + 4 | 0) >> 2] + ($3 << 2 | 0) | 0) >> 2]; + $0 = HEAP32[(($3 << 2 | 0) + $5 | 0) >> 2]; $9 = HEAPF64[$0 >> 3]; $10 = HEAPF64[($0 + 8 | 0) >> 3]; $11 = HEAPF64[($0 + 16 | 0) >> 3]; @@ -186,9 +174,9 @@ function asmFunc(global, env, buffer) { $1 = HEAPF64[($0 + 40 | 0) >> 3]; $1 = $6 + .5 * $8 * ($2 + $1 * $1); $0 = $3 + 1 | 0; - loop_1 : while (1) { + for_loop_1 : while (1) { if ($0 >>> 0 < $7 >>> 0) { - $4 = HEAP32[(HEAP32[($5 + 4 | 0) >> 2] + ($0 << 2 | 0) | 0) >> 2]; + $4 = HEAP32[(($0 << 2 | 0) + $5 | 0) >> 2]; $6 = $1; $1 = $9 - HEAPF64[$4 >> 3]; $2 = $1 * $1; @@ -197,14 +185,14 @@ function asmFunc(global, env, buffer) { $1 = $11 - HEAPF64[($4 + 16 | 0) >> 3]; $1 = $6 - $8 * HEAPF64[($4 + 48 | 0) >> 3] / Math_sqrt($2 + $1 * $1); $0 = $0 + 1 | 0; - continue loop_1; + continue for_loop_1; } - break loop_1; + break for_loop_1; }; $3 = $3 + 1 | 0; - continue loop_0; + continue for_loop_0; } - break loop_0; + break for_loop_0; }; return $1; } @@ -217,13 +205,13 @@ function asmFunc(global, env, buffer) { function assembly_index_bench($0) { $0 = $0 | 0; var $1 = 0; - loop_0 : while (1) { + for_loop_0 : while (1) { if ($1 >>> 0 < $0 >>> 0) { assembly_index_NBodySystem_advance(assembly_index_system); $1 = $1 + 1 | 0; - continue loop_0; + continue for_loop_0; } - break loop_0; + break for_loop_0; }; } @@ -231,15 +219,15 @@ function asmFunc(global, env, buffer) { $0 = $0 | 0; var $1 = 0; $1 = HEAP32[assembly_index_system >> 2]; - if ($0 >>> 0 < HEAP32[($1 + 12 | 0) >> 2] >>> 0) { - $0 = HEAP32[(HEAP32[($1 + 4 | 0) >> 2] + ($0 << 2 | 0) | 0) >> 2] + if ($0 >>> 0 < (HEAP32[(($1 - 16 | 0) + 12 | 0) >> 2] >>> 2 | 0) >>> 0) { + $0 = HEAP32[(($0 << 2 | 0) + $1 | 0) >> 2] } else { $0 = 0 } return $0 | 0; } - function start() { + function $start() { $lib_rt_stub_startOffset = 16; $lib_rt_stub_offset = 16; } diff --git a/examples/n-body/build/index.js b/examples/n-body/build/index.js index ca3ead7976..750fdd137a 100644 --- a/examples/n-body/build/index.js +++ b/examples/n-body/build/index.js @@ -1,6 +1,7 @@ "use strict"; +// From The Computer Language Benchmarks Game +// http://benchmarksgame.alioth.debian.org Object.defineProperty(exports, "__esModule", { value: true }); -require("allocator/arena"); const SOLAR_MASS = (4.0 * Math.PI * Math.PI); const DAYS_PER_YEAR = 365.24; class Body { diff --git a/examples/n-body/build/optimized.wasm b/examples/n-body/build/optimized.wasm index ed28ad53fd..7f29650667 100644 Binary files a/examples/n-body/build/optimized.wasm and b/examples/n-body/build/optimized.wasm differ diff --git a/examples/n-body/build/optimized.wat b/examples/n-body/build/optimized.wat index d9351098b8..92847d63c7 100644 --- a/examples/n-body/build/optimized.wat +++ b/examples/n-body/build/optimized.wat @@ -2,7 +2,6 @@ (type $i32_=>_none (func (param i32))) (type $none_=>_none (func)) (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_i32 (func (result i32))) (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $f64_f64_f64_f64_f64_f64_f64_=>_i32 (func (param f64 f64 f64 f64 f64 f64 f64) (result i32))) (type $none_=>_f64 (func (result f64))) @@ -16,7 +15,7 @@ (export "step" (func $assembly/index/step)) (export "bench" (func $assembly/index/bench)) (export "getBody" (func $assembly/index/getBody)) - (start $start) + (start $~start) (func $~lib/rt/stub/maybeGrowMemory (; 0 ;) (param $0 i32) (local $1 i32) (local $2 i32) @@ -113,15 +112,18 @@ (local $6 f64) (local $7 i32) local.get $0 + i32.const 16 + i32.sub i32.load offset=12 + i32.const 2 + i32.shr_u local.set $7 - loop $loop|0 + loop $for-loop|0 local.get $1 local.get $7 i32.lt_s if local.get $0 - i32.load offset=4 local.get $1 i32.const 2 i32.shl @@ -155,11 +157,10 @@ i32.const 1 i32.add local.set $1 - br $loop|0 + br $for-loop|0 end end local.get $0 - i32.load offset=4 i32.load local.tee $1 local.get $4 @@ -215,35 +216,11 @@ f64.store offset=48 local.get $7 ) - (func $~lib/rt/__allocArray (; 4 ;) (result i32) + (func $assembly/index/init (; 4 ;) (local $0 i32) - (local $1 i32) - i32.const 16 - i32.const 5 - call $~lib/rt/stub/__alloc - local.tee $0 i32.const 20 - i32.const 0 - call $~lib/rt/stub/__alloc - local.tee $1 - i32.store - local.get $0 - local.get $1 - i32.store offset=4 - local.get $0 - i32.const 20 - i32.store offset=8 - local.get $0 i32.const 5 - i32.store offset=12 - local.get $0 - ) - (func $assembly/index/init (; 5 ;) - (local $0 i32) - (local $1 i32) - call $~lib/rt/__allocArray - local.tee $1 - i32.load offset=4 + call $~lib/rt/stub/__alloc local.tee $0 f64.const 0 f64.const 0 @@ -294,11 +271,11 @@ f64.const 2.0336868699246304e-03 call $assembly/index/Body#constructor i32.store offset=16 - local.get $1 + local.get $0 call $assembly/index/NBodySystem#constructor global.set $assembly/index/system ) - (func $assembly/index/NBodySystem#advance (; 6 ;) (param $0 i32) + (func $assembly/index/NBodySystem#advance (; 5 ;) (param $0 i32) (local $1 i32) (local $2 f64) (local $3 i32) @@ -319,15 +296,18 @@ local.get $0 i32.load local.tee $12 + i32.const 16 + i32.sub i32.load offset=12 + i32.const 2 + i32.shr_u local.set $13 - loop $loop|0 + loop $for-loop|0 local.get $3 local.get $13 i32.lt_u if local.get $12 - i32.load offset=4 local.get $3 i32.const 2 i32.shl @@ -358,14 +338,13 @@ i32.const 1 i32.add local.set $7 - loop $loop|1 + loop $for-loop|1 local.get $7 local.get $13 i32.lt_u if local.get $14 local.get $12 - i32.load offset=4 local.get $7 i32.const 2 i32.shl @@ -454,7 +433,7 @@ i32.const 1 i32.add local.set $7 - br $loop|1 + br $for-loop|1 end end local.get $0 @@ -494,11 +473,11 @@ i32.const 1 i32.add local.set $3 - br $loop|0 + br $for-loop|0 end end ) - (func $assembly/index/NBodySystem#energy (; 7 ;) (param $0 i32) (result f64) + (func $assembly/index/NBodySystem#energy (; 6 ;) (param $0 i32) (result f64) (local $1 f64) (local $2 i32) (local $3 i32) @@ -512,15 +491,18 @@ local.get $0 i32.load local.tee $4 + i32.const 16 + i32.sub i32.load offset=12 + i32.const 2 + i32.shr_u local.set $5 - loop $loop|0 + loop $for-loop|0 local.get $2 local.get $5 i32.lt_u if local.get $4 - i32.load offset=4 local.get $2 i32.const 2 i32.shl @@ -565,14 +547,13 @@ i32.const 1 i32.add local.set $0 - loop $loop|1 + loop $for-loop|1 local.get $0 local.get $5 i32.lt_u if local.get $7 local.get $4 - i32.load offset=4 local.get $0 i32.const 2 i32.shl @@ -614,53 +595,55 @@ i32.const 1 i32.add local.set $0 - br $loop|1 + br $for-loop|1 end end local.get $2 i32.const 1 i32.add local.set $2 - br $loop|0 + br $for-loop|0 end end local.get $1 ) - (func $assembly/index/step (; 8 ;) (result f64) + (func $assembly/index/step (; 7 ;) (result f64) global.get $assembly/index/system call $assembly/index/NBodySystem#advance global.get $assembly/index/system call $assembly/index/NBodySystem#energy ) - (func $assembly/index/bench (; 9 ;) (param $0 i32) + (func $assembly/index/bench (; 8 ;) (param $0 i32) (local $1 i32) - loop $loop|0 - block $break|0 - local.get $1 - local.get $0 - i32.ge_u - br_if $break|0 + loop $for-loop|0 + local.get $1 + local.get $0 + i32.lt_u + if global.get $assembly/index/system call $assembly/index/NBodySystem#advance local.get $1 i32.const 1 i32.add local.set $1 - br $loop|0 + br $for-loop|0 end end ) - (func $assembly/index/getBody (; 10 ;) (param $0 i32) (result i32) + (func $assembly/index/getBody (; 9 ;) (param $0 i32) (result i32) (local $1 i32) local.get $0 global.get $assembly/index/system i32.load local.tee $1 + i32.const 16 + i32.sub i32.load offset=12 + i32.const 2 + i32.shr_u i32.lt_u if (result i32) local.get $1 - i32.load offset=4 local.get $0 i32.const 2 i32.shl @@ -670,7 +653,7 @@ i32.const 0 end ) - (func $start (; 11 ;) + (func $~start (; 10 ;) i32.const 16 global.set $~lib/rt/stub/startOffset i32.const 16 diff --git a/examples/n-body/build/untouched.wat b/examples/n-body/build/untouched.wat index 757af7936a..4ecd32c47b 100644 --- a/examples/n-body/build/untouched.wat +++ b/examples/n-body/build/untouched.wat @@ -6,7 +6,7 @@ (type $none_=>_none (func)) (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) (type $i32_f64_=>_none (func (param i32 f64))) - (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) + (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) (type $i32_f64_f64_f64_=>_i32 (func (param i32 f64 f64 f64) (result i32))) (type $i32_f64_f64_f64_f64_f64_f64_f64_=>_i32 (func (param i32 f64 f64 f64 f64 f64 f64 f64) (result i32))) (type $none_=>_f64 (func (result f64))) @@ -26,17 +26,20 @@ (export "step" (func $assembly/index/step)) (export "bench" (func $assembly/index/bench)) (export "getBody" (func $assembly/index/getBody)) - (start $start) + (start $~start) (func $~lib/rt/stub/__retain (; 0 ;) (param $0 i32) (result i32) local.get $0 ) - (func $~lib/array/Array#get:length (; 1 ;) (param $0 i32) (result i32) + (func $~lib/staticarray/StaticArray#get:length (; 1 ;) (param $0 i32) (result i32) local.get $0 + i32.const 16 + i32.sub i32.load offset=12 + i32.const 2 + i32.shr_u ) - (func $~lib/array/Array#__unchecked_get (; 2 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/staticarray/StaticArray#__unchecked_get (; 2 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 - i32.load offset=4 local.get $1 i32.const 2 i32.shl @@ -184,7 +187,8 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 f64) + (local $9 i32) + (local $10 f64) local.get $1 call $~lib/rt/stub/__retain local.set $1 @@ -195,62 +199,61 @@ f64.const 0 local.set $4 local.get $1 - call $~lib/array/Array#get:length + call $~lib/staticarray/StaticArray#get:length local.set $5 - block $break|0 - i32.const 0 - local.set $6 - loop $loop|0 - local.get $6 - local.get $5 - i32.lt_s - i32.eqz - br_if $break|0 + i32.const 0 + local.set $6 + loop $for-loop|0 + local.get $6 + local.get $5 + i32.lt_s + local.set $7 + local.get $7 + if local.get $1 local.get $6 - call $~lib/array/Array#__unchecked_get - local.tee $7 + call $~lib/staticarray/StaticArray#__unchecked_get + local.tee $8 call $~lib/rt/stub/__retain - local.set $8 - local.get $8 - f64.load offset=48 local.set $9 + local.get $9 + f64.load offset=48 + local.set $10 local.get $2 - local.get $8 - f64.load offset=24 local.get $9 + f64.load offset=24 + local.get $10 f64.mul f64.add local.set $2 local.get $3 - local.get $8 - f64.load offset=32 local.get $9 + f64.load offset=32 + local.get $10 f64.mul f64.add local.set $3 local.get $4 - local.get $8 - f64.load offset=40 local.get $9 + f64.load offset=40 + local.get $10 f64.mul f64.add local.set $4 - local.get $7 - call $~lib/rt/stub/__release local.get $8 call $~lib/rt/stub/__release + local.get $9 + call $~lib/rt/stub/__release local.get $6 i32.const 1 i32.add local.set $6 - br $loop|0 + br $for-loop|0 end - unreachable end local.get $1 i32.const 0 - call $~lib/array/Array#__unchecked_get + call $~lib/staticarray/StaticArray#__unchecked_get local.tee $6 local.get $2 local.get $3 @@ -400,39 +403,39 @@ (local $3 i32) (local $4 i32) (local $5 i32) - block $break|0 - loop $continue|0 - local.get $2 - if (result i32) - local.get $1 - i32.const 3 - i32.and - else - i32.const 0 - end - i32.eqz - br_if $break|0 + (local $6 i32) + loop $while-continue|0 + local.get $2 + if (result i32) + local.get $1 + i32.const 3 + i32.and + else + i32.const 0 + end + local.set $5 + local.get $5 + if local.get $0 - local.tee $5 + local.tee $6 i32.const 1 i32.add local.set $0 - local.get $5 + local.get $6 local.get $1 - local.tee $5 + local.tee $6 i32.const 1 i32.add local.set $1 - local.get $5 + local.get $6 i32.load8_u i32.store8 local.get $2 i32.const 1 i32.sub local.set $2 - br $continue|0 + br $while-continue|0 end - unreachable end local.get $0 i32.const 3 @@ -440,13 +443,13 @@ i32.const 0 i32.eq if - block $break|1 - loop $continue|1 - local.get $2 - i32.const 16 - i32.ge_u - i32.eqz - br_if $break|1 + loop $while-continue|1 + local.get $2 + i32.const 16 + i32.ge_u + local.set $5 + local.get $5 + if local.get $0 local.get $1 i32.load @@ -487,9 +490,8 @@ i32.const 16 i32.sub local.set $2 - br $continue|1 + br $while-continue|1 end - unreachable end local.get $2 i32.const 8 @@ -646,13 +648,13 @@ i32.const 3 i32.sub local.set $2 - block $break|3 - loop $continue|3 - local.get $2 - i32.const 17 - i32.ge_u - i32.eqz - br_if $break|3 + loop $while-continue|3 + local.get $2 + i32.const 17 + i32.ge_u + local.set $5 + local.get $5 + if local.get $1 i32.const 1 i32.add @@ -727,9 +729,8 @@ i32.const 16 i32.sub local.set $2 - br $continue|3 + br $while-continue|3 end - unreachable end br $break|2 end @@ -768,13 +769,13 @@ i32.const 2 i32.sub local.set $2 - block $break|4 - loop $continue|4 - local.get $2 - i32.const 18 - i32.ge_u - i32.eqz - br_if $break|4 + loop $while-continue|4 + local.get $2 + i32.const 18 + i32.ge_u + local.set $5 + local.get $5 + if local.get $1 i32.const 2 i32.add @@ -849,9 +850,8 @@ i32.const 16 i32.sub local.set $2 - br $continue|4 + br $while-continue|4 end - unreachable end br $break|2 end @@ -876,13 +876,13 @@ i32.const 1 i32.sub local.set $2 - block $break|5 - loop $continue|5 - local.get $2 - i32.const 19 - i32.ge_u - i32.eqz - br_if $break|5 + loop $while-continue|5 + local.get $2 + i32.const 19 + i32.ge_u + local.set $5 + local.get $5 + if local.get $1 i32.const 3 i32.add @@ -957,9 +957,8 @@ i32.const 16 i32.sub local.set $2 - br $continue|5 + br $while-continue|5 end - unreachable end br $break|2 end @@ -1429,6 +1428,7 @@ (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) block $~lib/util/memory/memmove|inlined.0 local.get $0 local.set $5 @@ -1475,13 +1475,13 @@ i32.and i32.eq if - block $break|0 - loop $continue|0 - local.get $5 - i32.const 7 - i32.and - i32.eqz - br_if $break|0 + loop $while-continue|0 + local.get $5 + i32.const 7 + i32.and + local.set $6 + local.get $6 + if local.get $3 i32.eqz if @@ -1492,30 +1492,29 @@ i32.sub local.set $3 local.get $5 - local.tee $6 + local.tee $7 i32.const 1 i32.add local.set $5 - local.get $6 + local.get $7 local.get $4 - local.tee $6 + local.tee $7 i32.const 1 i32.add local.set $4 - local.get $6 + local.get $7 i32.load8_u i32.store8 - br $continue|0 + br $while-continue|0 end - unreachable end - block $break|1 - loop $continue|1 - local.get $3 - i32.const 8 - i32.ge_u - i32.eqz - br_if $break|1 + loop $while-continue|1 + local.get $3 + i32.const 8 + i32.ge_u + local.set $6 + local.get $6 + if local.get $5 local.get $4 i64.load @@ -1532,37 +1531,35 @@ i32.const 8 i32.add local.set $4 - br $continue|1 + br $while-continue|1 end - unreachable end end - block $break|2 - loop $continue|2 - local.get $3 - i32.eqz - br_if $break|2 + loop $while-continue|2 + local.get $3 + local.set $6 + local.get $6 + if local.get $5 - local.tee $6 + local.tee $7 i32.const 1 i32.add local.set $5 - local.get $6 + local.get $7 local.get $4 - local.tee $6 + local.tee $7 i32.const 1 i32.add local.set $4 - local.get $6 + local.get $7 i32.load8_u i32.store8 local.get $3 i32.const 1 i32.sub local.set $3 - br $continue|2 + br $while-continue|2 end - unreachable end else local.get $4 @@ -1573,15 +1570,15 @@ i32.and i32.eq if - block $break|3 - loop $continue|3 - local.get $5 - local.get $3 - i32.add - i32.const 7 - i32.and - i32.eqz - br_if $break|3 + loop $while-continue|3 + local.get $5 + local.get $3 + i32.add + i32.const 7 + i32.and + local.set $6 + local.get $6 + if local.get $3 i32.eqz if @@ -1598,17 +1595,16 @@ i32.add i32.load8_u i32.store8 - br $continue|3 + br $while-continue|3 end - unreachable end - block $break|4 - loop $continue|4 - local.get $3 - i32.const 8 - i32.ge_u - i32.eqz - br_if $break|4 + loop $while-continue|4 + local.get $3 + i32.const 8 + i32.ge_u + local.set $6 + local.get $6 + if local.get $3 i32.const 8 i32.sub @@ -1621,16 +1617,15 @@ i32.add i64.load i64.store - br $continue|4 + br $while-continue|4 end - unreachable end end - block $break|5 - loop $continue|5 - local.get $3 - i32.eqz - br_if $break|5 + loop $while-continue|5 + local.get $3 + local.set $6 + local.get $6 + if local.get $5 local.get $3 i32.const 1 @@ -1642,110 +1637,61 @@ i32.add i32.load8_u i32.store8 - br $continue|5 + br $while-continue|5 end - unreachable end end end ) - (func $~lib/rt/__allocArray (; 16 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - i32.const 16 - local.get $2 - call $~lib/rt/stub/__alloc - local.set $4 + (func $~lib/rt/__allocBuffer (; 16 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) local.get $0 local.get $1 - i32.shl - local.set $5 - local.get $5 - i32.const 0 call $~lib/rt/stub/__alloc - local.set $6 - local.get $4 - local.get $6 - call $~lib/rt/stub/__retain - i32.store - local.get $4 - local.get $6 - i32.store offset=4 - local.get $4 - local.get $5 - i32.store offset=8 - local.get $4 - local.get $0 - i32.store offset=12 - local.get $3 + local.set $3 + local.get $2 if - local.get $6 local.get $3 - local.get $5 + local.get $2 + local.get $0 call $~lib/memory/memory.copy end - local.get $4 + local.get $3 ) (func $assembly/index/init (; 17 ;) (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) i32.const 0 - i32.const 5 - i32.const 2 + i32.const 20 i32.const 5 i32.const 0 - call $~lib/rt/__allocArray + call $~lib/rt/__allocBuffer + call $~lib/rt/stub/__retain local.set $0 local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 call $assembly/index/Sun - local.tee $2 - call $~lib/rt/stub/__retain i32.store - local.get $1 + local.get $0 call $assembly/index/Jupiter - local.tee $3 - call $~lib/rt/stub/__retain i32.store offset=4 - local.get $1 + local.get $0 call $assembly/index/Saturn - local.tee $4 - call $~lib/rt/stub/__retain i32.store offset=8 - local.get $1 + local.get $0 call $assembly/index/Uranus - local.tee $5 - call $~lib/rt/stub/__retain i32.store offset=12 - local.get $1 + local.get $0 call $assembly/index/Neptune - local.tee $6 - call $~lib/rt/stub/__retain i32.store offset=16 local.get $0 + local.tee $0 call $assembly/index/NBodySystem#constructor - local.set $0 + local.set $1 global.get $assembly/index/system call $~lib/rt/stub/__release - local.get $0 + local.get $1 global.set $assembly/index/system - local.get $2 - call $~lib/rt/stub/__release - local.get $3 - call $~lib/rt/stub/__release - local.get $4 - call $~lib/rt/stub/__release - local.get $5 - call $~lib/rt/stub/__release - local.get $6 + local.get $0 call $~lib/rt/stub/__release ) (func $assembly/index/NBodySystem#advance (; 18 ;) (param $0 i32) (param $1 f64) @@ -1754,229 +1700,229 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 f64) + (local $7 i32) (local $8 f64) (local $9 f64) (local $10 f64) (local $11 f64) (local $12 f64) (local $13 f64) - (local $14 i32) + (local $14 f64) (local $15 i32) (local $16 i32) - (local $17 f64) - (local $18 f64) + (local $17 i32) + (local $18 i32) (local $19 f64) (local $20 f64) (local $21 f64) (local $22 f64) (local $23 f64) (local $24 f64) + (local $25 f64) + (local $26 f64) local.get $0 i32.load call $~lib/rt/stub/__retain local.set $2 local.get $2 - call $~lib/array/Array#get:length + call $~lib/staticarray/StaticArray#get:length local.set $3 - block $break|0 - i32.const 0 - local.set $4 - loop $loop|0 - local.get $4 - local.get $3 - i32.lt_u - i32.eqz - br_if $break|0 + i32.const 0 + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $3 + i32.lt_u + local.set $5 + local.get $5 + if local.get $2 local.get $4 - call $~lib/array/Array#__unchecked_get - local.tee $5 + call $~lib/staticarray/StaticArray#__unchecked_get + local.tee $6 call $~lib/rt/stub/__retain - local.set $6 - local.get $6 - f64.load local.set $7 - local.get $6 - f64.load offset=8 + local.get $7 + f64.load local.set $8 - local.get $6 - f64.load offset=16 + local.get $7 + f64.load offset=8 local.set $9 - local.get $6 - f64.load offset=24 + local.get $7 + f64.load offset=16 local.set $10 - local.get $6 - f64.load offset=32 + local.get $7 + f64.load offset=24 local.set $11 - local.get $6 - f64.load offset=40 + local.get $7 + f64.load offset=32 local.set $12 - local.get $6 - f64.load offset=48 + local.get $7 + f64.load offset=40 local.set $13 - block $break|1 - local.get $4 - i32.const 1 - i32.add - local.set $14 - loop $loop|1 - local.get $14 - local.get $3 - i32.lt_u - i32.eqz - br_if $break|1 + local.get $7 + f64.load offset=48 + local.set $14 + local.get $4 + i32.const 1 + i32.add + local.set $15 + loop $for-loop|1 + local.get $15 + local.get $3 + i32.lt_u + local.set $16 + local.get $16 + if local.get $2 - local.get $14 - call $~lib/array/Array#__unchecked_get - local.tee $15 + local.get $15 + call $~lib/staticarray/StaticArray#__unchecked_get + local.tee $17 call $~lib/rt/stub/__retain - local.set $16 - local.get $7 - local.get $16 + local.set $18 + local.get $8 + local.get $18 f64.load f64.sub - local.set $17 - local.get $8 - local.get $16 + local.set $19 + local.get $9 + local.get $18 f64.load offset=8 f64.sub - local.set $18 - local.get $9 - local.get $16 + local.set $20 + local.get $10 + local.get $18 f64.load offset=16 f64.sub - local.set $19 - local.get $17 - local.get $17 - f64.mul - local.get $18 - local.get $18 - f64.mul - f64.add + local.set $21 local.get $19 local.get $19 f64.mul - f64.add - local.set $20 local.get $20 - local.set $21 - local.get $21 - f64.sqrt - local.set $21 - local.get $1 local.get $20 + f64.mul + f64.add + local.get $21 local.get $21 f64.mul - f64.div + f64.add local.set $22 - local.get $13 local.get $22 - f64.mul local.set $23 - local.get $16 - f64.load offset=48 + local.get $23 + f64.sqrt + local.set $23 + local.get $1 local.get $22 + local.get $23 f64.mul + f64.div local.set $24 - local.get $10 - local.get $17 + local.get $14 local.get $24 f64.mul - f64.sub - local.set $10 - local.get $11 + local.set $25 local.get $18 + f64.load offset=48 local.get $24 f64.mul + local.set $26 + local.get $11 + local.get $19 + local.get $26 + f64.mul f64.sub local.set $11 local.get $12 - local.get $19 - local.get $24 + local.get $20 + local.get $26 f64.mul f64.sub local.set $12 - local.get $16 - local.get $16 + local.get $13 + local.get $21 + local.get $26 + f64.mul + f64.sub + local.set $13 + local.get $18 + local.get $18 f64.load offset=24 - local.get $17 - local.get $23 + local.get $19 + local.get $25 f64.mul f64.add f64.store offset=24 - local.get $16 - local.get $16 - f64.load offset=32 local.get $18 - local.get $23 + local.get $18 + f64.load offset=32 + local.get $20 + local.get $25 f64.mul f64.add f64.store offset=32 - local.get $16 - local.get $16 + local.get $18 + local.get $18 f64.load offset=40 - local.get $19 - local.get $23 + local.get $21 + local.get $25 f64.mul f64.add f64.store offset=40 - local.get $15 + local.get $17 call $~lib/rt/stub/__release - local.get $16 + local.get $18 call $~lib/rt/stub/__release - local.get $14 + local.get $15 i32.const 1 i32.add - local.set $14 - br $loop|1 + local.set $15 + br $for-loop|1 end - unreachable end - local.get $6 - local.get $10 - f64.store offset=24 - local.get $6 + local.get $7 local.get $11 - f64.store offset=32 - local.get $6 + f64.store offset=24 + local.get $7 local.get $12 + f64.store offset=32 + local.get $7 + local.get $13 f64.store offset=40 - local.get $6 - local.get $6 + local.get $7 + local.get $7 f64.load local.get $1 - local.get $10 + local.get $11 f64.mul f64.add f64.store - local.get $6 - local.get $6 + local.get $7 + local.get $7 f64.load offset=8 local.get $1 - local.get $11 + local.get $12 f64.mul f64.add f64.store offset=8 - local.get $6 - local.get $6 + local.get $7 + local.get $7 f64.load offset=16 local.get $1 - local.get $12 + local.get $13 f64.mul f64.add f64.store offset=16 - local.get $5 - call $~lib/rt/stub/__release local.get $6 call $~lib/rt/stub/__release + local.get $7 + call $~lib/rt/stub/__release local.get $4 i32.const 1 i32.add local.set $4 - br $loop|0 + br $for-loop|0 end - unreachable end local.get $2 call $~lib/rt/stub/__release @@ -1988,168 +1934,168 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 f64) + (local $7 i32) (local $8 f64) (local $9 f64) (local $10 f64) (local $11 f64) (local $12 f64) (local $13 f64) - (local $14 i32) + (local $14 f64) (local $15 i32) (local $16 i32) - (local $17 f64) - (local $18 f64) + (local $17 i32) + (local $18 i32) (local $19 f64) (local $20 f64) + (local $21 f64) + (local $22 f64) f64.const 0 local.set $1 local.get $0 i32.load call $~lib/rt/stub/__retain local.set $2 - block $break|0 - i32.const 0 - local.set $3 - local.get $2 - call $~lib/array/Array#get:length - local.set $4 - loop $loop|0 - local.get $3 - local.get $4 - i32.lt_u - i32.eqz - br_if $break|0 + i32.const 0 + local.set $3 + local.get $2 + call $~lib/staticarray/StaticArray#get:length + local.set $4 + loop $for-loop|0 + local.get $3 + local.get $4 + i32.lt_u + local.set $5 + local.get $5 + if local.get $2 local.get $3 - call $~lib/array/Array#__unchecked_get - local.tee $5 + call $~lib/staticarray/StaticArray#__unchecked_get + local.tee $6 call $~lib/rt/stub/__retain - local.set $6 - local.get $6 - f64.load local.set $7 - local.get $6 - f64.load offset=8 + local.get $7 + f64.load local.set $8 - local.get $6 - f64.load offset=16 + local.get $7 + f64.load offset=8 local.set $9 - local.get $6 - f64.load offset=24 + local.get $7 + f64.load offset=16 local.set $10 - local.get $6 - f64.load offset=32 + local.get $7 + f64.load offset=24 local.set $11 - local.get $6 - f64.load offset=40 + local.get $7 + f64.load offset=32 local.set $12 - local.get $6 - f64.load offset=48 + local.get $7 + f64.load offset=40 local.set $13 + local.get $7 + f64.load offset=48 + local.set $14 local.get $1 f64.const 0.5 - local.get $13 - f64.mul - local.get $10 - local.get $10 + local.get $14 f64.mul local.get $11 local.get $11 f64.mul - f64.add local.get $12 local.get $12 f64.mul f64.add + local.get $13 + local.get $13 + f64.mul + f64.add f64.mul f64.add local.set $1 - block $break|1 - local.get $3 - i32.const 1 - i32.add - local.set $14 - loop $loop|1 - local.get $14 - local.get $4 - i32.lt_u - i32.eqz - br_if $break|1 + local.get $3 + i32.const 1 + i32.add + local.set $15 + loop $for-loop|1 + local.get $15 + local.get $4 + i32.lt_u + local.set $16 + local.get $16 + if local.get $2 - local.get $14 - call $~lib/array/Array#__unchecked_get - local.tee $15 + local.get $15 + call $~lib/staticarray/StaticArray#__unchecked_get + local.tee $17 call $~lib/rt/stub/__retain - local.set $16 - local.get $7 - local.get $16 + local.set $18 + local.get $8 + local.get $18 f64.load f64.sub - local.set $17 - local.get $8 - local.get $16 + local.set $19 + local.get $9 + local.get $18 f64.load offset=8 f64.sub - local.set $18 - local.get $9 - local.get $16 + local.set $20 + local.get $10 + local.get $18 f64.load offset=16 f64.sub - local.set $19 - local.get $17 - local.get $17 + local.set $21 + local.get $19 + local.get $19 f64.mul - local.get $18 - local.get $18 + local.get $20 + local.get $20 f64.mul f64.add - local.get $19 - local.get $19 + local.get $21 + local.get $21 f64.mul f64.add - local.set $20 - local.get $20 + local.set $22 + local.get $22 f64.sqrt - local.set $20 + local.set $22 local.get $1 - local.get $13 - local.get $16 + local.get $14 + local.get $18 f64.load offset=48 f64.mul - local.get $20 + local.get $22 f64.div f64.sub local.set $1 - local.get $15 + local.get $17 call $~lib/rt/stub/__release - local.get $16 + local.get $18 call $~lib/rt/stub/__release - local.get $14 + local.get $15 i32.const 1 i32.add - local.set $14 - br $loop|1 + local.set $15 + br $for-loop|1 end - unreachable end - local.get $5 - call $~lib/rt/stub/__release local.get $6 call $~lib/rt/stub/__release + local.get $7 + call $~lib/rt/stub/__release local.get $3 i32.const 1 i32.add local.set $3 - br $loop|0 + br $for-loop|0 end - unreachable end local.get $1 - local.set $13 + local.set $14 local.get $2 call $~lib/rt/stub/__release - local.get $13 + local.get $14 ) (func $assembly/index/step (; 20 ;) (result f64) global.get $assembly/index/system @@ -2160,15 +2106,16 @@ ) (func $assembly/index/bench (; 21 ;) (param $0 i32) (local $1 i32) - block $break|0 - i32.const 0 - local.set $1 - loop $loop|0 - local.get $1 - local.get $0 - i32.lt_u - i32.eqz - br_if $break|0 + (local $2 i32) + i32.const 0 + local.set $1 + loop $for-loop|0 + local.get $1 + local.get $0 + i32.lt_u + local.set $2 + local.get $2 + if global.get $assembly/index/system f64.const 0.01 call $assembly/index/NBodySystem#advance @@ -2176,9 +2123,8 @@ i32.const 1 i32.add local.set $1 - br $loop|0 + br $for-loop|0 end - unreachable end ) (func $assembly/index/getBody (; 22 ;) (param $0 i32) (result i32) @@ -2190,12 +2136,12 @@ local.set $1 local.get $0 local.get $1 - call $~lib/array/Array#get:length + call $~lib/staticarray/StaticArray#get:length i32.lt_u if (result i32) local.get $1 local.get $0 - call $~lib/array/Array#__unchecked_get + call $~lib/staticarray/StaticArray#__unchecked_get local.tee $2 else i32.const 0 @@ -2206,7 +2152,7 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $start (; 23 ;) + (func $~start (; 23 ;) global.get $~lib/heap/__heap_base i32.const 15 i32.add diff --git a/src/ast.ts b/src/ast.ts index 01dc394da8..009c756f58 100644 --- a/src/ast.ts +++ b/src/ast.ts @@ -860,12 +860,14 @@ export abstract class Node { static createIndexSignatureDeclaration( keyType: NamedTypeNode, valueType: TypeNode, + flags: CommonFlags, range: Range ): IndexSignatureDeclaration { var elem = new IndexSignatureDeclaration(); elem.range = range; elem.keyType = keyType; elem.valueType = valueType; + elem.flags = flags; return elem; } @@ -1339,7 +1341,8 @@ export class ArrayLiteralExpression extends LiteralExpression { export enum AssertionKind { PREFIX, AS, - NONNULL + NONNULL, + CONST } /** Represents an assertion expression. */ diff --git a/src/builtins.ts b/src/builtins.ts index 72e9fd6d4d..2684afe098 100644 --- a/src/builtins.ts +++ b/src/builtins.ts @@ -4835,11 +4835,12 @@ export function compileVisitMembers(compiler: Compiler): void { ); } else { let visitSig = visitFunc.signature; + let visitThisType = assert(visitSig.thisType); assert( visitSig.parameterTypes.length == 1 && visitSig.parameterTypes[0] == Type.u32 && visitSig.returnType == Type.void && - visitSig.thisType == instance.type + instance.type.isStrictlyAssignableTo(visitThisType) // incl. implemented on super ); code.push( module.call(visitFunc.internalName, [ diff --git a/src/common.ts b/src/common.ts index db286f4ae1..c50c49cd04 100644 --- a/src/common.ts +++ b/src/common.ts @@ -181,7 +181,7 @@ export namespace CommonNames { export const Anyref = "Anyref"; export const String = "String"; export const Array = "Array"; - export const FixedArray = "FixedArray"; + export const StaticArray = "StaticArray"; export const Set = "Set"; export const Map = "Map"; export const ArrayBufferView = "ArrayBufferView"; @@ -213,6 +213,7 @@ export namespace CommonNames { export const typeinfo = "__typeinfo"; export const instanceof_ = "__instanceof"; export const visit = "__visit"; + export const allocBuffer = "__allocBuffer"; export const allocArray = "__allocArray"; } diff --git a/src/compiler.ts b/src/compiler.ts index fc21184697..8ddfe85444 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -859,7 +859,7 @@ export class Compiler extends DiagnosticEmitter { this.currentFlow = global.file.startFunction.flow; } initExpr = this.compileExpression(initializerNode, Type.auto, // reports - Constraints.MUST_WRAP | Constraints.WILL_RETAIN + Constraints.MUST_WRAP | Constraints.WILL_RETAIN | Constraints.PREFER_STATIC ); this.currentFlow = previousFlow; if (this.currentType == Type.void) { @@ -1549,7 +1549,7 @@ export class Compiler extends DiagnosticEmitter { } else { let length = stringValue.length; let buffer = new Uint8Array(rtHeaderSize + (length << 1)); - program.writeRuntimeHeader(buffer, 0, stringInstance, length << 1); + program.writeRuntimeHeader(buffer, 0, stringInstance.id, length << 1); for (let i = 0; i < length; ++i) { writeI16(stringValue.charCodeAt(i), buffer, rtHeaderSize + (i << 1)); } @@ -1567,16 +1567,15 @@ export class Compiler extends DiagnosticEmitter { } /** Adds a buffer to static memory and returns the created segment. */ - private addStaticBuffer(elementType: Type, values: ExpressionRef[]): MemorySegment { + addStaticBuffer(elementType: Type, values: ExpressionRef[], id: u32 = this.program.arrayBufferInstance.id): MemorySegment { var program = this.program; var length = values.length; var byteSize = elementType.byteSize; var byteLength = length * byteSize; - var bufferInstance = assert(program.arrayBufferInstance); var runtimeHeaderSize = program.runtimeHeaderSize; var buf = new Uint8Array(runtimeHeaderSize + byteLength); - program.writeRuntimeHeader(buf, 0, bufferInstance, byteLength); + program.writeRuntimeHeader(buf, 0, id, byteLength); var pos = runtimeHeaderSize; var nativeType = elementType.toNativeType(); switch (nativeType) { @@ -1664,7 +1663,7 @@ export class Compiler extends DiagnosticEmitter { var arrayLength = i32(bufferLength / elementType.byteSize); var buf = new Uint8Array(runtimeHeaderSize + arrayInstanceSize); - program.writeRuntimeHeader(buf, 0, arrayInstance, arrayInstanceSize); + program.writeRuntimeHeader(buf, 0, arrayInstance.id, arrayInstanceSize); var bufferAddress32 = i64_low(bufferSegment.offset) + runtimeHeaderSize; assert(!program.options.isWasm64); // TODO @@ -3494,6 +3493,25 @@ export class Compiler extends DiagnosticEmitter { this.currentType = type.nonNullableType; return expr; } + case AssertionKind.CONST: { + // TODO: decide on the layout of ReadonlyArray first + // let operand = expression.expression; + // if (operand.kind == NodeKind.LITERAL && (operand).literalKind == LiteralKind.ARRAY) { + // let element = this.resolver.lookupExpression(expression /* ! */, this.currentFlow, contextualType); + // if (!element) return this.module.unreachable(); + // if (element.kind == ElementKind.CLASS) { + // let arrayInstance = element; + // if (arrayInstance.extends(this.program.readonlyArrayPrototype)) { + // return this.compileStaticArrayLiteral(operand, arrayInstance.type, constraints); + // } + // } + // } + this.error( + DiagnosticCode.Not_implemented, + expression.range + ); + return this.module.unreachable(); + } default: assert(false); } return this.module.unreachable(); @@ -7893,6 +7911,7 @@ export class Compiler extends DiagnosticEmitter { assert(!implicitlyNegate); return this.compileArrayLiteral( expression, + contextualType, constraints ); } @@ -7961,27 +7980,36 @@ export class Compiler extends DiagnosticEmitter { private compileArrayLiteral( expression: ArrayLiteralExpression, + contextualType: Type, constraints: Constraints ): ExpressionRef { var module = this.module; var flow = this.currentFlow; + var program = this.program; - var arrayInstance = this.resolver.lookupExpression(expression, flow, this.currentType); - if (!arrayInstance) return module.unreachable(); + // handle static arrays + if (contextualType.is(TypeFlags.REFERENCE)) { + let classReference = contextualType.classReference; + if (classReference !== null && classReference.extends(program.staticArrayPrototype)) { + return this.compileStaticArrayLiteral(expression, contextualType, constraints); + } + } - var program = this.program; + // handle normal arrays + var element = this.resolver.lookupExpression(expression, flow, this.currentType); + if (!element) return module.unreachable(); + assert(element.kind == ElementKind.CLASS); + var arrayInstance = element; + var arrayType = arrayInstance.type; + var elementType = assert(arrayInstance.getTypeArgumentsTo(program.arrayPrototype))[0]; var arrayBufferInstance = assert(program.arrayBufferInstance); // block those here so compiling expressions doesn't conflict var tempThis = flow.getTempLocal(this.options.usizeType); var tempDataStart = flow.getTempLocal(arrayBufferInstance.type); - assert(arrayInstance.kind == ElementKind.CLASS); - var arrayType = (arrayInstance).type; - var elementType = assert((arrayInstance).getTypeArgumentsTo(this.program.arrayPrototype))[0]; - var expressions = expression.elementExpressions; - // compile value expressions and find out whether all are constant + var expressions = expression.elementExpressions; var length = expressions.length; var values = new Array(length); var isStatic = true; @@ -7991,7 +8019,7 @@ export class Compiler extends DiagnosticEmitter { let expr = expression ? module.precomputeExpression( this.compileExpression(expression, elementType, - Constraints.CONV_IMPLICIT + Constraints.CONV_IMPLICIT | Constraints.WILL_RETAIN ) ) : this.makeZero(elementType); @@ -8024,7 +8052,7 @@ export class Compiler extends DiagnosticEmitter { // otherwise allocate a new array header and make it wrap a copy of the static buffer } else { - // makeArray(length, alignLog2, classId, staticBuffer) + // __allocArray(length, alignLog2, classId, staticBuffer) let expr = this.makeCallDirect(program.allocArrayInstance, [ module.i32(length), program.options.isWasm64 @@ -8063,7 +8091,7 @@ export class Compiler extends DiagnosticEmitter { var nativeArrayType = arrayType.toNativeType(); var stmts = new Array(); - // tempThis = makeArray(length, alignLog2, classId, source = 0) + // tempThis = __allocArray(length, alignLog2, classId, source = 0) stmts.push( module.local_set(tempThis.index, this.makeRetain( @@ -8097,7 +8125,9 @@ export class Compiler extends DiagnosticEmitter { let valueExpr = values[i]; if (isManaged) { // value = __retain(value) - valueExpr = this.makeRetain(valueExpr); + if (!this.skippedAutoreleases.has(valueExpr)) { + valueExpr = this.makeRetain(valueExpr); + } } // store(tempData, value, immOffset) stmts.push( @@ -8118,10 +8148,168 @@ export class Compiler extends DiagnosticEmitter { this.currentType = arrayType; var expr = module.flatten(stmts, nativeArrayType); if (arrayType.isManaged) { - if (!(constraints & Constraints.WILL_RETAIN)) { + if (constraints & Constraints.WILL_RETAIN) { + this.skippedAutoreleases.add(expr); + } else { expr = this.makeAutorelease(expr, arrayType, this.currentFlow); + } + } + return expr; + } + + /** Compiles a special `fixed` array literal. */ + private compileStaticArrayLiteral( + expression: ArrayLiteralExpression, + contextualType: Type, + constraints: Constraints + ): ExpressionRef { + var module = this.module; + var flow = this.currentFlow; + var program = this.program; + + // make sure this method is only called with a valid contextualType + assert(contextualType.is(TypeFlags.REFERENCE)); + var arrayInstance = assert(contextualType.classReference); + var arrayType = arrayInstance.type; + var elementType = assert(arrayInstance.getTypeArgumentsTo(program.staticArrayPrototype))[0]; + + // block those here so compiling expressions doesn't conflict + var tempThis = flow.getTempLocal(this.options.usizeType); + + // compile value expressions and check if all are compile-time constants + var expressions = expression.elementExpressions; + var length = expressions.length; + var values = new Array(length); + var nativeElementType = elementType.toNativeType(); + var isStatic = true; + for (let i = 0; i < length; ++i) { + let expression = expressions[i]; + let expr: ExpressionRef; + if (expression) { + expr = module.precomputeExpression( + this.compileExpression(expression, elementType, + Constraints.CONV_IMPLICIT | Constraints.WILL_RETAIN + ) + ); + if (getExpressionId(expr) == ExpressionId.Const) { + assert(getExpressionType(expr) == nativeElementType); + } else { + isStatic = false; + } } else { + expr = this.makeZero(elementType); + } + values[i] = expr; + } + + var isWasm64 = this.options.isWasm64; + var bufferSize = values.length << elementType.alignLog2; + + // if the array is static, make a static arraybuffer segment + if (isStatic) { + flow.freeTempLocal(tempThis); + + let bufferSegment = this.addStaticBuffer(elementType, values, arrayInstance.id); + let bufferAddress = i64_add(bufferSegment.offset, i64_new(program.runtimeHeaderSize)); + + // return the static buffer directly if assigned to a global + if (constraints & Constraints.PREFER_STATIC) { + let expr = this.options.isWasm64 + ? module.i64(i64_low(bufferAddress), i64_high(bufferAddress)) + : module.i32(i64_low(bufferAddress)); + if (constraints & Constraints.WILL_RETAIN) { + this.skippedAutoreleases.add(expr); + } else { + // not necessary since this is static data anyway + // expr = this.makeAutorelease(expr, arrayType, flow); + } + this.currentType = arrayType; + return expr; + + // otherwise allocate a new chunk of memory and return a copy of the buffer + } else { + // __allocBuffer(bufferSize, id, buffer) + let expr = this.makeRetain( + this.makeCallDirect(program.allocBufferInstance, [ + isWasm64 + ? module.i64(bufferSize) + : module.i32(bufferSize), + module.i32(arrayInstance.id), + isWasm64 + ? module.i64(i64_low(bufferAddress), i64_high(bufferAddress)) + : module.i32(i64_low(bufferAddress)) + ], expression) + ); + if (arrayType.isManaged) { + if (constraints & Constraints.WILL_RETAIN) { + this.skippedAutoreleases.add(expr); + } else { + expr = this.makeAutorelease(expr, arrayType); + } + } + this.currentType = arrayType; + return expr; + } + } + + // otherwise compile an explicit instantiation with indexed sets + var setter = arrayInstance.lookupOverload(OperatorKind.INDEXED_SET, true); + if (!setter) { + flow.freeTempLocal(tempThis); + this.error( + DiagnosticCode.Index_signature_in_type_0_only_permits_reading, + expression.range, arrayInstance.internalName + ); + this.currentType = arrayType; + return module.unreachable(); + } + var nativeArrayType = arrayType.toNativeType(); + + var stmts = new Array(); + // tempThis = __allocBuffer(bufferSize, classId) + stmts.push( + module.local_set(tempThis.index, + this.makeRetain( + this.makeCallDirect(program.allocBufferInstance, [ + isWasm64 + ? module.i64(bufferSize) + : module.i32(bufferSize), + module.i32(arrayInstance.id) + ], expression) + ) + ) + ); + var isManaged = elementType.isManaged; + for (let i = 0, alignLog2 = elementType.alignLog2; i < length; ++i) { + let valueExpr = values[i]; + if (isManaged) { + // value = __retain(value) + if (!this.skippedAutoreleases.has(valueExpr)) { + valueExpr = this.makeRetain(valueExpr); + } + } + // store(tempThis, value, immOffset) + stmts.push( + module.store(elementType.byteSize, + module.local_get(tempThis.index, nativeArrayType), + valueExpr, + nativeElementType, + i << alignLog2 + ) + ); + } + // -> tempThis + stmts.push( + module.local_get(tempThis.index, nativeArrayType) + ); + flow.freeTempLocal(tempThis); + this.currentType = arrayType; + var expr = module.flatten(stmts, nativeArrayType); + if (arrayType.isManaged) { + if (constraints & Constraints.WILL_RETAIN) { this.skippedAutoreleases.add(expr); + } else { + expr = this.makeAutorelease(expr, arrayType, this.currentFlow); } } return expr; diff --git a/src/extra/ast.ts b/src/extra/ast.ts index da80807295..2b0d711419 100644 --- a/src/extra/ast.ts +++ b/src/extra/ast.ts @@ -529,6 +529,11 @@ export class ASTBuilder { sb.push("!"); break; } + case AssertionKind.CONST: { + this.visitNode(node.expression); + sb.push(" as const"); + break; + } default: assert(false); } } diff --git a/src/parser.ts b/src/parser.ts index f78b8e6232..a77639bd3f 100644 --- a/src/parser.ts +++ b/src/parser.ts @@ -1962,14 +1962,16 @@ export class Parser extends DiagnosticEmitter { tn.range(abstractStart, abstractEnd), "abstract" ); // recoverable } - if (flags & CommonFlags.READONLY) { - this.error( - DiagnosticCode._0_modifier_cannot_be_used_here, - tn.range(readonlyStart, readonlyEnd), "readonly" - ); // recoverable + let retIndex = this.parseIndexSignatureDeclaration(tn, flags, decorators); + if (!retIndex) { + if (flags & CommonFlags.READONLY) { + this.error( + DiagnosticCode._0_modifier_cannot_be_used_here, + tn.range(readonlyStart, readonlyEnd), "readonly" + ); // recoverable + } + return null; } - let retIndex = this.parseIndexSignatureDeclaration(tn, decorators); - if (!retIndex) return null; tn.skip(Token.SEMICOLON); return retIndex; } @@ -2199,7 +2201,11 @@ export class Parser extends DiagnosticEmitter { return null; } - parseIndexSignatureDeclaration(tn: Tokenizer, decorators: DecoratorNode[] | null): IndexSignatureDeclaration | null { + parseIndexSignatureDeclaration( + tn: Tokenizer, + flags: CommonFlags, + decorators: DecoratorNode[] | null, + ): IndexSignatureDeclaration | null { // at: '[': 'key' ':' Type ']' ':' Type @@ -2228,7 +2234,7 @@ export class Parser extends DiagnosticEmitter { if (tn.skip(Token.COLON)) { let valueType = this.parseType(tn); if (!valueType) return null; - return Node.createIndexSignatureDeclaration(keyType, valueType, tn.range(start, tn.pos)); + return Node.createIndexSignatureDeclaration(keyType, valueType, flags, tn.range(start, tn.pos)); } else { this.error( DiagnosticCode._0_expected, @@ -3693,14 +3699,23 @@ export class Parser extends DiagnosticEmitter { // AssertionExpression case Token.AS: { - let toType = this.parseType(tn); // reports - if (!toType) return null; - expr = Node.createAssertionExpression( - AssertionKind.AS, - expr, - toType, - tn.range(startPos, tn.pos) - ); + if (tn.skip(Token.CONST)) { + expr = Node.createAssertionExpression( + AssertionKind.CONST, + expr, + null, + tn.range(startPos, tn.pos) + ); + } else { + let toType = this.parseType(tn); // reports + if (!toType) return null; + expr = Node.createAssertionExpression( + AssertionKind.AS, + expr, + toType, + tn.range(startPos, tn.pos) + ); + } break; } case Token.EXCLAMATION: { diff --git a/src/program.ts b/src/program.ts index cd7d486aa8..de57361697 100644 --- a/src/program.ts +++ b/src/program.ts @@ -413,12 +413,12 @@ export class Program extends DiagnosticEmitter { arrayBufferInstance: Class; /** Array prototype reference. */ arrayPrototype: ClassPrototype; + /** Static array prototype reference. */ + staticArrayPrototype: ClassPrototype; /** Set prototype reference. */ setPrototype: ClassPrototype; /** Map prototype reference. */ mapPrototype: ClassPrototype; - /** Fixed array prototype reference. */ - fixedArrayPrototype: ClassPrototype; /** Int8Array prototype. */ i8ArrayPrototype: ClassPrototype; /** Int16Array prototype. */ @@ -466,6 +466,8 @@ export class Program extends DiagnosticEmitter { typeinfoInstance: Function; /** RT `__instanceof(ptr: usize, superId: u32): bool` */ instanceofInstance: Function; + /** RT `__allocBuffer(size: usize, id: u32, data: usize = 0): usize` */ + allocBufferInstance: Function; /** RT `__allocArray(length: i32, alignLog2: usize, id: u32, data: usize = 0): usize` */ allocArrayInstance: Function; @@ -502,7 +504,7 @@ export class Program extends DiagnosticEmitter { } /** Writes a common runtime header to the specified buffer. */ - writeRuntimeHeader(buffer: Uint8Array, offset: i32, classInstance: Class, payloadSize: u32): void { + writeRuntimeHeader(buffer: Uint8Array, offset: i32, id: u32, payloadSize: u32): void { // BLOCK { // mmInfo: usize // WASM64 TODO // gcInfo: u32 @@ -512,7 +514,7 @@ export class Program extends DiagnosticEmitter { assert(payloadSize < (1 << 28)); // 1 bit BUFFERED + 3 bits color writeI32(payloadSize, buffer, offset); writeI32(1, buffer, offset + 4); // RC=1 - writeI32(classInstance.id, buffer, offset + 8); + writeI32(id, buffer, offset + 8); writeI32(payloadSize, buffer, offset + 12); } @@ -962,7 +964,7 @@ export class Program extends DiagnosticEmitter { // register stdlib components this.arrayPrototype = this.require(CommonNames.Array, ElementKind.CLASS_PROTOTYPE); - this.fixedArrayPrototype = this.require(CommonNames.FixedArray, ElementKind.CLASS_PROTOTYPE); + this.staticArrayPrototype = this.require(CommonNames.StaticArray, ElementKind.CLASS_PROTOTYPE); this.setPrototype = this.require(CommonNames.Set, ElementKind.CLASS_PROTOTYPE); this.mapPrototype = this.require(CommonNames.Map, ElementKind.CLASS_PROTOTYPE); this.abortInstance = this.lookupFunction(CommonNames.abort); // can be disabled @@ -975,6 +977,7 @@ export class Program extends DiagnosticEmitter { this.typeinfoInstance = this.requireFunction(CommonNames.typeinfo); this.instanceofInstance = this.requireFunction(CommonNames.instanceof_); this.visitInstance = this.requireFunction(CommonNames.visit); + this.allocBufferInstance = this.requireFunction(CommonNames.allocBuffer); this.allocArrayInstance = this.requireFunction(CommonNames.allocArray); // mark module exports, i.e. to apply proper wrapping behavior on the boundaries diff --git a/src/resolver.ts b/src/resolver.ts index 723b02581c..0cd448561b 100644 --- a/src/resolver.ts +++ b/src/resolver.ts @@ -1583,26 +1583,47 @@ export class Resolver extends DiagnosticEmitter { /** How to proceed with eventual diagnostics. */ reportMode: ReportMode = ReportMode.REPORT ): Element | null { - if (node.assertionKind == AssertionKind.NONNULL) { - return this.lookupExpression(node.expression, ctxFlow, ctxType, reportMode); - } - var type = this.resolveType( - assert(node.toType), // must be set if not NONNULL - ctxFlow.actualFunction, - ctxFlow.contextualTypeArguments, - reportMode - ); - if (!type) return null; - var element = this.getElementOfType(type); - if (element) return element; - if (reportMode == ReportMode.REPORT) { - this.error( - DiagnosticCode.Type_0_is_illegal_in_this_context, - node.range, type.toString() - ); + switch (node.assertionKind) { + case AssertionKind.AS: + case AssertionKind.PREFIX: { + let type = this.resolveType( + assert(node.toType), // must be set if not NONNULL + ctxFlow.actualFunction, + ctxFlow.contextualTypeArguments, + reportMode + ); + if (!type) return null; + let element = this.getElementOfType(type); + if (element) return element; + if (reportMode == ReportMode.REPORT) { + this.error( + DiagnosticCode.Type_0_is_illegal_in_this_context, + node.range, type.toString() + ); + } + this.currentThisExpression = null; + this.currentElementExpression = null; + return null; + } + case AssertionKind.NONNULL: { + return this.lookupExpression(node.expression, ctxFlow, ctxType, reportMode); + } + case AssertionKind.CONST: { + // TODO: decide on the layout of ReadonlyArray first + // let element = this.lookupExpression(node.expression, ctxFlow, ctxType, reportMode); + // if (!element) return null; + // if (element.kind == ElementKind.CLASS && (element).extends(this.program.arrayPrototype)) { + // let elementType = assert((element).getTypeArgumentsTo(this.program.arrayPrototype))[0]; + // return this.resolveClass(this.program.readonlyArrayPrototype, [ elementType ]); + // } + this.error( + DiagnosticCode.Not_implemented, + node.range + ); + return null; + } + default: assert(false); } - this.currentThisExpression = null; - this.currentElementExpression = null; return null; } @@ -1617,16 +1638,37 @@ export class Resolver extends DiagnosticEmitter { /** How to proceed with eventual diagnostics. */ reportMode: ReportMode = ReportMode.REPORT ): Type | null { - if (node.assertionKind == AssertionKind.NONNULL) { - let type = this.resolveExpression(node.expression, ctxFlow, ctxType, reportMode); - return type ? type.nonNullableType : null; - } - return this.resolveType( - assert(node.toType), // must be set if not NONNULL - ctxFlow.actualFunction, - ctxFlow.contextualTypeArguments, - reportMode - ); + switch (node.assertionKind) { + case AssertionKind.AS: + case AssertionKind.PREFIX: { + return this.resolveType( + assert(node.toType), + ctxFlow.actualFunction, + ctxFlow.contextualTypeArguments, + reportMode + ); + } + case AssertionKind.NONNULL: { + let type = this.resolveExpression(node.expression, ctxFlow, ctxType, reportMode); + return type ? type.nonNullableType : null; + } + case AssertionKind.CONST: { + let element = this.lookupExpression(node, ctxFlow, ctxType, reportMode); + if (!element) return null; + let type = this.getTypeOfElement(element); + if (!type) { + if (reportMode == ReportMode.REPORT) { + this.error( + DiagnosticCode.Expression_cannot_be_represented_by_a_type, + node.range + ); + } + } + return type; + } + default: assert(false); + } + return null; } /** Looks up the program element the specified unary prefix expression refers to. */ diff --git a/std/assembly/fixedarray.ts b/std/assembly/fixedarray.ts deleted file mode 100644 index 9e6570acf0..0000000000 --- a/std/assembly/fixedarray.ts +++ /dev/null @@ -1,73 +0,0 @@ -/// - -import { BLOCK, BLOCK_OVERHEAD, BLOCK_MAXSIZE } from "./rt/common"; -import { idof } from "./builtins"; -import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_HOLEYARRAY } from "./util/error"; - -// NOTE: DO NOT USE YET! - -// TODO: FixedArray with S being the static size, i.e. `new FixedArray`. -// Then hard-wire this special type to the compiler and do static length checks instead :) - -export class FixedArray { - [key: number]: T; - - constructor(length: i32) { - if (length > BLOCK_MAXSIZE >>> alignof()) throw new RangeError(E_INVALIDLENGTH); - var outSize = length << alignof(); - var out = __alloc(outSize, idof>()); - memory.fill(out, 0, outSize); - return changetype>(out); // retains - } - - get length(): i32 { - return changetype(changetype(this) - BLOCK_OVERHEAD).rtSize >>> alignof(); - } - - @operator("[]") private __get(index: i32): T { - if (index >= this.length) throw new RangeError(E_INDEXOUTOFRANGE); - var value = this.__unchecked_get(index); - if (isReference()) { - if (!isNullable()) { - if (!changetype(value)) throw new Error(E_HOLEYARRAY); - } - } - return value; - } - - @unsafe @operator("{}") private __unchecked_get(index: i32): T { - return load(changetype(this) + (index << alignof())); - } - - @operator("[]=") private __set(index: i32, value: T): void { - if (index >= this.length) throw new RangeError(E_INDEXOUTOFRANGE); - this.__unchecked_set(index, value); - } - - @unsafe @operator("{}=") private __unchecked_set(index: i32, value: T): void { - if (isManaged()) { - let offset = changetype(this) + (index << alignof()); - let oldRef = load(offset); - if (changetype(value) != oldRef) { - store(offset, __retain(changetype(value))); - __release(changetype(oldRef)); - } - } else { - store(changetype(this) + (index << alignof()), value); - } - } - - // RT integration - - @unsafe private __visit_impl(cookie: u32): void { - if (isManaged()) { - let cur = changetype(this); - let end = cur + changetype(changetype(this) - BLOCK_OVERHEAD).rtSize; - while (cur < end) { - let val = load(cur); - if (val) __visit(val, cookie); - cur += sizeof(); - } - } - } -} diff --git a/std/assembly/index.d.ts b/std/assembly/index.d.ts index a0fd2064be..02af3d2ee7 100644 --- a/std/assembly/index.d.ts +++ b/std/assembly/index.d.ts @@ -1398,11 +1398,21 @@ declare class Array { toString(): string; } -/** Class representing a fixed sequence of values of type `T`. */ -declare class FixedArray { +/** Class representing a static (not resizable) sequence of values of type `T`. */ +declare abstract class StaticArray { [key: number]: T; + static fromArray(source: Array): StaticArray; + static concat(source: StaticArray, other: StaticArray): StaticArray; + static slice(source: StaticArray, start?: i32, end?: i32): StaticArray; readonly length: i32; - constructor(capacity?: i32); + constructor(length?: i32); + includes(searchElement: T, fromIndex?: i32): bool; + indexOf(searchElement: T, fromIndex?: i32): i32; + lastIndexOf(searchElement: T, fromIndex?: i32): i32; + concat(items: Array): Array; + slice(from: i32, to?: i32): Array; + join(separator?: string): string; + toString(): string; } /** Class representing a sequence of characters. */ diff --git a/std/assembly/math.ts b/std/assembly/math.ts index 73203c083a..57986c45d7 100644 --- a/std/assembly/math.ts +++ b/std/assembly/math.ts @@ -36,8 +36,8 @@ var rempio2_y0: f64, /** @internal */ // @ts-ignore: decorator -@lazy -const PIO2_TABLE: u64[] = [ +@lazy @inline +const PIO2_TABLE: StaticArray = [ 0x00000000A2F9836E, 0x4E441529FC2757D1, 0xF534DDC0DB629599, 0x3C439041FE5163AB, 0xDEBBC561B7246E3A, 0x424DD2E006492EEA, 0x09D1921CFE1DEB1C, 0xB129A73EE88235F5, 0x2EBB4484E99C7026, 0xB45F7E413991D639, 0x835339F49C845F8B, 0xBDF9283B1FF897FF, @@ -135,7 +135,7 @@ function umuldi(u: u64, v: u64): u64 { /** @internal */ function pio2_large_quot(x: f64, u: i64): i32 { // see: jdh8/metallic/blob/master/src/math/double/rem_pio2.c - const bits = PIO2_TABLE.dataStart; + const bits = changetype(PIO2_TABLE); var magnitude = u & 0x7FFFFFFFFFFFFFFF; var offset = (magnitude >> 52) - 1045; @@ -1749,8 +1749,8 @@ export namespace NativeMath { var rempio2f_y: f64; // @ts-ignore: decorator -@lazy -const PIO2F_TABLE: u64[] = [ +@lazy @inline +const PIO2F_TABLE: StaticArray = [ 0xA2F9836E4E441529, 0xFC2757D1F534DDC0, 0xDB6295993C439041, @@ -1782,7 +1782,7 @@ function expo2f(x: f32): f32 { // exp(x)/2 for x >= log(DBL_MAX) @inline function pio2f_large_quot(x: f32, u: i32): i32 { // see: jdh8/metallic/blob/master/src/math/float/rem_pio2f.c const coeff = reinterpret(0x3BF921FB54442D18); // π * 0x1p-65 = 8.51530395021638647334e-20 - const bits = PIO2F_TABLE.dataStart; + const bits = changetype(PIO2F_TABLE); var offset = (u >> 23) - 152; var shift = (offset & 63); diff --git a/std/assembly/rt.ts b/std/assembly/rt.ts index bf63760b3d..0c9d3d7795 100644 --- a/std/assembly/rt.ts +++ b/std/assembly/rt.ts @@ -35,17 +35,24 @@ export function __instanceof(ref: usize, superId: u32): bool { // keyword return false; } +// @ts-ignore: decorator +@unsafe +export function __allocBuffer(size: usize, id: u32, data: usize = 0): usize { + var buffer = __alloc(size, id); + if (data) memory.copy(buffer, data, size); + return buffer; +} + // @ts-ignore: decorator @unsafe export function __allocArray(length: i32, alignLog2: usize, id: u32, data: usize = 0): usize { var array = __alloc(offsetof(), id); var bufferSize = length << alignLog2; - var buffer = __alloc(bufferSize, idof()); + var buffer = __allocBuffer(bufferSize, idof(), data); store(array, __retain(buffer), offsetof("buffer")); store(array, buffer, offsetof("dataStart")); - store(array, bufferSize, offsetof("byteLength")); + store(array, bufferSize, offsetof("byteLength")); store(array, length, offsetof("length_")); - if (data) memory.copy(buffer, data, bufferSize); return array; } diff --git a/std/assembly/rt/index.d.ts b/std/assembly/rt/index.d.ts index b594fcca37..b8d1c74f3c 100644 --- a/std/assembly/rt/index.d.ts +++ b/std/assembly/rt/index.d.ts @@ -10,6 +10,7 @@ declare function __instanceof(ref: usize, superId: u32): bool; declare function __visit(ref: usize, cookie: i32): void; declare function __visit_globals(cookie: u32): void; declare function __visit_members(ref: usize, cookie: u32): void; +declare function __allocBuffer(size: usize, id: u32, data?: usize): usize; declare function __allocArray(length: i32, alignLog2: usize, id: u32, data?: usize): usize; declare const ASC_RTRACE: bool; declare const __GC_ALL_ACYCLIC: bool; diff --git a/std/assembly/staticarray.ts b/std/assembly/staticarray.ts new file mode 100644 index 0000000000..8a3bbcb06c --- /dev/null +++ b/std/assembly/staticarray.ts @@ -0,0 +1,246 @@ +/// + +import { BLOCK, BLOCK_MAXSIZE, BLOCK_OVERHEAD } from "./rt/common"; +import { idof } from "./builtins"; +import { Array } from "./array"; +import { E_INDEXOUTOFRANGE, E_INVALIDLENGTH, E_HOLEYARRAY } from "./util/error"; +import { joinBooleanArray, joinIntegerArray, joinFloatArray, joinStringArray, joinReferenceArray } from "./util/string"; + +@sealed +export class StaticArray { + [key: number]: T; + + // Note that the interface of StaticArray instances must be a semantically + // compatible subset of Array in order for syntax highlighting to work + // properly, for instance when creating static arrays from array literals. + // The additionally provided static methods take care of dealing with static + // arrays exclusively, without having to convert to Array first. + + static fromArray(source: Array): StaticArray { + var length = source.length; + var outSize = length << alignof(); + var out = __alloc(outSize, idof>()); + if (isManaged()) { + let sourcePtr = source.dataStart; + for (let i = 0; i < length; ++i) { + let off = i << alignof(); + store(out + off, __retain(load(sourcePtr + off))); + } + } else { + memory.copy(out, source.dataStart, outSize); + } + return changetype>(out); + } + + static concat(source: StaticArray, other: StaticArray): StaticArray { + var sourceLen = source.length; + var otherLen = select(0, other.length, other === null); + var outLen = sourceLen + otherLen; + if (outLen > BLOCK_MAXSIZE >>> alignof()) throw new Error(E_INVALIDLENGTH); + var out = changetype>(__alloc(outLen << alignof(), idof>())); // retains + var outStart = changetype(out); + var sourceSize = sourceLen << alignof(); + if (isManaged()) { + for (let offset: usize = 0; offset < sourceSize; offset += sizeof()) { + let ref = load(changetype(source) + offset); + store(outStart + offset, __retain(ref)); + } + outStart += sourceSize; + let otherSize = otherLen << alignof(); + for (let offset: usize = 0; offset < otherSize; offset += sizeof()) { + let ref = load(changetype(other) + offset); + store(outStart + offset, __retain(ref)); + } + } else { + memory.copy(outStart, changetype(source), sourceSize); + memory.copy(outStart + sourceSize, changetype(other), otherLen << alignof()); + } + return out; + } + + static slice(source: StaticArray, start: i32 = 0, end: i32 = i32.MAX_VALUE): StaticArray { + var length = source.length; + start = start < 0 ? max(start + length, 0) : min(start, length); + end = end < 0 ? max(end + length, 0) : min(end , length); + length = max(end - start, 0); + var sliceSize = length << alignof(); + var slice = changetype>(__alloc(sliceSize, idof>())); // retains + var sourcePtr = changetype(source) + (start << alignof()); + if (isManaged()) { + let off: usize = 0; + while (off < sliceSize) { + let ref = load(sourcePtr + off); + store(changetype(slice) + off, __retain(ref)); + off += sizeof(); + } + } else { + memory.copy(changetype(slice), sourcePtr, sliceSize); + } + return slice; + } + + constructor(length: i32) { + if (length > BLOCK_MAXSIZE >>> alignof()) throw new RangeError(E_INVALIDLENGTH); + var outSize = length << alignof(); + var out = __alloc(outSize, idof>()); + memory.fill(out, 0, outSize); + return changetype>(out); // retains + } + + get length(): i32 { + return changetype(changetype(this) - BLOCK_OVERHEAD).rtSize >>> alignof(); + } + + @operator("[]") private __get(index: i32): T { + if (index >= this.length) throw new RangeError(E_INDEXOUTOFRANGE); + var value = this.__unchecked_get(index); + if (isReference()) { + if (!isNullable()) { + if (!changetype(value)) throw new Error(E_HOLEYARRAY); + } + } + return value; + } + + @unsafe @operator("{}") private __unchecked_get(index: i32): T { + return load(changetype(this) + (index << alignof())); + } + + @operator("[]=") private __set(index: i32, value: T): void { + if (index >= this.length) throw new RangeError(E_INDEXOUTOFRANGE); + this.__unchecked_set(index, value); + } + + @unsafe @operator("{}=") private __unchecked_set(index: i32, value: T): void { + if (isManaged()) { + let offset = changetype(this) + (index << alignof()); + let oldRef = load(offset); + if (changetype(value) != oldRef) { + store(offset, __retain(changetype(value))); + __release(changetype(oldRef)); + } + } else { + store(changetype(this) + (index << alignof()), value); + } + } + + includes(value: T, fromIndex: i32 = 0): bool { + if (isFloat()) { + let length = this.length; + if (length == 0 || fromIndex >= length) return false; + if (fromIndex < 0) fromIndex = max(length + fromIndex, 0); + while (fromIndex < length) { + let elem = load(changetype(this) + (fromIndex << alignof())); + // @ts-ignore + if (elem == value || isNaN(elem) & isNaN(value)) return true; + ++fromIndex; + } + return false; + } else { + return this.indexOf(value, fromIndex) >= 0; + } + } + + indexOf(value: T, fromIndex: i32 = 0): i32 { + var length = this.length; + if (length == 0 || fromIndex >= length) return -1; + if (fromIndex < 0) fromIndex = max(length + fromIndex, 0); + while (fromIndex < length) { + if (load(changetype(this) + (fromIndex << alignof())) == value) return fromIndex; + ++fromIndex; + } + return -1; + } + + lastIndexOf(value: T, fromIndex: i32 = this.length): i32 { + var length = this.length; + if (length == 0) return -1; + if (fromIndex < 0) fromIndex = length + fromIndex; + else if (fromIndex >= length) fromIndex = length - 1; + while (fromIndex >= 0) { + if (load(changetype(this) + (fromIndex << alignof())) == value) return fromIndex; + --fromIndex; + } + return -1; + } + + concat(other: Array): Array { + var thisLen = this.length; + var otherLen = select(0, other.length, other === null); + var outLen = thisLen + otherLen; + if (outLen > BLOCK_MAXSIZE >>> alignof()) throw new Error(E_INVALIDLENGTH); + var out = changetype>(__allocArray(outLen, alignof(), idof>())); // retains + var outStart = out.dataStart; + var thisSize = thisLen << alignof(); + if (isManaged()) { + let thisStart = changetype(this); + for (let offset: usize = 0; offset < thisSize; offset += sizeof()) { + let ref = load(thisStart + offset); + store(outStart + offset, __retain(ref)); + } + outStart += thisSize; + let otherStart = other.dataStart; + let otherSize = otherLen << alignof(); + for (let offset: usize = 0; offset < otherSize; offset += sizeof()) { + let ref = load(otherStart + offset); + store(outStart + offset, __retain(ref)); + } + } else { + memory.copy(outStart, changetype(this), thisSize); + memory.copy(outStart + thisSize, other.dataStart, otherLen << alignof()); + } + return out; + } + + slice(start: i32 = 0, end: i32 = i32.MAX_VALUE): Array { + var length = this.length; + start = start < 0 ? max(start + length, 0) : min(start, length); + end = end < 0 ? max(end + length, 0) : min(end , length); + length = max(end - start, 0); + var slice = changetype>(__allocArray(length, alignof(), idof>())); // retains + var sliceBase = slice.dataStart; + var thisBase = changetype(this) + (start << alignof()); + if (isManaged()) { + let off = 0; + let end = length << alignof(); + while (off < end) { + let ref = load(thisBase + off); + store(sliceBase + off, __retain(ref)); + off += sizeof(); + } + } else { + memory.copy(sliceBase, thisBase, length << alignof()); + } + return slice; + } + + join(separator: string = ","): string { + if (isBoolean()) return joinBooleanArray(changetype(this), this.length, separator); + if (isInteger()) return joinIntegerArray(changetype(this), this.length, separator); + if (isFloat()) return joinFloatArray(changetype(this), this.length, separator); + if (ASC_SHRINK_LEVEL < 1) { + if (isString()) return joinStringArray(changetype(this), this.length, separator); + } + if (isReference()) return joinReferenceArray(changetype(this), this.length, separator); + ERROR("unspported element type"); + return unreachable(); + } + + toString(): string { + return this.join(); + } + + // RT integration + + @unsafe private __visit_impl(cookie: u32): void { + if (isManaged()) { + let cur = changetype(this); + let end = cur + changetype(changetype(this) - BLOCK_OVERHEAD).rtSize; + while (cur < end) { + let val = load(cur); + if (val) __visit(val, cookie); + cur += sizeof(); + } + } + } +} diff --git a/std/assembly/string.ts b/std/assembly/string.ts index 7e158e25e8..e4e88da4d9 100644 --- a/std/assembly/string.ts +++ b/std/assembly/string.ts @@ -2,9 +2,8 @@ import { BLOCK, BLOCK_OVERHEAD, BLOCK_MAXSIZE } from "./rt/common"; import { compareImpl, strtol, strtod, isSpace, isAscii, toLower8, toUpper8 } from "./util/string"; -import { specialsUpper, casemap, bsearch } from "./util/casemap"; +import { SPECIALS_UPPER, casemap, bsearch } from "./util/casemap"; import { E_INVALIDLENGTH } from "./util/error"; -import { ArrayBufferView } from "./arraybuffer"; import { idof } from "./builtins"; @sealed export abstract class String { @@ -553,9 +552,7 @@ import { idof } from "./builtins"; var len = this.length; if (!len) return this; var codes = __alloc(len * 3 * 2, idof()); - // @ts-ignore: cast - var specialsUpperPtr = specialsUpper.dataStart as usize; - var specialsUpperLen = specialsUpper.length; + var specialsUpperLen = SPECIALS_UPPER.length; var j: usize = 0; for (let i: usize = 0; i < len; ++i, ++j) { let c = load(changetype(this) + (i << 1)); @@ -584,12 +581,12 @@ import { idof } from "./builtins"; let index = -1; // Fast range check. See first and last rows in specialsUpper table if (c - 0x00DF <= 0xFB17 - 0x00DF) { - index = bsearch(c, specialsUpperPtr, specialsUpperLen); + index = bsearch(c, changetype(SPECIALS_UPPER), specialsUpperLen); } if (~index) { // load next 3 code points from row with `index` offset for specialsUpper table - let ab = load(specialsUpperPtr + (index << 1), 2); - let cc = load(specialsUpperPtr + (index << 1), 6); + let ab = load(changetype(SPECIALS_UPPER) + (index << 1), 2); + let cc = load(changetype(SPECIALS_UPPER) + (index << 1), 6); store(codes + (j << 1), ab, 0); store(codes + (j << 1), cc, 4); j += 1 + usize(cc != 0); diff --git a/std/assembly/util/casemap.ts b/std/assembly/util/casemap.ts index 990a09b1d2..4aa711f2a5 100644 --- a/std/assembly/util/casemap.ts +++ b/std/assembly/util/casemap.ts @@ -1,7 +1,9 @@ // Total tables size: ~5 kb (usually compressed to ~4 kb) // See: https://git.musl-libc.org/cgit/musl/tree/src/ctype/casemap.h + // @ts-ignore: decorator -@lazy const tab: u8[] = [ +@lazy @inline +const TAB: StaticArray = [ 7, 8, 9, 10, 11, 12, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 13, 6, 6, 14, 6, 6, 6, 6, 6, 6, 6, 6, 15, 16, 17, 18, 6, 19, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 20, 21, 6, 6, @@ -172,7 +174,8 @@ ]; // @ts-ignore: decorator -@lazy const rules: i32[] = [ +@lazy @inline +const RULES: StaticArray = [ 0x0, 0x2001, -0x2000, 0x1dbf00, 0x2e700, 0x7900, 0x2402, 0x101, -0x100, 0x0, 0x201, -0x200, -0xc6ff, -0xe800, -0x78ff, -0x12c00, 0xc300, 0xd201, @@ -216,7 +219,8 @@ ]; // @ts-ignore: decorator -@lazy const ruleBases: u8[] = [ +@lazy @inline +const RULE_BASES: StaticArray = [ 0, 6, 39, 81, 111, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 131, 142, 146, 151, 0, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 180, 196, 0, 0, @@ -252,7 +256,8 @@ ]; // @ts-ignore: decorator -@lazy const exceptions: u8[] = [ +@lazy @inline +const EXCEPTIONS: StaticArray = [ 48, 12, 49, 13, 120, 14, 127, 15, 128, 16, 129, 17, 134, 18, 137, 19, 138, 19, 142, 20, 143, 21, 144, 22, @@ -309,13 +314,16 @@ * See: https://unicode.org/Public/UNIDATA/SpecialCasing.txt */ - /* -@lazy const specialsLower: u16[] = [ +/* +@lazy @inline +const SPECIALS_LOWER: StaticArray = [ 0x0130, 0x0069, 0x0307, 0x0000, ]; */ + // @ts-ignore: decorator -@lazy export const specialsUpper: u16[] = [ +@lazy @inlne +export const SPECIALS_UPPER: StaticArray = [ 0x00DF, 0x0053, 0x0053, 0x0000, 0x0149, 0x02BC, 0x004E, 0x0000, 0x01F0, 0x004A, 0x030C, 0x0000, @@ -421,7 +429,10 @@ ]; // @ts-ignore: decorator -@lazy const mt: i32[] = [2048, 342, 57]; +@lazy @inline +const MT: StaticArray = [ + 2048, 342, 57 +]; // Special binary search routine for Special Casing Tables // @ts-ignore: decorator @@ -448,21 +459,16 @@ export function casemap(c: u32, dir: i32): i32 { var x = c / 3; var y = c % 3; - const mtPtr = mt.dataStart as usize; - const tabPtr = tab.dataStart as usize; - const ruleBasesPtr = ruleBases.dataStart as usize; - const rulesPtr = rules.dataStart as usize; - /* lookup entry in two-level base-6 table */ // v = tab[(tab[b] as i32) * 86 + x] as u32; - var v = load(tabPtr + load(tabPtr + b) * 86 + x); + var v = load(changetype(TAB) + load(changetype(TAB) + b) * 86 + x); // v = (v * mt[y] >> 11) % 6; - v = (v * load(mtPtr + (y << alignof())) >> 11) % 6; + v = (v * load(changetype(MT) + (y << alignof())) >> 11) % 6; /* use the bit vector out of the tables as an index into * a block-specific set of rules and decode the rule into * a type and a case-mapping delta. */ // r = rules[(ruleBases[b] as u32) + v]; - var r = load(rulesPtr + ((load(ruleBasesPtr + b) + v) << alignof())); + var r = load(changetype(RULES) + ((load(changetype(RULE_BASES) + b) + v) << alignof())); var rt: u32 = r & 255; var rd: i32 = r >> 8; /* rules 0/1 are simple lower/upper case with a delta. @@ -472,14 +478,13 @@ export function casemap(c: u32, dir: i32): i32 { * this block are stored in the rule delta field. */ var xn: u32 = rd & 0xff; var xb: u32 = rd >>> 8; - var exceptionsPtr = exceptions.dataStart as usize; while (xn) { let h = xn >> 1; // let t = exceptions[(xb + h) * 2 + 0] as u32; - let t = load(exceptionsPtr + (xb + h) * 2, 0); + let t = load(changetype(EXCEPTIONS) + (xb + h) * 2, 0); if (t == c) { // r = rules[exceptions[(xb + h) * 2 + 1]]; - r = load(rulesPtr + (load(exceptionsPtr + (xb + h) * 2, 1) << alignof())); + r = load(changetype(RULES) + (load(changetype(EXCEPTIONS) + (xb + h) * 2, 1) << alignof())); rt = r & 255; rd = r >> 8; if (rt < 2) return c0 + (rd & -(rt ^ dir)); diff --git a/std/assembly/util/math.ts b/std/assembly/util/math.ts index eb558d46a8..dfa13016b9 100644 --- a/std/assembly/util/math.ts +++ b/std/assembly/util/math.ts @@ -3,9 +3,12 @@ // // @ts-ignore: decorator -@lazy const EXP2F_TABLE_BITS = 5; +@inline +const EXP2F_TABLE_BITS = 5; + // @ts-ignore: decorator -@lazy const exp2f_data_tab: u64[] = [ +@lazy @inline +const EXP2F_DATA_TAB: StaticArray = [ // exp2f_data_tab[i] = uint(2^(i/N)) - (i << 52-BITS) // used for computing 2^(k/N) for an int |k| < 150 N as // double(tab[k%N] + (k << 52-BITS)) @@ -23,7 +26,8 @@ // Relative error: 1.69 * 2^-34 in [-1/64, 1/64] (before rounding.) // Wrong count: 168353 (all nearest rounding wrong results with fma.) // @ts-ignore: decorator -@inline export function exp2f_lut(x: f32): f32 { +@inline +export function exp2f_lut(x: f32): f32 { const N = 1 << EXP2F_TABLE_BITS, N_MASK = N - 1, @@ -52,11 +56,8 @@ var r = xd - (kd - shift); var t: u64, y: f64, s: f64; - // @ts-ignore: cast - const tab = exp2f_data_tab.dataStart as usize; - // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1) - t = load(tab + ((ki & N_MASK) << alignof())); + t = load(changetype(EXP2F_DATA_TAB) + ((ki & N_MASK) << alignof())); t += ki << (52 - EXP2F_TABLE_BITS); s = reinterpret(t); y = C2 * r + 1; @@ -70,7 +71,8 @@ // Relative error: 1.69 * 2^-34 in [-ln2/64, ln2/64] (before rounding.) // Wrong count: 170635 (all nearest rounding wrong results with fma.) // @ts-ignore: decorator -@inline export function expf_lut(x: f32): f32 { +@inline +export function expf_lut(x: f32): f32 { const N = 1 << EXP2F_TABLE_BITS, N_MASK = N - 1, @@ -105,11 +107,8 @@ var r = z - (kd - shift); var s: f64, y: f64, t: u64; - // @ts-ignore: cast - const tab = exp2f_data_tab.dataStart as usize; - // exp(x) = 2^(k/N) * 2^(r/N) ~= s * (C0*r^3 + C1*r^2 + C2*r + 1) - t = load(tab + ((ki & N_MASK) << alignof())); + t = load(changetype(EXP2F_DATA_TAB) + ((ki & N_MASK) << alignof())); t += ki << (52 - EXP2F_TABLE_BITS); s = reinterpret(t); z = C0 * r + C1; @@ -125,9 +124,12 @@ // // @ts-ignore: decorator -@lazy const LOG2F_TABLE_BITS = 4; +@inline +const LOG2F_TABLE_BITS = 4; + // @ts-ignore: decorator -@lazy const log2f_data_tab: f64[] = [ +@lazy @inline +const LOG2F_DATA_TAB: StaticArray = [ reinterpret(0x3FF661EC79F8F3BE), reinterpret(0xBFDEFEC65B963019), // 0x1.661ec79f8f3bep+0, -0x1.efec65b963019p-2, reinterpret(0x3FF571ED4AAF883D), reinterpret(0xBFDB0B6832D4FCA4), // 0x1.571ed4aaf883dp+0, -0x1.b0b6832d4fca4p-2, reinterpret(0x3FF49539F0F010B0), reinterpret(0xBFD7418B0A1FB77B), // 0x1.49539f0f010bp+0 , -0x1.7418b0a1fb77bp-2, @@ -149,7 +151,8 @@ // ULP error: 0.752 (nearest rounding.) // Relative error: 1.9 * 2^-26 (before rounding.) // @ts-ignore: decorator -@inline export function log2f_lut(x: f32): f32 { +@inline +export function log2f_lut(x: f32): f32 { const N_MASK = (1 << LOG2F_TABLE_BITS) - 1, Ox1p23f = reinterpret(0x4B000000); // 0x1p23f @@ -181,11 +184,8 @@ var iz = ux - top; var k = tmp >> 23; - // @ts-ignore: cast - var tab = log2f_data_tab.dataStart as usize; - - var invc = load(tab + (i << (1 + alignof())), 0 << alignof()); - var logc = load(tab + (i << (1 + alignof())), 1 << alignof()); + var invc = load(changetype(LOG2F_DATA_TAB) + (i << (1 + alignof())), 0 << alignof()); + var logc = load(changetype(LOG2F_DATA_TAB) + (i << (1 + alignof())), 1 << alignof()); var z = reinterpret(iz); // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k @@ -207,9 +207,12 @@ // // @ts-ignore: decorator -@lazy const LOGF_TABLE_BITS = 4; +@inline +const LOGF_TABLE_BITS = 4; + // @ts-ignore: decorator -@lazy const logf_data_tab: f64[] = [ +@lazy @inline +const LOGF_DATA_TAB: StaticArray = [ reinterpret(0x3FF661EC79F8F3BE), reinterpret(0xBFD57BF7808CAADE), // 0x1.661ec79f8f3bep+0, -0x1.57bf7808caadep-2, reinterpret(0x3FF571ED4AAF883D), reinterpret(0xBFD2BEF0A7C06DDB), // 0x1.571ed4aaf883dp+0, -0x1.2bef0a7c06ddbp-2, reinterpret(0x3FF49539F0F010B0), reinterpret(0xBFD01EAE7F513A67), // 0x1.49539f0f010bp+0 , -0x1.01eae7f513a67p-2, @@ -231,7 +234,8 @@ // ULP error: 0.818 (nearest rounding.) // Relative error: 1.957 * 2^-26 (before rounding.) // @ts-ignore: decorator -@inline export function logf_lut(x: f32): f32 { +@inline +export function logf_lut(x: f32): f32 { const N_MASK = (1 << LOGF_TABLE_BITS) - 1, Ox1p23f = reinterpret(0x4B000000); // 0x1p23f @@ -261,11 +265,9 @@ var i = (tmp >> (23 - LOGF_TABLE_BITS)) & N_MASK; var k = tmp >> 23; var iz = ux - (tmp & 0x1FF << 23); - // @ts-ignore: cast - var tab = logf_data_tab.dataStart as usize; - var invc = load(tab + (i << (1 + alignof())), 0 << alignof()); - var logc = load(tab + (i << (1 + alignof())), 1 << alignof()); + var invc = load(changetype(LOGF_DATA_TAB) + (i << (1 + alignof())), 0 << alignof()); + var logc = load(changetype(LOGF_DATA_TAB) + (i << (1 + alignof())), 1 << alignof()); var z = reinterpret(iz); @@ -287,14 +289,16 @@ // // @ts-ignore: decorator -@inline function zeroinfnanf(ux: u32): bool { +@inline +function zeroinfnanf(ux: u32): bool { return (ux << 1) - 1 >= (0x7f800000 << 1) - 1; } // Returns 0 if not int, 1 if odd int, 2 if even int. The argument is // the bit representation of a non-zero finite floating-point value. // @ts-ignore: decorator -@inline function checkintf(iy: u32): i32 { +@inline +function checkintf(iy: u32): i32 { var e = iy >> 23 & 0xFF; if (e < 0x7F ) return 0; if (e > 0x7F + 23) return 2; @@ -307,7 +311,8 @@ // Subnormal input is normalized so ix has negative biased exponent. // Output is multiplied by N (POWF_SCALE) if TOINT_INTRINICS is set. // @ts-ignore: decorator -@inline function log2f_inline(ux: u32): f64 { +@inline +function log2f_inline(ux: u32): f64 { const N_MASK = (1 << LOG2F_TABLE_BITS) - 1; const @@ -326,11 +331,8 @@ var uz = ux - top; var k = (top >> 23); - // @ts-ignore: cast - const tab = log2f_data_tab.dataStart as usize; - - var invc = load(tab + (i << (1 + alignof())), 0 << alignof()); - var logc = load(tab + (i << (1 + alignof())), 1 << alignof()); + var invc = load(changetype(LOG2F_DATA_TAB) + (i << (1 + alignof())), 0 << alignof()); + var logc = load(changetype(LOG2F_DATA_TAB) + (i << (1 + alignof())), 1 << alignof()); var z = reinterpret(uz); // log2(x) = log1p(z/c-1)/ln2 + log2(c) + k @@ -353,7 +355,8 @@ // (in case of fast toint intrinsics) or not. The unscaled xd must be // in [-1021,1023], sign_bias sets the sign of the result. // @ts-ignore: decorator -@inline function exp2f_inline(xd: f64, signBias: u32): f32 { +@inline +function exp2f_inline(xd: f64, signBias: u32): f32 { const N = 1 << EXP2F_TABLE_BITS, N_MASK = N - 1, @@ -371,11 +374,7 @@ var t: u64, z: f64, y: f64, s: f64; // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1) - // @ts-ignore: cast - const tab = exp2f_data_tab.dataStart as usize; - - // exp2(x) = 2^(k/N) * 2^r ~= s * (C0*r^3 + C1*r^2 + C2*r + 1) - t = load(tab + ((ki & N_MASK) << alignof())); + t = load(changetype(EXP2F_DATA_TAB) + ((ki & N_MASK) << alignof())); t += (ki + signBias) << (52 - EXP2F_TABLE_BITS); s = reinterpret(t); z = C0 * r + C1; @@ -386,22 +385,26 @@ } // @ts-ignore: decorator -@inline function xflowf(sign: u32, y: f32): f32 { +@inline +function xflowf(sign: u32, y: f32): f32 { return select(-y, y, sign) * y; } // @ts-ignore: decorator -@inline function oflowf(sign: u32): f32 { +@inline +function oflowf(sign: u32): f32 { return xflowf(sign, reinterpret(0x70000000)); // 0x1p97f } // @ts-ignore: decorator -@inline function uflowf(sign: u32): f32 { +@inline +function uflowf(sign: u32): f32 { return xflowf(sign, reinterpret(0x10000000)); // 0x1p-95f } // @ts-ignore: decorator -@inline export function powf_lut(x: f32, y: f32): f32 { +@inline +export function powf_lut(x: f32, y: f32): f32 { const Ox1p23f = reinterpret(0x4B000000), // 0x1p23f UPPER_LIMIT = reinterpret(0x405FFFFFFFD1D571), // 0x1.fffffffd1d571p+6 @@ -458,10 +461,12 @@ // // @ts-ignore: decorator -@lazy const EXP_TABLE_BITS = 7; +@inline +const EXP_TABLE_BITS = 7; // @ts-ignore: decorator -@lazy const exp_data_tab: u64[] = [ +@lazy @inline +const EXP_DATA_TAB: StaticArray = [ 0x0000000000000000, 0x3FF0000000000000, 0x3C9B3B4F1A88BF6E, 0x3FEFF63DA9FB3335, 0xBC7160139CD8DC5D, 0x3FEFEC9A3E778061, @@ -600,7 +605,8 @@ // adjustment of scale, positive k here means the result may overflow and // negative k means the result may underflow. // @ts-ignore: decorator -@inline function specialcase(tmp: f64, sbits: u64, ki: u64): f64 { +@inline +function specialcase(tmp: f64, sbits: u64, ki: u64): f64 { const Ox1p_1022 = reinterpret(0x0010000000000000), // 0x1p-1022 Ox1p1009 = reinterpret(0x7F00000000000000); // 0x1p1009 @@ -634,7 +640,8 @@ } // @ts-ignore: decorator -@inline export function exp_lut(x: f64): f64 { +@inline +export function exp_lut(x: f64): f64 { const N = 1 << EXP_TABLE_BITS, N_MASK = N - 1; @@ -686,12 +693,9 @@ var idx = ((ki & N_MASK) << 1); var top = ki << (52 - EXP_TABLE_BITS); - // @ts-ignore: cast - const tab = exp_data_tab.dataStart as usize; - - var tail = reinterpret(load(tab + (idx << alignof()))); // T[idx] + var tail = reinterpret(load(changetype(EXP_DATA_TAB) + (idx << alignof()))); // T[idx] // This is only a valid scale when -1023*N < k < 1024*N - var sbits = load(tab + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1] + var sbits = load(changetype(EXP_DATA_TAB) + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1] // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1). // Evaluation is optimized assuming superscalar pipelined execution. var r2 = r * r; @@ -717,7 +721,8 @@ // adjustment of scale, positive k here means the result may overflow and // negative k means the result may underflow. // @ts-ignore: decorator -@inline function specialcase2(tmp: f64, sbits: u64, ki: u64): f64 { +@inline +function specialcase2(tmp: f64, sbits: u64, ki: u64): f64 { const Ox1p_1022 = reinterpret(0x10000000000000); // 0x1p-1022 var scale: f64; if ((ki & 0x80000000) == 0) { @@ -745,7 +750,8 @@ } // @ts-ignore: decorator -@inline export function exp2_lut(x: f64): f64 { +@inline +export function exp2_lut(x: f64): f64 { const N = 1 << EXP_TABLE_BITS, N_MASK = N - 1, @@ -781,12 +787,9 @@ var idx = ((ki & N_MASK) << 1); var top = ki << (52 - EXP_TABLE_BITS); - // @ts-ignore: cast - const tab = exp_data_tab.dataStart as usize; - - var tail = reinterpret(load(tab + (idx << alignof()), 0 << alignof())); // T[idx]) + var tail = reinterpret(load(changetype(EXP_DATA_TAB) + (idx << alignof()), 0 << alignof())); // T[idx]) // This is only a valid scale when -1023*N < k < 1024*N - var sbits = load(tab + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1] + var sbits = load(changetype(EXP_DATA_TAB) + (idx << alignof()), 1 << alignof()) + top; // T[idx + 1] // exp2(x) = 2^(k/N) * 2^r ~= scale + scale * (tail + 2^r - 1). // Evaluation is optimized assuming superscalar pipelined execution var r2 = r * r; @@ -805,7 +808,8 @@ // // @ts-ignore: decorator -@lazy const LOG2_TABLE_BITS = 6; +@inline +const LOG2_TABLE_BITS = 6; /* Algorithm: @@ -835,7 +839,8 @@ that logc + poly(z/c - 1) has small error, however near x == 1 when |log2(x)| < 0x1p-4, this is not enough so that is special cased. */ // @ts-ignore: decorator -@lazy const log2_data_tab1: f64[] = [ +@lazy @inline +const LOG2_DATA_TAB1: StaticArray = [ // invc , logc reinterpret(0x3FF724286BB1ACF8), reinterpret(0xBFE1095FEECDB000), reinterpret(0x3FF6E1F766D2CCA1), reinterpret(0xBFE08494BD76D000), @@ -904,7 +909,8 @@ that logc + poly(z/c - 1) has small error, however near x == 1 when ]; // @ts-ignore: decorator -@lazy const log2_data_tab2: f64[] = [ +@lazy @inline +const LOG2_DATA_TAB2: StaticArray = [ // chi , clo reinterpret(0x3FE6200012B90A8E), reinterpret(0x3C8904AB0644B605), reinterpret(0x3FE66000045734A6), reinterpret(0x3C61FF9BEA62F7A9), @@ -973,7 +979,8 @@ that logc + poly(z/c - 1) has small error, however near x == 1 when ]; // @ts-ignore: decorator -@inline export function log2_lut(x: f64): f64 { +@inline +export function log2_lut(x: f64): f64 { const N_MASK = (1 << LOG2_TABLE_BITS) - 1; const @@ -1046,13 +1053,8 @@ that logc + poly(z/c - 1) has small error, however near x == 1 when var k = tmp >> 52; var iz = ix - (tmp & 0xFFF0000000000000); - // @ts-ignore: cast - const tab1 = log2_data_tab1.dataStart as usize; - // @ts-ignore: cast - const tab2 = log2_data_tab2.dataStart as usize; - - var invc = load(tab1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc; - var logc = load(tab1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc; + var invc = load(changetype(LOG2_DATA_TAB1) + (i << (1 + alignof())), 0 << alignof()); // T[i].invc; + var logc = load(changetype(LOG2_DATA_TAB1) + (i << (1 + alignof())), 1 << alignof()); // T[i].logc; var z = reinterpret(iz); var kd = k; @@ -1065,8 +1067,8 @@ that logc + poly(z/c - 1) has small error, however near x == 1 when // t2 = r * InvLn2lo + __builtin_fma(r, InvLn2hi, -t1); // #else // rounding error: 0x1p-55/N + 0x1p-65. - var chi = load(tab2 + (i << (1 + alignof())), 0 << alignof()); // T[i].chi; - var clo = load(tab2 + (i << (1 + alignof())), 1 << alignof()); // T[i].clo; + var chi = load(changetype(LOG2_DATA_TAB2) + (i << (1 + alignof())), 0 << alignof()); // T[i].chi; + var clo = load(changetype(LOG2_DATA_TAB2) + (i << (1 + alignof())), 1 << alignof()); // T[i].clo; var r = (z - chi - clo) * invc; var rhi = reinterpret(reinterpret(r) & 0xFFFFFFFF00000000); @@ -1094,7 +1096,8 @@ that logc + poly(z/c - 1) has small error, however near x == 1 when // // @ts-ignore: decorator -@lazy const LOG_TABLE_BITS = 7; +@inline +const LOG_TABLE_BITS = 7; /* Algorithm: @@ -1124,7 +1127,8 @@ that logc + poly(z/c - 1) has small error, however near x == 1 when |log(x)| < 0x1p-4, this is not enough so that is special cased.*/ // @ts-ignore: decorator -@lazy const log_data_tab1: f64[] = [ +@lazy @inline +const LOG_DATA_TAB1: StaticArray = [ // invc , logc reinterpret(0x3FF734F0C3E0DE9F), reinterpret(0xBFD7CC7F79E69000), reinterpret(0x3FF713786A2CE91F), reinterpret(0xBFD76FEEC20D0000), @@ -1257,7 +1261,8 @@ that logc + poly(z/c - 1) has small error, however near x == 1 when ]; // @ts-ignore: decorator -@lazy const log_data_tab2: f64[] = [ +@lazy @inline +const LOG_DATA_TAB2: StaticArray = [ // chi , clo reinterpret(0x3FE61000014FB66B), reinterpret(0x3C7E026C91425B3C), reinterpret(0x3FE63000034DB495), reinterpret(0x3C8DBFEA48005D41), @@ -1390,7 +1395,8 @@ that logc + poly(z/c - 1) has small error, however near x == 1 when ]; // @ts-ignore: decorator -@inline export function log_lut(x: f64): f64 { +@inline +export function log_lut(x: f64): f64 { const N_MASK = (1 << LOG_TABLE_BITS) - 1; const @@ -1461,13 +1467,8 @@ that logc + poly(z/c - 1) has small error, however near x == 1 when var k = tmp >> 52; var iz = ix - (tmp & (u64(0xFFF) << 52)); - // @ts-ignore: cast - const tab1 = log_data_tab1.dataStart as usize; - // @ts-ignore: cast - const tab2 = log_data_tab2.dataStart as usize; - - var invc = load(tab1 + (i << (1 + alignof())), 0 << alignof()); // T[i].invc; - var logc = load(tab1 + (i << (1 + alignof())), 1 << alignof()); // T[i].logc; + var invc = load(changetype(LOG_DATA_TAB1) + (i << (1 + alignof())), 0 << alignof()); // T[i].invc; + var logc = load(changetype(LOG_DATA_TAB1) + (i << (1 + alignof())), 1 << alignof()); // T[i].logc; var z = reinterpret(iz); // log(x) = log1p(z/c-1) + log(c) + k*Ln2. @@ -1477,8 +1478,8 @@ that logc + poly(z/c - 1) has small error, however near x == 1 when // r = __builtin_fma(z, invc, -1.0); // #else // rounding error: 0x1p-55/N + 0x1p-66 - const chi = load(tab2 + (i << (1 + alignof())), 0 << alignof()); // T2[i].chi - const clo = load(tab2 + (i << (1 + alignof())), 1 << alignof()); // T2[i].clo + const chi = load(changetype(LOG_DATA_TAB2) + (i << (1 + alignof())), 0 << alignof()); // T2[i].chi + const clo = load(changetype(LOG_DATA_TAB2) + (i << (1 + alignof())), 1 << alignof()); // T2[i].clo var r = (z - chi - clo) * invc; // #endif var kd = k; @@ -1502,7 +1503,8 @@ that logc + poly(z/c - 1) has small error, however near x == 1 when // // @ts-ignore: decorator -@lazy const POW_LOG_TABLE_BITS = 7; +@inline +const POW_LOG_TABLE_BITS = 7; /* Algorithm: @@ -1528,7 +1530,8 @@ error and the interval for z is selected such that near x == 1, where log(x) is tiny, large cancellation error is avoided in logc + poly(z/c - 1). */ // @ts-ignore: decorator -@lazy const pow_log_data_tab: f64[] = [ +@lazy @inline +const POW_LOG_DATA_TAB: StaticArray = [ // invc ,pad, logc , logctail reinterpret(0x3FF6A00000000000), 0, reinterpret(0xBFD62C82F2B9C800), reinterpret(0x3CFAB42428375680), reinterpret(0x3FF6800000000000), 0, reinterpret(0xBFD5D1BDBF580800), reinterpret(0xBD1CA508D8E0F720), @@ -1663,7 +1666,8 @@ is tiny, large cancellation error is avoided in logc + poly(z/c - 1). */ // Returns 0 if not int, 1 if odd int, 2 if even int. The argument is // the bit representation of a non-zero finite floating-point value. // @ts-ignore: decorator -@inline function checkint(iy: u64): i32 { +@inline +function checkint(iy: u64): i32 { var e = iy >> 52 & 0x7FF; if (e < 0x3FF ) return 0; if (e > 0x3FF + 52) return 2; @@ -1674,34 +1678,40 @@ is tiny, large cancellation error is avoided in logc + poly(z/c - 1). */ } // @ts-ignore: decorator -@inline function xflow(sign: u32, y: f64): f64 { +@inline +function xflow(sign: u32, y: f64): f64 { return select(-y, y, sign) * y; } // @ts-ignore: decorator -@inline function uflow(sign: u32): f64 { +@inline +function uflow(sign: u32): f64 { return xflow(sign, reinterpret(0x1000000000000000)); // 0x1p-767 } // @ts-ignore: decorator -@inline function oflow(sign: u32): f64 { +@inline +function oflow(sign: u32): f64 { return xflow(sign, reinterpret(0x7000000000000000)); // 0x1p769 } // Returns 1 if input is the bit representation of 0, infinity or nan. // @ts-ignore: decorator -@inline function zeroinfnan(u: u64): bool { +@inline +function zeroinfnan(u: u64): bool { return (u << 1) - 1 >= 0xFFE0000000000000 - 1; } // @ts-ignore: decorator -@lazy var log_tail: f64 = 0; +@lazy +var log_tail: f64 = 0; // Compute y+TAIL = log(x) where the rounded result is y and TAIL has about // additional 15 bits precision. IX is the bit representation of x, but // normalized in the subnormal range using the sign bit for the exponent. // @ts-ignore: decorator -@inline function log_inline(ix: u64): f64 { +@inline +function log_inline(ix: u64): f64 { const N = 1 << POW_LOG_TABLE_BITS; const N_MASK = N - 1; @@ -1729,12 +1739,9 @@ is tiny, large cancellation error is avoided in logc + poly(z/c - 1). */ var kd = k; // log(x) = k*Ln2 + log(c) + log1p(z/c-1). - // @ts-ignore: cast - const tab = pow_log_data_tab.dataStart as usize; - - var invc = load(tab + (i << (2 + alignof())), 0 << alignof()); // tab[i].invc - var logc = load(tab + (i << (2 + alignof())), 2 << alignof()); // tab[i].logc - var logctail = load(tab + (i << (2 + alignof())), 3 << alignof()); // tab[i].logctail + var invc = load(changetype(POW_LOG_DATA_TAB) + (i << (2 + alignof())), 0 << alignof()); // tab[i].invc + var logc = load(changetype(POW_LOG_DATA_TAB) + (i << (2 + alignof())), 2 << alignof()); // tab[i].logc + var logctail = load(changetype(POW_LOG_DATA_TAB) + (i << (2 + alignof())), 3 << alignof()); // tab[i].logctail // Note: 1/c is j/N or j/N/2 where j is an integer in [N,2N) and // |z/c - 1| < 1/N, so r = z/c - 1 is exactly representible. @@ -1772,12 +1779,14 @@ is tiny, large cancellation error is avoided in logc + poly(z/c - 1). */ } // @ts-ignore: decorator -@lazy const SIGN_BIAS = 0x800 << EXP_TABLE_BITS; +@inline +const SIGN_BIAS = 0x800 << EXP_TABLE_BITS; // Computes sign*exp(x+xtail) where |xtail| < 2^-8/N and |xtail| <= |x|. // The sign_bias argument is SIGN_BIAS or 0 and sets the sign to -1 or 1. // @ts-ignore: decorator -@inline function exp_inline(x: f64, xtail: f64, sign_bias: u32): f64 { +@inline +function exp_inline(x: f64, xtail: f64, sign_bias: u32): f64 { const N = 1 << EXP_TABLE_BITS; const N_MASK = N - 1; @@ -1840,12 +1849,9 @@ is tiny, large cancellation error is avoided in logc + poly(z/c - 1). */ idx = ((ki & N_MASK) << 1); top = (ki + sign_bias) << (52 - EXP_TABLE_BITS); - // @ts-ignore: cast - const tab = exp_data_tab.dataStart as usize; - - tail = reinterpret(load(tab + (idx << alignof()))); + tail = reinterpret(load(changetype(EXP_DATA_TAB) + (idx << alignof()))); // This is only a valid scale when -1023*N < k < 1024*N - sbits = load(tab + (idx << alignof()), 1 << alignof()) + top; + sbits = load(changetype(EXP_DATA_TAB) + (idx << alignof()), 1 << alignof()) + top; // exp(x) = 2^(k/N) * exp(r) ~= scale + scale * (tail + exp(r) - 1). // Evaluation is optimized assuming superscalar pipelined execution. r2 = r * r; @@ -1860,7 +1866,8 @@ is tiny, large cancellation error is avoided in logc + poly(z/c - 1). */ } // @ts-ignore: decorator -@inline export function pow_lut(x: f64, y: f64): f64 { +@inline +export function pow_lut(x: f64, y: f64): f64 { const Ox1p52 = reinterpret(0x4330000000000000); // 0x1p52 var sign_bias: u32 = 0; @@ -1925,4 +1932,4 @@ is tiny, large cancellation error is avoided in logc + poly(z/c - 1). */ elo = ylo * lhi + y * llo; // |elo| < |ehi| * 2^-25. // #endif return exp_inline(ehi, elo, sign_bias); -} \ No newline at end of file +} diff --git a/std/assembly/util/number.ts b/std/assembly/util/number.ts index 133dfd7c05..ecbe1efcbc 100644 --- a/std/assembly/util/number.ts +++ b/std/assembly/util/number.ts @@ -2,7 +2,6 @@ import { idof } from "../builtins"; import { CharCode } from "./string"; -import { ArrayBufferView } from "../arraybuffer"; // @ts-ignore: decorator @inline @@ -10,7 +9,7 @@ export const MAX_DOUBLE_LENGTH = 28; // @ts-ignore: decorator @lazy @inline -const POWERS10: u32[] = [ +const POWERS10: StaticArray = [ 1, 10, 100, @@ -39,7 +38,7 @@ const POWERS10: u32[] = [ */ // @ts-ignore: decorator @lazy @inline -const DIGITS: u32[] = [ +const DIGITS: StaticArray = [ 0x00300030, 0x00310030, 0x00320030, 0x00330030, 0x00340030, 0x00350030, 0x00360030, 0x00370030, 0x00380030, 0x00390030, 0x00300031, 0x00310031, 0x00320031, 0x00330031, 0x00340031, @@ -64,7 +63,7 @@ const DIGITS: u32[] = [ // @ts-ignore: decorator @lazy @inline -const EXP_POWERS: i16[] = [ +const EXP_POWERS: StaticArray = [ -1220, -1193, -1166, -1140, -1113, -1087, -1060, -1034, -1007, -980, -954, -927, -901, -874, -847, -821, -794, -768, -741, -715, -688, -661, -635, -608, -582, -555, -529, -502, -475, -449, @@ -79,7 +78,7 @@ const EXP_POWERS: i16[] = [ // 1e-348, 1e-340, ..., 1e340 // @ts-ignore: decorator @lazy @inline -const FRC_POWERS: u64[] = [ +const FRC_POWERS: StaticArray = [ 0xFA8FD5A0081C0288, 0xBAAEE17FA23EBF76, 0x8B16FB203055AC76, 0xCF42894A5DCE35EA, 0x9A6BB0AA55653B2D, 0xE61ACF033D1A45DF, 0xAB70FE17C79AC6CA, 0xFF77B1FCBEBCDC4F, 0xBE5691EF416BD60C, 0x8DD01FAD907FFC3C, 0xD3515C2831559A83, 0x9D71AC8FADA6C9B5, @@ -146,7 +145,6 @@ export function decimalCount64(value: u64): u32 { } function utoa32_lut(buffer: usize, num: u32, offset: usize): void { - var lut = changetype(DIGITS).dataStart; while (num >= 10000) { // in most VMs i32/u32 div and modulo by constant can be shared and simplificate let t = num / 10000; @@ -156,8 +154,8 @@ function utoa32_lut(buffer: usize, num: u32, offset: usize): void { let d1 = r / 100; let d2 = r % 100; - let digits1 = load(lut + (d1 << alignof())); - let digits2 = load(lut + (d2 << alignof())); + let digits1 = load(changetype(DIGITS) + (d1 << alignof())); + let digits2 = load(changetype(DIGITS) + (d2 << alignof())); offset -= 4; store(buffer + (offset << 1), digits1 | (digits2 << 32)); @@ -168,13 +166,13 @@ function utoa32_lut(buffer: usize, num: u32, offset: usize): void { let d1 = num % 100; num = t; offset -= 2; - let digits = load(lut + (d1 << alignof())); + let digits = load(changetype(DIGITS) + (d1 << alignof())); store(buffer + (offset << 1), digits); } if (num >= 10) { offset -= 2; - let digits = load(lut + (num << alignof())); + let digits = load(changetype(DIGITS) + (num << alignof())); store(buffer + (offset << 1), digits); } else { offset -= 1; @@ -184,7 +182,6 @@ function utoa32_lut(buffer: usize, num: u32, offset: usize): void { } function utoa64_lut(buffer: usize, num: u64, offset: usize): void { - var lut = changetype(DIGITS).dataStart; while (num >= 100000000) { let t = num / 100000000; let r = (num - t * 100000000); @@ -198,14 +195,14 @@ function utoa64_lut(buffer: usize, num: u64, offset: usize): void { let c1 = c / 100; let c2 = c % 100; - let digits1 = load(lut + (c1 << alignof())); - let digits2 = load(lut + (c2 << alignof())); + let digits1 = load(changetype(DIGITS) + (c1 << alignof())); + let digits2 = load(changetype(DIGITS) + (c2 << alignof())); offset -= 4; store(buffer + (offset << 1), digits1 | (digits2 << 32)); - digits1 = load(lut + (b1 << alignof())); - digits2 = load(lut + (b2 << alignof())); + digits1 = load(changetype(DIGITS) + (b1 << alignof())); + digits2 = load(changetype(DIGITS) + (b2 << alignof())); offset -= 4; store(buffer + (offset << 1), digits1 | (digits2 << 32)); @@ -423,8 +420,8 @@ function getCachedPower(minExp: i32): void { var index = (k >> 3) + 1; _K = 348 - (index << 3); // decimal exponent no need lookup table - _frc_pow = unchecked(FRC_POWERS[index]); - _exp_pow = unchecked(EXP_POWERS[index]); + _frc_pow = load(changetype(FRC_POWERS) + (index << alignof())); + _exp_pow = load(changetype(EXP_POWERS) + (index << alignof())); } // @ts-ignore: decorator @@ -475,8 +472,6 @@ function genDigits(buffer: usize, w_frc: u64, w_exp: i32, mp_frc: u64, mp_exp: i var kappa = decimalCount32(p1); var len = sign; - var lut = changetype(POWERS10).dataStart; - while (kappa > 0) { let d: u32; switch (kappa) { @@ -499,7 +494,7 @@ function genDigits(buffer: usize, w_frc: u64, w_exp: i32, mp_frc: u64, mp_exp: i let tmp = ((p1) << one_exp) + p2; if (tmp <= delta) { _K += kappa; - grisuRound(buffer, len, delta, tmp, load(lut + (kappa << alignof())) << one_exp, wp_w_frc); + grisuRound(buffer, len, delta, tmp, load(changetype(POWERS10) + (kappa << alignof())) << one_exp, wp_w_frc); return len; } } @@ -515,7 +510,7 @@ function genDigits(buffer: usize, w_frc: u64, w_exp: i32, mp_frc: u64, mp_exp: i --kappa; if (p2 < delta) { _K += kappa; - wp_w_frc *= load(lut + (-kappa << alignof())); + wp_w_frc *= load(changetype(POWERS10) + (-kappa << alignof())); grisuRound(buffer, len, delta, p2, one_frc, wp_w_frc); return len; } diff --git a/std/assembly/util/string.ts b/std/assembly/util/string.ts index b4f8ffe1a8..7ec6886a9a 100644 --- a/std/assembly/util/string.ts +++ b/std/assembly/util/string.ts @@ -1,8 +1,9 @@ import { itoa, dtoa, itoa_stream, dtoa_stream, MAX_DOUBLE_LENGTH } from "./number"; import { ipow32 } from "../math"; -// @ts-ignore -@lazy const lowerTable127: u8[] = [ +// @ts-ignore: decorator +@lazy @inline +const LOWER127: StaticArray = [ 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47, @@ -16,8 +17,9 @@ import { ipow32 } from "../math"; 123,124,125,126,127 ]; -// @ts-ignore -@lazy const upperTable127: u8[] = [ +// @ts-ignore: decorator +@lazy @inline +const UPPER127: StaticArray = [ 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, 16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47, @@ -31,11 +33,6 @@ import { ipow32 } from "../math"; 123,124,125,126,127 ]; -// @ts-ignore -@lazy const lowerTable127Ptr = lowerTable127.dataStart as usize; -// @ts-ignore -@lazy const upperTable127Ptr = upperTable127.dataStart as usize; - // @ts-ignore: decorator @inline export const enum CharCode { @@ -71,7 +68,8 @@ export const enum CharCode { // 23 * 8 = 184 bytes // @ts-ignore: decorator -@lazy const Powers10: f64[] = [ +@lazy @inline +const POWERS10: StaticArray = [ 1e00, 1e01, 1e02, 1e03, 1e04, 1e05, 1e06, 1e07, 1e08, 1e09, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, 1e22 @@ -599,8 +597,7 @@ function fixmul(a: u64, b: u32): u64 { @inline function pow10(n: i32): f64 { // argument `n` should bounds in [0, 22] range - // @ts-ignore: cast - return load(Powers10.dataStart as usize + (n << alignof())); + return load(changetype(POWERS10) + (n << alignof())); } // @ts-ignore: decorator @@ -627,7 +624,7 @@ export function toLower8(c: i32): u32 { if (ASC_SHRINK_LEVEL > 0) { return c | u32(isUpper8(c)) << 5; } else { - return load(lowerTable127Ptr + c); + return load(changetype(LOWER127) + c); } } @@ -637,6 +634,6 @@ export function toUpper8(c: i32): u32 { if (ASC_SHRINK_LEVEL > 0) { return c & ~(u32(isLower8(c)) << 5); } else { - return load(upperTable127Ptr + c); + return load(changetype(UPPER127) + c); } } diff --git a/tests/compiler/binary.optimized.wat b/tests/compiler/binary.optimized.wat index 969e0c3f02..6961e182ef 100644 --- a/tests/compiler/binary.optimized.wat +++ b/tests/compiler/binary.optimized.wat @@ -3,10 +3,8 @@ (type $f32_=>_f32 (func (param f32) (result f32))) (type $f64_=>_f64 (func (param f64) (result f64))) (memory $0 1) - (data (i32.const 17) "\01\00\00\01\00\00\00\00\00\00\00\00\01\00\00\be\f3\f8y\eca\f6?\190\96[\c6\fe\de\bf=\88\afJ\edq\f5?\a4\fc\d42h\0b\db\bf\b0\10\f0\f09\95\f4?{\b7\1f\n\8bA\d7\bf\85\03\b8\b0\95\c9\f3?{\cfm\1a\e9\9d\d3\bf\a5d\88\0c\19\0d\f3?1\b6\f2\f3\9b\1d\d0\bf\a0\8e\0b{\"^\f2?\f0z;\1b\1d|\c9\bf?4\1aJJ\bb\f1?\9f<\af\93\e3\f9\c2\bf\ba\e5\8a\f0X#\f1?\\\8dx\bf\cb`\b9\bf\a7\00\99A?\95\f0?\ce_G\b6\9do\aa\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?=\f5$\9f\ca8\b3?\a0j\02\1f\b3\a4\ec?\ba\918T\a9v\c4?\e6\fcjW6 \eb?\d2\e4\c4J\0b\84\ce?-\aa\a1c\d1\c2\e9?\1ce\c6\f0E\06\d4?\edAx\03\e6\86\e8?\f8\9f\1b,\9c\8e\d8?bHS\f5\dcg\e7?\cc{\b1N\a4\e0\dc?") - (data (i32.const 288) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00 \00\00\00 \00\00\00\00\01\00\00 ") - (data (i32.const 321) "\01\00\00\01\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\f0?t\85\15\d3\b0\d9\ef?\0f\89\f9lX\b5\ef?Q[\12\d0\01\93\ef?{Q}<\b8r\ef?\aa\b9h1\87T\ef?8bunz8\ef?\e1\de\1f\f5\9d\1e\ef?\15\b71\n\fe\06\ef?\cb\a9:7\a7\f1\ee?\"4\12L\a6\de\ee?-\89a`\08\ce\ee?\'*6\d5\da\bf\ee?\82O\9dV+\b4\ee?)TH\dd\07\ab\ee?\85U:\b0~\a4\ee?\cd;\7ff\9e\a0\ee?t_\ec\e8u\9f\ee?\87\01\ebs\14\a1\ee?\13\ceL\99\89\a5\ee?\db\a0*B\e5\ac\ee?\e5\c5\cd\b07\b7\ee?\90\f0\a3\82\91\c4\ee?]%>\b2\03\d5\ee?\ad\d3Z\99\9f\e8\ee?G^\fb\f2v\ff\ee?\9cR\85\dd\9b\19\ef?i\90\ef\dc 7\ef?\87\a4\fb\dc\18X\ef?_\9b{3\97|\ef?\da\90\a4\a2\af\a4\ef?@En[v\d0\ef?") - (data (i32.const 592) "\10\00\00\00\01\00\00\00\04\00\00\00\10\00\00\00P\01\00\00P\01\00\00\00\01\00\00 ") + (data (i32.const 17) "\01\00\00\01\00\00\00\03\00\00\00\00\01\00\00\be\f3\f8y\eca\f6?\190\96[\c6\fe\de\bf=\88\afJ\edq\f5?\a4\fc\d42h\0b\db\bf\b0\10\f0\f09\95\f4?{\b7\1f\n\8bA\d7\bf\85\03\b8\b0\95\c9\f3?{\cfm\1a\e9\9d\d3\bf\a5d\88\0c\19\0d\f3?1\b6\f2\f3\9b\1d\d0\bf\a0\8e\0b{\"^\f2?\f0z;\1b\1d|\c9\bf?4\1aJJ\bb\f1?\9f<\af\93\e3\f9\c2\bf\ba\e5\8a\f0X#\f1?\\\8dx\bf\cb`\b9\bf\a7\00\99A?\95\f0?\ce_G\b6\9do\aa\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?=\f5$\9f\ca8\b3?\a0j\02\1f\b3\a4\ec?\ba\918T\a9v\c4?\e6\fcjW6 \eb?\d2\e4\c4J\0b\84\ce?-\aa\a1c\d1\c2\e9?\1ce\c6\f0E\06\d4?\edAx\03\e6\86\e8?\f8\9f\1b,\9c\8e\d8?bHS\f5\dcg\e7?\cc{\b1N\a4\e0\dc?") + (data (i32.const 289) "\01\00\00\01\00\00\00\04\00\00\00\00\01\00\00\00\00\00\00\00\00\f0?t\85\15\d3\b0\d9\ef?\0f\89\f9lX\b5\ef?Q[\12\d0\01\93\ef?{Q}<\b8r\ef?\aa\b9h1\87T\ef?8bunz8\ef?\e1\de\1f\f5\9d\1e\ef?\15\b71\n\fe\06\ef?\cb\a9:7\a7\f1\ee?\"4\12L\a6\de\ee?-\89a`\08\ce\ee?\'*6\d5\da\bf\ee?\82O\9dV+\b4\ee?)TH\dd\07\ab\ee?\85U:\b0~\a4\ee?\cd;\7ff\9e\a0\ee?t_\ec\e8u\9f\ee?\87\01\ebs\14\a1\ee?\13\ceL\99\89\a5\ee?\db\a0*B\e5\ac\ee?\e5\c5\cd\b07\b7\ee?\90\f0\a3\82\91\c4\ee?]%>\b2\03\d5\ee?\ad\d3Z\99\9f\e8\ee?G^\fb\f2v\ff\ee?\9cR\85\dd\9b\19\ef?i\90\ef\dc 7\ef?\87\a4\fb\dc\18X\ef?_\9b{3\97|\ef?\da\90\a4\a2\af\a4\ef?@En[v\d0\ef?") (global $binary/b (mut i32) (i32.const 0)) (global $binary/i (mut i32) (i32.const 0)) (global $binary/I (mut i64) (i64.const 0)) diff --git a/tests/compiler/binary.untouched.wat b/tests/compiler/binary.untouched.wat index fbbd874fd9..35b4803fc9 100644 --- a/tests/compiler/binary.untouched.wat +++ b/tests/compiler/binary.untouched.wat @@ -3,30 +3,17 @@ (type $f32_f32_=>_f32 (func (param f32 f32) (result f32))) (type $f64_f64_=>_f64 (func (param f64 f64) (result f64))) (memory $0 1) - (data (i32.const 16) "\00\10\00\00\01\00\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\a0\f6?\00\00\00\00\00\00\00\00\00\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?\00\00\00\00\00\00\00\00\00\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?\00\00\00\00\00\00\00\00\00XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?\00\00\00\00\00\00\00\00\00\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?\00\00\00\00\00\00\00\00\00xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?\00\00\00\00\00\00\00\00\00`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?\00\00\00\00\00\00\00\00\00\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?\00\00\00\00\00\00\00\00\00HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?\00\00\00\00\00\00\00\00\00\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?\00\00\00\00\00\00\00\00\00 \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?\00\00\00\00\00\00\00\00\00x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?\00\00\00\00\00\00\00\00\00\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?\00\00\00\00\00\00\00\00\00\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?\00\00\00\00\00\00\00\00\00H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?\00\00\00\00\00\00\00\00\00\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?\00\00\00\00\00\00\00\00\00@^m\18\b9\cf\bf\87<\99\ab*W\0d=\00\00\00\00\00`\f4?\00\00\00\00\00\00\00\00\00`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?\00\00\00\00\00\00\00\00\00\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?\00\00\00\00\00\00\00\00\00\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?\00\00\00\00\00\00\00\00\00\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?\00\00\00\00\00\00\00\00\00\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?\00\00\00\00\00\00\00\00\00P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?\00\00\00\00\00\00\00\00\00\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?\00\00\00\00\00\00\00\00\00\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?\00\00\00\00\00\00\00\00\00\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?\00\00\00\00\00\00\00\00\00\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?\00\00\00\00\00\00\00\00\00`F\d1;\97\b1?\9b\9e\0dV]2%\bd\00\00\00\00\00\a0\ed?\00\00\00\00\00\00\00\00\00\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?\00\00\00\00\00\00\00\00\00\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?\00\00\00\00\00\00\00\00\00\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?\00\00\00\00\00\00\00\00\00@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?\00\00\00\00\00\00\00\00\00`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?\00\00\00\00\00\00\00\00\00@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?\00\00\00\00\00\00\00\00\00 \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?\00\00\00\00\00\00\00\00\00\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?\00\00\00\00\00\00\00\00\00\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?\00\00\00\00\00\00\00\00\00\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?\00\00\00\00\00\00\00\00\00\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?\00\00\00\00\00\00\00\00\00\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?\00\00\00\00\00\00\00\00\00\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?\00\00\00\00\00\00\00\00\00\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?\00\00\00\00\00\00\00\00\00\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?\00\00\00\00\00\00\00\00\00pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?\00\00\00\00\00\00\00\00\00PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?\00\00\00\00\00\00\00\00\00\009\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?\00\00\00\00\00\00\00\00\00\00\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?\00\00\00\00\00\00\00\00\00\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?\00\00\00\00\00\00\00\00\00\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?\00\00\00\00\00\00\00\00\00\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?\00\00\00\00\00\00\00\00\00\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?\00\00\00\00\00\00\00\00\00\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?\00\00\00\00\00\00\00\00\00\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?\00\00\00\00\00\00\00\00\00\00\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?\00\00\00\00\00\00\00\00\00\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?\00\00\00\00\00\00\00\00\00XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?\00\00\00\00\00\00\00\00\00`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?\00\00\00\00\00\00\00\00\00\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?\00\00\00\00\00\00\00\00\00\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?\00\00\00\00\00\00\00\00\00hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?\00\00\00\00\00\00\00\00\00\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?\00\00\00\00\00\00\00\00\00\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?\00\00\00\00\00\00\00\00\00`\d3\e1\f1\14\d3?\b8\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\0dG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") - (data (i32.const 6224) "\10\00\00\00\01\00\00\00\04\00\00\00\10\00\00\00P\10\00\00P\10\00\00\00\08\00\00\00\01\00\00") - (data (i32.const 6256) "\00\01\00\00\01\00\00\00\00\00\00\00\00\01\00\00\be\f3\f8y\eca\f6?\190\96[\c6\fe\de\bf=\88\afJ\edq\f5?\a4\fc\d42h\0b\db\bf\b0\10\f0\f09\95\f4?{\b7\1f\n\8bA\d7\bf\85\03\b8\b0\95\c9\f3?{\cfm\1a\e9\9d\d3\bf\a5d\88\0c\19\0d\f3?1\b6\f2\f3\9b\1d\d0\bf\a0\8e\0b{\"^\f2?\f0z;\1b\1d|\c9\bf?4\1aJJ\bb\f1?\9f<\af\93\e3\f9\c2\bf\ba\e5\8a\f0X#\f1?\\\8dx\bf\cb`\b9\bf\a7\00\99A?\95\f0?\ce_G\b6\9do\aa\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?=\f5$\9f\ca8\b3?\a0j\02\1f\b3\a4\ec?\ba\918T\a9v\c4?\e6\fcjW6 \eb?\d2\e4\c4J\0b\84\ce?-\aa\a1c\d1\c2\e9?\1ce\c6\f0E\06\d4?\edAx\03\e6\86\e8?\f8\9f\1b,\9c\8e\d8?bHS\f5\dcg\e7?\cc{\b1N\a4\e0\dc?") - (data (i32.const 6528) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00\80\18\00\00\80\18\00\00\00\01\00\00 \00\00\00") - (data (i32.const 6560) "\00\01\00\00\01\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\f0?t\85\15\d3\b0\d9\ef?\0f\89\f9lX\b5\ef?Q[\12\d0\01\93\ef?{Q}<\b8r\ef?\aa\b9h1\87T\ef?8bunz8\ef?\e1\de\1f\f5\9d\1e\ef?\15\b71\n\fe\06\ef?\cb\a9:7\a7\f1\ee?\"4\12L\a6\de\ee?-\89a`\08\ce\ee?\'*6\d5\da\bf\ee?\82O\9dV+\b4\ee?)TH\dd\07\ab\ee?\85U:\b0~\a4\ee?\cd;\7ff\9e\a0\ee?t_\ec\e8u\9f\ee?\87\01\ebs\14\a1\ee?\13\ceL\99\89\a5\ee?\db\a0*B\e5\ac\ee?\e5\c5\cd\b07\b7\ee?\90\f0\a3\82\91\c4\ee?]%>\b2\03\d5\ee?\ad\d3Z\99\9f\e8\ee?G^\fb\f2v\ff\ee?\9cR\85\dd\9b\19\ef?i\90\ef\dc 7\ef?\87\a4\fb\dc\18X\ef?_\9b{3\97|\ef?\da\90\a4\a2\af\a4\ef?@En[v\d0\ef?") - (data (i32.const 6832) "\10\00\00\00\01\00\00\00\04\00\00\00\10\00\00\00\b0\19\00\00\b0\19\00\00\00\01\00\00 \00\00\00") + (data (i32.const 16) "\00\10\00\00\01\00\00\00\03\00\00\00\00\10\00\00\00\00\00\00\00\a0\f6?\00\00\00\00\00\00\00\00\00\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?\00\00\00\00\00\00\00\00\00\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?\00\00\00\00\00\00\00\00\00XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?\00\00\00\00\00\00\00\00\00\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?\00\00\00\00\00\00\00\00\00xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?\00\00\00\00\00\00\00\00\00`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?\00\00\00\00\00\00\00\00\00\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?\00\00\00\00\00\00\00\00\00HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?\00\00\00\00\00\00\00\00\00\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?\00\00\00\00\00\00\00\00\00 \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?\00\00\00\00\00\00\00\00\00x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?\00\00\00\00\00\00\00\00\00\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?\00\00\00\00\00\00\00\00\00\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?\00\00\00\00\00\00\00\00\00H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?\00\00\00\00\00\00\00\00\00\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?\00\00\00\00\00\00\00\00\00@^m\18\b9\cf\bf\87<\99\ab*W\0d=\00\00\00\00\00`\f4?\00\00\00\00\00\00\00\00\00`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?\00\00\00\00\00\00\00\00\00\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?\00\00\00\00\00\00\00\00\00\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?\00\00\00\00\00\00\00\00\00\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?\00\00\00\00\00\00\00\00\00\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?\00\00\00\00\00\00\00\00\00P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?\00\00\00\00\00\00\00\00\00\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?\00\00\00\00\00\00\00\00\00\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?\00\00\00\00\00\00\00\00\00\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?\00\00\00\00\00\00\00\00\00\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?\00\00\00\00\00\00\00\00\00`F\d1;\97\b1?\9b\9e\0dV]2%\bd\00\00\00\00\00\a0\ed?\00\00\00\00\00\00\00\00\00\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?\00\00\00\00\00\00\00\00\00\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?\00\00\00\00\00\00\00\00\00\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?\00\00\00\00\00\00\00\00\00@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?\00\00\00\00\00\00\00\00\00`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?\00\00\00\00\00\00\00\00\00@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?\00\00\00\00\00\00\00\00\00 \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?\00\00\00\00\00\00\00\00\00\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?\00\00\00\00\00\00\00\00\00\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?\00\00\00\00\00\00\00\00\00\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?\00\00\00\00\00\00\00\00\00\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?\00\00\00\00\00\00\00\00\00\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?\00\00\00\00\00\00\00\00\00\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?\00\00\00\00\00\00\00\00\00\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?\00\00\00\00\00\00\00\00\00\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?\00\00\00\00\00\00\00\00\00pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?\00\00\00\00\00\00\00\00\00PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?\00\00\00\00\00\00\00\00\00\009\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?\00\00\00\00\00\00\00\00\00\00\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?\00\00\00\00\00\00\00\00\00\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?\00\00\00\00\00\00\00\00\00\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?\00\00\00\00\00\00\00\00\00\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?\00\00\00\00\00\00\00\00\00\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?\00\00\00\00\00\00\00\00\00\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?\00\00\00\00\00\00\00\00\00\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?\00\00\00\00\00\00\00\00\00\00\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?\00\00\00\00\00\00\00\00\00\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?\00\00\00\00\00\00\00\00\00XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?\00\00\00\00\00\00\00\00\00`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?\00\00\00\00\00\00\00\00\00\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?\00\00\00\00\00\00\00\00\00\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?\00\00\00\00\00\00\00\00\00hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?\00\00\00\00\00\00\00\00\00\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?\00\00\00\00\00\00\00\00\00\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?\00\00\00\00\00\00\00\00\00`\d3\e1\f1\14\d3?\b8\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\0dG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") + (data (i32.const 6192) "\00\01\00\00\01\00\00\00\03\00\00\00\00\01\00\00\be\f3\f8y\eca\f6?\190\96[\c6\fe\de\bf=\88\afJ\edq\f5?\a4\fc\d42h\0b\db\bf\b0\10\f0\f09\95\f4?{\b7\1f\n\8bA\d7\bf\85\03\b8\b0\95\c9\f3?{\cfm\1a\e9\9d\d3\bf\a5d\88\0c\19\0d\f3?1\b6\f2\f3\9b\1d\d0\bf\a0\8e\0b{\"^\f2?\f0z;\1b\1d|\c9\bf?4\1aJJ\bb\f1?\9f<\af\93\e3\f9\c2\bf\ba\e5\8a\f0X#\f1?\\\8dx\bf\cb`\b9\bf\a7\00\99A?\95\f0?\ce_G\b6\9do\aa\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?=\f5$\9f\ca8\b3?\a0j\02\1f\b3\a4\ec?\ba\918T\a9v\c4?\e6\fcjW6 \eb?\d2\e4\c4J\0b\84\ce?-\aa\a1c\d1\c2\e9?\1ce\c6\f0E\06\d4?\edAx\03\e6\86\e8?\f8\9f\1b,\9c\8e\d8?bHS\f5\dcg\e7?\cc{\b1N\a4\e0\dc?") + (data (i32.const 6464) "\00\01\00\00\01\00\00\00\04\00\00\00\00\01\00\00\00\00\00\00\00\00\f0?t\85\15\d3\b0\d9\ef?\0f\89\f9lX\b5\ef?Q[\12\d0\01\93\ef?{Q}<\b8r\ef?\aa\b9h1\87T\ef?8bunz8\ef?\e1\de\1f\f5\9d\1e\ef?\15\b71\n\fe\06\ef?\cb\a9:7\a7\f1\ee?\"4\12L\a6\de\ee?-\89a`\08\ce\ee?\'*6\d5\da\bf\ee?\82O\9dV+\b4\ee?)TH\dd\07\ab\ee?\85U:\b0~\a4\ee?\cd;\7ff\9e\a0\ee?t_\ec\e8u\9f\ee?\87\01\ebs\14\a1\ee?\13\ceL\99\89\a5\ee?\db\a0*B\e5\ac\ee?\e5\c5\cd\b07\b7\ee?\90\f0\a3\82\91\c4\ee?]%>\b2\03\d5\ee?\ad\d3Z\99\9f\e8\ee?G^\fb\f2v\ff\ee?\9cR\85\dd\9b\19\ef?i\90\ef\dc 7\ef?\87\a4\fb\dc\18X\ef?_\9b{3\97|\ef?\da\90\a4\a2\af\a4\ef?@En[v\d0\ef?") (table $0 1 funcref) (global $binary/b (mut i32) (i32.const 0)) (global $binary/i (mut i32) (i32.const 0)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) - (global $~lib/util/math/EXP_TABLE_BITS i32 (i32.const 7)) - (global $~lib/util/math/SIGN_BIAS i32 (i32.const 262144)) - (global $~lib/util/math/POW_LOG_TABLE_BITS i32 (i32.const 7)) - (global $~lib/util/math/pow_log_data_tab i32 (i32.const 4144)) (global $~lib/util/math/log_tail (mut f64) (f64.const 0)) - (global $~lib/util/math/exp_data_tab i32 (i32.const 6240)) (global $binary/I (mut i64) (i64.const 0)) (global $binary/f (mut f32) (f32.const 0)) - (global $~lib/util/math/EXP2F_TABLE_BITS i32 (i32.const 5)) - (global $~lib/util/math/LOG2F_TABLE_BITS i32 (i32.const 4)) - (global $~lib/util/math/log2f_data_tab i32 (i32.const 6544)) - (global $~lib/util/math/exp2f_data_tab i32 (i32.const 6848)) (global $binary/F (mut f64) (f64.const 0)) (export "memory" (memory $0)) (start $~start) @@ -45,7 +32,7 @@ (local $13 i64) (local $14 i64) (local $15 f64) - (local $16 i32) + (local $16 f64) (local $17 f64) (local $18 f64) (local $19 f64) @@ -68,7 +55,7 @@ (local $36 f64) (local $37 f64) (local $38 f64) - (local $39 f64) + (local $39 i32) (local $40 i32) (local $41 i32) (local $42 i32) @@ -412,7 +399,7 @@ i32.const 1 i32.eq if - global.get $~lib/util/math/SIGN_BIAS + i32.const 262144 local.set $4 end local.get $5 @@ -491,8 +478,7 @@ local.set $11 local.get $11 i64.const 52 - global.get $~lib/util/math/POW_LOG_TABLE_BITS - i64.extend_i32_s + i64.const 7 i64.sub i64.shr_u i64.const 127 @@ -517,10 +503,7 @@ local.get $13 f64.convert_i64_s local.set $15 - i32.const 4144 - i32.load offset=4 - local.set $16 - local.get $16 + i32.const 32 local.get $12 i32.const 2 i32.const 3 @@ -528,8 +511,8 @@ i32.shl i32.add f64.load - local.set $17 - local.get $16 + local.set $16 + i32.const 32 local.get $12 i32.const 2 i32.const 3 @@ -537,8 +520,8 @@ i32.shl i32.add f64.load offset=16 - local.set $18 - local.get $16 + local.set $17 + i32.const 32 local.get $12 i32.const 2 i32.const 3 @@ -546,105 +529,105 @@ i32.shl i32.add f64.load offset=24 - local.set $19 + local.set $18 local.get $14 i64.const 2147483648 i64.add i64.const -4294967296 i64.and f64.reinterpret_i64 - local.set $20 + local.set $19 local.get $10 - local.get $20 + local.get $19 f64.sub - local.set $21 - local.get $20 - local.get $17 + local.set $20 + local.get $19 + local.get $16 f64.mul f64.const 1 f64.sub + local.set $21 + local.get $20 + local.get $16 + f64.mul local.set $22 local.get $21 - local.get $17 - f64.mul - local.set $23 local.get $22 - local.get $23 f64.add - local.set $24 + local.set $23 local.get $15 f64.const 0.6931471805598903 f64.mul - local.get $18 + local.get $17 f64.add - local.set $25 - local.get $25 + local.set $24 local.get $24 + local.get $23 f64.add - local.set $26 + local.set $25 local.get $15 f64.const 5.497923018708371e-14 f64.mul - local.get $19 + local.get $18 f64.add - local.set $27 + local.set $26 + local.get $24 local.get $25 - local.get $26 f64.sub - local.get $24 + local.get $23 f64.add - local.set $28 + local.set $27 f64.const -0.5 - local.get $24 + local.get $23 + f64.mul + local.set $28 + local.get $23 + local.get $28 f64.mul local.set $29 - local.get $24 + local.get $23 local.get $29 f64.mul local.set $30 - local.get $24 - local.get $30 + f64.const -0.5 + local.get $21 f64.mul local.set $31 - f64.const -0.5 - local.get $22 + local.get $21 + local.get $31 f64.mul local.set $32 - local.get $22 + local.get $25 local.get $32 - f64.mul + f64.add local.set $33 - local.get $26 - local.get $33 + local.get $22 + local.get $28 + local.get $31 f64.add + f64.mul local.set $34 - local.get $23 - local.get $29 + local.get $25 + local.get $33 + f64.sub local.get $32 f64.add - f64.mul local.set $35 - local.get $26 - local.get $34 - f64.sub - local.get $33 - f64.add - local.set $36 - local.get $31 + local.get $30 f64.const -0.6666666666666679 - local.get $24 + local.get $23 f64.const 0.5000000000000007 f64.mul f64.add - local.get $30 + local.get $29 f64.const 0.7999999995323976 - local.get $24 + local.get $23 f64.const -0.6666666663487739 f64.mul f64.add - local.get $30 + local.get $29 f64.const -1.142909628459501 - local.get $24 + local.get $23 f64.const 1.0000415263675542 f64.mul f64.add @@ -653,68 +636,68 @@ f64.mul f64.add f64.mul - local.set $37 + local.set $36 + local.get $26 local.get $27 - local.get $28 + f64.add + local.get $34 f64.add local.get $35 f64.add local.get $36 f64.add + local.set $37 + local.get $33 local.get $37 f64.add local.set $38 - local.get $34 + local.get $33 local.get $38 - f64.add - local.set $39 - local.get $34 - local.get $39 f64.sub - local.get $38 + local.get $37 f64.add global.set $~lib/util/math/log_tail - local.get $39 - local.set $39 - global.get $~lib/util/math/log_tail + local.get $38 local.set $38 + global.get $~lib/util/math/log_tail + local.set $37 local.get $6 i64.const -134217728 i64.and f64.reinterpret_i64 - local.set $35 + local.set $34 local.get $2 - local.get $35 + local.get $34 f64.sub - local.set $34 - local.get $39 + local.set $33 + local.get $38 i64.reinterpret_f64 i64.const -134217728 i64.and f64.reinterpret_i64 - local.set $33 - local.get $39 - local.get $33 - f64.sub + local.set $32 local.get $38 + local.get $32 + f64.sub + local.get $37 f64.add - local.set $32 - local.get $35 - local.get $33 - f64.mul - local.set $37 + local.set $31 local.get $34 + local.get $32 + f64.mul + local.set $36 local.get $33 + local.get $32 f64.mul local.get $2 - local.get $32 + local.get $31 f64.mul f64.add - local.set $36 + local.set $35 block $~lib/util/math/exp_inline|inlined.0 (result f64) - local.get $37 - local.set $15 local.get $36 + local.set $15 + local.get $35 local.set $10 local.get $4 local.set $12 @@ -727,14 +710,14 @@ i32.wrap_i64 i32.const 2047 i32.and - local.set $16 - local.get $16 + local.set $39 + local.get $39 i32.const 969 i32.sub i32.const 63 i32.ge_u if - local.get $16 + local.get $39 i32.const 969 i32.sub i32.const -2147483648 @@ -746,7 +729,7 @@ select br $~lib/util/math/exp_inline|inlined.0 end - local.get $16 + local.get $39 i32.const 1033 i32.ge_u if @@ -762,13 +745,13 @@ local.set $42 i64.const 1152921504606846976 f64.reinterpret_i64 - local.set $17 - local.get $17 + local.set $16 + local.get $16 f64.neg - local.get $17 + local.get $16 local.get $42 select - local.get $17 + local.get $16 f64.mul else local.get $12 @@ -777,49 +760,49 @@ local.set $41 i64.const 8070450532247928832 f64.reinterpret_i64 - local.set $18 - local.get $18 + local.set $17 + local.get $17 f64.neg - local.get $18 + local.get $17 local.get $41 select - local.get $18 + local.get $17 f64.mul end br $~lib/util/math/exp_inline|inlined.0 end i32.const 0 - local.set $16 + local.set $39 end f64.const 184.6649652337873 local.get $15 f64.mul - local.set $30 - local.get $30 + local.set $29 + local.get $29 f64.const 6755399441055744 f64.add - local.set $31 - local.get $31 + local.set $30 + local.get $30 i64.reinterpret_f64 local.set $14 - local.get $31 + local.get $30 f64.const 6755399441055744 f64.sub - local.set $31 + local.set $30 local.get $15 - local.get $31 + local.get $30 f64.const -0.005415212348111709 f64.mul f64.add - local.get $31 + local.get $30 f64.const -1.2864023111638346e-14 f64.mul f64.add - local.set $29 - local.get $29 + local.set $28 + local.get $28 local.get $10 f64.add - local.set $29 + local.set $28 local.get $14 i64.const 127 i64.and @@ -832,23 +815,19 @@ i64.extend_i32_u i64.add i64.const 52 - global.get $~lib/util/math/EXP_TABLE_BITS - i64.extend_i32_s + i64.const 7 i64.sub i64.shl local.set $13 - i32.const 6240 - i32.load offset=4 - local.set $42 - local.get $42 + i32.const 4144 local.get $40 i32.const 3 i32.shl i32.add i64.load f64.reinterpret_i64 - local.set $26 - local.get $42 + local.set $25 + i32.const 4144 local.get $40 i32.const 3 i32.shl @@ -857,39 +836,39 @@ local.get $13 i64.add local.set $11 - local.get $29 - local.get $29 + local.get $28 + local.get $28 f64.mul - local.set $28 - local.get $26 - local.get $29 - f64.add + local.set $27 + local.get $25 local.get $28 + f64.add + local.get $27 f64.const 0.49999999999996786 - local.get $29 + local.get $28 f64.const 0.16666666666665886 f64.mul f64.add f64.mul f64.add - local.get $28 - local.get $28 + local.get $27 + local.get $27 f64.mul f64.const 0.0416666808410674 - local.get $29 + local.get $28 f64.const 0.008333335853059549 f64.mul f64.add f64.mul f64.add - local.set $25 - local.get $16 + local.set $24 + local.get $39 i32.const 0 i32.eq if block $~lib/util/math/specialcase|inlined.0 (result f64) - local.get $25 - local.set $19 + local.get $24 + local.set $18 local.get $11 local.set $44 local.get $14 @@ -909,11 +888,11 @@ local.set $44 local.get $44 f64.reinterpret_i64 - local.set $18 + local.set $17 f64.const 5486124068793688683255936e279 + local.get $17 + local.get $17 local.get $18 - local.get $18 - local.get $19 f64.mul f64.add f64.mul @@ -927,49 +906,49 @@ local.set $44 local.get $44 f64.reinterpret_i64 - local.set $18 - local.get $18 + local.set $17 + local.get $17 + local.get $17 local.get $18 - local.get $19 f64.mul f64.add - local.set $17 - local.get $17 + local.set $16 + local.get $16 f64.abs f64.const 1 f64.lt if f64.const 1 - local.get $17 + local.get $16 f64.copysign - local.set $24 - local.get $18 + local.set $23 local.get $17 + local.get $16 f64.sub + local.get $17 local.get $18 - local.get $19 f64.mul f64.add - local.set $23 - local.get $24 - local.get $17 - f64.add local.set $22 - local.get $24 - local.get $22 - f64.sub - local.get $17 + local.get $23 + local.get $16 f64.add + local.set $21 local.get $23 + local.get $21 + f64.sub + local.get $16 f64.add - local.set $23 local.get $22 - local.get $23 f64.add - local.get $24 + local.set $22 + local.get $21 + local.get $22 + f64.add + local.get $23 f64.sub - local.set $17 - local.get $17 + local.set $16 + local.get $16 f64.const 0 f64.eq if @@ -977,10 +956,10 @@ i64.const -9223372036854775808 i64.and f64.reinterpret_i64 - local.set $17 + local.set $16 end end - local.get $17 + local.get $16 f64.const 2.2250738585072014e-308 f64.mul end @@ -988,10 +967,10 @@ end local.get $11 f64.reinterpret_i64 - local.set $27 - local.get $27 - local.get $27 - local.get $25 + local.set $26 + local.get $26 + local.get $26 + local.get $24 f64.mul f64.add end @@ -1260,7 +1239,7 @@ (local $12 i32) (local $13 i32) (local $14 i32) - (local $15 i32) + (local $15 f64) (local $16 f64) (local $17 f64) (local $18 f64) @@ -1268,9 +1247,8 @@ (local $20 f64) (local $21 f64) (local $22 f64) - (local $23 f64) + (local $23 i64) (local $24 i64) - (local $25 i64) local.get $1 f32.abs f32.const 2 @@ -1619,7 +1597,7 @@ local.set $10 local.get $10 i32.const 23 - global.get $~lib/util/math/LOG2F_TABLE_BITS + i32.const 4 i32.sub i32.shr_u i32.const 15 @@ -1637,10 +1615,7 @@ i32.const 23 i32.shr_s local.set $14 - i32.const 6544 - i32.load offset=4 - local.set $15 - local.get $15 + i32.const 6208 local.get $11 i32.const 1 i32.const 3 @@ -1648,8 +1623,8 @@ i32.shl i32.add f64.load - local.set $16 - local.get $15 + local.set $15 + i32.const 6208 local.get $11 i32.const 1 i32.const 3 @@ -1657,66 +1632,66 @@ i32.shl i32.add f64.load offset=8 - local.set $17 + local.set $16 local.get $13 f32.reinterpret_i32 f64.promote_f32 - local.set $18 - local.get $18 - local.get $16 + local.set $17 + local.get $17 + local.get $15 f64.mul f64.const 1 f64.sub - local.set $19 - local.get $17 + local.set $18 + local.get $16 local.get $14 f64.convert_i32_s f64.add - local.set $20 + local.set $19 f64.const 0.288457581109214 - local.get $19 + local.get $18 f64.mul f64.const -0.36092606229713164 f64.add - local.set $21 + local.set $20 f64.const 0.480898481472577 - local.get $19 + local.get $18 f64.mul f64.const -0.7213474675006291 f64.add - local.set $22 + local.set $21 f64.const 1.4426950408774342 - local.get $19 + local.get $18 f64.mul - local.get $20 - f64.add - local.set $23 - local.get $19 local.get $19 + f64.add + local.set $22 + local.get $18 + local.get $18 f64.mul - local.set $19 - local.get $23 + local.set $18 local.get $22 - local.get $19 + local.get $21 + local.get $18 f64.mul f64.add - local.set $23 - local.get $21 - local.get $19 - local.get $19 + local.set $22 + local.get $20 + local.get $18 + local.get $18 f64.mul f64.mul - local.get $23 + local.get $22 f64.add - local.set $21 - local.get $21 - local.set $23 + local.set $20 + local.get $20 + local.set $22 local.get $2 f64.promote_f32 - local.get $23 - f64.mul - local.set $22 local.get $22 + f64.mul + local.set $21 + local.get $21 i64.reinterpret_f64 i64.const 47 i64.shr_u @@ -1725,7 +1700,7 @@ i64.const 32959 i64.ge_u if - local.get $22 + local.get $21 f64.const 127.99999995700433 f64.gt if @@ -1745,7 +1720,7 @@ f32.mul br $~lib/util/math/powf_lut|inlined.0 end - local.get $22 + local.get $21 f64.const -150 f64.le if @@ -1766,28 +1741,25 @@ br $~lib/util/math/powf_lut|inlined.0 end end - local.get $22 - local.set $16 + local.get $21 + local.set $15 local.get $4 local.set $13 - local.get $16 + local.get $15 f64.const 211106232532992 f64.add - local.set $21 - local.get $21 + local.set $20 + local.get $20 i64.reinterpret_f64 - local.set $24 - local.get $16 - local.get $21 + local.set $23 + local.get $15 + local.get $20 f64.const 211106232532992 f64.sub f64.sub - local.set $20 - i32.const 6848 - i32.load offset=4 - local.set $11 - local.get $11 - local.get $24 + local.set $19 + i32.const 6480 + local.get $23 i32.wrap_i64 i32.const 31 i32.and @@ -1795,47 +1767,46 @@ i32.shl i32.add i64.load - local.set $25 - local.get $25 + local.set $24 local.get $24 + local.get $23 local.get $13 i64.extend_i32_u i64.add i64.const 52 - global.get $~lib/util/math/EXP2F_TABLE_BITS - i64.extend_i32_s + i64.const 5 i64.sub i64.shl i64.add - local.set $25 - local.get $25 + local.set $24 + local.get $24 f64.reinterpret_i64 - local.set $17 + local.set $16 f64.const 0.05550361559341535 - local.get $20 + local.get $19 f64.mul f64.const 0.2402284522445722 f64.add - local.set $19 + local.set $18 f64.const 0.6931471806916203 - local.get $20 + local.get $19 f64.mul f64.const 1 f64.add - local.set $18 + local.set $17 + local.get $17 local.get $18 local.get $19 - local.get $20 - local.get $20 + local.get $19 f64.mul f64.mul f64.add - local.set $18 - local.get $18 + local.set $17 local.get $17 + local.get $16 f64.mul - local.set $18 - local.get $18 + local.set $17 + local.get $17 f32.demote_f64 end ) diff --git a/tests/compiler/builtins.optimized.wat b/tests/compiler/builtins.optimized.wat index 8f2cbd9da1..a3ac08a301 100644 --- a/tests/compiler/builtins.optimized.wat +++ b/tests/compiler/builtins.optimized.wat @@ -605,8 +605,8 @@ f64.const 0 f64.const 0 f64.const 12 - f64.const 23 - f64.const 23 + f64.const 24 + f64.const 24 call $~lib/builtins/trace i32.const 208 i32.const 208 diff --git a/tests/compiler/builtins.untouched.wat b/tests/compiler/builtins.untouched.wat index fc9bc709a1..9078460fbe 100644 --- a/tests/compiler/builtins.untouched.wat +++ b/tests/compiler/builtins.untouched.wat @@ -1563,9 +1563,9 @@ local.set $1 i32.const 12 local.set $6 - i32.const 23 + i32.const 24 local.set $7 - i32.const 23 + i32.const 24 local.set $8 i32.const 128 i32.const 5 diff --git a/tests/compiler/infer-array.optimized.wat b/tests/compiler/infer-array.optimized.wat index c97244c34c..a8062edd38 100644 --- a/tests/compiler/infer-array.optimized.wat +++ b/tests/compiler/infer-array.optimized.wat @@ -294,6 +294,8 @@ ) (func $~lib/rt/__allocArray (; 4 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) + (local $5 i32) + (local $6 i32) i32.const 16 local.get $2 call $~lib/rt/stub/__alloc @@ -301,27 +303,30 @@ local.get $0 local.get $1 i32.shl - local.tee $1 + local.tee $4 + local.set $6 + local.get $4 i32.const 0 call $~lib/rt/stub/__alloc - local.tee $4 + local.set $1 + local.get $3 + if + local.get $1 + local.get $3 + local.get $6 + call $~lib/memory/memory.copy + end + local.get $1 i32.store local.get $2 - local.get $4 + local.get $1 i32.store offset=4 local.get $2 - local.get $1 + local.get $4 i32.store offset=8 local.get $2 local.get $0 i32.store offset=12 - local.get $3 - if - local.get $4 - local.get $3 - local.get $1 - call $~lib/memory/memory.copy - end local.get $2 ) (func $~lib/array/Array#__get (; 5 ;) (param $0 i32) (result i32) diff --git a/tests/compiler/infer-array.untouched.wat b/tests/compiler/infer-array.untouched.wat index 69a43d7834..14690361fa 100644 --- a/tests/compiler/infer-array.untouched.wat +++ b/tests/compiler/infer-array.untouched.wat @@ -7,6 +7,7 @@ (type $i32_i32_=>_f32 (func (param i32 i32) (result f32))) (type $i32_i32_=>_f64 (func (param i32 i32) (result f64))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) @@ -141,10 +142,7 @@ i32.store offset=12 local.get $2 ) - (func $~lib/rt/stub/__retain (; 3 ;) (param $0 i32) (result i32) - local.get $0 - ) - (func $~lib/util/memory/memcpy (; 4 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/memory/memcpy (; 3 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1168,7 +1166,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 5 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 4 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1388,7 +1386,25 @@ end end ) - (func $~lib/rt/__allocArray (; 6 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/rt/__allocBuffer (; 5 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + local.get $0 + local.get $1 + call $~lib/rt/stub/__alloc + local.set $3 + local.get $2 + if + local.get $3 + local.get $2 + local.get $0 + call $~lib/memory/memory.copy + end + local.get $3 + ) + (func $~lib/rt/stub/__retain (; 6 ;) (param $0 i32) (result i32) + local.get $0 + ) + (func $~lib/rt/__allocArray (; 7 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -1402,7 +1418,8 @@ local.set $5 local.get $5 i32.const 0 - call $~lib/rt/stub/__alloc + local.get $3 + call $~lib/rt/__allocBuffer local.set $6 local.get $4 local.get $6 @@ -1417,16 +1434,9 @@ local.get $4 local.get $0 i32.store offset=12 - local.get $3 - if - local.get $6 - local.get $3 - local.get $5 - call $~lib/memory/memory.copy - end local.get $4 ) - (func $~lib/array/Array#__unchecked_get (; 7 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 8 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -1435,7 +1445,7 @@ i32.add i32.load ) - (func $~lib/array/Array#__get (; 8 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 9 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 local.get $0 @@ -1455,10 +1465,10 @@ local.set $2 local.get $2 ) - (func $~lib/rt/stub/__release (; 9 ;) (param $0 i32) + (func $~lib/rt/stub/__release (; 10 ;) (param $0 i32) nop ) - (func $~lib/array/Array#__unchecked_get (; 10 ;) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/array/Array#__unchecked_get (; 11 ;) (param $0 i32) (param $1 i32) (result f64) local.get $0 i32.load offset=4 local.get $1 @@ -1467,7 +1477,7 @@ i32.add f64.load ) - (func $~lib/array/Array#__get (; 11 ;) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/array/Array#__get (; 12 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 f64) local.get $1 local.get $0 @@ -1487,7 +1497,7 @@ local.set $2 local.get $2 ) - (func $~lib/array/Array#__unchecked_get (; 12 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 13 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -1496,7 +1506,7 @@ i32.add i32.load ) - (func $~lib/array/Array#__get (; 13 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 14 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 local.get $0 @@ -1516,7 +1526,7 @@ local.set $2 local.get $2 ) - (func $~lib/array/Array#__unchecked_get (; 14 ;) (param $0 i32) (param $1 i32) (result f32) + (func $~lib/array/Array#__unchecked_get (; 15 ;) (param $0 i32) (param $1 i32) (result f32) local.get $0 i32.load offset=4 local.get $1 @@ -1525,7 +1535,7 @@ i32.add f32.load ) - (func $~lib/array/Array#__get (; 15 ;) (param $0 i32) (param $1 i32) (result f32) + (func $~lib/array/Array#__get (; 16 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 f32) local.get $1 local.get $0 @@ -1545,7 +1555,7 @@ local.set $2 local.get $2 ) - (func $infer-array/Ref#constructor (; 16 ;) (param $0 i32) (result i32) + (func $infer-array/Ref#constructor (; 17 ;) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -1557,7 +1567,7 @@ end local.get $0 ) - (func $~lib/array/Array#__unchecked_get (; 17 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 18 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -1567,7 +1577,7 @@ i32.load call $~lib/rt/stub/__retain ) - (func $~lib/array/Array#__get (; 18 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 19 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 local.get $0 @@ -1587,7 +1597,7 @@ local.set $2 local.get $2 ) - (func $~lib/array/Array<~lib/string/String | null>#__unchecked_get (; 19 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String | null>#__unchecked_get (; 20 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -1597,7 +1607,7 @@ i32.load call $~lib/rt/stub/__retain ) - (func $~lib/array/Array<~lib/string/String | null>#__get (; 20 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String | null>#__get (; 21 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 local.get $0 @@ -1617,7 +1627,7 @@ local.set $2 local.get $2 ) - (func $~lib/array/Array#__unchecked_get (; 21 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 22 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -1626,7 +1636,7 @@ i32.add i32.load ) - (func $~lib/array/Array#__get (; 22 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 23 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 local.get $0 @@ -1646,7 +1656,7 @@ local.set $2 local.get $2 ) - (func $~lib/array/Array<~lib/array/Array>#__unchecked_get (; 23 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#__unchecked_get (; 24 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -1656,7 +1666,7 @@ i32.load call $~lib/rt/stub/__retain ) - (func $~lib/array/Array<~lib/array/Array>#__get (; 24 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#__get (; 25 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 local.get $0 @@ -1688,13 +1698,12 @@ end local.get $2 ) - (func $start:infer-array (; 25 ;) + (func $start:infer-array (; 26 ;) (local $0 i32) (local $1 i32) (local $2 f32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/heap/__heap_base i32.const 15 i32.add @@ -1929,8 +1938,6 @@ i32.const 576 call $~lib/rt/__allocArray call $~lib/rt/stub/__retain - local.tee $3 - call $~lib/rt/stub/__retain i32.store local.get $4 i32.const 1 @@ -1939,21 +1946,15 @@ i32.const 608 call $~lib/rt/__allocArray call $~lib/rt/stub/__retain - local.tee $5 - call $~lib/rt/stub/__retain i32.store offset=4 local.get $1 local.set $4 - local.get $3 - call $~lib/rt/stub/__release - local.get $5 - call $~lib/rt/stub/__release local.get $4 call $~lib/rt/stub/__release local.get $1 call $~lib/rt/stub/__release ) - (func $~start (; 26 ;) + (func $~start (; 27 ;) call $start:infer-array ) ) diff --git a/tests/compiler/mandelbrot.untouched.wat b/tests/compiler/mandelbrot.untouched.wat index 4afa6f3586..6d5ddb30d3 100644 --- a/tests/compiler/mandelbrot.untouched.wat +++ b/tests/compiler/mandelbrot.untouched.wat @@ -2,23 +2,13 @@ (type $f64_=>_f64 (func (param f64) (result f64))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 16) "\00\08\00\00\01\00\00\00\00\00\00\00\00\08\00\00\9f\de\e0\c3\f04\f7?\00\90\e6y\7f\cc\d7\bf\1f\e9,jx\13\f7?\00\00\0d\c2\eeo\d7\bf\a0\b5\fa\08`\f2\f6?\00\e0Q\13\e3\13\d7\bf}\8c\13\1f\a6\d1\f6?\00x(8[\b8\d6\bf\d1\b4\c5\0bI\b1\f6?\00x\80\90U]\d6\bf\ba\0c/3G\91\f6?\00\00\18v\d0\02\d6\bf#B\"\18\9fq\f6?\00\90\90\86\ca\a8\d5\bf\d9\1e\a5\99OR\f6?\00P\03VCO\d5\bf\c4$\8f\aaV3\f6?\00@k\c37\f6\d4\bf\14\dc\9dk\b3\14\f6?\00P\a8\fd\a7\9d\d4\bfL\\\c6Rd\f6\f5?\00\a8\899\92E\d4\bfO,\91\b5g\d8\f5?\00\b8\b09\f4\ed\d3\bf\de\90[\cb\bc\ba\f5?\00p\8fD\ce\96\d3\bfx\1a\d9\f2a\9d\f5?\00\a0\bd\17\1e@\d3\bf\87VF\12V\80\f5?\00\80F\ef\e2\e9\d2\bf\d3k\e7\ce\97c\f5?\00\e008\1b\94\d2\bf\93\7f\a7\e2%G\f5?\00\88\da\8c\c5>\d2\bf\83E\06B\ff*\f5?\00\90\')\e1\e9\d1\bf\df\bd\b2\db\"\0f\f5?\00\f8H+m\95\d1\bf\d7\de4G\8f\f3\f4?\00\f8\b9\9agA\d1\bf@(\de\cfC\d8\f4?\00\98\ef\94\d0\ed\d0\bf\c8\a3x\c0>\bd\f4?\00\10\db\18\a5\9a\d0\bf\8a%\e0\c3\7f\a2\f4?\00\b8cR\e6G\d0\bf4\84\d4$\05\88\f4?\00\f0\86E\"\eb\cf\bf\0b-\19\1b\cem\f4?\00\b0\17uJG\cf\bfT\189\d3\d9S\f4?\000\10=D\a4\ce\bfZ\84\b4D\':\f4?\00\b0\e9D\0d\02\ce\bf\fb\f8\15A\b5 \f4?\00\f0w)\a2`\cd\bf\b1\f4>\da\82\07\f4?\00\90\95\04\01\c0\cc\bf\8f\feW]\8f\ee\f3?\00\10\89V) \cc\bf\e9L\0b\a0\d9\d5\f3?\00\10\81\8d\17\81\cb\bf+\c1\10\c0`\bd\f3?\00\d0\d3\cc\c9\e2\ca\bf\b8\dau+$\a5\f3?\00\90\12.@E\ca\bf\02\d0\9f\cd\"\8d\f3?\00\f0\1dhw\a8\c9\bf\1cz\84\c5[u\f3?\000Him\0c\c9\bf\e26\adI\ce]\f3?\00\c0E\a6 q\c8\bf@\d4M\98yF\f3?\000\14\b4\8f\d6\c7\bf$\cb\ff\ce\\/\f3?\00pb<\b8<\c7\bfI\0d\a1uw\18\f3?\00`7\9b\9a\a3\c6\bf\909>7\c8\01\f3?\00\a0\b7T1\0b\c6\bfA\f8\95\bbN\eb\f2?\000$v}s\c5\bf\d1\a9\19\02\n\d5\f2?\000\c2\8f{\dc\c4\bf*\fd\b7\a8\f9\be\f2?\00\00\d2Q,F\c4\bf\ab\1b\0cz\1c\a9\f2?\00\00\83\bc\8a\b0\c3\bf0\b5\14`r\93\f2?\00\00Ik\99\1b\c3\bf\f5\a1WW\fa}\f2?\00@\a4\90T\87\c2\bf\bf;\1d\9b\b3h\f2?\00\a0y\f8\b9\f3\c1\bf\bd\f5\8f\83\9dS\f2?\00\a0,%\c8`\c1\bf;\08\c9\aa\b7>\f2?\00 \f7W\7f\ce\c0\bf\b6@\a9+\01*\f2?\00\a0\feI\dc<\c0\bf2A\cc\96y\15\f2?\00\80K\bc\bdW\bf\bf\9b\fc\d2\1d \01\f2?\00@@\96\087\be\bf\0bHMI\f4\ec\f1?\00@\f9>\98\17\bd\bfie\8fR\f5\d8\f1?\00\a0\d8Ng\f9\bb\bf|~W\11#\c5\f1?\00`/ y\dc\ba\bf\e9&\cbt|\b1\f1?\00\80(\e7\c3\c0\b9\bf\b6\1a,\0c\01\9e\f1?\00\c0r\b3F\a6\b8\bf\bdp\b6{\b0\8a\f1?\00\00\ac\b3\01\8d\b7\bf\b6\bc\ef%\8aw\f1?\00\008E\f1t\b6\bf\da1L5\8dd\f1?\00\80\87m\0e^\b5\bf\dd_\'\90\b9Q\f1?\00\e0\a1\de\\H\b4\bfL\d22\a4\0e?\f1?\00\a0jM\d93\b3\bf\da\f9\10r\8b,\f1?\00`\c5\f8y \b2\bf1\b5\ec(0\1a\f1?\00 b\98F\0e\b1\bf\af4\84\da\fb\07\f1?\00\00\d2jl\fa\af\bf\b3kN\0f\ee\f5\f0?\00@wJ\8d\da\ad\bf\ce\9f*]\06\e4\f0?\00\00\85\e4\ec\bc\ab\bf!\a5,cD\d2\f0?\00\c0\12@\89\a1\a9\bf\1a\98\e2|\a7\c0\f0?\00\c0\023X\88\a7\bf\d16\c6\83/\af\f0?\00\80\d6g^q\a5\bf9\13\a0\98\db\9d\f0?\00\80eI\8a\\\a3\bf\df\e7R\af\ab\8c\f0?\00@\15d\e3I\a1\bf\fb(N/\9f{\f0?\00\80\eb\82\c0r\9e\bf\19\8f5\8c\b5j\f0?\00\80RR\f1U\9a\bf,\f9\ec\a5\eeY\f0?\00\80\81\cfb=\96\bf\90,\d1\cdII\f0?\00\00\aa\8c\fb(\92\bf\a9\ad\f0\c6\c68\f0?\00\00\f9 {1\8c\bf\a92y\13e(\f0?\00\00\aa]5\19\84\bfHs\ea\'$\18\f0?\00\00\ec\c2\03\12x\bf\95\b1\14\06\04\08\f0?\00\00$y\t\04`\bf\1a\fa&\f7\1f\e0\ef?\00\00\90\84\f3\efo?t\eaa\c2\1c\a1\ef?\00\00=5A\dc\87?.\99\81\b0\10c\ef?\00\80\c2\c4\a3\ce\93?\cd\ad\ee<\f6%\ef?\00\00\89\14\c1\9f\9b?\e7\13\91\03\c8\e9\ee?\00\00\11\ce\d8\b0\a1?\ab\b1\cbx\80\ae\ee?\00\c0\01\d0[\8a\a5?\9b\0c\9d\a2\1at\ee?\00\80\d8@\83\\\a9?\b5\99\n\83\91:\ee?\00\80W\efj\'\ad?V\9a`\t\e0\01\ee?\00\c0\98\e5\98u\b0?\98\bbw\e5\01\ca\ed?\00 \0d\e3\f5S\b2?\03\91|\0b\f2\92\ed?\00\008\8b\dd.\b4?\ce\\\fbf\ac\\\ed?\00\c0W\87Y\06\b6?\9d\de^\aa,\'\ed?\00\00j5v\da\b7?\cd,k>n\f2\ec?\00`\1cNC\ab\b9?\02y\a7\a2m\be\ec?\00`\0d\bb\c7x\bb?m\087m&\8b\ec?\00 \e72\13C\bd?\04X]\bd\94X\ec?\00`\deq1\n\bf?\8c\9f\bb3\b5&\ec?\00@\91+\15g\c0??\e7\ec\ee\83\f5\eb?\00\b0\92\82\85G\c1?\c1\96\dbu\fd\c4\eb?\000\ca\cdn&\c2?(J\86\0c\1e\95\eb?\00P\c5\a6\d7\03\c3?,>\ef\c5\e2e\eb?\00\103<\c3\df\c3?\8b\88\c9gH7\eb?\00\80zk6\ba\c4?J0\1d!K\t\eb?\00\f0\d1(9\93\c5?~\ef\f2\85\e8\db\ea?\00\f0\18$\cdj\c6?\a2=`1\1d\af\ea?\00\90f\ec\f8@\c7?\a7X\d3?\e6\82\ea?\00\f0\1a\f5\c0\15\c8?\8bs\t\ef@W\ea?\00\80\f6T)\e9\c8?\'K\ab\90*,\ea?\00@\f8\026\bb\c9?\d1\f2\93\13\a0\01\ea?\00\00,\1c\ed\8b\ca?\1b<\db$\9f\d7\e9?\00\d0\01\\Q[\cb?\90\b1\c7\05%\ae\e9?\00\c0\bc\ccg)\cc?/\ce\97\f2.\85\e9?\00`H\d55\f6\cc?uK\a4\ee\ba\\\e9?\00\c0F4\bd\c1\cd?8H\e7\9d\c64\e9?\00\e0\cf\b8\01\8c\ce?\e6Rg/O\0d\e9?\00\90\17\c0\tU\cf?\9d\d7\ff\8eR\e6\e8?\00\b8\1f\12l\0e\d0?|\00\cc\9f\ce\bf\e8?\00\d0\93\0e\b8q\d0?\0e\c3\be\da\c0\99\e8?\00p\86\9ek\d4\d0?\fb\17#\aa\'t\e8?\00\d0K3\876\d1?\08\9a\b3\ac\00O\e8?\00H#g\0d\98\d1?U>e\e8I*\e8?\00\80\cc\e0\ff\f8\d1?`\02\f4\95\01\06\e8?\00hc\d7_Y\d2?)\a3\e0c%\e2\e7?\00\a8\14\t0\b9\d2?\ad\b5\dcw\b3\be\e7?\00`C\10r\18\d3?\c2%\97g\aa\9b\e7?\00\18\ecm&w\d3?W\06\17\f2\07y\e7?\000\af\fbO\d5\d3?\0c\13\d6\db\caV\e7?\00\e0/\e3\ee2\d4?") - (data (i32.const 2080) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00 \00\00\00 \00\00\00\00\08\00\00\00\01\00\00") - (data (i32.const 2112) "\00\08\00\00\01\00\00\00\00\00\00\00\00\08\00\00k\b6O\01\00\10\e6?<[B\91l\02~<\95\b4M\03\000\e6?A]\00H\ea\bf\8d\f6\05\eb\ff\ef\e6?S-\e2\1a\04\80~\bc\80\97\86\0e\00\10\e7?Ry\tqf\ff{<\12\e9g\fc\ff/\e7?$\87\bd&\e2\00\8c\89<\b9{F\13\000\e9?v\02\98KN\80\7f.\98\dd\ff\af\e9?7\93Z\8a\e0@\87\bcf\fbI\ed\ff\cf\e9?\00\e0\9b\c1\08\ce?O*\00\b0\ea?_?\ff<\04\fdi\bc\d1\1e\ae\d7\ff\cf\ea?\b4p\90\12\e7>\82\bcx\04Q\ee\ff\ef\ea?\a3\de\0e\e0>\06j<[\0de\db\ff\0f\eb?\b9\n\1f8\c8\06ZO\86\d0E\ff\8a<@\16\87\f9\ff\8f\eb?\f9\c3\c2\96w\fe|\f0\0f\00\f0\f4?\1cS\85\0b\89\7f\97<\d1K\dc\12\00\10\f5?6\a4fqe\04`\c9\03\00\b0\f5?\c0\0c\bf\n\08A\9f\bc\bc\19I\1d\00\d0\f5?)G%\fb*\81\98\bc\89z\b8\e7\ff\ef\f5?\04i\ed\80\b7~\94\bc") - (data (i32.const 4176) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00P\08\00\00P\08\00\00\00\08\00\00\00\01\00\00") - (data (i32.const 4208) "\00\04\00\00\01\00\00\00\00\00\00\00\00\04\00\00\f8\ac\b1k($\f7?\00\b0\cd\ee_\t\e1\bf\a1\cc\d2f\f7\e1\f6?\00\d0v\bd\94\84\e0\bf\8a\d40\0e=\a1\f6?\00\f8\e8\aeC\01\e0\bf\85l\d02\eca\f6?\00@\0b6\c5\fe\de\bf\f8\98\11\95\fa#\f6?\00\e0\b7\1a\d9\fd\dd\bfl\02\cf\a4[\e7\f5?\00\90\c7\0c\ae\ff\dc\bf\b8O!Z\05\ac\f5?\00\a0\fd\118\04\dc\bf\1en\16\0f\edq\f5?\00\e0:2g\0b\db\bf5\f8\0bY\t9\f5?\00\b0-Z/\15\da\bf\dd\ada\edO\01\f5?\00`\f8Z\7f!\d9\bf\d0{H\8e\b8\ca\f4?\00\90q\b0M0\d8\bf\eeO3\b49\95\f4?\00\e0\a9\f9\89A\d7\bfi\d5\af\df\cb`\f4?\00\90\19\b5+U\d6\bfS\b9\e4Nf-\f4?\00\10\9b\a2#k\d5\bf\a6\d8\1d\11\01\fb\f3?\00\a0_\0fe\83\d4\bf6X\0c\b7\95\c9\f3?\00\a0\f67\e9\9d\d3\bfJ\fd\b6J\1c\99\f3?\00`\8dS\a1\ba\d2\bf\b5\99\e0\0c\8ei\f3?\00@\ca@\83\d9\d1\bf\b2\e7\13\82\e4:\f3?\00\e0@:\85\fa\d0\bf\b1\bd\85\19\19\0d\f3?\000\e72\9c\1d\d0\bf\d7q\b2\ca%\e0\f2?\00`\fa\a2}\85\ce\bf\82\cd\13\cf\04\b4\f2?\00\80=c\c8\d3\cc\bfP\cb|,\b0\88\f2?\00\a0\14L\03&\cb\bf\e5M\94c\"^\f2?\00\e0O/\1c|\c9\bf\b1\15\86=V4\f2?\00\00\80?\02\d6\c7\bf8\af>\e3F\0b\f2?\00\e0\05\1a\a73\c6\bf\dd\a3\cd\fd\ee\e2\f1?\00\00W\e9\f5\94\c4\bf09\0bXJ\bb\f1?\00\a0\e0$\e4\f9\c2\bf\00\"\7f\84S\94\f1?\00\c0\fdZYb\c1\bf<\d7\d5\c0\06n\f1?\00\80\bdu\9a\9c\bf\bf\c2\e4\b7G_H\f1?\00\c0\f9[W{\bc\bf\d1\85\00\adX#\f1?\00\80\f4\0f\c6`\b9\bf\'\"S\0f\f0\fe\f0?\00\00\b6G\e2L\b6\bf\8f:\d0w \db\f0?\00@\01\b2x?\b3\bf\d9\80Y\d6\e6\b7\f0?\00\c0B\1a}8\b0\bf\8d@{\fe>\95\f0?\00\00\b5\08\92o\aa\bf\83;\c5\ca%s\f0?\00\00wO\95z\a4\bf\\\1b\0d\e4\97Q\f0?\00\00\0c\c5\a8#\9d\bf\a2\8e \c1\910\f0?\00\00x)&j\91\bf!~\b3%\10\10\f0?\00\00\e8\d8\f8 w\bfk\a7\ca\f9~\c0\ef?\00\00P\b1S\fe\86?\84\f1\f6\d3eD\ef?\00\80\0f\e1\cc\1c\a1?\7f\10\84\9f\07\cc\ee?\00\80\8b\8c\fcM\ac?\e8Z\97\99:W\ee?\00@W\1e2\aa\b3?\e6=\bd\f0\d6\e5\ed?\00\80\8b\d0\a0\18\b9?\b38\ff\81\b6w\ed?\00@\04\da\e9r\be?C\e9Mr\b5\0c\ed?\00`\7fP\d2\dc\c1?cu\0e\dc\b2\a4\ec?\00\a0\de\03\abv\c4?Q\cb\d6\e8\8e?\ec?\00 \e2wC\07\c7?L\0c\02O+\dd\eb?\00@\a9\8b\de\8e\c9?\ca\15`\00l}\eb?\00\e0\d2j\b8\0d\cc?\8f3.n6 \eb?\00\e0\ce\af\n\84\ce?9P)&p\c5\ea?\00\80g\b4\ny\d0?\dd1\'\bc\01m\ea?\00\c0\01h\05\ac\d1?\8b\f1?\bc\d3\16\ea?\00\e0\fe\d4\11\db\d2?\ad\fegI\d1\c2\e9?\00\80\c5NF\06\d4?\02\99|\f4\e4p\e9?\00\f0:\t\be-\d5?\f2\bc\829\fb \e9?\00\d0P \90Q\d6?\f1Y\f7\87\01\d3\e8?\00\f0\ea\cd\d2q\d7?m\f6\b9\eb\e5\86\e8?\00\90}\85\9c\8e\d8?\94\b9X\b6\97<\e8?\00`\e1U\01\a8\d9?\"\10\c6\ff\05\f4\e7?\00\d0\d3n\18\be\da?\ca\15\14\18\"\ad\e7?\00\e0\a0\ae\f2\d0\db?\8c\ff\9e\f9\dcg\e7?\00@\bf=\a4\e0\dc?") - (data (i32.const 5248) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00\80\10\00\00\80\10\00\00\00\04\00\00\80\00\00\00") - (data (i32.const 5280) "\00\04\00\00\01\00\00\00\00\00\00\00\00\04\00\00\8e\n\b9\12\00 \e6?\05\b6D\06\ab\04\89<\a64W\04\00`\e6?\a9\f7b\ea\9b\ffa<\c5\f2%\c3\ff\9f\e6?\ba\90<\cb\cf~\82<\04Z\b98\00\e0\e6?&\93sV\88\ff\88<\e3\94\99\e0\ff\1f\e7?\b1\82_\'@\fd\8a<\10\0eY\15\00`\e7?A\83#\b4u\fdr\bc\d5[e\12\00\a0\e7?v+$|\e6\08x<\a6\e9Y2\00\e0\e7?\b7\"\f6&\e4\08b\bc\d2\b2\b4\ed\ff\1f\e8?/\c9\a5\1eF\02\84\bc\c3\fc\fa-\00`\e8?\1f\9a\f2\a2\f4\f7m)\e0\ff\df\f2?\f9\a6\b2\da9|\9b<\82\f0\dc\f7\ff\1f\f3?TR\dcn3\f1}<`\8bZ\f0\ff_\f3?\eb1\cdLV\03\9e\bc\cc\ae\0e.\00\a0\f3?w\a4\d3K\e7\f0u<6\b2;\04\00\e0\f3?3\88\9d\14\cb}\9c<\ff\87\d1\02\00 \f4?(=-\cf\af\08~<\b1|8\0d\00`\f4?\a6\99e\857\08\82<\89\9fV\04\00\a0\f4?\d2\bcO\90\\\fa\89\bc\f3C5\04\00\e0\f4?)S\17\ed%\11x\bc\0f\7f\02\cc\ff\1f\f5?\dcTw\84\d8\83\98\e90.\90\80\91\bc") - (data (i32.const 6320) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00\b0\14\00\00\b0\14\00\00\00\04\00\00\80\00\00\00") + (data (i32.const 16) "\00\08\00\00\01\00\00\00\03\00\00\00\00\08\00\00\9f\de\e0\c3\f04\f7?\00\90\e6y\7f\cc\d7\bf\1f\e9,jx\13\f7?\00\00\0d\c2\eeo\d7\bf\a0\b5\fa\08`\f2\f6?\00\e0Q\13\e3\13\d7\bf}\8c\13\1f\a6\d1\f6?\00x(8[\b8\d6\bf\d1\b4\c5\0bI\b1\f6?\00x\80\90U]\d6\bf\ba\0c/3G\91\f6?\00\00\18v\d0\02\d6\bf#B\"\18\9fq\f6?\00\90\90\86\ca\a8\d5\bf\d9\1e\a5\99OR\f6?\00P\03VCO\d5\bf\c4$\8f\aaV3\f6?\00@k\c37\f6\d4\bf\14\dc\9dk\b3\14\f6?\00P\a8\fd\a7\9d\d4\bfL\\\c6Rd\f6\f5?\00\a8\899\92E\d4\bfO,\91\b5g\d8\f5?\00\b8\b09\f4\ed\d3\bf\de\90[\cb\bc\ba\f5?\00p\8fD\ce\96\d3\bfx\1a\d9\f2a\9d\f5?\00\a0\bd\17\1e@\d3\bf\87VF\12V\80\f5?\00\80F\ef\e2\e9\d2\bf\d3k\e7\ce\97c\f5?\00\e008\1b\94\d2\bf\93\7f\a7\e2%G\f5?\00\88\da\8c\c5>\d2\bf\83E\06B\ff*\f5?\00\90\')\e1\e9\d1\bf\df\bd\b2\db\"\0f\f5?\00\f8H+m\95\d1\bf\d7\de4G\8f\f3\f4?\00\f8\b9\9agA\d1\bf@(\de\cfC\d8\f4?\00\98\ef\94\d0\ed\d0\bf\c8\a3x\c0>\bd\f4?\00\10\db\18\a5\9a\d0\bf\8a%\e0\c3\7f\a2\f4?\00\b8cR\e6G\d0\bf4\84\d4$\05\88\f4?\00\f0\86E\"\eb\cf\bf\0b-\19\1b\cem\f4?\00\b0\17uJG\cf\bfT\189\d3\d9S\f4?\000\10=D\a4\ce\bfZ\84\b4D\':\f4?\00\b0\e9D\0d\02\ce\bf\fb\f8\15A\b5 \f4?\00\f0w)\a2`\cd\bf\b1\f4>\da\82\07\f4?\00\90\95\04\01\c0\cc\bf\8f\feW]\8f\ee\f3?\00\10\89V) \cc\bf\e9L\0b\a0\d9\d5\f3?\00\10\81\8d\17\81\cb\bf+\c1\10\c0`\bd\f3?\00\d0\d3\cc\c9\e2\ca\bf\b8\dau+$\a5\f3?\00\90\12.@E\ca\bf\02\d0\9f\cd\"\8d\f3?\00\f0\1dhw\a8\c9\bf\1cz\84\c5[u\f3?\000Him\0c\c9\bf\e26\adI\ce]\f3?\00\c0E\a6 q\c8\bf@\d4M\98yF\f3?\000\14\b4\8f\d6\c7\bf$\cb\ff\ce\\/\f3?\00pb<\b8<\c7\bfI\0d\a1uw\18\f3?\00`7\9b\9a\a3\c6\bf\909>7\c8\01\f3?\00\a0\b7T1\0b\c6\bfA\f8\95\bbN\eb\f2?\000$v}s\c5\bf\d1\a9\19\02\n\d5\f2?\000\c2\8f{\dc\c4\bf*\fd\b7\a8\f9\be\f2?\00\00\d2Q,F\c4\bf\ab\1b\0cz\1c\a9\f2?\00\00\83\bc\8a\b0\c3\bf0\b5\14`r\93\f2?\00\00Ik\99\1b\c3\bf\f5\a1WW\fa}\f2?\00@\a4\90T\87\c2\bf\bf;\1d\9b\b3h\f2?\00\a0y\f8\b9\f3\c1\bf\bd\f5\8f\83\9dS\f2?\00\a0,%\c8`\c1\bf;\08\c9\aa\b7>\f2?\00 \f7W\7f\ce\c0\bf\b6@\a9+\01*\f2?\00\a0\feI\dc<\c0\bf2A\cc\96y\15\f2?\00\80K\bc\bdW\bf\bf\9b\fc\d2\1d \01\f2?\00@@\96\087\be\bf\0bHMI\f4\ec\f1?\00@\f9>\98\17\bd\bfie\8fR\f5\d8\f1?\00\a0\d8Ng\f9\bb\bf|~W\11#\c5\f1?\00`/ y\dc\ba\bf\e9&\cbt|\b1\f1?\00\80(\e7\c3\c0\b9\bf\b6\1a,\0c\01\9e\f1?\00\c0r\b3F\a6\b8\bf\bdp\b6{\b0\8a\f1?\00\00\ac\b3\01\8d\b7\bf\b6\bc\ef%\8aw\f1?\00\008E\f1t\b6\bf\da1L5\8dd\f1?\00\80\87m\0e^\b5\bf\dd_\'\90\b9Q\f1?\00\e0\a1\de\\H\b4\bfL\d22\a4\0e?\f1?\00\a0jM\d93\b3\bf\da\f9\10r\8b,\f1?\00`\c5\f8y \b2\bf1\b5\ec(0\1a\f1?\00 b\98F\0e\b1\bf\af4\84\da\fb\07\f1?\00\00\d2jl\fa\af\bf\b3kN\0f\ee\f5\f0?\00@wJ\8d\da\ad\bf\ce\9f*]\06\e4\f0?\00\00\85\e4\ec\bc\ab\bf!\a5,cD\d2\f0?\00\c0\12@\89\a1\a9\bf\1a\98\e2|\a7\c0\f0?\00\c0\023X\88\a7\bf\d16\c6\83/\af\f0?\00\80\d6g^q\a5\bf9\13\a0\98\db\9d\f0?\00\80eI\8a\\\a3\bf\df\e7R\af\ab\8c\f0?\00@\15d\e3I\a1\bf\fb(N/\9f{\f0?\00\80\eb\82\c0r\9e\bf\19\8f5\8c\b5j\f0?\00\80RR\f1U\9a\bf,\f9\ec\a5\eeY\f0?\00\80\81\cfb=\96\bf\90,\d1\cdII\f0?\00\00\aa\8c\fb(\92\bf\a9\ad\f0\c6\c68\f0?\00\00\f9 {1\8c\bf\a92y\13e(\f0?\00\00\aa]5\19\84\bfHs\ea\'$\18\f0?\00\00\ec\c2\03\12x\bf\95\b1\14\06\04\08\f0?\00\00$y\t\04`\bf\1a\fa&\f7\1f\e0\ef?\00\00\90\84\f3\efo?t\eaa\c2\1c\a1\ef?\00\00=5A\dc\87?.\99\81\b0\10c\ef?\00\80\c2\c4\a3\ce\93?\cd\ad\ee<\f6%\ef?\00\00\89\14\c1\9f\9b?\e7\13\91\03\c8\e9\ee?\00\00\11\ce\d8\b0\a1?\ab\b1\cbx\80\ae\ee?\00\c0\01\d0[\8a\a5?\9b\0c\9d\a2\1at\ee?\00\80\d8@\83\\\a9?\b5\99\n\83\91:\ee?\00\80W\efj\'\ad?V\9a`\t\e0\01\ee?\00\c0\98\e5\98u\b0?\98\bbw\e5\01\ca\ed?\00 \0d\e3\f5S\b2?\03\91|\0b\f2\92\ed?\00\008\8b\dd.\b4?\ce\\\fbf\ac\\\ed?\00\c0W\87Y\06\b6?\9d\de^\aa,\'\ed?\00\00j5v\da\b7?\cd,k>n\f2\ec?\00`\1cNC\ab\b9?\02y\a7\a2m\be\ec?\00`\0d\bb\c7x\bb?m\087m&\8b\ec?\00 \e72\13C\bd?\04X]\bd\94X\ec?\00`\deq1\n\bf?\8c\9f\bb3\b5&\ec?\00@\91+\15g\c0??\e7\ec\ee\83\f5\eb?\00\b0\92\82\85G\c1?\c1\96\dbu\fd\c4\eb?\000\ca\cdn&\c2?(J\86\0c\1e\95\eb?\00P\c5\a6\d7\03\c3?,>\ef\c5\e2e\eb?\00\103<\c3\df\c3?\8b\88\c9gH7\eb?\00\80zk6\ba\c4?J0\1d!K\t\eb?\00\f0\d1(9\93\c5?~\ef\f2\85\e8\db\ea?\00\f0\18$\cdj\c6?\a2=`1\1d\af\ea?\00\90f\ec\f8@\c7?\a7X\d3?\e6\82\ea?\00\f0\1a\f5\c0\15\c8?\8bs\t\ef@W\ea?\00\80\f6T)\e9\c8?\'K\ab\90*,\ea?\00@\f8\026\bb\c9?\d1\f2\93\13\a0\01\ea?\00\00,\1c\ed\8b\ca?\1b<\db$\9f\d7\e9?\00\d0\01\\Q[\cb?\90\b1\c7\05%\ae\e9?\00\c0\bc\ccg)\cc?/\ce\97\f2.\85\e9?\00`H\d55\f6\cc?uK\a4\ee\ba\\\e9?\00\c0F4\bd\c1\cd?8H\e7\9d\c64\e9?\00\e0\cf\b8\01\8c\ce?\e6Rg/O\0d\e9?\00\90\17\c0\tU\cf?\9d\d7\ff\8eR\e6\e8?\00\b8\1f\12l\0e\d0?|\00\cc\9f\ce\bf\e8?\00\d0\93\0e\b8q\d0?\0e\c3\be\da\c0\99\e8?\00p\86\9ek\d4\d0?\fb\17#\aa\'t\e8?\00\d0K3\876\d1?\08\9a\b3\ac\00O\e8?\00H#g\0d\98\d1?U>e\e8I*\e8?\00\80\cc\e0\ff\f8\d1?`\02\f4\95\01\06\e8?\00hc\d7_Y\d2?)\a3\e0c%\e2\e7?\00\a8\14\t0\b9\d2?\ad\b5\dcw\b3\be\e7?\00`C\10r\18\d3?\c2%\97g\aa\9b\e7?\00\18\ecm&w\d3?W\06\17\f2\07y\e7?\000\af\fbO\d5\d3?\0c\13\d6\db\caV\e7?\00\e0/\e3\ee2\d4?") + (data (i32.const 2080) "\00\08\00\00\01\00\00\00\03\00\00\00\00\08\00\00k\b6O\01\00\10\e6?<[B\91l\02~<\95\b4M\03\000\e6?A]\00H\ea\bf\8d\f6\05\eb\ff\ef\e6?S-\e2\1a\04\80~\bc\80\97\86\0e\00\10\e7?Ry\tqf\ff{<\12\e9g\fc\ff/\e7?$\87\bd&\e2\00\8c\89<\b9{F\13\000\e9?v\02\98KN\80\7f.\98\dd\ff\af\e9?7\93Z\8a\e0@\87\bcf\fbI\ed\ff\cf\e9?\00\e0\9b\c1\08\ce?O*\00\b0\ea?_?\ff<\04\fdi\bc\d1\1e\ae\d7\ff\cf\ea?\b4p\90\12\e7>\82\bcx\04Q\ee\ff\ef\ea?\a3\de\0e\e0>\06j<[\0de\db\ff\0f\eb?\b9\n\1f8\c8\06ZO\86\d0E\ff\8a<@\16\87\f9\ff\8f\eb?\f9\c3\c2\96w\fe|\f0\0f\00\f0\f4?\1cS\85\0b\89\7f\97<\d1K\dc\12\00\10\f5?6\a4fqe\04`\c9\03\00\b0\f5?\c0\0c\bf\n\08A\9f\bc\bc\19I\1d\00\d0\f5?)G%\fb*\81\98\bc\89z\b8\e7\ff\ef\f5?\04i\ed\80\b7~\94\bc") + (data (i32.const 4144) "\00\04\00\00\01\00\00\00\03\00\00\00\00\04\00\00\f8\ac\b1k($\f7?\00\b0\cd\ee_\t\e1\bf\a1\cc\d2f\f7\e1\f6?\00\d0v\bd\94\84\e0\bf\8a\d40\0e=\a1\f6?\00\f8\e8\aeC\01\e0\bf\85l\d02\eca\f6?\00@\0b6\c5\fe\de\bf\f8\98\11\95\fa#\f6?\00\e0\b7\1a\d9\fd\dd\bfl\02\cf\a4[\e7\f5?\00\90\c7\0c\ae\ff\dc\bf\b8O!Z\05\ac\f5?\00\a0\fd\118\04\dc\bf\1en\16\0f\edq\f5?\00\e0:2g\0b\db\bf5\f8\0bY\t9\f5?\00\b0-Z/\15\da\bf\dd\ada\edO\01\f5?\00`\f8Z\7f!\d9\bf\d0{H\8e\b8\ca\f4?\00\90q\b0M0\d8\bf\eeO3\b49\95\f4?\00\e0\a9\f9\89A\d7\bfi\d5\af\df\cb`\f4?\00\90\19\b5+U\d6\bfS\b9\e4Nf-\f4?\00\10\9b\a2#k\d5\bf\a6\d8\1d\11\01\fb\f3?\00\a0_\0fe\83\d4\bf6X\0c\b7\95\c9\f3?\00\a0\f67\e9\9d\d3\bfJ\fd\b6J\1c\99\f3?\00`\8dS\a1\ba\d2\bf\b5\99\e0\0c\8ei\f3?\00@\ca@\83\d9\d1\bf\b2\e7\13\82\e4:\f3?\00\e0@:\85\fa\d0\bf\b1\bd\85\19\19\0d\f3?\000\e72\9c\1d\d0\bf\d7q\b2\ca%\e0\f2?\00`\fa\a2}\85\ce\bf\82\cd\13\cf\04\b4\f2?\00\80=c\c8\d3\cc\bfP\cb|,\b0\88\f2?\00\a0\14L\03&\cb\bf\e5M\94c\"^\f2?\00\e0O/\1c|\c9\bf\b1\15\86=V4\f2?\00\00\80?\02\d6\c7\bf8\af>\e3F\0b\f2?\00\e0\05\1a\a73\c6\bf\dd\a3\cd\fd\ee\e2\f1?\00\00W\e9\f5\94\c4\bf09\0bXJ\bb\f1?\00\a0\e0$\e4\f9\c2\bf\00\"\7f\84S\94\f1?\00\c0\fdZYb\c1\bf<\d7\d5\c0\06n\f1?\00\80\bdu\9a\9c\bf\bf\c2\e4\b7G_H\f1?\00\c0\f9[W{\bc\bf\d1\85\00\adX#\f1?\00\80\f4\0f\c6`\b9\bf\'\"S\0f\f0\fe\f0?\00\00\b6G\e2L\b6\bf\8f:\d0w \db\f0?\00@\01\b2x?\b3\bf\d9\80Y\d6\e6\b7\f0?\00\c0B\1a}8\b0\bf\8d@{\fe>\95\f0?\00\00\b5\08\92o\aa\bf\83;\c5\ca%s\f0?\00\00wO\95z\a4\bf\\\1b\0d\e4\97Q\f0?\00\00\0c\c5\a8#\9d\bf\a2\8e \c1\910\f0?\00\00x)&j\91\bf!~\b3%\10\10\f0?\00\00\e8\d8\f8 w\bfk\a7\ca\f9~\c0\ef?\00\00P\b1S\fe\86?\84\f1\f6\d3eD\ef?\00\80\0f\e1\cc\1c\a1?\7f\10\84\9f\07\cc\ee?\00\80\8b\8c\fcM\ac?\e8Z\97\99:W\ee?\00@W\1e2\aa\b3?\e6=\bd\f0\d6\e5\ed?\00\80\8b\d0\a0\18\b9?\b38\ff\81\b6w\ed?\00@\04\da\e9r\be?C\e9Mr\b5\0c\ed?\00`\7fP\d2\dc\c1?cu\0e\dc\b2\a4\ec?\00\a0\de\03\abv\c4?Q\cb\d6\e8\8e?\ec?\00 \e2wC\07\c7?L\0c\02O+\dd\eb?\00@\a9\8b\de\8e\c9?\ca\15`\00l}\eb?\00\e0\d2j\b8\0d\cc?\8f3.n6 \eb?\00\e0\ce\af\n\84\ce?9P)&p\c5\ea?\00\80g\b4\ny\d0?\dd1\'\bc\01m\ea?\00\c0\01h\05\ac\d1?\8b\f1?\bc\d3\16\ea?\00\e0\fe\d4\11\db\d2?\ad\fegI\d1\c2\e9?\00\80\c5NF\06\d4?\02\99|\f4\e4p\e9?\00\f0:\t\be-\d5?\f2\bc\829\fb \e9?\00\d0P \90Q\d6?\f1Y\f7\87\01\d3\e8?\00\f0\ea\cd\d2q\d7?m\f6\b9\eb\e5\86\e8?\00\90}\85\9c\8e\d8?\94\b9X\b6\97<\e8?\00`\e1U\01\a8\d9?\"\10\c6\ff\05\f4\e7?\00\d0\d3n\18\be\da?\ca\15\14\18\"\ad\e7?\00\e0\a0\ae\f2\d0\db?\8c\ff\9e\f9\dcg\e7?\00@\bf=\a4\e0\dc?") + (data (i32.const 5184) "\00\04\00\00\01\00\00\00\03\00\00\00\00\04\00\00\8e\n\b9\12\00 \e6?\05\b6D\06\ab\04\89<\a64W\04\00`\e6?\a9\f7b\ea\9b\ffa<\c5\f2%\c3\ff\9f\e6?\ba\90<\cb\cf~\82<\04Z\b98\00\e0\e6?&\93sV\88\ff\88<\e3\94\99\e0\ff\1f\e7?\b1\82_\'@\fd\8a<\10\0eY\15\00`\e7?A\83#\b4u\fdr\bc\d5[e\12\00\a0\e7?v+$|\e6\08x<\a6\e9Y2\00\e0\e7?\b7\"\f6&\e4\08b\bc\d2\b2\b4\ed\ff\1f\e8?/\c9\a5\1eF\02\84\bc\c3\fc\fa-\00`\e8?\1f\9a\f2\a2\f4\f7m)\e0\ff\df\f2?\f9\a6\b2\da9|\9b<\82\f0\dc\f7\ff\1f\f3?TR\dcn3\f1}<`\8bZ\f0\ff_\f3?\eb1\cdLV\03\9e\bc\cc\ae\0e.\00\a0\f3?w\a4\d3K\e7\f0u<6\b2;\04\00\e0\f3?3\88\9d\14\cb}\9c<\ff\87\d1\02\00 \f4?(=-\cf\af\08~<\b1|8\0d\00`\f4?\a6\99e\857\08\82<\89\9fV\04\00\a0\f4?\d2\bcO\90\\\fa\89\bc\f3C5\04\00\e0\f4?)S\17\ed%\11x\bc\0f\7f\02\cc\ff\1f\f5?\dcTw\84\d8\83\98\e90.\90\80\91\bc") (table $0 1 funcref) (global $../../examples/mandelbrot/assembly/index/NUM_COLORS i32 (i32.const 2048)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) - (global $~lib/util/math/LOG_TABLE_BITS i32 (i32.const 7)) - (global $~lib/util/math/log_data_tab1 i32 (i32.const 2096)) - (global $~lib/util/math/log_data_tab2 i32 (i32.const 4192)) - (global $~lib/util/math/LOG2_TABLE_BITS i32 (i32.const 6)) - (global $~lib/util/math/log2_data_tab1 i32 (i32.const 5264)) - (global $~lib/util/math/log2_data_tab2 i32 (i32.const 6336)) (export "memory" (memory $0)) (export "computeLine" (func $../../examples/mandelbrot/assembly/index/computeLine)) (func $~lib/math/NativeMath.log (; 0 ;) (param $0 f64) (result f64) @@ -38,10 +28,8 @@ (local $14 i32) (local $15 i64) (local $16 i64) - (local $17 i32) - (local $18 i32) - (local $19 f64) - (local $20 f64) + (local $17 f64) + (local $18 f64) block $~lib/util/math/log_lut|inlined.0 (result f64) local.get $0 local.set $1 @@ -224,8 +212,7 @@ local.set $13 local.get $13 i64.const 52 - global.get $~lib/util/math/LOG_TABLE_BITS - i64.extend_i32_s + i64.const 7 i64.sub i64.shr_u i64.const 127 @@ -244,13 +231,7 @@ i64.and i64.sub local.set $16 - i32.const 2096 - i32.load offset=4 - local.set $17 - i32.const 4192 - i32.load offset=4 - local.set $18 - local.get $17 + i32.const 32 local.get $14 i32.const 1 i32.const 3 @@ -259,7 +240,7 @@ i32.add f64.load local.set $11 - local.get $17 + i32.const 32 local.get $14 i32.const 1 i32.const 3 @@ -271,14 +252,14 @@ local.get $16 f64.reinterpret_i64 local.set $9 - local.get $18 + i32.const 2096 local.get $14 i32.const 4 i32.shl i32.add f64.load local.set $8 - local.get $18 + i32.const 2096 local.get $14 i32.const 4 i32.shl @@ -315,25 +296,25 @@ f64.const 5.497923018708371e-14 f64.mul f64.add - local.set $19 + local.set $17 local.get $6 local.get $6 f64.mul - local.set $20 - local.get $19 - local.get $20 + local.set $18 + local.get $17 + local.get $18 f64.const -0.5000000000000001 f64.mul f64.add local.get $6 - local.get $20 + local.get $18 f64.mul f64.const 0.33333333331825593 local.get $6 f64.const -0.2499999999622955 f64.mul f64.add - local.get $20 + local.get $18 f64.const 0.20000304511814496 local.get $6 f64.const -0.16667054827627667 @@ -365,15 +346,13 @@ (local $14 i32) (local $15 i64) (local $16 i64) - (local $17 i32) - (local $18 i32) + (local $17 f64) + (local $18 f64) (local $19 f64) (local $20 f64) (local $21 f64) (local $22 f64) (local $23 f64) - (local $24 f64) - (local $25 f64) block $~lib/util/math/log2_lut|inlined.0 (result f64) local.get $0 local.set $1 @@ -550,8 +529,7 @@ local.set $13 local.get $13 i64.const 52 - global.get $~lib/util/math/LOG2_TABLE_BITS - i64.extend_i32_s + i64.const 6 i64.sub i64.shr_u i64.const 63 @@ -568,13 +546,7 @@ i64.and i64.sub local.set $16 - i32.const 5264 - i32.load offset=4 - local.set $17 - i32.const 6336 - i32.load offset=4 - local.set $18 - local.get $17 + i32.const 4160 local.get $14 i32.const 1 i32.const 3 @@ -583,7 +555,7 @@ i32.add f64.load local.set $11 - local.get $17 + i32.const 4160 local.get $14 i32.const 1 i32.const 3 @@ -598,7 +570,7 @@ local.get $15 f64.convert_i64_s local.set $8 - local.get $18 + i32.const 5200 local.get $14 i32.const 1 i32.const 3 @@ -607,7 +579,7 @@ i32.add f64.load local.set $7 - local.get $18 + i32.const 5200 local.get $14 i32.const 1 i32.const 3 @@ -637,7 +609,7 @@ local.get $4 f64.const 1.4426950407214463 f64.mul - local.set $19 + local.set $17 local.get $3 f64.const 1.4426950407214463 f64.mul @@ -645,33 +617,33 @@ f64.const 1.6751713164886512e-10 f64.mul f64.add - local.set $20 + local.set $18 local.get $8 local.get $10 f64.add - local.set $21 - local.get $21 + local.set $19 local.get $19 + local.get $17 f64.add - local.set $22 - local.get $21 - local.get $22 - f64.sub + local.set $20 local.get $19 - f64.add local.get $20 + f64.sub + local.get $17 f64.add - local.set $23 + local.get $18 + f64.add + local.set $21 local.get $5 local.get $5 f64.mul - local.set $24 + local.set $22 f64.const -0.7213475204444882 local.get $5 f64.const 0.4808983469629985 f64.mul f64.add - local.get $24 + local.get $22 f64.const -0.36067375954075914 local.get $5 f64.const 0.2885390073180969 @@ -679,8 +651,8 @@ f64.add f64.mul f64.add - local.get $24 - local.get $24 + local.get $22 + local.get $22 f64.mul f64.const -0.2404693555628422 local.get $5 @@ -689,13 +661,13 @@ f64.add f64.mul f64.add - local.set $25 + local.set $23 + local.get $21 + local.get $22 local.get $23 - local.get $24 - local.get $25 f64.mul f64.add - local.get $22 + local.get $20 f64.add end return diff --git a/tests/compiler/number.optimized.wat b/tests/compiler/number.optimized.wat index 5eec6711a2..68fa6b2020 100644 --- a/tests/compiler/number.optimized.wat +++ b/tests/compiler/number.optimized.wat @@ -19,21 +19,18 @@ (data (i32.const 160) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N") (data (i32.const 192) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 240) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 272) "\b8\02\00\00\01\00\00\00\00\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8_i32 (func (param i32) (result i32))) (type $i32_=>_none (func (param i32))) (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $f64_=>_i32 (func (param f64) (result i32))) (type $none_=>_none (func)) + (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) (type $f32_=>_i32 (func (param f32) (result i32))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) @@ -12,33 +12,28 @@ (type $i32_i64_i32_i64_i32_i64_i32_=>_i32 (func (param i32 i64 i32 i64 i32 i64 i32) (result i32))) (type $i32_f64_=>_i32 (func (param i32 f64) (result i32))) (type $f64_i32_=>_i32 (func (param f64 i32) (result i32))) - (type $i32_i32_=>_i64 (func (param i32 i32) (result i64))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 16) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\000\00") - (data (i32.const 48) "\90\01\00\00\01\00\00\00\00\00\00\00\90\01\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 464) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00@\00\00\00@\00\00\00\90\01\00\00d\00\00\00") - (data (i32.const 496) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\001\00") - (data (i32.const 528) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00n\00u\00m\00b\00e\00r\00.\00t\00s\00") - (data (i32.const 576) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\000\00") - (data (i32.const 608) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N\00") - (data (i32.const 640) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 688) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 720) "\b8\02\00\00\01\00\00\00\00\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8#__unchecked_get (; 13 ;) (param $0 i32) (param $1 i32) (result i64) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load - ) - (func $~lib/array/Array#__unchecked_get (; 14 ;) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s - ) - (func $~lib/util/number/genDigits (; 15 ;) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (func $~lib/util/number/genDigits (; 13 ;) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) (local $8 i64) (local $9 i64) @@ -681,17 +654,16 @@ (local $16 i32) (local $17 i32) (local $18 i32) - (local $19 i32) + (local $19 i64) (local $20 i64) (local $21 i64) (local $22 i64) (local $23 i64) - (local $24 i64) + (local $24 i32) (local $25 i32) (local $26 i32) (local $27 i32) - (local $28 i32) - (local $29 i64) + (local $28 i64) i32.const 0 local.get $4 i32.sub @@ -726,15 +698,12 @@ local.set $14 local.get $6 local.set $15 - i32.const 1776 - i32.load offset=4 - local.set $16 loop $while-continue|0 local.get $14 i32.const 0 i32.gt_s - local.set $17 - local.get $17 + local.set $16 + local.get $16 if block $break|1 block $case10|1 @@ -749,44 +718,44 @@ block $case1|1 block $case0|1 local.get $14 - local.set $19 - local.get $19 + local.set $18 + local.get $18 i32.const 10 i32.eq br_if $case0|1 - local.get $19 + local.get $18 i32.const 9 i32.eq br_if $case1|1 - local.get $19 + local.get $18 i32.const 8 i32.eq br_if $case2|1 - local.get $19 + local.get $18 i32.const 7 i32.eq br_if $case3|1 - local.get $19 + local.get $18 i32.const 6 i32.eq br_if $case4|1 - local.get $19 + local.get $18 i32.const 5 i32.eq br_if $case5|1 - local.get $19 + local.get $18 i32.const 4 i32.eq br_if $case6|1 - local.get $19 + local.get $18 i32.const 3 i32.eq br_if $case7|1 - local.get $19 + local.get $18 i32.const 2 i32.eq br_if $case8|1 - local.get $19 + local.get $18 i32.const 1 i32.eq br_if $case9|1 @@ -795,7 +764,7 @@ local.get $12 i32.const 1000000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 1000000000 i32.rem_u @@ -805,7 +774,7 @@ local.get $12 i32.const 100000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 100000000 i32.rem_u @@ -815,7 +784,7 @@ local.get $12 i32.const 10000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 10000000 i32.rem_u @@ -825,7 +794,7 @@ local.get $12 i32.const 1000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 1000000 i32.rem_u @@ -835,7 +804,7 @@ local.get $12 i32.const 100000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 100000 i32.rem_u @@ -845,7 +814,7 @@ local.get $12 i32.const 10000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 10000 i32.rem_u @@ -855,7 +824,7 @@ local.get $12 i32.const 1000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 1000 i32.rem_u @@ -865,7 +834,7 @@ local.get $12 i32.const 100 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 100 i32.rem_u @@ -875,7 +844,7 @@ local.get $12 i32.const 10 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 10 i32.rem_u @@ -883,31 +852,31 @@ br $break|1 end local.get $12 - local.set $18 + local.set $17 i32.const 0 local.set $12 br $break|1 end i32.const 0 - local.set $18 + local.set $17 br $break|1 end - local.get $18 + local.get $17 local.get $15 i32.or if local.get $0 local.get $15 - local.tee $19 + local.tee $18 i32.const 1 i32.add local.set $15 - local.get $19 + local.get $18 i32.const 1 i32.shl i32.add i32.const 48 - local.get $18 + local.get $17 i32.const 65535 i32.and i32.add @@ -924,8 +893,8 @@ i64.shl local.get $13 i64.add - local.set $20 - local.get $20 + local.set $19 + local.get $19 local.get $5 i64.le_u if @@ -934,14 +903,14 @@ i32.add global.set $~lib/util/number/_K local.get $0 - local.set $25 + local.set $24 local.get $15 - local.set $19 + local.set $18 local.get $5 - local.set $24 - local.get $20 local.set $23 - local.get $16 + local.get $19 + local.set $22 + i32.const 1616 local.get $14 i32.const 2 i32.shl @@ -950,71 +919,71 @@ local.get $7 i64.extend_i32_s i64.shl - local.set $22 - local.get $10 local.set $21 - local.get $25 - local.get $19 + local.get $10 + local.set $20 + local.get $24 + local.get $18 i32.const 1 i32.sub i32.const 1 i32.shl i32.add - local.set $26 - local.get $26 + local.set $25 + local.get $25 i32.load16_u - local.set $27 + local.set $26 loop $while-continue|3 - local.get $23 - local.get $21 + local.get $22 + local.get $20 i64.lt_u if (result i32) - local.get $24 local.get $23 - i64.sub local.get $22 + i64.sub + local.get $21 i64.ge_u else i32.const 0 end if (result i32) - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.lt_u if (result i32) i32.const 1 else - local.get $21 - local.get $23 + local.get $20 + local.get $22 i64.sub - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.sub i64.gt_u end else i32.const 0 end - local.set $28 - local.get $28 + local.set $27 + local.get $27 if - local.get $27 + local.get $26 i32.const 1 i32.sub - local.set $27 - local.get $23 + local.set $26 local.get $22 + local.get $21 i64.add - local.set $23 + local.set $22 br $while-continue|3 end end + local.get $25 local.get $26 - local.get $27 i32.store16 local.get $15 return @@ -1024,8 +993,8 @@ end loop $while-continue|4 i32.const 1 - local.set $17 - local.get $17 + local.set $16 + local.get $16 if local.get $13 i64.const 10 @@ -1039,8 +1008,8 @@ local.get $7 i64.extend_i32_s i64.shr_u - local.set $24 - local.get $24 + local.set $23 + local.get $23 local.get $15 i64.extend_i32_s i64.or @@ -1049,16 +1018,16 @@ if local.get $0 local.get $15 - local.tee $27 + local.tee $26 i32.const 1 i32.add local.set $15 - local.get $27 + local.get $26 i32.const 1 i32.shl i32.add i32.const 48 - local.get $24 + local.get $23 i32.wrap_i64 i32.const 65535 i32.and @@ -1082,7 +1051,7 @@ i32.add global.set $~lib/util/number/_K local.get $10 - local.get $16 + i32.const 1616 i32.const 0 local.get $14 i32.sub @@ -1093,79 +1062,79 @@ i64.mul local.set $10 local.get $0 - local.set $19 + local.set $18 local.get $15 - local.set $28 + local.set $27 local.get $5 - local.set $29 + local.set $28 local.get $13 - local.set $23 - local.get $8 local.set $22 - local.get $10 + local.get $8 local.set $21 - local.get $19 - local.get $28 + local.get $10 + local.set $20 + local.get $18 + local.get $27 i32.const 1 i32.sub i32.const 1 i32.shl i32.add - local.set $27 - local.get $27 - i32.load16_u local.set $26 + local.get $26 + i32.load16_u + local.set $25 loop $while-continue|6 - local.get $23 - local.get $21 + local.get $22 + local.get $20 i64.lt_u if (result i32) - local.get $29 - local.get $23 - i64.sub + local.get $28 local.get $22 + i64.sub + local.get $21 i64.ge_u else i32.const 0 end if (result i32) - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.lt_u if (result i32) i32.const 1 else - local.get $21 - local.get $23 + local.get $20 + local.get $22 i64.sub - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.sub i64.gt_u end else i32.const 0 end - local.set $25 - local.get $25 + local.set $24 + local.get $24 if - local.get $26 + local.get $25 i32.const 1 i32.sub - local.set $26 - local.get $23 + local.set $25 local.get $22 + local.get $21 i64.add - local.set $23 + local.set $22 br $while-continue|6 end end - local.get $27 local.get $26 + local.get $25 i32.store16 local.get $15 return @@ -1175,7 +1144,7 @@ end local.get $15 ) - (func $~lib/util/memory/memcpy (; 16 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/memory/memcpy (; 14 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2199,7 +2168,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 17 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 15 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2419,7 +2388,7 @@ end end ) - (func $~lib/util/number/prettify (; 18 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/prettify (; 16 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2736,7 +2705,7 @@ end unreachable ) - (func $~lib/util/number/dtoa_core (; 19 ;) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/number/dtoa_core (; 17 ;) (param $0 i32) (param $1 f64) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2901,13 +2870,19 @@ i32.shl i32.sub global.set $~lib/util/number/_K - i32.const 1456 + i32.const 704 local.get $14 - call $~lib/array/Array#__unchecked_get + i32.const 3 + i32.shl + i32.add + i64.load global.set $~lib/util/number/_frc_pow - i32.const 1680 + i32.const 1424 local.get $14 - call $~lib/array/Array#__unchecked_get + i32.const 1 + i32.shl + i32.add + i32.load16_s global.set $~lib/util/number/_exp_pow local.get $9 i64.clz @@ -3158,7 +3133,7 @@ local.get $2 i32.add ) - (func $~lib/string/String#substring (; 20 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#substring (; 18 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3232,7 +3207,7 @@ local.get $10 i32.eqz if - i32.const 1808 + i32.const 1680 call $~lib/rt/stub/__retain return end @@ -3265,7 +3240,7 @@ local.get $11 call $~lib/rt/stub/__retain ) - (func $~lib/rt/stub/__free (; 21 ;) (param $0 i32) + (func $~lib/rt/stub/__free (; 19 ;) (param $0 i32) (local $1 i32) local.get $0 i32.const 0 @@ -3281,7 +3256,7 @@ i32.eqz if i32.const 0 - i32.const 1824 + i32.const 1696 i32.const 70 i32.const 2 call $~lib/builtins/abort @@ -3298,7 +3273,7 @@ i32.eqz if i32.const 0 - i32.const 1824 + i32.const 1696 i32.const 72 i32.const 13 call $~lib/builtins/abort @@ -3315,7 +3290,7 @@ global.set $~lib/rt/stub/offset end ) - (func $~lib/util/number/dtoa (; 22 ;) (param $0 f64) (result i32) + (func $~lib/util/number/dtoa (; 20 ;) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3323,7 +3298,7 @@ f64.const 0 f64.eq if - i32.const 592 + i32.const 560 return end local.get $0 @@ -3337,11 +3312,11 @@ local.get $0 f64.ne if - i32.const 624 + i32.const 592 return end - i32.const 656 - i32.const 704 + i32.const 624 + i32.const 672 local.get $0 f64.const 0 f64.lt @@ -3376,19 +3351,19 @@ call $~lib/rt/stub/__free local.get $3 ) - (func $~lib/number/F64#toString (; 23 ;) (param $0 f64) (param $1 i32) (result i32) + (func $~lib/number/F64#toString (; 21 ;) (param $0 f64) (param $1 i32) (result i32) local.get $0 call $~lib/util/number/dtoa ) - (func $~lib/number/Bool#toString (; 24 ;) (param $0 i32) (result i32) + (func $~lib/number/Bool#toString (; 22 ;) (param $0 i32) (result i32) local.get $0 if (result i32) - i32.const 2032 + i32.const 1904 else - i32.const 2064 + i32.const 1936 end ) - (func $~lib/number/F32.isSafeInteger (; 25 ;) (param $0 f32) (result i32) + (func $~lib/number/F32.isSafeInteger (; 23 ;) (param $0 f32) (result i32) local.get $0 f32.abs global.get $~lib/builtins/f32.MAX_SAFE_INTEGER @@ -3402,7 +3377,7 @@ i32.const 0 end ) - (func $~lib/number/F32.isInteger (; 26 ;) (param $0 f32) (result i32) + (func $~lib/number/F32.isInteger (; 24 ;) (param $0 f32) (result i32) local.get $0 local.get $0 f32.sub @@ -3417,7 +3392,7 @@ i32.const 0 end ) - (func $~lib/number/F64.isSafeInteger (; 27 ;) (param $0 f64) (result i32) + (func $~lib/number/F64.isSafeInteger (; 25 ;) (param $0 f64) (result i32) local.get $0 f64.abs global.get $~lib/builtins/f64.MAX_SAFE_INTEGER @@ -3431,7 +3406,7 @@ i32.const 0 end ) - (func $~lib/number/F64.isInteger (; 28 ;) (param $0 f64) (result i32) + (func $~lib/number/F64.isInteger (; 26 ;) (param $0 f64) (result i32) local.get $0 local.get $0 f64.sub @@ -3446,7 +3421,7 @@ i32.const 0 end ) - (func $start:number (; 29 ;) + (func $start:number (; 27 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -3473,12 +3448,12 @@ global.get $number/a call $~lib/number/I32#toString local.tee $0 - i32.const 512 + i32.const 480 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 5 i32.const 0 call $~lib/builtins/abort @@ -3488,12 +3463,12 @@ i32.const 0 call $~lib/number/F64#toString local.tee $1 - i32.const 1872 + i32.const 1744 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 7 i32.const 0 call $~lib/builtins/abort @@ -3502,12 +3477,12 @@ i32.const 3 call $~lib/number/I32#toString local.tee $2 - i32.const 1904 + i32.const 1776 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 8 i32.const 0 call $~lib/builtins/abort @@ -3516,12 +3491,12 @@ i32.const -5 call $~lib/number/I32#toString local.tee $3 - i32.const 1936 + i32.const 1808 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 10 i32.const 0 call $~lib/builtins/abort @@ -3530,12 +3505,12 @@ i32.const 4 call $~lib/number/I32#toString local.tee $4 - i32.const 1968 + i32.const 1840 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 11 i32.const 0 call $~lib/builtins/abort @@ -3548,12 +3523,12 @@ global.get $number/a call $~lib/number/I32#toString local.tee $5 - i32.const 2000 + i32.const 1872 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 12 i32.const 0 call $~lib/builtins/abort @@ -3566,12 +3541,12 @@ global.get $number/a call $~lib/number/I32#toString local.tee $6 - i32.const 512 + i32.const 480 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 13 i32.const 0 call $~lib/builtins/abort @@ -3580,12 +3555,12 @@ i32.const 1 call $~lib/number/Bool#toString local.tee $7 - i32.const 2032 + i32.const 1904 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 14 i32.const 0 call $~lib/builtins/abort @@ -3594,12 +3569,12 @@ i32.const 0 call $~lib/number/Bool#toString local.tee $8 - i32.const 2064 + i32.const 1936 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 15 i32.const 0 call $~lib/builtins/abort @@ -3613,12 +3588,12 @@ local.get $9 call $~lib/number/I32#toString local.tee $9 - i32.const 512 + i32.const 480 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 18 i32.const 0 call $~lib/builtins/abort @@ -3632,12 +3607,12 @@ local.get $10 call $~lib/number/I32#toString local.tee $10 - i32.const 2000 + i32.const 1872 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 19 i32.const 0 call $~lib/builtins/abort @@ -3650,7 +3625,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 23 i32.const 0 call $~lib/builtins/abort @@ -3663,7 +3638,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 25 i32.const 0 call $~lib/builtins/abort @@ -3676,7 +3651,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 26 i32.const 0 call $~lib/builtins/abort @@ -3689,7 +3664,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 27 i32.const 0 call $~lib/builtins/abort @@ -3702,7 +3677,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 28 i32.const 0 call $~lib/builtins/abort @@ -3715,7 +3690,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 29 i32.const 0 call $~lib/builtins/abort @@ -3728,7 +3703,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 30 i32.const 0 call $~lib/builtins/abort @@ -3741,7 +3716,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 31 i32.const 0 call $~lib/builtins/abort @@ -3754,7 +3729,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 32 i32.const 0 call $~lib/builtins/abort @@ -3767,7 +3742,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 33 i32.const 0 call $~lib/builtins/abort @@ -3780,7 +3755,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 34 i32.const 0 call $~lib/builtins/abort @@ -3793,7 +3768,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 35 i32.const 0 call $~lib/builtins/abort @@ -3806,7 +3781,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 36 i32.const 0 call $~lib/builtins/abort @@ -3819,7 +3794,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 37 i32.const 0 call $~lib/builtins/abort @@ -3832,7 +3807,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 38 i32.const 0 call $~lib/builtins/abort @@ -3845,7 +3820,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 39 i32.const 0 call $~lib/builtins/abort @@ -3858,7 +3833,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 40 i32.const 0 call $~lib/builtins/abort @@ -3871,7 +3846,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 41 i32.const 0 call $~lib/builtins/abort @@ -3884,7 +3859,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 42 i32.const 0 call $~lib/builtins/abort @@ -3897,7 +3872,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 43 i32.const 0 call $~lib/builtins/abort @@ -3910,7 +3885,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 44 i32.const 0 call $~lib/builtins/abort @@ -3923,7 +3898,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 46 i32.const 0 call $~lib/builtins/abort @@ -3936,7 +3911,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 48 i32.const 0 call $~lib/builtins/abort @@ -3949,7 +3924,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 49 i32.const 0 call $~lib/builtins/abort @@ -3962,7 +3937,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 50 i32.const 0 call $~lib/builtins/abort @@ -3975,7 +3950,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 51 i32.const 0 call $~lib/builtins/abort @@ -3988,7 +3963,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 52 i32.const 0 call $~lib/builtins/abort @@ -4001,7 +3976,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 53 i32.const 0 call $~lib/builtins/abort @@ -4014,7 +3989,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 54 i32.const 0 call $~lib/builtins/abort @@ -4027,7 +4002,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 55 i32.const 0 call $~lib/builtins/abort @@ -4040,7 +4015,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 56 i32.const 0 call $~lib/builtins/abort @@ -4053,7 +4028,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 57 i32.const 0 call $~lib/builtins/abort @@ -4066,7 +4041,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 58 i32.const 0 call $~lib/builtins/abort @@ -4079,7 +4054,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 59 i32.const 0 call $~lib/builtins/abort @@ -4092,7 +4067,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 60 i32.const 0 call $~lib/builtins/abort @@ -4105,7 +4080,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 61 i32.const 0 call $~lib/builtins/abort @@ -4118,7 +4093,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 62 i32.const 0 call $~lib/builtins/abort @@ -4131,7 +4106,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 63 i32.const 0 call $~lib/builtins/abort @@ -4144,7 +4119,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 64 i32.const 0 call $~lib/builtins/abort @@ -4157,7 +4132,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 65 i32.const 0 call $~lib/builtins/abort @@ -4170,7 +4145,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 66 i32.const 0 call $~lib/builtins/abort @@ -4183,7 +4158,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 67 i32.const 0 call $~lib/builtins/abort @@ -4212,7 +4187,7 @@ local.get $10 call $~lib/rt/stub/__release ) - (func $~start (; 30 ;) + (func $~start (; 28 ;) call $start:number ) ) diff --git a/tests/compiler/resolve-access.optimized.wat b/tests/compiler/resolve-access.optimized.wat index 7f447fd521..1c32e82276 100644 --- a/tests/compiler/resolve-access.optimized.wat +++ b/tests/compiler/resolve-access.optimized.wat @@ -286,11 +286,14 @@ i32.const 16 i32.const 3 call $~lib/rt/stub/__alloc - local.tee $0 + local.set $0 i32.const 8 i32.const 0 call $~lib/rt/stub/__alloc local.tee $1 + call $~lib/memory/memory.copy + local.get $0 + local.get $1 i32.store local.get $0 local.get $1 @@ -301,8 +304,6 @@ local.get $0 i32.const 1 i32.store offset=12 - local.get $1 - call $~lib/memory/memory.copy local.get $0 ) (func $~lib/array/Array#__get (; 5 ;) (param $0 i32) (result i64) diff --git a/tests/compiler/resolve-access.untouched.wat b/tests/compiler/resolve-access.untouched.wat index 2489d8dbc8..2a4988e54b 100644 --- a/tests/compiler/resolve-access.untouched.wat +++ b/tests/compiler/resolve-access.untouched.wat @@ -9,6 +9,7 @@ (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) (type $i32_i64_i32_=>_none (func (param i32 i64 i32))) (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) @@ -16,14 +17,13 @@ (data (i32.const 48) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") (data (i32.const 112) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") (data (i32.const 160) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\000\00") - (data (i32.const 192) "\90\01\00\00\01\00\00\00\00\00\00\00\90\01\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 608) "\10\00\00\00\01\00\00\00\05\00\00\00\10\00\00\00\d0\00\00\00\d0\00\00\00\90\01\00\00d\00\00\00") + (data (i32.const 192) "\90\01\00\00\01\00\00\00\05\00\00\00\90\01\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") (table $0 1 funcref) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~lib/builtins/u32.MAX_VALUE i32 (i32.const -1)) - (global $~lib/heap/__heap_base i32 (i32.const 640)) + (global $~lib/heap/__heap_base i32 (i32.const 608)) (export "memory" (memory $0)) (export "arrayAccess" (func $resolve-access/arrayAccess)) (export "fieldAccess" (func $resolve-access/fieldAccess)) @@ -136,10 +136,7 @@ i32.store offset=12 local.get $2 ) - (func $~lib/rt/stub/__retain (; 3 ;) (param $0 i32) (result i32) - local.get $0 - ) - (func $~lib/util/memory/memcpy (; 4 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/memory/memcpy (; 3 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1163,7 +1160,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 5 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 4 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -1383,7 +1380,25 @@ end end ) - (func $~lib/rt/__allocArray (; 6 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/rt/__allocBuffer (; 5 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + local.get $0 + local.get $1 + call $~lib/rt/stub/__alloc + local.set $3 + local.get $2 + if + local.get $3 + local.get $2 + local.get $0 + call $~lib/memory/memory.copy + end + local.get $3 + ) + (func $~lib/rt/stub/__retain (; 6 ;) (param $0 i32) (result i32) + local.get $0 + ) + (func $~lib/rt/__allocArray (; 7 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -1397,7 +1412,8 @@ local.set $5 local.get $5 i32.const 0 - call $~lib/rt/stub/__alloc + local.get $3 + call $~lib/rt/__allocBuffer local.set $6 local.get $4 local.get $6 @@ -1412,16 +1428,9 @@ local.get $4 local.get $0 i32.store offset=12 - local.get $3 - if - local.get $6 - local.get $3 - local.get $5 - call $~lib/memory/memory.copy - end local.get $4 ) - (func $~lib/array/Array#__unchecked_get (; 7 ;) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/array/Array#__unchecked_get (; 8 ;) (param $0 i32) (param $1 i32) (result i64) local.get $0 i32.load offset=4 local.get $1 @@ -1430,7 +1439,7 @@ i32.add i64.load ) - (func $~lib/array/Array#__get (; 8 ;) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/array/Array#__get (; 9 ;) (param $0 i32) (param $1 i32) (result i64) (local $2 i64) local.get $1 local.get $0 @@ -1450,7 +1459,7 @@ local.set $2 local.get $2 ) - (func $~lib/util/number/decimalCount32 (; 9 ;) (param $0 i32) (result i32) + (func $~lib/util/number/decimalCount32 (; 10 ;) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 100000 @@ -1516,59 +1525,55 @@ end unreachable ) - (func $~lib/util/number/utoa32_lut (; 10 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/number/utoa32_lut (; 11 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) + (local $8 i64) (local $9 i64) - (local $10 i64) + (local $10 i32) (local $11 i32) - (local $12 i32) - i32.const 624 - i32.load offset=4 - local.set $3 loop $while-continue|0 local.get $1 i32.const 10000 i32.ge_u - local.set $4 - local.get $4 + local.set $3 + local.get $3 if local.get $1 i32.const 10000 i32.div_u - local.set $5 + local.set $4 local.get $1 i32.const 10000 i32.rem_u - local.set $6 - local.get $5 + local.set $5 + local.get $4 local.set $1 - local.get $6 + local.get $5 i32.const 100 i32.div_u - local.set $7 - local.get $6 + local.set $6 + local.get $5 i32.const 100 i32.rem_u - local.set $8 - local.get $3 - local.get $7 + local.set $7 + i32.const 208 + local.get $6 i32.const 2 i32.shl i32.add i64.load32_u - local.set $9 - local.get $3 - local.get $8 + local.set $8 + i32.const 208 + local.get $7 i32.const 2 i32.shl i32.add i64.load32_u - local.set $10 + local.set $9 local.get $2 i32.const 4 i32.sub @@ -1578,8 +1583,8 @@ i32.const 1 i32.shl i32.add + local.get $8 local.get $9 - local.get $10 i64.const 32 i64.shl i64.or @@ -1594,30 +1599,30 @@ local.get $1 i32.const 100 i32.div_u - local.set $4 + local.set $3 local.get $1 i32.const 100 i32.rem_u - local.set $11 - local.get $4 + local.set $10 + local.get $3 local.set $1 local.get $2 i32.const 2 i32.sub local.set $2 - local.get $3 - local.get $11 + i32.const 208 + local.get $10 i32.const 2 i32.shl i32.add i32.load - local.set $12 + local.set $11 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store end local.get $1 @@ -1628,19 +1633,19 @@ i32.const 2 i32.sub local.set $2 - local.get $3 + i32.const 208 local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $12 + local.set $11 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store else local.get $2 @@ -1650,17 +1655,17 @@ i32.const 48 local.get $1 i32.add - local.set $12 + local.set $11 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store16 end ) - (func $~lib/util/number/decimalCount64 (; 11 ;) (param $0 i64) (result i32) + (func $~lib/util/number/decimalCount64 (; 12 ;) (param $0 i64) (result i32) (local $1 i32) local.get $0 i64.const 1000000000000000 @@ -1733,80 +1738,76 @@ end unreachable ) - (func $~lib/util/number/utoa64_lut (; 12 ;) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/util/number/utoa64_lut (; 13 ;) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i64) + (local $4 i64) + (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) + (local $12 i64) (local $13 i64) - (local $14 i64) - i32.const 624 - i32.load offset=4 - local.set $3 loop $while-continue|0 local.get $1 i64.const 100000000 i64.ge_u - local.set $4 - local.get $4 + local.set $3 + local.get $3 if local.get $1 i64.const 100000000 i64.div_u - local.set $5 + local.set $4 local.get $1 - local.get $5 + local.get $4 i64.const 100000000 i64.mul i64.sub i32.wrap_i64 - local.set $6 - local.get $5 + local.set $5 + local.get $4 local.set $1 - local.get $6 + local.get $5 i32.const 10000 i32.div_u - local.set $7 - local.get $6 + local.set $6 + local.get $5 i32.const 10000 i32.rem_u - local.set $8 - local.get $7 + local.set $7 + local.get $6 i32.const 100 i32.div_u - local.set $9 - local.get $7 + local.set $8 + local.get $6 i32.const 100 i32.rem_u - local.set $10 - local.get $8 + local.set $9 + local.get $7 i32.const 100 i32.div_u - local.set $11 - local.get $8 + local.set $10 + local.get $7 i32.const 100 i32.rem_u - local.set $12 - local.get $3 - local.get $11 + local.set $11 + i32.const 208 + local.get $10 i32.const 2 i32.shl i32.add i64.load32_u - local.set $13 - local.get $3 - local.get $12 + local.set $12 + i32.const 208 + local.get $11 i32.const 2 i32.shl i32.add i64.load32_u - local.set $14 + local.set $13 local.get $2 i32.const 4 i32.sub @@ -1816,26 +1817,26 @@ i32.const 1 i32.shl i32.add + local.get $12 local.get $13 - local.get $14 i64.const 32 i64.shl i64.or i64.store - local.get $3 - local.get $9 + i32.const 208 + local.get $8 i32.const 2 i32.shl i32.add i64.load32_u - local.set $13 - local.get $3 - local.get $10 + local.set $12 + i32.const 208 + local.get $9 i32.const 2 i32.shl i32.add i64.load32_u - local.set $14 + local.set $13 local.get $2 i32.const 4 i32.sub @@ -1845,8 +1846,8 @@ i32.const 1 i32.shl i32.add + local.get $12 local.get $13 - local.get $14 i64.const 32 i64.shl i64.or @@ -1860,7 +1861,7 @@ local.get $2 call $~lib/util/number/utoa32_lut ) - (func $~lib/util/number/utoa64 (; 13 ;) (param $0 i64) (result i32) + (func $~lib/util/number/utoa64 (; 14 ;) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -1926,19 +1927,19 @@ local.get $1 call $~lib/rt/stub/__retain ) - (func $~lib/util/number/itoa (; 14 ;) (param $0 i64) (result i32) + (func $~lib/util/number/itoa (; 15 ;) (param $0 i64) (result i32) local.get $0 call $~lib/util/number/utoa64 return ) - (func $~lib/number/U64#toString (; 15 ;) (param $0 i64) (result i32) + (func $~lib/number/U64#toString (; 16 ;) (param $0 i64) (result i32) local.get $0 call $~lib/util/number/itoa ) - (func $~lib/rt/stub/__release (; 16 ;) (param $0 i32) + (func $~lib/rt/stub/__release (; 17 ;) (param $0 i32) nop ) - (func $resolve-access/arrayAccess (; 17 ;) (result i32) + (func $resolve-access/arrayAccess (; 18 ;) (result i32) (local $0 i32) (local $1 i32) i32.const 1 @@ -1957,7 +1958,7 @@ call $~lib/rt/stub/__release local.get $0 ) - (func $resolve-access/Container#constructor (; 18 ;) (param $0 i32) (result i32) + (func $resolve-access/Container#constructor (; 19 ;) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -1972,7 +1973,7 @@ i64.store local.get $0 ) - (func $resolve-access/fieldAccess (; 19 ;) (result i32) + (func $resolve-access/fieldAccess (; 20 ;) (result i32) (local $0 i32) (local $1 i32) i32.const 0 @@ -1989,12 +1990,12 @@ call $~lib/rt/stub/__release local.get $1 ) - (func $resolve-access/Container#toU32 (; 20 ;) (param $0 i32) (result i32) + (func $resolve-access/Container#toU32 (; 21 ;) (param $0 i32) (result i32) local.get $0 i64.load i32.wrap_i64 ) - (func $~lib/util/number/utoa32 (; 21 ;) (param $0 i32) (result i32) + (func $~lib/util/number/utoa32 (; 22 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2028,16 +2029,16 @@ local.get $2 call $~lib/rt/stub/__retain ) - (func $~lib/util/number/itoa (; 22 ;) (param $0 i32) (result i32) + (func $~lib/util/number/itoa (; 23 ;) (param $0 i32) (result i32) local.get $0 call $~lib/util/number/utoa32 return ) - (func $~lib/number/U32#toString (; 23 ;) (param $0 i32) (result i32) + (func $~lib/number/U32#toString (; 24 ;) (param $0 i32) (result i32) local.get $0 call $~lib/util/number/itoa ) - (func $resolve-access/propertyAccess (; 24 ;) (result i32) + (func $resolve-access/propertyAccess (; 25 ;) (result i32) (local $0 i32) (local $1 i32) i32.const 0 @@ -2054,7 +2055,7 @@ call $~lib/rt/stub/__release local.get $1 ) - (func $~start (; 25 ;) + (func $~start (; 26 ;) global.get $~lib/heap/__heap_base i32.const 15 i32.add diff --git a/tests/compiler/resolve-binary.optimized.wat b/tests/compiler/resolve-binary.optimized.wat index 5267674116..4bbe317d3f 100644 --- a/tests/compiler/resolve-binary.optimized.wat +++ b/tests/compiler/resolve-binary.optimized.wat @@ -21,30 +21,27 @@ (data (i32.const 304) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N") (data (i32.const 336) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 384) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 416) "\b8\02\00\00\01\00\00\00\00\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8_i32 (func (param i32 f64) (result i32))) (type $f64_=>_i32 (func (param f64) (result i32))) (type $f64_i32_=>_i32 (func (param f64 i32) (result i32))) - (type $i32_i32_=>_i64 (func (param i32 i32) (result i64))) (type $f64_f64_=>_f64 (func (param f64 f64) (result f64))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) @@ -20,54 +19,43 @@ (data (i32.const 80) "\"\00\00\00\01\00\00\00\01\00\00\00\"\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00b\00i\00n\00a\00r\00y\00.\00t\00s\00") (data (i32.const 144) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00a\00") (data (i32.const 176) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\000\00") - (data (i32.const 208) "\90\01\00\00\01\00\00\00\00\00\00\00\90\01\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 624) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00\e0\00\00\00\e0\00\00\00\90\01\00\00d\00\00\00") - (data (i32.const 656) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\001\00") - (data (i32.const 688) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\002\00") - (data (i32.const 720) "\00\10\00\00\01\00\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\a0\f6?\00\00\00\00\00\00\00\00\00\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?\00\00\00\00\00\00\00\00\00\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?\00\00\00\00\00\00\00\00\00XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?\00\00\00\00\00\00\00\00\00\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?\00\00\00\00\00\00\00\00\00xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?\00\00\00\00\00\00\00\00\00`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?\00\00\00\00\00\00\00\00\00\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?\00\00\00\00\00\00\00\00\00HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?\00\00\00\00\00\00\00\00\00\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?\00\00\00\00\00\00\00\00\00 \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?\00\00\00\00\00\00\00\00\00x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?\00\00\00\00\00\00\00\00\00\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?\00\00\00\00\00\00\00\00\00\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?\00\00\00\00\00\00\00\00\00H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?\00\00\00\00\00\00\00\00\00\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?\00\00\00\00\00\00\00\00\00@^m\18\b9\cf\bf\87<\99\ab*W\0d=\00\00\00\00\00`\f4?\00\00\00\00\00\00\00\00\00`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?\00\00\00\00\00\00\00\00\00\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?\00\00\00\00\00\00\00\00\00\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?\00\00\00\00\00\00\00\00\00\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?\00\00\00\00\00\00\00\00\00\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?\00\00\00\00\00\00\00\00\00P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?\00\00\00\00\00\00\00\00\00\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?\00\00\00\00\00\00\00\00\00\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?\00\00\00\00\00\00\00\00\00\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?\00\00\00\00\00\00\00\00\00\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?\00\00\00\00\00\00\00\00\00`F\d1;\97\b1?\9b\9e\0dV]2%\bd\00\00\00\00\00\a0\ed?\00\00\00\00\00\00\00\00\00\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?\00\00\00\00\00\00\00\00\00\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?\00\00\00\00\00\00\00\00\00\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?\00\00\00\00\00\00\00\00\00@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?\00\00\00\00\00\00\00\00\00`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?\00\00\00\00\00\00\00\00\00@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?\00\00\00\00\00\00\00\00\00 \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?\00\00\00\00\00\00\00\00\00\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?\00\00\00\00\00\00\00\00\00\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?\00\00\00\00\00\00\00\00\00\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?\00\00\00\00\00\00\00\00\00\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?\00\00\00\00\00\00\00\00\00\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?\00\00\00\00\00\00\00\00\00\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?\00\00\00\00\00\00\00\00\00\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?\00\00\00\00\00\00\00\00\00\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?\00\00\00\00\00\00\00\00\00pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?\00\00\00\00\00\00\00\00\00PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?\00\00\00\00\00\00\00\00\00\009\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?\00\00\00\00\00\00\00\00\00\00\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?\00\00\00\00\00\00\00\00\00\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?\00\00\00\00\00\00\00\00\00\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?\00\00\00\00\00\00\00\00\00\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?\00\00\00\00\00\00\00\00\00\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?\00\00\00\00\00\00\00\00\00\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?\00\00\00\00\00\00\00\00\00\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?\00\00\00\00\00\00\00\00\00\00\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?\00\00\00\00\00\00\00\00\00\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?\00\00\00\00\00\00\00\00\00XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?\00\00\00\00\00\00\00\00\00`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?\00\00\00\00\00\00\00\00\00\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?\00\00\00\00\00\00\00\00\00\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?\00\00\00\00\00\00\00\00\00hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?\00\00\00\00\00\00\00\00\00\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?\00\00\00\00\00\00\00\00\00\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?\00\00\00\00\00\00\00\00\00`\d3\e1\f1\14\d3?\b8\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\0dG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") - (data (i32.const 6928) "\10\00\00\00\01\00\00\00\05\00\00\00\10\00\00\00\10\13\00\00\10\13\00\00\00\08\00\00\00\01\00\00") - (data (i32.const 6960) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\000\00") - (data (i32.const 6992) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N\00") - (data (i32.const 7024) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 7072) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 7104) "\b8\02\00\00\01\00\00\00\00\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8)\93i\1b\04\bd\00\00\00\00\00\00\f6?\00\00\00\00\00\00\00\00\00`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?\00\00\00\00\00\00\00\00\00\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?\00\00\00\00\00\00\00\00\00HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?\00\00\00\00\00\00\00\00\00\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?\00\00\00\00\00\00\00\00\00 \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?\00\00\00\00\00\00\00\00\00x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?\00\00\00\00\00\00\00\00\00\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?\00\00\00\00\00\00\00\00\00\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?\00\00\00\00\00\00\00\00\00H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?\00\00\00\00\00\00\00\00\00\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?\00\00\00\00\00\00\00\00\00@^m\18\b9\cf\bf\87<\99\ab*W\0d=\00\00\00\00\00`\f4?\00\00\00\00\00\00\00\00\00`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?\00\00\00\00\00\00\00\00\00\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?\00\00\00\00\00\00\00\00\00\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?\00\00\00\00\00\00\00\00\00\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?\00\00\00\00\00\00\00\00\00\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?\00\00\00\00\00\00\00\00\00P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?\00\00\00\00\00\00\00\00\00\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?\00\00\00\00\00\00\00\00\00\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?\00\00\00\00\00\00\00\00\00\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?\00\00\00\00\00\00\00\00\00\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?\00\00\00\00\00\00\00\00\00`F\d1;\97\b1?\9b\9e\0dV]2%\bd\00\00\00\00\00\a0\ed?\00\00\00\00\00\00\00\00\00\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?\00\00\00\00\00\00\00\00\00\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?\00\00\00\00\00\00\00\00\00\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?\00\00\00\00\00\00\00\00\00@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?\00\00\00\00\00\00\00\00\00`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?\00\00\00\00\00\00\00\00\00@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?\00\00\00\00\00\00\00\00\00 \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?\00\00\00\00\00\00\00\00\00\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?\00\00\00\00\00\00\00\00\00\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?\00\00\00\00\00\00\00\00\00\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?\00\00\00\00\00\00\00\00\00\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?\00\00\00\00\00\00\00\00\00\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?\00\00\00\00\00\00\00\00\00\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?\00\00\00\00\00\00\00\00\00\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?\00\00\00\00\00\00\00\00\00\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?\00\00\00\00\00\00\00\00\00pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?\00\00\00\00\00\00\00\00\00PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?\00\00\00\00\00\00\00\00\00\009\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?\00\00\00\00\00\00\00\00\00\00\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?\00\00\00\00\00\00\00\00\00\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?\00\00\00\00\00\00\00\00\00\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?\00\00\00\00\00\00\00\00\00\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?\00\00\00\00\00\00\00\00\00\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?\00\00\00\00\00\00\00\00\00\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?\00\00\00\00\00\00\00\00\00\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?\00\00\00\00\00\00\00\00\00\00\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?\00\00\00\00\00\00\00\00\00\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?\00\00\00\00\00\00\00\00\00XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?\00\00\00\00\00\00\00\00\00`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?\00\00\00\00\00\00\00\00\00\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?\00\00\00\00\00\00\00\00\00\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?\00\00\00\00\00\00\00\00\00hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?\00\00\00\00\00\00\00\00\00\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?\00\00\00\00\00\00\00\00\00\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?\00\00\00\00\00\00\00\00\00`\d3\e1\f1\14\d3?\b8\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\0dG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") + (data (i32.const 6864) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\000\00") + (data (i32.const 6896) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N\00") + (data (i32.const 6928) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") + (data (i32.const 6976) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") + (data (i32.const 7008) "\b8\02\00\00\01\00\00\00\05\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8#__unchecked_get (; 15 ;) (param $0 i32) (param $1 i32) (result i64) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load - ) - (func $~lib/array/Array#__unchecked_get (; 16 ;) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s - ) - (func $~lib/util/number/genDigits (; 17 ;) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (func $~lib/util/number/genDigits (; 15 ;) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) (local $8 i64) (local $9 i64) @@ -1676,17 +1634,16 @@ (local $16 i32) (local $17 i32) (local $18 i32) - (local $19 i32) + (local $19 i64) (local $20 i64) (local $21 i64) (local $22 i64) (local $23 i64) - (local $24 i64) + (local $24 i32) (local $25 i32) (local $26 i32) (local $27 i32) - (local $28 i32) - (local $29 i64) + (local $28 i64) i32.const 0 local.get $4 i32.sub @@ -1721,15 +1678,12 @@ local.set $14 local.get $6 local.set $15 - i32.const 8160 - i32.load offset=4 - local.set $16 loop $while-continue|0 local.get $14 i32.const 0 i32.gt_s - local.set $17 - local.get $17 + local.set $16 + local.get $16 if block $break|1 block $case10|1 @@ -1744,44 +1698,44 @@ block $case1|1 block $case0|1 local.get $14 - local.set $19 - local.get $19 + local.set $18 + local.get $18 i32.const 10 i32.eq br_if $case0|1 - local.get $19 + local.get $18 i32.const 9 i32.eq br_if $case1|1 - local.get $19 + local.get $18 i32.const 8 i32.eq br_if $case2|1 - local.get $19 + local.get $18 i32.const 7 i32.eq br_if $case3|1 - local.get $19 + local.get $18 i32.const 6 i32.eq br_if $case4|1 - local.get $19 + local.get $18 i32.const 5 i32.eq br_if $case5|1 - local.get $19 + local.get $18 i32.const 4 i32.eq br_if $case6|1 - local.get $19 + local.get $18 i32.const 3 i32.eq br_if $case7|1 - local.get $19 + local.get $18 i32.const 2 i32.eq br_if $case8|1 - local.get $19 + local.get $18 i32.const 1 i32.eq br_if $case9|1 @@ -1790,7 +1744,7 @@ local.get $12 i32.const 1000000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 1000000000 i32.rem_u @@ -1800,7 +1754,7 @@ local.get $12 i32.const 100000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 100000000 i32.rem_u @@ -1810,7 +1764,7 @@ local.get $12 i32.const 10000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 10000000 i32.rem_u @@ -1820,7 +1774,7 @@ local.get $12 i32.const 1000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 1000000 i32.rem_u @@ -1830,7 +1784,7 @@ local.get $12 i32.const 100000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 100000 i32.rem_u @@ -1840,7 +1794,7 @@ local.get $12 i32.const 10000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 10000 i32.rem_u @@ -1850,7 +1804,7 @@ local.get $12 i32.const 1000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 1000 i32.rem_u @@ -1860,7 +1814,7 @@ local.get $12 i32.const 100 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 100 i32.rem_u @@ -1870,7 +1824,7 @@ local.get $12 i32.const 10 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 10 i32.rem_u @@ -1878,31 +1832,31 @@ br $break|1 end local.get $12 - local.set $18 + local.set $17 i32.const 0 local.set $12 br $break|1 end i32.const 0 - local.set $18 + local.set $17 br $break|1 end - local.get $18 + local.get $17 local.get $15 i32.or if local.get $0 local.get $15 - local.tee $19 + local.tee $18 i32.const 1 i32.add local.set $15 - local.get $19 + local.get $18 i32.const 1 i32.shl i32.add i32.const 48 - local.get $18 + local.get $17 i32.const 65535 i32.and i32.add @@ -1919,8 +1873,8 @@ i64.shl local.get $13 i64.add - local.set $20 - local.get $20 + local.set $19 + local.get $19 local.get $5 i64.le_u if @@ -1929,14 +1883,14 @@ i32.add global.set $~lib/util/number/_K local.get $0 - local.set $25 + local.set $24 local.get $15 - local.set $19 + local.set $18 local.get $5 - local.set $24 - local.get $20 local.set $23 - local.get $16 + local.get $19 + local.set $22 + i32.const 7936 local.get $14 i32.const 2 i32.shl @@ -1945,71 +1899,71 @@ local.get $7 i64.extend_i32_s i64.shl - local.set $22 - local.get $10 local.set $21 - local.get $25 - local.get $19 + local.get $10 + local.set $20 + local.get $24 + local.get $18 i32.const 1 i32.sub i32.const 1 i32.shl i32.add - local.set $26 - local.get $26 + local.set $25 + local.get $25 i32.load16_u - local.set $27 + local.set $26 loop $while-continue|3 - local.get $23 - local.get $21 + local.get $22 + local.get $20 i64.lt_u if (result i32) - local.get $24 local.get $23 - i64.sub local.get $22 + i64.sub + local.get $21 i64.ge_u else i32.const 0 end if (result i32) - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.lt_u if (result i32) i32.const 1 else - local.get $21 - local.get $23 + local.get $20 + local.get $22 i64.sub - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.sub i64.gt_u end else i32.const 0 end - local.set $28 - local.get $28 + local.set $27 + local.get $27 if - local.get $27 + local.get $26 i32.const 1 i32.sub - local.set $27 - local.get $23 + local.set $26 local.get $22 + local.get $21 i64.add - local.set $23 + local.set $22 br $while-continue|3 end end + local.get $25 local.get $26 - local.get $27 i32.store16 local.get $15 return @@ -2019,8 +1973,8 @@ end loop $while-continue|4 i32.const 1 - local.set $17 - local.get $17 + local.set $16 + local.get $16 if local.get $13 i64.const 10 @@ -2034,8 +1988,8 @@ local.get $7 i64.extend_i32_s i64.shr_u - local.set $24 - local.get $24 + local.set $23 + local.get $23 local.get $15 i64.extend_i32_s i64.or @@ -2044,16 +1998,16 @@ if local.get $0 local.get $15 - local.tee $27 + local.tee $26 i32.const 1 i32.add local.set $15 - local.get $27 + local.get $26 i32.const 1 i32.shl i32.add i32.const 48 - local.get $24 + local.get $23 i32.wrap_i64 i32.const 65535 i32.and @@ -2077,7 +2031,7 @@ i32.add global.set $~lib/util/number/_K local.get $10 - local.get $16 + i32.const 7936 i32.const 0 local.get $14 i32.sub @@ -2088,79 +2042,79 @@ i64.mul local.set $10 local.get $0 - local.set $19 + local.set $18 local.get $15 - local.set $28 + local.set $27 local.get $5 - local.set $29 + local.set $28 local.get $13 - local.set $23 - local.get $8 local.set $22 - local.get $10 + local.get $8 local.set $21 - local.get $19 - local.get $28 + local.get $10 + local.set $20 + local.get $18 + local.get $27 i32.const 1 i32.sub i32.const 1 i32.shl i32.add - local.set $27 - local.get $27 - i32.load16_u local.set $26 + local.get $26 + i32.load16_u + local.set $25 loop $while-continue|6 - local.get $23 - local.get $21 + local.get $22 + local.get $20 i64.lt_u if (result i32) - local.get $29 - local.get $23 - i64.sub + local.get $28 local.get $22 + i64.sub + local.get $21 i64.ge_u else i32.const 0 end if (result i32) - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.lt_u if (result i32) i32.const 1 else - local.get $21 - local.get $23 + local.get $20 + local.get $22 i64.sub - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.sub i64.gt_u end else i32.const 0 end - local.set $25 - local.get $25 + local.set $24 + local.get $24 if - local.get $26 + local.get $25 i32.const 1 i32.sub - local.set $26 - local.get $23 + local.set $25 local.get $22 + local.get $21 i64.add - local.set $23 + local.set $22 br $while-continue|6 end end - local.get $27 local.get $26 + local.get $25 i32.store16 local.get $15 return @@ -2170,7 +2124,7 @@ end local.get $15 ) - (func $~lib/util/memory/memcpy (; 18 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/memory/memcpy (; 16 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3194,7 +3148,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 19 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 17 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3414,7 +3368,7 @@ end end ) - (func $~lib/util/number/prettify (; 20 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/prettify (; 18 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3731,7 +3685,7 @@ end unreachable ) - (func $~lib/util/number/dtoa_core (; 21 ;) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/number/dtoa_core (; 19 ;) (param $0 i32) (param $1 f64) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3896,13 +3850,19 @@ i32.shl i32.sub global.set $~lib/util/number/_K - i32.const 7840 + i32.const 7024 local.get $14 - call $~lib/array/Array#__unchecked_get + i32.const 3 + i32.shl + i32.add + i64.load global.set $~lib/util/number/_frc_pow - i32.const 8064 + i32.const 7744 local.get $14 - call $~lib/array/Array#__unchecked_get + i32.const 1 + i32.shl + i32.add + i32.load16_s global.set $~lib/util/number/_exp_pow local.get $9 i64.clz @@ -4153,7 +4113,7 @@ local.get $2 i32.add ) - (func $~lib/string/String#substring (; 22 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#substring (; 20 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4227,7 +4187,7 @@ local.get $10 i32.eqz if - i32.const 8192 + i32.const 8000 call $~lib/rt/stub/__retain return end @@ -4260,7 +4220,7 @@ local.get $11 call $~lib/rt/stub/__retain ) - (func $~lib/rt/stub/__free (; 23 ;) (param $0 i32) + (func $~lib/rt/stub/__free (; 21 ;) (param $0 i32) (local $1 i32) local.get $0 i32.const 0 @@ -4276,7 +4236,7 @@ i32.eqz if i32.const 0 - i32.const 8208 + i32.const 8016 i32.const 70 i32.const 2 call $~lib/builtins/abort @@ -4293,7 +4253,7 @@ i32.eqz if i32.const 0 - i32.const 8208 + i32.const 8016 i32.const 72 i32.const 13 call $~lib/builtins/abort @@ -4310,7 +4270,7 @@ global.set $~lib/rt/stub/offset end ) - (func $~lib/util/number/dtoa (; 24 ;) (param $0 f64) (result i32) + (func $~lib/util/number/dtoa (; 22 ;) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4318,7 +4278,7 @@ f64.const 0 f64.eq if - i32.const 6976 + i32.const 6880 return end local.get $0 @@ -4332,11 +4292,11 @@ local.get $0 f64.ne if - i32.const 7008 + i32.const 6912 return end - i32.const 7040 - i32.const 7088 + i32.const 6944 + i32.const 6992 local.get $0 f64.const 0 f64.lt @@ -4371,11 +4331,11 @@ call $~lib/rt/stub/__free local.get $3 ) - (func $~lib/number/F64#toString (; 25 ;) (param $0 f64) (param $1 i32) (result i32) + (func $~lib/number/F64#toString (; 23 ;) (param $0 f64) (param $1 i32) (result i32) local.get $0 call $~lib/util/number/dtoa ) - (func $resolve-binary/Foo#constructor (; 26 ;) (param $0 i32) (result i32) + (func $resolve-binary/Foo#constructor (; 24 ;) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -4387,88 +4347,88 @@ end local.get $0 ) - (func $resolve-binary/Foo#lt (; 27 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Foo#lt (; 25 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/stub/__retain local.set $1 - i32.const 8384 + i32.const 8192 local.set $2 local.get $1 call $~lib/rt/stub/__release local.get $2 ) - (func $~lib/string/String#toString (; 28 ;) (param $0 i32) (result i32) + (func $~lib/string/String#toString (; 26 ;) (param $0 i32) (result i32) local.get $0 call $~lib/rt/stub/__retain ) - (func $resolve-binary/Foo#gt (; 29 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Foo#gt (; 27 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/stub/__retain local.set $1 - i32.const 8416 + i32.const 8224 local.set $2 local.get $1 call $~lib/rt/stub/__release local.get $2 ) - (func $resolve-binary/Foo#le (; 30 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Foo#le (; 28 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/stub/__retain local.set $1 - i32.const 8448 + i32.const 8256 local.set $2 local.get $1 call $~lib/rt/stub/__release local.get $2 ) - (func $resolve-binary/Foo#ge (; 31 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Foo#ge (; 29 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/stub/__retain local.set $1 - i32.const 8480 + i32.const 8288 local.set $2 local.get $1 call $~lib/rt/stub/__release local.get $2 ) - (func $resolve-binary/Foo#eq (; 32 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Foo#eq (; 30 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/stub/__retain local.set $1 - i32.const 8512 + i32.const 8320 local.set $2 local.get $1 call $~lib/rt/stub/__release local.get $2 ) - (func $resolve-binary/Foo#ne (; 33 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Foo#ne (; 31 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/stub/__retain local.set $1 - i32.const 8544 + i32.const 8352 local.set $2 local.get $1 call $~lib/rt/stub/__release local.get $2 ) - (func $resolve-binary/Foo#add (; 34 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Foo#add (; 32 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/stub/__retain local.set $1 - i32.const 8576 + i32.const 8384 local.set $2 local.get $1 call $~lib/rt/stub/__release local.get $2 ) - (func $resolve-binary/Foo.sub (; 35 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Foo.sub (; 33 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/stub/__retain @@ -4476,7 +4436,7 @@ local.get $1 call $~lib/rt/stub/__retain local.set $1 - i32.const 8608 + i32.const 8416 local.set $2 local.get $0 call $~lib/rt/stub/__release @@ -4484,51 +4444,51 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $resolve-binary/Foo#mul (; 36 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Foo#mul (; 34 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/stub/__retain local.set $1 - i32.const 8640 + i32.const 8448 local.set $2 local.get $1 call $~lib/rt/stub/__release local.get $2 ) - (func $resolve-binary/Foo#div (; 37 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Foo#div (; 35 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/stub/__retain local.set $1 - i32.const 8672 + i32.const 8480 local.set $2 local.get $1 call $~lib/rt/stub/__release local.get $2 ) - (func $resolve-binary/Foo#rem (; 38 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Foo#rem (; 36 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/stub/__retain local.set $1 - i32.const 8704 + i32.const 8512 local.set $2 local.get $1 call $~lib/rt/stub/__release local.get $2 ) - (func $resolve-binary/Foo#pow (; 39 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Foo#pow (; 37 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/stub/__retain local.set $1 - i32.const 8736 + i32.const 8544 local.set $2 local.get $1 call $~lib/rt/stub/__release local.get $2 ) - (func $resolve-binary/Bar#constructor (; 40 ;) (param $0 i32) (result i32) + (func $resolve-binary/Bar#constructor (; 38 ;) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -4540,17 +4500,17 @@ end local.get $0 ) - (func $resolve-binary/Bar#add (; 41 ;) (param $0 i32) (param $1 i32) (result i32) + (func $resolve-binary/Bar#add (; 39 ;) (param $0 i32) (param $1 i32) (result i32) local.get $1 call $~lib/rt/stub/__retain local.set $1 local.get $1 ) - (func $resolve-binary/Bar#self (; 42 ;) (param $0 i32) (result i32) + (func $resolve-binary/Bar#self (; 40 ;) (param $0 i32) (result i32) local.get $0 call $~lib/rt/stub/__retain ) - (func $start:resolve-binary (; 43 ;) + (func $start:resolve-binary (; 41 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -4742,7 +4702,7 @@ global.get $resolve-binary/a call $~lib/number/I32#toString local.tee $8 - i32.const 672 + i32.const 640 call $~lib/string/String.__eq i32.eqz if @@ -4760,7 +4720,7 @@ global.get $resolve-binary/a call $~lib/number/I32#toString local.tee $9 - i32.const 704 + i32.const 672 call $~lib/string/String.__eq i32.eqz if @@ -4778,7 +4738,7 @@ global.get $resolve-binary/a call $~lib/number/I32#toString local.tee $10 - i32.const 672 + i32.const 640 call $~lib/string/String.__eq i32.eqz if @@ -4796,7 +4756,7 @@ global.get $resolve-binary/a call $~lib/number/I32#toString local.tee $11 - i32.const 704 + i32.const 672 call $~lib/string/String.__eq i32.eqz if @@ -4817,7 +4777,7 @@ i32.const 0 call $~lib/number/F64#toString local.tee $12 - i32.const 8256 + i32.const 8064 call $~lib/string/String.__eq i32.eqz if @@ -4837,7 +4797,7 @@ global.get $resolve-binary/a call $~lib/number/I32#toString local.tee $13 - i32.const 704 + i32.const 672 call $~lib/string/String.__eq i32.eqz if @@ -4855,7 +4815,7 @@ global.get $resolve-binary/a call $~lib/number/I32#toString local.tee $14 - i32.const 704 + i32.const 672 call $~lib/string/String.__eq i32.eqz if @@ -4873,7 +4833,7 @@ global.get $resolve-binary/a call $~lib/number/I32#toString local.tee $15 - i32.const 8288 + i32.const 8096 call $~lib/string/String.__eq i32.eqz if @@ -4891,7 +4851,7 @@ global.get $resolve-binary/a call $~lib/number/I32#toString local.tee $16 - i32.const 704 + i32.const 672 call $~lib/string/String.__eq i32.eqz if @@ -4909,7 +4869,7 @@ global.get $resolve-binary/a call $~lib/number/I32#toString local.tee $17 - i32.const 672 + i32.const 640 call $~lib/string/String.__eq i32.eqz if @@ -4927,7 +4887,7 @@ global.get $resolve-binary/a call $~lib/number/I32#toString local.tee $18 - i32.const 672 + i32.const 640 call $~lib/string/String.__eq i32.eqz if @@ -4945,7 +4905,7 @@ global.get $resolve-binary/a call $~lib/number/I32#toString local.tee $19 - i32.const 8320 + i32.const 8128 call $~lib/string/String.__eq i32.eqz if @@ -4963,7 +4923,7 @@ global.get $resolve-binary/a call $~lib/number/I32#toString local.tee $20 - i32.const 672 + i32.const 640 call $~lib/string/String.__eq i32.eqz if @@ -4977,7 +4937,7 @@ i32.const 3 call $~lib/number/I32#toString local.tee $21 - i32.const 8320 + i32.const 8128 call $~lib/string/String.__eq i32.eqz if @@ -4991,7 +4951,7 @@ i32.const -1 call $~lib/number/I32#toString local.tee $22 - i32.const 8352 + i32.const 8160 call $~lib/string/String.__eq i32.eqz if @@ -5005,7 +4965,7 @@ i32.const 2 call $~lib/number/I32#toString local.tee $23 - i32.const 704 + i32.const 672 call $~lib/string/String.__eq i32.eqz if @@ -5019,7 +4979,7 @@ i32.const 2 call $~lib/number/I32#toString local.tee $24 - i32.const 704 + i32.const 672 call $~lib/string/String.__eq i32.eqz if @@ -5033,7 +4993,7 @@ i32.const 1 call $~lib/number/I32#toString local.tee $25 - i32.const 672 + i32.const 640 call $~lib/string/String.__eq i32.eqz if @@ -5050,7 +5010,7 @@ i32.const 0 call $~lib/number/F64#toString local.tee $26 - i32.const 8256 + i32.const 8064 call $~lib/string/String.__eq i32.eqz if @@ -5064,7 +5024,7 @@ i32.const 4 call $~lib/number/I32#toString local.tee $27 - i32.const 8288 + i32.const 8096 call $~lib/string/String.__eq i32.eqz if @@ -5078,7 +5038,7 @@ i32.const 1 call $~lib/number/I32#toString local.tee $28 - i32.const 672 + i32.const 640 call $~lib/string/String.__eq i32.eqz if @@ -5092,7 +5052,7 @@ i32.const 3 call $~lib/number/I32#toString local.tee $29 - i32.const 8320 + i32.const 8128 call $~lib/string/String.__eq i32.eqz if @@ -5106,7 +5066,7 @@ i32.const 1 call $~lib/number/I32#toString local.tee $30 - i32.const 672 + i32.const 640 call $~lib/string/String.__eq i32.eqz if @@ -5120,7 +5080,7 @@ i32.const 3 call $~lib/number/I32#toString local.tee $31 - i32.const 8320 + i32.const 8128 call $~lib/string/String.__eq i32.eqz if @@ -5134,7 +5094,7 @@ i32.const 2 call $~lib/number/I32#toString local.tee $32 - i32.const 704 + i32.const 672 call $~lib/string/String.__eq i32.eqz if @@ -5148,7 +5108,7 @@ i32.const 2 call $~lib/number/I32#toString local.tee $33 - i32.const 704 + i32.const 672 call $~lib/string/String.__eq i32.eqz if @@ -5176,7 +5136,7 @@ i32.const 1 call $~lib/number/I32#toString local.tee $35 - i32.const 672 + i32.const 640 call $~lib/string/String.__eq i32.eqz if @@ -5190,7 +5150,7 @@ i32.const 2 call $~lib/number/I32#toString local.tee $36 - i32.const 704 + i32.const 672 call $~lib/string/String.__eq i32.eqz if @@ -5210,7 +5170,7 @@ local.tee $37 call $~lib/string/String#toString local.tee $38 - i32.const 8384 + i32.const 8192 call $~lib/string/String.__eq i32.eqz if @@ -5227,7 +5187,7 @@ local.tee $39 call $~lib/string/String#toString local.tee $40 - i32.const 8416 + i32.const 8224 call $~lib/string/String.__eq i32.eqz if @@ -5244,7 +5204,7 @@ local.tee $41 call $~lib/string/String#toString local.tee $42 - i32.const 8448 + i32.const 8256 call $~lib/string/String.__eq i32.eqz if @@ -5261,7 +5221,7 @@ local.tee $43 call $~lib/string/String#toString local.tee $44 - i32.const 8480 + i32.const 8288 call $~lib/string/String.__eq i32.eqz if @@ -5278,7 +5238,7 @@ local.tee $45 call $~lib/string/String#toString local.tee $46 - i32.const 8512 + i32.const 8320 call $~lib/string/String.__eq i32.eqz if @@ -5295,7 +5255,7 @@ local.tee $47 call $~lib/string/String#toString local.tee $48 - i32.const 8544 + i32.const 8352 call $~lib/string/String.__eq i32.eqz if @@ -5312,7 +5272,7 @@ local.tee $49 call $~lib/string/String#toString local.tee $50 - i32.const 8576 + i32.const 8384 call $~lib/string/String.__eq i32.eqz if @@ -5329,7 +5289,7 @@ local.tee $51 call $~lib/string/String#toString local.tee $52 - i32.const 8608 + i32.const 8416 call $~lib/string/String.__eq i32.eqz if @@ -5346,7 +5306,7 @@ local.tee $53 call $~lib/string/String#toString local.tee $54 - i32.const 8640 + i32.const 8448 call $~lib/string/String.__eq i32.eqz if @@ -5363,7 +5323,7 @@ local.tee $55 call $~lib/string/String#toString local.tee $56 - i32.const 8672 + i32.const 8480 call $~lib/string/String.__eq i32.eqz if @@ -5380,7 +5340,7 @@ local.tee $57 call $~lib/string/String#toString local.tee $58 - i32.const 8704 + i32.const 8512 call $~lib/string/String.__eq i32.eqz if @@ -5397,7 +5357,7 @@ local.tee $59 call $~lib/string/String#toString local.tee $60 - i32.const 8736 + i32.const 8544 call $~lib/string/String.__eq i32.eqz if @@ -5584,7 +5544,7 @@ local.get $62 call $~lib/rt/stub/__release ) - (func $~start (; 44 ;) + (func $~start (; 42 ;) call $start:resolve-binary ) ) diff --git a/tests/compiler/resolve-elementaccess.optimized.wat b/tests/compiler/resolve-elementaccess.optimized.wat index cd48f2864a..317e1e7750 100644 --- a/tests/compiler/resolve-elementaccess.optimized.wat +++ b/tests/compiler/resolve-elementaccess.optimized.wat @@ -22,18 +22,15 @@ (data (i32.const 288) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N") (data (i32.const 320) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 368) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 400) "\b8\02\00\00\01\00\00\00\00\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8_none (func (param i32 i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $i32_=>_none (func (param i32))) (type $i32_=>_i32 (func (param i32) (result i32))) + (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) (type $none_=>_none (func)) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) @@ -12,7 +12,6 @@ (type $i32_f64_=>_i32 (func (param i32 f64) (result i32))) (type $f32_=>_i32 (func (param f32) (result i32))) (type $f64_=>_i32 (func (param f64) (result i32))) - (type $i32_i32_=>_i64 (func (param i32 i32) (result i64))) (type $i32_i32_=>_f32 (func (param i32 i32) (result f32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) @@ -24,20 +23,16 @@ (data (i32.const 288) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N\00") (data (i32.const 320) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") (data (i32.const 368) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 400) "\b8\02\00\00\01\00\00\00\00\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8#__unchecked_get (; 10 ;) (param $0 i32) (param $1 i32) (result i64) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load - ) - (func $~lib/array/Array#__unchecked_get (; 11 ;) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s - ) - (func $~lib/util/number/decimalCount32 (; 12 ;) (param $0 i32) (result i32) + (func $~lib/util/number/decimalCount32 (; 10 ;) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 100000 @@ -648,7 +625,7 @@ end unreachable ) - (func $~lib/util/number/genDigits (; 13 ;) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (func $~lib/util/number/genDigits (; 11 ;) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) (local $8 i64) (local $9 i64) @@ -661,17 +638,16 @@ (local $16 i32) (local $17 i32) (local $18 i32) - (local $19 i32) + (local $19 i64) (local $20 i64) (local $21 i64) (local $22 i64) (local $23 i64) - (local $24 i64) + (local $24 i32) (local $25 i32) (local $26 i32) (local $27 i32) - (local $28 i32) - (local $29 i64) + (local $28 i64) i32.const 0 local.get $4 i32.sub @@ -706,15 +682,12 @@ local.set $14 local.get $6 local.set $15 - i32.const 1456 - i32.load offset=4 - local.set $16 loop $while-continue|0 local.get $14 i32.const 0 i32.gt_s - local.set $17 - local.get $17 + local.set $16 + local.get $16 if block $break|1 block $case10|1 @@ -729,44 +702,44 @@ block $case1|1 block $case0|1 local.get $14 - local.set $19 - local.get $19 + local.set $18 + local.get $18 i32.const 10 i32.eq br_if $case0|1 - local.get $19 + local.get $18 i32.const 9 i32.eq br_if $case1|1 - local.get $19 + local.get $18 i32.const 8 i32.eq br_if $case2|1 - local.get $19 + local.get $18 i32.const 7 i32.eq br_if $case3|1 - local.get $19 + local.get $18 i32.const 6 i32.eq br_if $case4|1 - local.get $19 + local.get $18 i32.const 5 i32.eq br_if $case5|1 - local.get $19 + local.get $18 i32.const 4 i32.eq br_if $case6|1 - local.get $19 + local.get $18 i32.const 3 i32.eq br_if $case7|1 - local.get $19 + local.get $18 i32.const 2 i32.eq br_if $case8|1 - local.get $19 + local.get $18 i32.const 1 i32.eq br_if $case9|1 @@ -775,7 +748,7 @@ local.get $12 i32.const 1000000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 1000000000 i32.rem_u @@ -785,7 +758,7 @@ local.get $12 i32.const 100000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 100000000 i32.rem_u @@ -795,7 +768,7 @@ local.get $12 i32.const 10000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 10000000 i32.rem_u @@ -805,7 +778,7 @@ local.get $12 i32.const 1000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 1000000 i32.rem_u @@ -815,7 +788,7 @@ local.get $12 i32.const 100000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 100000 i32.rem_u @@ -825,7 +798,7 @@ local.get $12 i32.const 10000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 10000 i32.rem_u @@ -835,7 +808,7 @@ local.get $12 i32.const 1000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 1000 i32.rem_u @@ -845,7 +818,7 @@ local.get $12 i32.const 100 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 100 i32.rem_u @@ -855,7 +828,7 @@ local.get $12 i32.const 10 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 10 i32.rem_u @@ -863,31 +836,31 @@ br $break|1 end local.get $12 - local.set $18 + local.set $17 i32.const 0 local.set $12 br $break|1 end i32.const 0 - local.set $18 + local.set $17 br $break|1 end - local.get $18 + local.get $17 local.get $15 i32.or if local.get $0 local.get $15 - local.tee $19 + local.tee $18 i32.const 1 i32.add local.set $15 - local.get $19 + local.get $18 i32.const 1 i32.shl i32.add i32.const 48 - local.get $18 + local.get $17 i32.const 65535 i32.and i32.add @@ -904,8 +877,8 @@ i64.shl local.get $13 i64.add - local.set $20 - local.get $20 + local.set $19 + local.get $19 local.get $5 i64.le_u if @@ -914,14 +887,14 @@ i32.add global.set $~lib/util/number/_K local.get $0 - local.set $25 + local.set $24 local.get $15 - local.set $19 + local.set $18 local.get $5 - local.set $24 - local.get $20 local.set $23 - local.get $16 + local.get $19 + local.set $22 + i32.const 1328 local.get $14 i32.const 2 i32.shl @@ -930,71 +903,71 @@ local.get $7 i64.extend_i32_s i64.shl - local.set $22 - local.get $10 local.set $21 - local.get $25 - local.get $19 + local.get $10 + local.set $20 + local.get $24 + local.get $18 i32.const 1 i32.sub i32.const 1 i32.shl i32.add - local.set $26 - local.get $26 + local.set $25 + local.get $25 i32.load16_u - local.set $27 + local.set $26 loop $while-continue|3 - local.get $23 - local.get $21 + local.get $22 + local.get $20 i64.lt_u if (result i32) - local.get $24 local.get $23 - i64.sub local.get $22 + i64.sub + local.get $21 i64.ge_u else i32.const 0 end if (result i32) - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.lt_u if (result i32) i32.const 1 else - local.get $21 - local.get $23 + local.get $20 + local.get $22 i64.sub - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.sub i64.gt_u end else i32.const 0 end - local.set $28 - local.get $28 + local.set $27 + local.get $27 if - local.get $27 + local.get $26 i32.const 1 i32.sub - local.set $27 - local.get $23 + local.set $26 local.get $22 + local.get $21 i64.add - local.set $23 + local.set $22 br $while-continue|3 end end + local.get $25 local.get $26 - local.get $27 i32.store16 local.get $15 return @@ -1004,8 +977,8 @@ end loop $while-continue|4 i32.const 1 - local.set $17 - local.get $17 + local.set $16 + local.get $16 if local.get $13 i64.const 10 @@ -1019,8 +992,8 @@ local.get $7 i64.extend_i32_s i64.shr_u - local.set $24 - local.get $24 + local.set $23 + local.get $23 local.get $15 i64.extend_i32_s i64.or @@ -1029,16 +1002,16 @@ if local.get $0 local.get $15 - local.tee $27 + local.tee $26 i32.const 1 i32.add local.set $15 - local.get $27 + local.get $26 i32.const 1 i32.shl i32.add i32.const 48 - local.get $24 + local.get $23 i32.wrap_i64 i32.const 65535 i32.and @@ -1062,7 +1035,7 @@ i32.add global.set $~lib/util/number/_K local.get $10 - local.get $16 + i32.const 1328 i32.const 0 local.get $14 i32.sub @@ -1073,79 +1046,79 @@ i64.mul local.set $10 local.get $0 - local.set $19 + local.set $18 local.get $15 - local.set $28 + local.set $27 local.get $5 - local.set $29 + local.set $28 local.get $13 - local.set $23 - local.get $8 local.set $22 - local.get $10 + local.get $8 local.set $21 - local.get $19 - local.get $28 + local.get $10 + local.set $20 + local.get $18 + local.get $27 i32.const 1 i32.sub i32.const 1 i32.shl i32.add - local.set $27 - local.get $27 - i32.load16_u local.set $26 + local.get $26 + i32.load16_u + local.set $25 loop $while-continue|6 - local.get $23 - local.get $21 + local.get $22 + local.get $20 i64.lt_u if (result i32) - local.get $29 - local.get $23 - i64.sub + local.get $28 local.get $22 + i64.sub + local.get $21 i64.ge_u else i32.const 0 end if (result i32) - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.lt_u if (result i32) i32.const 1 else - local.get $21 - local.get $23 + local.get $20 + local.get $22 i64.sub - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.sub i64.gt_u end else i32.const 0 end - local.set $25 - local.get $25 + local.set $24 + local.get $24 if - local.get $26 + local.get $25 i32.const 1 i32.sub - local.set $26 - local.get $23 + local.set $25 local.get $22 + local.get $21 i64.add - local.set $23 + local.set $22 br $while-continue|6 end end - local.get $27 local.get $26 + local.get $25 i32.store16 local.get $15 return @@ -1155,7 +1128,7 @@ end local.get $15 ) - (func $~lib/util/memory/memcpy (; 14 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/memory/memcpy (; 12 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2179,7 +2152,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 15 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 13 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2399,59 +2372,55 @@ end end ) - (func $~lib/util/number/utoa32_lut (; 16 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/number/utoa32_lut (; 14 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) + (local $8 i64) (local $9 i64) - (local $10 i64) + (local $10 i32) (local $11 i32) - (local $12 i32) - i32.const 1904 - i32.load offset=4 - local.set $3 loop $while-continue|0 local.get $1 i32.const 10000 i32.ge_u - local.set $4 - local.get $4 + local.set $3 + local.get $3 if local.get $1 i32.const 10000 i32.div_u - local.set $5 + local.set $4 local.get $1 i32.const 10000 i32.rem_u - local.set $6 - local.get $5 + local.set $5 + local.get $4 local.set $1 - local.get $6 + local.get $5 i32.const 100 i32.div_u - local.set $7 - local.get $6 + local.set $6 + local.get $5 i32.const 100 i32.rem_u - local.set $8 - local.get $3 - local.get $7 + local.set $7 + i32.const 1392 + local.get $6 i32.const 2 i32.shl i32.add i64.load32_u - local.set $9 - local.get $3 - local.get $8 + local.set $8 + i32.const 1392 + local.get $7 i32.const 2 i32.shl i32.add i64.load32_u - local.set $10 + local.set $9 local.get $2 i32.const 4 i32.sub @@ -2461,8 +2430,8 @@ i32.const 1 i32.shl i32.add + local.get $8 local.get $9 - local.get $10 i64.const 32 i64.shl i64.or @@ -2477,30 +2446,30 @@ local.get $1 i32.const 100 i32.div_u - local.set $4 + local.set $3 local.get $1 i32.const 100 i32.rem_u - local.set $11 - local.get $4 + local.set $10 + local.get $3 local.set $1 local.get $2 i32.const 2 i32.sub local.set $2 - local.get $3 - local.get $11 + i32.const 1392 + local.get $10 i32.const 2 i32.shl i32.add i32.load - local.set $12 + local.set $11 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store end local.get $1 @@ -2511,19 +2480,19 @@ i32.const 2 i32.sub local.set $2 - local.get $3 + i32.const 1392 local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $12 + local.set $11 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store else local.get $2 @@ -2533,17 +2502,17 @@ i32.const 48 local.get $1 i32.add - local.set $12 + local.set $11 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store16 end ) - (func $~lib/util/number/prettify (; 17 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/prettify (; 15 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2860,7 +2829,7 @@ end unreachable ) - (func $~lib/util/number/dtoa_core (; 18 ;) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/number/dtoa_core (; 16 ;) (param $0 i32) (param $1 f64) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3025,13 +2994,19 @@ i32.shl i32.sub global.set $~lib/util/number/_K - i32.const 1136 + i32.const 416 local.get $14 - call $~lib/array/Array#__unchecked_get + i32.const 3 + i32.shl + i32.add + i64.load global.set $~lib/util/number/_frc_pow - i32.const 1360 + i32.const 1136 local.get $14 - call $~lib/array/Array#__unchecked_get + i32.const 1 + i32.shl + i32.add + i32.load16_s global.set $~lib/util/number/_exp_pow local.get $9 i64.clz @@ -3282,7 +3257,7 @@ local.get $2 i32.add ) - (func $~lib/string/String#get:length (; 19 ;) (param $0 i32) (result i32) + (func $~lib/string/String#get:length (; 17 ;) (param $0 i32) (result i32) local.get $0 i32.const 16 i32.sub @@ -3290,7 +3265,7 @@ i32.const 1 i32.shr_u ) - (func $~lib/string/String#substring (; 20 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#substring (; 18 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3364,7 +3339,7 @@ local.get $10 i32.eqz if - i32.const 1936 + i32.const 1808 call $~lib/rt/stub/__retain return end @@ -3397,7 +3372,7 @@ local.get $11 call $~lib/rt/stub/__retain ) - (func $~lib/rt/stub/__free (; 21 ;) (param $0 i32) + (func $~lib/rt/stub/__free (; 19 ;) (param $0 i32) (local $1 i32) local.get $0 i32.const 0 @@ -3413,7 +3388,7 @@ i32.eqz if i32.const 0 - i32.const 1952 + i32.const 1824 i32.const 70 i32.const 2 call $~lib/builtins/abort @@ -3430,7 +3405,7 @@ i32.eqz if i32.const 0 - i32.const 1952 + i32.const 1824 i32.const 72 i32.const 13 call $~lib/builtins/abort @@ -3447,7 +3422,7 @@ global.set $~lib/rt/stub/offset end ) - (func $~lib/util/number/dtoa (; 22 ;) (param $0 f64) (result i32) + (func $~lib/util/number/dtoa (; 20 ;) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -3508,12 +3483,12 @@ call $~lib/rt/stub/__free local.get $3 ) - (func $~lib/number/F32#toString (; 23 ;) (param $0 f32) (result i32) + (func $~lib/number/F32#toString (; 21 ;) (param $0 f32) (result i32) local.get $0 f64.promote_f32 call $~lib/util/number/dtoa ) - (func $~lib/util/string/compareImpl (; 24 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (func $~lib/util/string/compareImpl (; 22 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -3635,7 +3610,7 @@ call $~lib/rt/stub/__release local.get $7 ) - (func $~lib/string/String.__eq (; 25 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 23 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -3708,7 +3683,7 @@ call $~lib/rt/stub/__release local.get $2 ) - (func $start:resolve-elementaccess (; 26 ;) + (func $start:resolve-elementaccess (; 24 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -3740,12 +3715,12 @@ call $~lib/typedarray/Float32Array#__get call $~lib/number/F32#toString local.tee $0 - i32.const 2000 + i32.const 1872 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 2032 + i32.const 1904 i32.const 4 i32.const 0 call $~lib/builtins/abort @@ -3756,12 +3731,12 @@ call $~lib/typedarray/Float32Array#__get call $~lib/number/F32#toString local.tee $1 - i32.const 2096 + i32.const 1968 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 2032 + i32.const 1904 i32.const 9 i32.const 0 call $~lib/builtins/abort @@ -3782,12 +3757,12 @@ call $~lib/typedarray/Float32Array#__get call $~lib/number/F32#toString local.tee $2 - i32.const 2128 + i32.const 2000 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 2032 + i32.const 1904 i32.const 14 i32.const 0 call $~lib/builtins/abort @@ -3809,7 +3784,7 @@ i32.eqz if i32.const 0 - i32.const 2032 + i32.const 1904 i32.const 20 i32.const 0 call $~lib/builtins/abort @@ -3822,7 +3797,7 @@ local.get $2 call $~lib/rt/stub/__release ) - (func $~start (; 27 ;) + (func $~start (; 25 ;) call $start:resolve-elementaccess ) ) diff --git a/tests/compiler/resolve-function-expression.untouched.wat b/tests/compiler/resolve-function-expression.untouched.wat index 4474c4bead..56cfb458d6 100644 --- a/tests/compiler/resolve-function-expression.untouched.wat +++ b/tests/compiler/resolve-function-expression.untouched.wat @@ -10,16 +10,15 @@ (memory $0 1) (data (i32.const 16) "<\00\00\00\01\00\00\00\01\00\00\00<\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00f\00u\00n\00c\00t\00i\00o\00n\00-\00e\00x\00p\00r\00e\00s\00s\00i\00o\00n\00.\00t\00s\00") (data (i32.const 96) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\000\00") - (data (i32.const 128) "\90\01\00\00\01\00\00\00\00\00\00\00\90\01\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 544) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00\90\00\00\00\90\00\00\00\90\01\00\00d\00\00\00") - (data (i32.const 576) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\004\002\00") + (data (i32.const 128) "\90\01\00\00\01\00\00\00\03\00\00\00\90\01\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") + (data (i32.const 544) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\004\002\00") (table $0 4 funcref) (elem (i32.const 1) $start:resolve-function-expression~anonymous|0 $start:resolve-function-expression~anonymous|1 $start:resolve-function-expression~anonymous|2) (global $~argumentsLength (mut i32) (i32.const 0)) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) - (global $~lib/heap/__heap_base i32 (i32.const 596)) + (global $~lib/heap/__heap_base i32 (i32.const 564)) (export "__setArgumentsLength" (func $~setArgumentsLength)) (export "memory" (memory $0)) (start $~start) @@ -221,53 +220,49 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) + (local $8 i64) (local $9 i64) - (local $10 i64) + (local $10 i32) (local $11 i32) - (local $12 i32) - i32.const 560 - i32.load offset=4 - local.set $3 loop $while-continue|0 local.get $1 i32.const 10000 i32.ge_u - local.set $4 - local.get $4 + local.set $3 + local.get $3 if local.get $1 i32.const 10000 i32.div_u - local.set $5 + local.set $4 local.get $1 i32.const 10000 i32.rem_u - local.set $6 - local.get $5 + local.set $5 + local.get $4 local.set $1 - local.get $6 + local.get $5 i32.const 100 i32.div_u - local.set $7 - local.get $6 + local.set $6 + local.get $5 i32.const 100 i32.rem_u - local.set $8 - local.get $3 - local.get $7 + local.set $7 + i32.const 144 + local.get $6 i32.const 2 i32.shl i32.add i64.load32_u - local.set $9 - local.get $3 - local.get $8 + local.set $8 + i32.const 144 + local.get $7 i32.const 2 i32.shl i32.add i64.load32_u - local.set $10 + local.set $9 local.get $2 i32.const 4 i32.sub @@ -277,8 +272,8 @@ i32.const 1 i32.shl i32.add + local.get $8 local.get $9 - local.get $10 i64.const 32 i64.shl i64.or @@ -293,30 +288,30 @@ local.get $1 i32.const 100 i32.div_u - local.set $4 + local.set $3 local.get $1 i32.const 100 i32.rem_u - local.set $11 - local.get $4 + local.set $10 + local.get $3 local.set $1 local.get $2 i32.const 2 i32.sub local.set $2 - local.get $3 - local.get $11 + i32.const 144 + local.get $10 i32.const 2 i32.shl i32.add i32.load - local.set $12 + local.set $11 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store end local.get $1 @@ -327,19 +322,19 @@ i32.const 2 i32.sub local.set $2 - local.get $3 + i32.const 144 local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $12 + local.set $11 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store else local.get $2 @@ -349,13 +344,13 @@ i32.const 48 local.get $1 i32.add - local.set $12 + local.set $11 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store16 end ) @@ -682,7 +677,7 @@ call_indirect (type $i32_=>_i32) call $~lib/number/I32#toString local.tee $0 - i32.const 592 + i32.const 560 call $~lib/string/String.__eq i32.eqz if diff --git a/tests/compiler/resolve-propertyaccess.untouched.wat b/tests/compiler/resolve-propertyaccess.untouched.wat index 3df95e0a47..11fa18080d 100644 --- a/tests/compiler/resolve-propertyaccess.untouched.wat +++ b/tests/compiler/resolve-propertyaccess.untouched.wat @@ -9,19 +9,18 @@ (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 16) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\000\00") - (data (i32.const 48) "\90\01\00\00\01\00\00\00\00\00\00\00\90\01\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 464) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00@\00\00\00@\00\00\00\90\01\00\00d\00\00\00") - (data (i32.const 496) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\001\00") - (data (i32.const 528) "2\00\00\00\01\00\00\00\01\00\00\002\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00p\00r\00o\00p\00e\00r\00t\00y\00a\00c\00c\00e\00s\00s\00.\00t\00s\00") - (data (i32.const 608) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\001\001\00") - (data (i32.const 640) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\002\00") - (data (i32.const 672) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\002\002\00") - (data (i32.const 704) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\003\00") - (data (i32.const 736) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\003\003\00") - (data (i32.const 768) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\004\00") - (data (i32.const 800) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\005\00") - (data (i32.const 832) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\005\005\00") - (data (i32.const 864) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\006\00") + (data (i32.const 48) "\90\01\00\00\01\00\00\00\03\00\00\00\90\01\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") + (data (i32.const 464) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\001\00") + (data (i32.const 496) "2\00\00\00\01\00\00\00\01\00\00\002\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00p\00r\00o\00p\00e\00r\00t\00y\00a\00c\00c\00e\00s\00s\00.\00t\00s\00") + (data (i32.const 576) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\001\001\00") + (data (i32.const 608) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\002\00") + (data (i32.const 640) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\002\002\00") + (data (i32.const 672) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\003\00") + (data (i32.const 704) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\003\003\00") + (data (i32.const 736) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\004\00") + (data (i32.const 768) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\005\00") + (data (i32.const 800) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\005\005\00") + (data (i32.const 832) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\006\00") (table $0 1 funcref) (global $resolve-propertyaccess/Namespace.member i32 (i32.const 1)) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) @@ -35,7 +34,7 @@ (global $resolve-propertyaccess/Enum.VALUE i32 (i32.const 4)) (global $resolve-propertyaccess/Class.staticField (mut i32) (i32.const 5)) (global $resolve-propertyaccess/Class.lazyStaticField (mut i32) (i32.const 55)) - (global $~lib/heap/__heap_base i32 (i32.const 884)) + (global $~lib/heap/__heap_base i32 (i32.const 852)) (export "memory" (memory $0)) (start $~start) (func $~lib/util/number/decimalCount32 (; 1 ;) (param $0 i32) (result i32) @@ -217,53 +216,49 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) + (local $8 i64) (local $9 i64) - (local $10 i64) + (local $10 i32) (local $11 i32) - (local $12 i32) - i32.const 480 - i32.load offset=4 - local.set $3 loop $while-continue|0 local.get $1 i32.const 10000 i32.ge_u - local.set $4 - local.get $4 + local.set $3 + local.get $3 if local.get $1 i32.const 10000 i32.div_u - local.set $5 + local.set $4 local.get $1 i32.const 10000 i32.rem_u - local.set $6 - local.get $5 + local.set $5 + local.get $4 local.set $1 - local.get $6 + local.get $5 i32.const 100 i32.div_u - local.set $7 - local.get $6 + local.set $6 + local.get $5 i32.const 100 i32.rem_u - local.set $8 - local.get $3 - local.get $7 + local.set $7 + i32.const 64 + local.get $6 i32.const 2 i32.shl i32.add i64.load32_u - local.set $9 - local.get $3 - local.get $8 + local.set $8 + i32.const 64 + local.get $7 i32.const 2 i32.shl i32.add i64.load32_u - local.set $10 + local.set $9 local.get $2 i32.const 4 i32.sub @@ -273,8 +268,8 @@ i32.const 1 i32.shl i32.add + local.get $8 local.get $9 - local.get $10 i64.const 32 i64.shl i64.or @@ -289,30 +284,30 @@ local.get $1 i32.const 100 i32.div_u - local.set $4 + local.set $3 local.get $1 i32.const 100 i32.rem_u - local.set $11 - local.get $4 + local.set $10 + local.get $3 local.set $1 local.get $2 i32.const 2 i32.sub local.set $2 - local.get $3 - local.get $11 + i32.const 64 + local.get $10 i32.const 2 i32.shl i32.add i32.load - local.set $12 + local.set $11 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store end local.get $1 @@ -323,19 +318,19 @@ i32.const 2 i32.sub local.set $2 - local.get $3 + i32.const 64 local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $12 + local.set $11 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store else local.get $2 @@ -345,13 +340,13 @@ i32.const 48 local.get $1 i32.add - local.set $12 + local.set $11 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store16 end ) @@ -667,12 +662,12 @@ i32.const 1 call $~lib/number/I32#toString local.tee $0 - i32.const 512 + i32.const 480 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 6 i32.const 0 call $~lib/builtins/abort @@ -681,12 +676,12 @@ i32.const 11 call $~lib/number/I32#toString local.tee $1 - i32.const 624 + i32.const 592 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 12 i32.const 0 call $~lib/builtins/abort @@ -695,12 +690,12 @@ i32.const 2 call $~lib/number/I32#toString local.tee $2 - i32.const 656 + i32.const 624 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 24 i32.const 0 call $~lib/builtins/abort @@ -709,12 +704,12 @@ i32.const 22 call $~lib/number/I32#toString local.tee $3 - i32.const 688 + i32.const 656 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 30 i32.const 0 call $~lib/builtins/abort @@ -723,12 +718,12 @@ i32.const 3 call $~lib/number/I32#toString local.tee $4 - i32.const 720 + i32.const 688 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 42 i32.const 0 call $~lib/builtins/abort @@ -737,12 +732,12 @@ i32.const 33 call $~lib/number/I32#toString local.tee $5 - i32.const 752 + i32.const 720 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 48 i32.const 0 call $~lib/builtins/abort @@ -751,12 +746,12 @@ i32.const 4 call $~lib/number/I32#toString local.tee $6 - i32.const 784 + i32.const 752 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 58 i32.const 0 call $~lib/builtins/abort @@ -765,12 +760,12 @@ global.get $resolve-propertyaccess/Class.staticField call $~lib/number/I32#toString local.tee $7 - i32.const 816 + i32.const 784 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 70 i32.const 0 call $~lib/builtins/abort @@ -779,12 +774,12 @@ global.get $resolve-propertyaccess/Class.lazyStaticField call $~lib/number/I32#toString local.tee $8 - i32.const 848 + i32.const 816 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 76 i32.const 0 call $~lib/builtins/abort @@ -797,12 +792,12 @@ i32.load call $~lib/number/I32#toString local.tee $10 - i32.const 880 + i32.const 848 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 84 i32.const 2 call $~lib/builtins/abort diff --git a/tests/compiler/resolve-ternary.optimized.wat b/tests/compiler/resolve-ternary.optimized.wat index a81d570c72..01a60f49c3 100644 --- a/tests/compiler/resolve-ternary.optimized.wat +++ b/tests/compiler/resolve-ternary.optimized.wat @@ -21,15 +21,12 @@ (data (i32.const 336) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N") (data (i32.const 368) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 416) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 448) "\b8\02\00\00\01\00\00\00\00\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8_none (func (param i32 i32))) (type $i32_=>_none (func (param i32))) (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) (type $none_=>_none (func)) + (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) (type $none_=>_i32 (func (result i32))) (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) @@ -13,30 +13,25 @@ (type $i32_f64_=>_i32 (func (param i32 f64) (result i32))) (type $f64_=>_i32 (func (param f64) (result i32))) (type $f64_i32_=>_i32 (func (param f64 i32) (result i32))) - (type $i32_i32_=>_i64 (func (param i32 i32) (result i64))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 16) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00") (data (i32.const 64) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00a\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00") (data (i32.const 128) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") (data (i32.const 176) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\000\00") - (data (i32.const 208) "\90\01\00\00\01\00\00\00\00\00\00\00\90\01\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 624) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00\e0\00\00\00\e0\00\00\00\90\01\00\00d\00\00\00") - (data (i32.const 656) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\001\00") - (data (i32.const 688) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00t\00e\00r\00n\00a\00r\00y\00.\00t\00s\00") - (data (i32.const 752) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\000\00") - (data (i32.const 784) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N\00") - (data (i32.const 816) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 864) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 896) "\b8\02\00\00\01\00\00\00\00\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8#__unchecked_get (; 22 ;) (param $0 i32) (param $1 i32) (result i64) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load - ) - (func $~lib/array/Array#__unchecked_get (; 23 ;) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s - ) - (func $~lib/util/number/genDigits (; 24 ;) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (func $~lib/util/number/genDigits (; 22 ;) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) (local $8 i64) (local $9 i64) @@ -2002,17 +1975,16 @@ (local $16 i32) (local $17 i32) (local $18 i32) - (local $19 i32) + (local $19 i64) (local $20 i64) (local $21 i64) (local $22 i64) (local $23 i64) - (local $24 i64) + (local $24 i32) (local $25 i32) (local $26 i32) (local $27 i32) - (local $28 i32) - (local $29 i64) + (local $28 i64) i32.const 0 local.get $4 i32.sub @@ -2047,15 +2019,12 @@ local.set $14 local.get $6 local.set $15 - i32.const 1952 - i32.load offset=4 - local.set $16 loop $while-continue|0 local.get $14 i32.const 0 i32.gt_s - local.set $17 - local.get $17 + local.set $16 + local.get $16 if block $break|1 block $case10|1 @@ -2070,44 +2039,44 @@ block $case1|1 block $case0|1 local.get $14 - local.set $19 - local.get $19 + local.set $18 + local.get $18 i32.const 10 i32.eq br_if $case0|1 - local.get $19 + local.get $18 i32.const 9 i32.eq br_if $case1|1 - local.get $19 + local.get $18 i32.const 8 i32.eq br_if $case2|1 - local.get $19 + local.get $18 i32.const 7 i32.eq br_if $case3|1 - local.get $19 + local.get $18 i32.const 6 i32.eq br_if $case4|1 - local.get $19 + local.get $18 i32.const 5 i32.eq br_if $case5|1 - local.get $19 + local.get $18 i32.const 4 i32.eq br_if $case6|1 - local.get $19 + local.get $18 i32.const 3 i32.eq br_if $case7|1 - local.get $19 + local.get $18 i32.const 2 i32.eq br_if $case8|1 - local.get $19 + local.get $18 i32.const 1 i32.eq br_if $case9|1 @@ -2116,7 +2085,7 @@ local.get $12 i32.const 1000000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 1000000000 i32.rem_u @@ -2126,7 +2095,7 @@ local.get $12 i32.const 100000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 100000000 i32.rem_u @@ -2136,7 +2105,7 @@ local.get $12 i32.const 10000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 10000000 i32.rem_u @@ -2146,7 +2115,7 @@ local.get $12 i32.const 1000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 1000000 i32.rem_u @@ -2156,7 +2125,7 @@ local.get $12 i32.const 100000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 100000 i32.rem_u @@ -2166,7 +2135,7 @@ local.get $12 i32.const 10000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 10000 i32.rem_u @@ -2176,7 +2145,7 @@ local.get $12 i32.const 1000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 1000 i32.rem_u @@ -2186,7 +2155,7 @@ local.get $12 i32.const 100 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 100 i32.rem_u @@ -2196,7 +2165,7 @@ local.get $12 i32.const 10 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 10 i32.rem_u @@ -2204,31 +2173,31 @@ br $break|1 end local.get $12 - local.set $18 + local.set $17 i32.const 0 local.set $12 br $break|1 end i32.const 0 - local.set $18 + local.set $17 br $break|1 end - local.get $18 + local.get $17 local.get $15 i32.or if local.get $0 local.get $15 - local.tee $19 + local.tee $18 i32.const 1 i32.add local.set $15 - local.get $19 + local.get $18 i32.const 1 i32.shl i32.add i32.const 48 - local.get $18 + local.get $17 i32.const 65535 i32.and i32.add @@ -2245,8 +2214,8 @@ i64.shl local.get $13 i64.add - local.set $20 - local.get $20 + local.set $19 + local.get $19 local.get $5 i64.le_u if @@ -2255,14 +2224,14 @@ i32.add global.set $~lib/util/number/_K local.get $0 - local.set $25 + local.set $24 local.get $15 - local.set $19 + local.set $18 local.get $5 - local.set $24 - local.get $20 local.set $23 - local.get $16 + local.get $19 + local.set $22 + i32.const 1792 local.get $14 i32.const 2 i32.shl @@ -2271,71 +2240,71 @@ local.get $7 i64.extend_i32_s i64.shl - local.set $22 - local.get $10 local.set $21 - local.get $25 - local.get $19 + local.get $10 + local.set $20 + local.get $24 + local.get $18 i32.const 1 i32.sub i32.const 1 i32.shl i32.add - local.set $26 - local.get $26 + local.set $25 + local.get $25 i32.load16_u - local.set $27 + local.set $26 loop $while-continue|3 - local.get $23 - local.get $21 + local.get $22 + local.get $20 i64.lt_u if (result i32) - local.get $24 local.get $23 - i64.sub local.get $22 + i64.sub + local.get $21 i64.ge_u else i32.const 0 end if (result i32) - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.lt_u if (result i32) i32.const 1 else - local.get $21 - local.get $23 + local.get $20 + local.get $22 i64.sub - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.sub i64.gt_u end else i32.const 0 end - local.set $28 - local.get $28 + local.set $27 + local.get $27 if - local.get $27 + local.get $26 i32.const 1 i32.sub - local.set $27 - local.get $23 + local.set $26 local.get $22 + local.get $21 i64.add - local.set $23 + local.set $22 br $while-continue|3 end end + local.get $25 local.get $26 - local.get $27 i32.store16 local.get $15 return @@ -2345,8 +2314,8 @@ end loop $while-continue|4 i32.const 1 - local.set $17 - local.get $17 + local.set $16 + local.get $16 if local.get $13 i64.const 10 @@ -2360,8 +2329,8 @@ local.get $7 i64.extend_i32_s i64.shr_u - local.set $24 - local.get $24 + local.set $23 + local.get $23 local.get $15 i64.extend_i32_s i64.or @@ -2370,16 +2339,16 @@ if local.get $0 local.get $15 - local.tee $27 + local.tee $26 i32.const 1 i32.add local.set $15 - local.get $27 + local.get $26 i32.const 1 i32.shl i32.add i32.const 48 - local.get $24 + local.get $23 i32.wrap_i64 i32.const 65535 i32.and @@ -2403,7 +2372,7 @@ i32.add global.set $~lib/util/number/_K local.get $10 - local.get $16 + i32.const 1792 i32.const 0 local.get $14 i32.sub @@ -2414,79 +2383,79 @@ i64.mul local.set $10 local.get $0 - local.set $19 + local.set $18 local.get $15 - local.set $28 + local.set $27 local.get $5 - local.set $29 + local.set $28 local.get $13 - local.set $23 - local.get $8 local.set $22 - local.get $10 + local.get $8 local.set $21 - local.get $19 - local.get $28 + local.get $10 + local.set $20 + local.get $18 + local.get $27 i32.const 1 i32.sub i32.const 1 i32.shl i32.add - local.set $27 - local.get $27 - i32.load16_u local.set $26 + local.get $26 + i32.load16_u + local.set $25 loop $while-continue|6 - local.get $23 - local.get $21 + local.get $22 + local.get $20 i64.lt_u if (result i32) - local.get $29 - local.get $23 - i64.sub + local.get $28 local.get $22 + i64.sub + local.get $21 i64.ge_u else i32.const 0 end if (result i32) - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.lt_u if (result i32) i32.const 1 else - local.get $21 - local.get $23 + local.get $20 + local.get $22 i64.sub - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.sub i64.gt_u end else i32.const 0 end - local.set $25 - local.get $25 + local.set $24 + local.get $24 if - local.get $26 + local.get $25 i32.const 1 i32.sub - local.set $26 - local.get $23 + local.set $25 local.get $22 + local.get $21 i64.add - local.set $23 + local.set $22 br $while-continue|6 end end - local.get $27 local.get $26 + local.get $25 i32.store16 local.get $15 return @@ -2496,7 +2465,7 @@ end local.get $15 ) - (func $~lib/util/memory/memcpy (; 25 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/memory/memcpy (; 23 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3520,7 +3489,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 26 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 24 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3740,7 +3709,7 @@ end end ) - (func $~lib/util/number/prettify (; 27 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/prettify (; 25 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4057,7 +4026,7 @@ end unreachable ) - (func $~lib/util/number/dtoa_core (; 28 ;) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/number/dtoa_core (; 26 ;) (param $0 i32) (param $1 f64) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4222,13 +4191,19 @@ i32.shl i32.sub global.set $~lib/util/number/_K - i32.const 1632 + i32.const 880 local.get $14 - call $~lib/array/Array#__unchecked_get + i32.const 3 + i32.shl + i32.add + i64.load global.set $~lib/util/number/_frc_pow - i32.const 1856 + i32.const 1600 local.get $14 - call $~lib/array/Array#__unchecked_get + i32.const 1 + i32.shl + i32.add + i32.load16_s global.set $~lib/util/number/_exp_pow local.get $9 i64.clz @@ -4479,7 +4454,7 @@ local.get $2 i32.add ) - (func $~lib/string/String#substring (; 29 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#substring (; 27 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4553,7 +4528,7 @@ local.get $10 i32.eqz if - i32.const 1984 + i32.const 1856 call $~lib/rt/pure/__retain return end @@ -4586,7 +4561,7 @@ local.get $11 call $~lib/rt/pure/__retain ) - (func $~lib/rt/tlsf/checkUsedBlock (; 30 ;) (param $0 i32) (result i32) + (func $~lib/rt/tlsf/checkUsedBlock (; 28 ;) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 16 @@ -4632,7 +4607,7 @@ end local.get $1 ) - (func $~lib/rt/tlsf/freeBlock (; 31 ;) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/freeBlock (; 29 ;) (param $0 i32) (param $1 i32) (local $2 i32) local.get $1 i32.load @@ -4646,13 +4621,13 @@ local.get $1 call $~lib/rt/tlsf/insertBlock ) - (func $~lib/rt/tlsf/__free (; 32 ;) (param $0 i32) + (func $~lib/rt/tlsf/__free (; 30 ;) (param $0 i32) call $~lib/rt/tlsf/maybeInitialize local.get $0 call $~lib/rt/tlsf/checkUsedBlock call $~lib/rt/tlsf/freeBlock ) - (func $~lib/util/number/dtoa (; 33 ;) (param $0 f64) (result i32) + (func $~lib/util/number/dtoa (; 31 ;) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4660,7 +4635,7 @@ f64.const 0 f64.eq if - i32.const 768 + i32.const 736 return end local.get $0 @@ -4674,11 +4649,11 @@ local.get $0 f64.ne if - i32.const 800 + i32.const 768 return end - i32.const 832 - i32.const 880 + i32.const 800 + i32.const 848 local.get $0 f64.const 0 f64.lt @@ -4713,35 +4688,35 @@ call $~lib/rt/tlsf/__free local.get $3 ) - (func $~lib/number/F64#toString (; 34 ;) (param $0 f64) (param $1 i32) (result i32) + (func $~lib/number/F64#toString (; 32 ;) (param $0 f64) (param $1 i32) (result i32) local.get $0 call $~lib/util/number/dtoa ) - (func $start:resolve-ternary~anonymous|0 (; 35 ;) (param $0 i32) (result i32) + (func $start:resolve-ternary~anonymous|0 (; 33 ;) (param $0 i32) (result i32) local.get $0 i32.const 1 i32.add ) - (func $start:resolve-ternary~anonymous|1 (; 36 ;) (param $0 i32) (result i32) + (func $start:resolve-ternary~anonymous|1 (; 34 ;) (param $0 i32) (result i32) local.get $0 i32.const 2 i32.add ) - (func $~setArgumentsLength (; 37 ;) (param $0 i32) + (func $~setArgumentsLength (; 35 ;) (param $0 i32) local.get $0 global.set $~argumentsLength ) - (func $resolve-ternary/g1 (; 38 ;) (param $0 i32) (result i32) + (func $resolve-ternary/g1 (; 36 ;) (param $0 i32) (result i32) local.get $0 i32.const 3 i32.add ) - (func $resolve-ternary/g2 (; 39 ;) (param $0 i32) (result i32) + (func $resolve-ternary/g2 (; 37 ;) (param $0 i32) (result i32) local.get $0 i32.const 4 i32.add ) - (func $start:resolve-ternary (; 40 ;) + (func $start:resolve-ternary (; 38 ;) (local $0 i32) (local $1 i32) global.get $resolve-ternary/b @@ -4752,12 +4727,12 @@ end call $~lib/number/I32#toString local.tee $0 - i32.const 672 + i32.const 640 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 704 + i32.const 672 i32.const 5 i32.const 0 call $~lib/builtins/abort @@ -4772,12 +4747,12 @@ i32.const 0 call $~lib/number/F64#toString local.tee $1 - i32.const 2000 + i32.const 1872 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 704 + i32.const 672 i32.const 13 i32.const 0 call $~lib/builtins/abort @@ -4798,7 +4773,7 @@ i32.eqz if i32.const 0 - i32.const 704 + i32.const 672 i32.const 24 i32.const 0 call $~lib/builtins/abort @@ -4819,7 +4794,7 @@ i32.eqz if i32.const 0 - i32.const 704 + i32.const 672 i32.const 35 i32.const 0 call $~lib/builtins/abort @@ -4840,7 +4815,7 @@ i32.eqz if i32.const 0 - i32.const 704 + i32.const 672 i32.const 43 i32.const 0 call $~lib/builtins/abort @@ -4851,13 +4826,13 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~start (; 41 ;) + (func $~start (; 39 ;) call $start:resolve-ternary ) - (func $~lib/rt/pure/__collect (; 42 ;) + (func $~lib/rt/pure/__collect (; 40 ;) return ) - (func $~lib/rt/pure/decrement (; 43 ;) (param $0 i32) + (func $~lib/rt/pure/decrement (; 41 ;) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -4932,7 +4907,7 @@ i32.store offset=4 end ) - (func $~lib/rt/pure/__visit (; 44 ;) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 42 ;) (param $0 i32) (param $1 i32) local.get $0 global.get $~lib/heap/__heap_base i32.lt_u @@ -4956,59 +4931,56 @@ i32.sub call $~lib/rt/pure/decrement ) - (func $~lib/array/Array#__visit_impl (; 45 ;) (param $0 i32) (param $1 i32) + (func $~lib/staticarray/StaticArray#__visit_impl (; 43 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 46 ;) (param $0 i32) (param $1 i32) + (func $~lib/staticarray/StaticArray#__visit_impl (; 44 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 47 ;) (param $0 i32) (param $1 i32) + (func $~lib/staticarray/StaticArray#__visit_impl (; 45 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/rt/__visit_members (; 48 ;) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 46 ;) (param $0 i32) (param $1 i32) (local $2 i32) - block $block$4$break - block $switch$1$default - block $switch$1$case$7 - block $switch$1$case$6 - block $switch$1$case$5 - block $switch$1$case$4 - block $switch$1$case$2 - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$6 $switch$1$case$7 $switch$1$default - end - return + block $switch$1$default + block $switch$1$case$7 + block $switch$1$case$6 + block $switch$1$case$5 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$6 $switch$1$case$7 $switch$1$default end - br $block$4$break + return end local.get $0 - local.get $1 - call $~lib/array/Array#__visit_impl - br $block$4$break + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + return end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl - br $block$4$break + call $~lib/staticarray/StaticArray#__visit_impl + return end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl - br $block$4$break + call $~lib/staticarray/StaticArray#__visit_impl + return end - unreachable - end - local.get $0 - i32.load - local.tee $2 - if - local.get $2 + local.get $0 local.get $1 - call $~lib/rt/pure/__visit + call $~lib/staticarray/StaticArray#__visit_impl + return end - return + unreachable ) ) diff --git a/tests/compiler/resolve-unary.untouched.wat b/tests/compiler/resolve-unary.untouched.wat index b188d61cc7..71599a88c4 100644 --- a/tests/compiler/resolve-unary.untouched.wat +++ b/tests/compiler/resolve-unary.untouched.wat @@ -9,23 +9,22 @@ (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 16) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\000\00") - (data (i32.const 48) "\90\01\00\00\01\00\00\00\00\00\00\00\90\01\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 464) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00@\00\00\00@\00\00\00\90\01\00\00d\00\00\00") - (data (i32.const 496) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00-\001\00") - (data (i32.const 528) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\00r\00e\00s\00o\00l\00v\00e\00-\00u\00n\00a\00r\00y\00.\00t\00s\00") - (data (i32.const 576) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\001\00") - (data (i32.const 608) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\002\00") - (data (i32.const 640) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00t\00r\00u\00e\00") - (data (i32.const 672) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00f\00a\00l\00s\00e\00") - (data (i32.const 704) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00-\002\00") - (data (i32.const 736) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00+\00") - (data (i32.const 768) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00-\00") - (data (i32.const 800) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00!\00") - (data (i32.const 832) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00~\00") - (data (i32.const 864) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00+\00+\00i\00") - (data (i32.const 896) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00-\00-\00i\00") - (data (i32.const 928) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00i\00+\00+\00") - (data (i32.const 960) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00i\00-\00-\00") + (data (i32.const 48) "\90\01\00\00\01\00\00\00\03\00\00\00\90\01\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") + (data (i32.const 464) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00-\001\00") + (data (i32.const 496) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\00r\00e\00s\00o\00l\00v\00e\00-\00u\00n\00a\00r\00y\00.\00t\00s\00") + (data (i32.const 544) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\001\00") + (data (i32.const 576) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\002\00") + (data (i32.const 608) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00t\00r\00u\00e\00") + (data (i32.const 640) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00f\00a\00l\00s\00e\00") + (data (i32.const 672) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00-\002\00") + (data (i32.const 704) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00+\00") + (data (i32.const 736) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00-\00") + (data (i32.const 768) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00!\00") + (data (i32.const 800) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00~\00") + (data (i32.const 832) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00+\00+\00i\00") + (data (i32.const 864) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00-\00-\00i\00") + (data (i32.const 896) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00i\00+\00+\00") + (data (i32.const 928) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00i\00-\00-\00") (table $0 1 funcref) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) @@ -34,7 +33,7 @@ (global $resolve-unary/b (mut i32) (i32.const 1)) (global $resolve-unary/foo (mut i32) (i32.const 0)) (global $resolve-unary/bar (mut i32) (i32.const 0)) - (global $~lib/heap/__heap_base i32 (i32.const 984)) + (global $~lib/heap/__heap_base i32 (i32.const 952)) (export "memory" (memory $0)) (start $~start) (func $~lib/util/number/decimalCount32 (; 1 ;) (param $0 i32) (result i32) @@ -216,53 +215,49 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) + (local $8 i64) (local $9 i64) - (local $10 i64) + (local $10 i32) (local $11 i32) - (local $12 i32) - i32.const 480 - i32.load offset=4 - local.set $3 loop $while-continue|0 local.get $1 i32.const 10000 i32.ge_u - local.set $4 - local.get $4 + local.set $3 + local.get $3 if local.get $1 i32.const 10000 i32.div_u - local.set $5 + local.set $4 local.get $1 i32.const 10000 i32.rem_u - local.set $6 - local.get $5 + local.set $5 + local.get $4 local.set $1 - local.get $6 + local.get $5 i32.const 100 i32.div_u - local.set $7 - local.get $6 + local.set $6 + local.get $5 i32.const 100 i32.rem_u - local.set $8 - local.get $3 - local.get $7 + local.set $7 + i32.const 64 + local.get $6 i32.const 2 i32.shl i32.add i64.load32_u - local.set $9 - local.get $3 - local.get $8 + local.set $8 + i32.const 64 + local.get $7 i32.const 2 i32.shl i32.add i64.load32_u - local.set $10 + local.set $9 local.get $2 i32.const 4 i32.sub @@ -272,8 +267,8 @@ i32.const 1 i32.shl i32.add + local.get $8 local.get $9 - local.get $10 i64.const 32 i64.shl i64.or @@ -288,30 +283,30 @@ local.get $1 i32.const 100 i32.div_u - local.set $4 + local.set $3 local.get $1 i32.const 100 i32.rem_u - local.set $11 - local.get $4 + local.set $10 + local.get $3 local.set $1 local.get $2 i32.const 2 i32.sub local.set $2 - local.get $3 - local.get $11 + i32.const 64 + local.get $10 i32.const 2 i32.shl i32.add i32.load - local.set $12 + local.set $11 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store end local.get $1 @@ -322,19 +317,19 @@ i32.const 2 i32.sub local.set $2 - local.get $3 + i32.const 64 local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $12 + local.set $11 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store else local.get $2 @@ -344,13 +339,13 @@ i32.const 48 local.get $1 i32.add - local.set $12 + local.set $11 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store16 end ) @@ -629,9 +624,9 @@ (func $~lib/number/Bool#toString (; 13 ;) (param $0 i32) (result i32) local.get $0 if (result i32) - i32.const 656 + i32.const 624 else - i32.const 688 + i32.const 656 end ) (func $resolve-unary/Foo#constructor (; 14 ;) (param $0 i32) (result i32) @@ -647,14 +642,14 @@ local.get $0 ) (func $resolve-unary/Foo#plus (; 15 ;) (param $0 i32) (result i32) - i32.const 752 + i32.const 720 ) (func $~lib/string/String#toString (; 16 ;) (param $0 i32) (result i32) local.get $0 call $~lib/rt/stub/__retain ) (func $resolve-unary/Foo#minus (; 17 ;) (param $0 i32) (result i32) - i32.const 784 + i32.const 752 ) (func $resolve-unary/Foo#prefix_inc (; 18 ;) (param $0 i32) (result i32) local.get $0 @@ -669,10 +664,10 @@ call $~lib/rt/stub/__retain ) (func $resolve-unary/Foo#not (; 21 ;) (param $0 i32) (result i32) - i32.const 816 + i32.const 784 ) (func $resolve-unary/Foo#bitwise_not (; 22 ;) (param $0 i32) (result i32) - i32.const 848 + i32.const 816 ) (func $resolve-unary/Foo#postfix_inc (; 23 ;) (param $0 i32) (result i32) local.get $0 @@ -699,7 +694,7 @@ local.get $0 call $~lib/rt/stub/__retain local.set $0 - i32.const 880 + i32.const 848 local.set $1 local.get $0 call $~lib/rt/stub/__release @@ -710,7 +705,7 @@ local.get $0 call $~lib/rt/stub/__retain local.set $0 - i32.const 912 + i32.const 880 local.set $1 local.get $0 call $~lib/rt/stub/__release @@ -721,7 +716,7 @@ local.get $0 call $~lib/rt/stub/__retain local.set $0 - i32.const 944 + i32.const 912 local.set $1 local.get $0 call $~lib/rt/stub/__release @@ -732,7 +727,7 @@ local.get $0 call $~lib/rt/stub/__retain local.set $0 - i32.const 976 + i32.const 944 local.set $1 local.get $0 call $~lib/rt/stub/__release @@ -785,12 +780,12 @@ i32.const -1 call $~lib/number/I32#toString local.tee $0 - i32.const 512 + i32.const 480 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 2 i32.const 0 call $~lib/builtins/abort @@ -799,12 +794,12 @@ i32.const 1 call $~lib/number/I32#toString local.tee $1 - i32.const 592 + i32.const 560 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 7 i32.const 0 call $~lib/builtins/abort @@ -817,12 +812,12 @@ global.get $resolve-unary/a call $~lib/number/I32#toString local.tee $2 - i32.const 624 + i32.const 592 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 13 i32.const 0 call $~lib/builtins/abort @@ -835,12 +830,12 @@ global.get $resolve-unary/a call $~lib/number/I32#toString local.tee $3 - i32.const 592 + i32.const 560 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 18 i32.const 0 call $~lib/builtins/abort @@ -850,12 +845,12 @@ i32.eqz call $~lib/number/Bool#toString local.tee $4 - i32.const 688 + i32.const 656 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 23 i32.const 0 call $~lib/builtins/abort @@ -866,12 +861,12 @@ i32.eqz call $~lib/number/Bool#toString local.tee $5 - i32.const 656 + i32.const 624 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 28 i32.const 0 call $~lib/builtins/abort @@ -882,12 +877,12 @@ i32.xor call $~lib/number/I32#toString local.tee $6 - i32.const 720 + i32.const 688 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 33 i32.const 0 call $~lib/builtins/abort @@ -901,12 +896,12 @@ local.get $7 call $~lib/number/I32#toString local.tee $7 - i32.const 592 + i32.const 560 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 41 i32.const 0 call $~lib/builtins/abort @@ -920,12 +915,12 @@ local.get $8 call $~lib/number/I32#toString local.tee $8 - i32.const 624 + i32.const 592 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 46 i32.const 0 call $~lib/builtins/abort @@ -939,12 +934,12 @@ local.tee $9 call $~lib/string/String#toString local.tee $10 - i32.const 752 + i32.const 720 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 91 i32.const 0 call $~lib/builtins/abort @@ -955,12 +950,12 @@ local.tee $11 call $~lib/string/String#toString local.tee $12 - i32.const 784 + i32.const 752 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 96 i32.const 0 call $~lib/builtins/abort @@ -990,7 +985,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 101 i32.const 0 call $~lib/builtins/abort @@ -1020,7 +1015,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 106 i32.const 0 call $~lib/builtins/abort @@ -1031,12 +1026,12 @@ local.tee $17 call $~lib/string/String#toString local.tee $18 - i32.const 816 + i32.const 784 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 111 i32.const 0 call $~lib/builtins/abort @@ -1047,12 +1042,12 @@ local.tee $19 call $~lib/string/String#toString local.tee $20 - i32.const 848 + i32.const 816 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 116 i32.const 0 call $~lib/builtins/abort @@ -1083,7 +1078,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 121 i32.const 0 call $~lib/builtins/abort @@ -1114,7 +1109,7 @@ i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 126 i32.const 0 call $~lib/builtins/abort @@ -1128,12 +1123,12 @@ local.tee $25 call $~lib/string/String#toString local.tee $26 - i32.const 880 + i32.const 848 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 151 i32.const 0 call $~lib/builtins/abort @@ -1144,12 +1139,12 @@ local.tee $27 call $~lib/string/String#toString local.tee $28 - i32.const 912 + i32.const 880 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 156 i32.const 0 call $~lib/builtins/abort @@ -1160,12 +1155,12 @@ local.tee $29 call $~lib/string/String#toString local.tee $30 - i32.const 944 + i32.const 912 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 161 i32.const 0 call $~lib/builtins/abort @@ -1176,12 +1171,12 @@ local.tee $31 call $~lib/string/String#toString local.tee $32 - i32.const 976 + i32.const 944 call $~lib/string/String.__eq i32.eqz if i32.const 0 - i32.const 544 + i32.const 512 i32.const 166 i32.const 0 call $~lib/builtins/abort diff --git a/tests/compiler/std/array-literal.optimized.wat b/tests/compiler/std/array-literal.optimized.wat index 483763b972..4431f1b322 100644 --- a/tests/compiler/std/array-literal.optimized.wat +++ b/tests/compiler/std/array-literal.optimized.wat @@ -1213,12 +1213,6 @@ (func $start:std/array-literal (; 23 ;) (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) i32.const 76 i32.load i32.const 3 @@ -1488,18 +1482,12 @@ i32.load offset=4 local.tee $0 call $std/array-literal/Ref#constructor - local.tee $2 - call $~lib/rt/pure/__retain i32.store local.get $0 call $std/array-literal/Ref#constructor - local.tee $3 - call $~lib/rt/pure/__retain i32.store offset=4 local.get $0 call $std/array-literal/Ref#constructor - local.tee $4 - call $~lib/rt/pure/__retain i32.store offset=8 local.get $1 global.set $std/array-literal/dynamicArrayRef @@ -1524,18 +1512,12 @@ i32.load offset=4 local.tee $0 call $std/array-literal/RefWithCtor#constructor - local.tee $5 - call $~lib/rt/pure/__retain i32.store local.get $0 call $std/array-literal/RefWithCtor#constructor - local.tee $6 - call $~lib/rt/pure/__retain i32.store offset=4 local.get $0 call $std/array-literal/RefWithCtor#constructor - local.tee $0 - call $~lib/rt/pure/__retain i32.store offset=8 local.get $1 global.set $std/array-literal/dynamicArrayRefWithCtor @@ -1564,26 +1546,10 @@ i32.const 6 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $1 + local.tee $0 i32.load offset=4 call $std/array-literal/Ref#constructor - local.tee $7 - call $~lib/rt/pure/__retain i32.store - local.get $7 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release ) diff --git a/tests/compiler/std/array-literal.untouched.wat b/tests/compiler/std/array-literal.untouched.wat index a7c5ae6447..422aee3e5e 100644 --- a/tests/compiler/std/array-literal.untouched.wat +++ b/tests/compiler/std/array-literal.untouched.wat @@ -1477,64 +1477,7 @@ i32.const 16 i32.add ) - (func $~lib/rt/pure/increment (; 21 ;) (param $0 i32) - (local $1 i32) - local.get $0 - i32.load offset=4 - local.set $1 - local.get $1 - i32.const -268435456 - i32.and - local.get $1 - i32.const 1 - i32.add - i32.const -268435456 - i32.and - i32.eq - i32.eqz - if - i32.const 0 - i32.const 496 - i32.const 109 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.store offset=4 - local.get $0 - call $~lib/rt/rtrace/onincrement - local.get $0 - i32.load - i32.const 1 - i32.and - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 496 - i32.const 112 - i32.const 13 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/rt/pure/__retain (; 22 ;) (param $0 i32) (result i32) - local.get $0 - global.get $~lib/heap/__heap_base - i32.gt_u - if - local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/increment - end - local.get $0 - ) - (func $~lib/util/memory/memcpy (; 23 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/memory/memcpy (; 21 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2558,7 +2501,7 @@ i32.store8 end ) - (func $~lib/memory/memory.copy (; 24 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.copy (; 22 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2778,7 +2721,79 @@ end end ) - (func $~lib/rt/__allocArray (; 25 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/rt/__allocBuffer (; 23 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + local.get $0 + local.get $1 + call $~lib/rt/tlsf/__alloc + local.set $3 + local.get $2 + if + local.get $3 + local.get $2 + local.get $0 + call $~lib/memory/memory.copy + end + local.get $3 + ) + (func $~lib/rt/pure/increment (; 24 ;) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load offset=4 + local.set $1 + local.get $1 + i32.const -268435456 + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const -268435456 + i32.and + i32.eq + i32.eqz + if + i32.const 0 + i32.const 496 + i32.const 109 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.store offset=4 + local.get $0 + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 496 + i32.const 112 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/rt/pure/__retain (; 25 ;) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/increment + end + local.get $0 + ) + (func $~lib/rt/__allocArray (; 26 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -2792,7 +2807,8 @@ local.set $5 local.get $5 i32.const 0 - call $~lib/rt/tlsf/__alloc + local.get $3 + call $~lib/rt/__allocBuffer local.set $6 local.get $4 local.get $6 @@ -2807,16 +2823,9 @@ local.get $4 local.get $0 i32.store offset=12 - local.get $3 - if - local.get $6 - local.get $3 - local.get $5 - call $~lib/memory/memory.copy - end local.get $4 ) - (func $std/array-literal/Ref#constructor (; 26 ;) (param $0 i32) (result i32) + (func $std/array-literal/Ref#constructor (; 27 ;) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -2828,11 +2837,11 @@ end local.get $0 ) - (func $~lib/array/Array#get:length (; 27 ;) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 28 ;) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $std/array-literal/RefWithCtor#constructor (; 28 ;) (param $0 i32) (result i32) + (func $std/array-literal/RefWithCtor#constructor (; 29 ;) (param $0 i32) (result i32) local.get $0 i32.eqz if @@ -2844,11 +2853,11 @@ end local.get $0 ) - (func $~lib/array/Array#get:length (; 29 ;) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 30 ;) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/rt/pure/__release (; 30 ;) (param $0 i32) + (func $~lib/rt/pure/__release (; 31 ;) (param $0 i32) local.get $0 global.get $~lib/heap/__heap_base i32.gt_u @@ -2859,23 +2868,16 @@ call $~lib/rt/pure/decrement end ) - (func $std/array-literal/doesntLeak (; 31 ;) (param $0 i32) + (func $std/array-literal/doesntLeak (; 32 ;) (param $0 i32) local.get $0 call $~lib/rt/pure/__retain local.set $0 local.get $0 call $~lib/rt/pure/__release ) - (func $start:std/array-literal (; 32 ;) + (func $start:std/array-literal (; 33 ;) (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) i32.const 64 call $~lib/array/Array#get:length i32.const 3 @@ -3182,20 +3184,14 @@ local.get $0 i32.const 0 call $std/array-literal/Ref#constructor - local.tee $2 - call $~lib/rt/pure/__retain i32.store local.get $0 i32.const 0 call $std/array-literal/Ref#constructor - local.tee $3 - call $~lib/rt/pure/__retain i32.store offset=4 local.get $0 i32.const 0 call $std/array-literal/Ref#constructor - local.tee $4 - call $~lib/rt/pure/__retain i32.store offset=8 local.get $1 global.set $std/array-literal/dynamicArrayRef @@ -3225,20 +3221,14 @@ local.get $1 i32.const 0 call $std/array-literal/RefWithCtor#constructor - local.tee $5 - call $~lib/rt/pure/__retain i32.store local.get $1 i32.const 0 call $std/array-literal/RefWithCtor#constructor - local.tee $6 - call $~lib/rt/pure/__retain i32.store offset=4 local.get $1 i32.const 0 call $std/array-literal/RefWithCtor#constructor - local.tee $7 - call $~lib/rt/pure/__retain i32.store offset=8 local.get $0 global.set $std/array-literal/dynamicArrayRefWithCtor @@ -3278,36 +3268,20 @@ local.get $0 i32.const 0 call $std/array-literal/Ref#constructor - local.tee $8 - call $~lib/rt/pure/__retain i32.store local.get $1 local.tee $0 call $std/array-literal/doesntLeak - local.get $8 - call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release - local.get $2 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release - local.get $4 - call $~lib/rt/pure/__release - local.get $5 - call $~lib/rt/pure/__release - local.get $6 - call $~lib/rt/pure/__release - local.get $7 - call $~lib/rt/pure/__release ) - (func $~start (; 33 ;) + (func $~start (; 34 ;) call $start:std/array-literal ) - (func $~lib/rt/pure/__collect (; 34 ;) + (func $~lib/rt/pure/__collect (; 35 ;) return ) - (func $~lib/rt/tlsf/freeBlock (; 35 ;) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/freeBlock (; 36 ;) (param $0 i32) (param $1 i32) (local $2 i32) local.get $1 i32.load @@ -3323,7 +3297,7 @@ local.get $1 call $~lib/rt/rtrace/onfree ) - (func $~lib/rt/pure/decrement (; 36 ;) (param $0 i32) + (func $~lib/rt/pure/decrement (; 37 ;) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -3400,7 +3374,7 @@ i32.store offset=4 end ) - (func $~lib/rt/pure/__visit (; 37 ;) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 38 ;) (param $0 i32) (param $1 i32) local.get $0 global.get $~lib/heap/__heap_base i32.lt_u @@ -3424,13 +3398,13 @@ i32.sub call $~lib/rt/pure/decrement ) - (func $~lib/array/Array#__visit_impl (; 38 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 39 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 39 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 40 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 40 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 41 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3469,7 +3443,7 @@ end end ) - (func $~lib/array/Array#__visit_impl (; 41 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 42 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3508,7 +3482,7 @@ end end ) - (func $~lib/rt/__visit_members (; 42 ;) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 43 ;) (param $0 i32) (param $1 i32) (local $2 i32) block $block$4$break block $switch$1$default diff --git a/tests/compiler/std/array.optimized.wat b/tests/compiler/std/array.optimized.wat index 09b4f7e5cf..83a49f35dc 100644 --- a/tests/compiler/std/array.optimized.wat +++ b/tests/compiler/std/array.optimized.wat @@ -180,44 +180,41 @@ (data (i32.const 5840) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N") (data (i32.const 5872) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 5920) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 5952) "\b8\02\00\00\01\00\00\00\00\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00\00\00\01\00\00\00\01\00\00\00>\00\00\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00,\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]") - (data (i32.const 7396) "\01") - (data (i32.const 7408) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\01") - (data (i32.const 7440) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02") - (data (i32.const 7472) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 7504) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\001\00,\002") - (data (i32.const 7536) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\000\00,\001\00,\002\00,\003") - (data (i32.const 7568) "\03\00\00\00\01\00\00\00\00\00\00\00\03\00\00\00\01\ff") - (data (i32.const 7600) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00,\00-\001\00,\000") - (data (i32.const 7632) "\06\00\00\00\01\00\00\00\00\00\00\00\06\00\00\00\01\00\ff\ff") - (data (i32.const 7664) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\001\00,\006\005\005\003\005\00,\000") - (data (i32.const 7712) "\18\00\00\00\01\00\00\00\00\00\00\00\18\00\00\00\01\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff") - (data (i32.const 7760) "0\00\00\00\01\00\00\00\01\00\00\000\00\00\001\00,\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005\00,\000") - (data (i32.const 7824) " \00\00\00\01\00\00\00\00\00\00\00 \00\00\00\ff\ff\ff\ff\ff\ff\ff\ff@Eu\c3*\9d\fb\ff\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\7f") - (data (i32.const 7872) "T\00\00\00\01\00\00\00\01\00\00\00T\00\00\00-\001\00,\00-\001\002\003\004\005\006\007\008\009\000\001\002\003\004\005\006\00,\000\00,\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007") - (data (i32.const 7984) "\1c\00\00\00\01\00\00\00\00\00\00\00\1c\00\00\00\00\14\00\00\80\13\00\00\80\13\00\00\c0\13\00\00\a0\13\00\00\e0\13") - (data (i32.const 8032) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00,\00a\00,\00a\00,\00a\00b\00,\00b\00,\00b\00a\00,") - (data (i32.const 8080) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\002") - (data (i32.const 8112) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\004") - (data (i32.const 8144) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\e0\1b\00\00\a0\1f\00\00\00\00\00\00\c0\1f") - (data (i32.const 8176) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00,\002\00,\00,\004") - (data (i32.const 8208) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02") - (data (i32.const 8240) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\03\00\00\00\04") - (data (i32.const 8272) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\00,\002\00,\003\00,\004") - (data (i32.const 8304) "\02\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\01\02") - (data (i32.const 8336) "\02\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\03\04") - (data (i32.const 8368) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\01") + (data (i32.const 5952) "\b8\02\00\00\01\00\00\00\12\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00\00\00\01\00\00\00\01\00\00\00>\00\00\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00,\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]") + (data (i32.const 7300) "\01") + (data (i32.const 7312) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\01") + (data (i32.const 7344) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02") + (data (i32.const 7376) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 7408) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\001\00,\002") + (data (i32.const 7440) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\000\00,\001\00,\002\00,\003") + (data (i32.const 7472) "\03\00\00\00\01\00\00\00\00\00\00\00\03\00\00\00\01\ff") + (data (i32.const 7504) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00,\00-\001\00,\000") + (data (i32.const 7536) "\06\00\00\00\01\00\00\00\00\00\00\00\06\00\00\00\01\00\ff\ff") + (data (i32.const 7568) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\001\00,\006\005\005\003\005\00,\000") + (data (i32.const 7616) "\18\00\00\00\01\00\00\00\00\00\00\00\18\00\00\00\01\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff") + (data (i32.const 7664) "0\00\00\00\01\00\00\00\01\00\00\000\00\00\001\00,\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005\00,\000") + (data (i32.const 7728) " \00\00\00\01\00\00\00\00\00\00\00 \00\00\00\ff\ff\ff\ff\ff\ff\ff\ff@Eu\c3*\9d\fb\ff\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\7f") + (data (i32.const 7776) "T\00\00\00\01\00\00\00\01\00\00\00T\00\00\00-\001\00,\00-\001\002\003\004\005\006\007\008\009\000\001\002\003\004\005\006\00,\000\00,\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007") + (data (i32.const 7888) "\1c\00\00\00\01\00\00\00\00\00\00\00\1c\00\00\00\00\14\00\00\80\13\00\00\80\13\00\00\c0\13\00\00\a0\13\00\00\e0\13") + (data (i32.const 7936) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00,\00a\00,\00a\00,\00a\00b\00,\00b\00,\00b\00a\00,") + (data (i32.const 7984) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\002") + (data (i32.const 8016) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\004") + (data (i32.const 8048) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\80\1b\00\00@\1f\00\00\00\00\00\00`\1f") + (data (i32.const 8080) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00,\002\00,\00,\004") + (data (i32.const 8112) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02") + (data (i32.const 8144) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\03\00\00\00\04") + (data (i32.const 8176) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\00,\002\00,\003\00,\004") + (data (i32.const 8208) "\02\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\01\02") + (data (i32.const 8240) "\02\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\03\04") + (data (i32.const 8272) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\01") (table $0 57 funcref) (elem (i32.const 1) $start:std/array~anonymous|0 $start:std/array~anonymous|1 $start:std/array~anonymous|2 $start:std/array~anonymous|3 $start:std/array~anonymous|2 $start:std/array~anonymous|5 $start:std/array~anonymous|6 $start:std/array~anonymous|7 $start:std/array~anonymous|8 $start:std/array~anonymous|9 $start:std/array~anonymous|10 $start:std/array~anonymous|11 $start:std/array~anonymous|12 $start:std/array~anonymous|13 $start:std/array~anonymous|14 $start:std/array~anonymous|15 $start:std/array~anonymous|16 $start:std/array~anonymous|17 $start:std/array~anonymous|16 $start:std/array~anonymous|19 $start:std/array~anonymous|20 $start:std/array~anonymous|21 $start:std/array~anonymous|22 $start:std/array~anonymous|23 $start:std/array~anonymous|24 $start:std/array~anonymous|25 $start:std/array~anonymous|26 $start:std/array~anonymous|27 $start:std/array~anonymous|28 $start:std/array~anonymous|29 $start:std/array~anonymous|29 $start:std/array~anonymous|31 $start:std/array~anonymous|32 $start:std/array~anonymous|33 $start:std/array~anonymous|29 $start:std/array~anonymous|35 $start:std/array~anonymous|29 $start:std/array~anonymous|29 $start:std/array~anonymous|31 $start:std/array~anonymous|32 $start:std/array~anonymous|33 $start:std/array~anonymous|29 $start:std/array~anonymous|35 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $start:std/array~anonymous|44 $~lib/util/sort/COMPARATOR~anonymous|0 $start:std/array~anonymous|44 $start:std/array~anonymous|47 $start:std/array~anonymous|48 $~lib/util/sort/COMPARATOR<~lib/string/String | null>~anonymous|0 $~lib/util/sort/COMPARATOR<~lib/string/String | null>~anonymous|0) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) @@ -828,11 +825,11 @@ if unreachable end - i32.const 8400 + i32.const 8304 local.tee $0 i32.const 0 i32.store - i32.const 9968 + i32.const 9872 i32.const 0 i32.store loop $for-loop|0 @@ -843,7 +840,7 @@ local.get $1 i32.const 2 i32.shl - i32.const 8400 + i32.const 8304 i32.add i32.const 0 i32.store offset=4 @@ -861,7 +858,7 @@ i32.add i32.const 2 i32.shl - i32.const 8400 + i32.const 8304 i32.add i32.const 0 i32.store offset=96 @@ -879,13 +876,13 @@ br $for-loop|0 end end - i32.const 8400 - i32.const 9984 + i32.const 8304 + i32.const 9888 memory.size i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 8400 + i32.const 8304 global.set $~lib/rt/tlsf/ROOT end local.get $0 @@ -1541,7 +1538,7 @@ ) (func $~lib/rt/pure/__retain (; 19 ;) (param $0 i32) (result i32) local.get $0 - i32.const 8388 + i32.const 8292 i32.gt_u if local.get $0 @@ -1553,7 +1550,7 @@ ) (func $~lib/rt/pure/__release (; 20 ;) (param $0 i32) local.get $0 - i32.const 8388 + i32.const 8292 i32.gt_u if local.get $0 @@ -1839,6 +1836,8 @@ ) (func $~lib/rt/__allocArray (; 26 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) + (local $5 i32) + (local $6 i32) i32.const 16 local.get $2 call $~lib/rt/tlsf/__alloc @@ -1846,28 +1845,31 @@ local.get $0 local.get $1 i32.shl - local.tee $1 + local.tee $4 + local.set $6 + local.get $4 i32.const 0 call $~lib/rt/tlsf/__alloc - local.tee $4 + local.set $1 + local.get $3 + if + local.get $1 + local.get $3 + local.get $6 + call $~lib/memory/memory.copy + end + local.get $1 call $~lib/rt/pure/__retain i32.store local.get $2 - local.get $4 + local.get $1 i32.store offset=4 local.get $2 - local.get $1 + local.get $4 i32.store offset=8 local.get $2 local.get $0 i32.store offset=12 - local.get $3 - if - local.get $4 - local.get $3 - local.get $1 - call $~lib/memory/memory.copy - end local.get $2 ) (func $~lib/array/Array#fill (; 27 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) @@ -2300,7 +2302,7 @@ local.get $2 call $~lib/memory/memory.copy local.get $1 - i32.const 8388 + i32.const 8292 i32.ge_u if local.get $1 @@ -7243,8 +7245,7 @@ (local $10 i32) (local $11 i64) (local $12 i64) - (local $13 i32) - (local $14 i64) + (local $13 i64) local.get $3 local.get $1 i64.sub @@ -7260,7 +7261,7 @@ local.tee $11 i64.const 1 i64.sub - local.tee $14 + local.tee $13 i64.and local.set $12 local.get $3 @@ -7271,9 +7272,6 @@ local.tee $7 call $~lib/util/number/decimalCount32 local.set $4 - i32.const 7012 - i32.load - local.set $13 loop $while-continue|0 local.get $4 i32.const 0 @@ -7438,10 +7436,10 @@ global.get $~lib/util/number/_K i32.add global.set $~lib/util/number/_K - local.get $13 local.get $4 i32.const 2 i32.shl + i32.const 6880 i32.add i64.load32_u local.get $10 @@ -7550,7 +7548,7 @@ i32.sub local.set $4 local.get $3 - local.get $14 + local.get $13 i64.and local.tee $12 local.get $5 @@ -7563,12 +7561,12 @@ local.get $12 local.set $1 local.get $9 - local.get $13 i32.const 0 local.get $4 i32.sub i32.const 2 i32.shl + i32.const 6880 i32.add i64.load32_u i64.mul @@ -7879,26 +7877,33 @@ (local $2 i64) (local $3 i32) (local $4 i64) - (local $5 i64) - (local $6 i64) - (local $7 i32) + (local $5 i32) + (local $6 i32) + (local $7 i64) (local $8 i64) (local $9 i64) (local $10 i32) - (local $11 i32) + (local $11 i64) + (local $12 i64) + (local $13 i64) + (local $14 i64) + (local $15 i64) + (local $16 i64) + (local $17 i64) + (local $18 i64) local.get $1 f64.const 0 f64.lt local.tee $10 - if + if (result f64) local.get $0 i32.const 45 i32.store16 local.get $1 f64.neg - local.set $1 + else + local.get $1 end - local.get $1 i64.reinterpret_f64 local.tee $2 i64.const 9218868437227405312 @@ -7906,57 +7911,57 @@ i64.const 52 i64.shr_u i32.wrap_i64 - local.tee $11 - i32.const 0 - i32.ne - local.set $7 + local.set $5 local.get $2 i64.const 4503599627370495 i64.and - local.get $7 + local.get $5 + i32.const 0 + i32.ne + local.tee $6 i64.extend_i32_u i64.const 52 i64.shl i64.add - local.tee $5 + local.tee $2 i64.const 1 i64.shl i64.const 1 i64.add - local.tee $2 + local.tee $7 i64.clz i32.wrap_i64 local.set $3 - local.get $2 + local.get $7 local.get $3 i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_plus - local.get $11 + local.get $5 i32.const 1 - local.get $7 + local.get $6 select i32.const 1075 i32.sub - local.tee $7 + local.tee $5 i32.const 1 i32.sub local.get $3 i32.sub local.set $3 - local.get $5 - local.get $5 + local.get $2 + local.get $2 i64.const 4503599627370496 i64.eq i32.const 1 i32.add - local.tee $11 + local.tee $6 i64.extend_i32_s i64.shl i64.const 1 i64.sub - local.get $7 - local.get $11 + local.get $5 + local.get $6 i32.sub local.get $3 i32.sub @@ -7989,52 +7994,78 @@ local.tee $3 i32.const 3 i32.shl + local.tee $6 i32.sub global.set $~lib/util/number/_K - i32.const 6692 - i32.load - local.get $3 - i32.const 3 - i32.shl + local.get $6 + i32.const 5968 i32.add i64.load global.set $~lib/util/number/_frc_pow - i32.const 6916 - i32.load local.get $3 i32.const 1 i32.shl + i32.const 6688 i32.add i32.load16_s global.set $~lib/util/number/_exp_pow + local.get $2 + local.get $2 + i64.clz + i32.wrap_i64 + local.tee $3 + i64.extend_i32_s + i64.shl + local.tee $7 + i64.const 4294967295 + i64.and + local.tee $11 global.get $~lib/util/number/_frc_pow - local.tee $6 + local.tee $2 i64.const 4294967295 i64.and - local.set $2 + local.tee $13 + i64.mul + local.set $14 global.get $~lib/util/number/_frc_plus local.tee $8 i64.const 4294967295 i64.and local.tee $4 - local.get $6 + local.get $2 + i64.const 4294967295 + i64.and + local.tee $9 + i64.mul + local.set $12 + global.get $~lib/util/number/_frc_minus + local.tee $15 + i64.const 4294967295 + i64.and + local.tee $16 + local.get $2 + i64.const 4294967295 + i64.and + local.tee $17 + i64.mul + local.set $18 + local.get $4 + local.get $2 i64.const 32 i64.shr_u - local.tee $6 + local.tee $4 i64.mul - local.get $2 + local.get $9 local.get $8 i64.const 32 i64.shr_u local.tee $8 i64.mul - local.get $2 - local.get $4 - i64.mul + local.get $12 i64.const 32 i64.shr_u i64.add - local.tee $4 + local.tee $9 i64.const 4294967295 i64.and i64.add @@ -8042,10 +8073,10 @@ i64.add i64.const 32 i64.shr_u - local.get $6 + local.get $4 local.get $8 i64.mul - local.get $4 + local.get $9 i64.const 32 i64.shr_u i64.add @@ -8053,26 +8084,23 @@ i64.const 1 i64.sub local.tee $8 - global.get $~lib/util/number/_frc_minus - local.tee $4 - i64.const 4294967295 - i64.and - local.tee $9 - local.get $6 - i64.mul + local.get $16 local.get $2 - local.get $4 i64.const 32 i64.shr_u local.tee $4 i64.mul - local.get $2 - local.get $9 + local.get $17 + local.get $15 + i64.const 32 + i64.shr_u + local.tee $9 i64.mul + local.get $18 i64.const 32 i64.shr_u i64.add - local.tee $9 + local.tee $12 i64.const 4294967295 i64.and i64.add @@ -8081,9 +8109,9 @@ i64.const 32 i64.shr_u local.get $4 - local.get $6 - i64.mul local.get $9 + i64.mul + local.get $12 i64.const 32 i64.shr_u i64.add @@ -8098,32 +8126,23 @@ i32.shl i32.add local.get $0 - local.get $5 - local.get $5 - i64.clz - i32.wrap_i64 - local.tee $0 - i64.extend_i32_s - i64.shl - local.tee $5 - i64.const 4294967295 - i64.and - local.tee $9 - local.get $6 - i64.mul + local.get $11 local.get $2 - local.get $5 i64.const 32 i64.shr_u - local.tee $5 + local.tee $2 i64.mul - local.get $2 - local.get $9 + local.get $13 + local.get $7 + i64.const 32 + i64.shr_u + local.tee $7 i64.mul + local.get $14 i64.const 32 i64.shr_u i64.add - local.tee $2 + local.tee $11 i64.const 4294967295 i64.and i64.add @@ -8131,24 +8150,24 @@ i64.add i64.const 32 i64.shr_u - local.get $5 - local.get $6 - i64.mul local.get $2 + local.get $7 + i64.mul + local.get $11 i64.const 32 i64.shr_u i64.add i64.add global.get $~lib/util/number/_exp_pow - local.tee $3 - local.get $7 - local.get $0 + local.tee $0 + local.get $5 + local.get $3 i32.sub i32.add i32.const -64 i32.sub local.get $8 - local.get $3 + local.get $0 global.get $~lib/util/number/_exp i32.add i32.const -64 @@ -8599,7 +8618,7 @@ end local.get $4 call $~lib/rt/pure/__release - i32.const 7200 + i32.const 7104 i32.const 5120 local.get $4 select @@ -8636,7 +8655,7 @@ if local.get $1 local.get $1 - i32.const 7200 + i32.const 7104 call $~lib/string/String.__concat local.tee $6 local.tee $2 @@ -8700,7 +8719,7 @@ if local.get $1 local.get $1 - i32.const 7200 + i32.const 7104 call $~lib/string/String.__concat local.tee $0 local.tee $3 @@ -10400,13 +10419,6 @@ (local $53 i32) (local $54 i32) (local $55 i32) - (local $56 i32) - (local $57 i32) - (local $58 i32) - (local $59 i32) - (local $60 i32) - (local $61 i32) - (local $62 i32) i32.const 0 call $~lib/array/Array#constructor global.set $std/array/arr @@ -10989,14 +11001,10 @@ local.tee $1 i32.const 0 call $std/array/Ref#constructor - local.tee $4 - call $~lib/rt/pure/__retain i32.store local.get $1 i32.const 0 call $std/array/Ref#constructor - local.tee $1 - call $~lib/rt/pure/__retain i32.store offset=4 local.get $0 call $~lib/array/Array#set:length @@ -11010,10 +11018,6 @@ call $~lib/builtins/abort unreachable end - local.get $4 - call $~lib/rt/pure/__release - local.get $1 - call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release i32.const 0 @@ -11511,7 +11515,7 @@ i32.const 1680 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $25 + local.tee $26 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11575,7 +11579,7 @@ i32.const 1872 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $19 + local.tee $15 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11600,14 +11604,14 @@ i32.const -3 i32.const -2 call $~lib/array/Array#copyWithin - local.tee $20 + local.tee $19 i32.const 5 i32.const 2 i32.const 3 i32.const 1968 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $15 + local.tee $20 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -11712,7 +11716,7 @@ call $~lib/rt/pure/__release local.get $14 call $~lib/rt/pure/__release - local.get $25 + local.get $26 call $~lib/rt/pure/__release local.get $16 call $~lib/rt/pure/__release @@ -11720,12 +11724,12 @@ call $~lib/rt/pure/__release local.get $18 call $~lib/rt/pure/__release + local.get $15 + call $~lib/rt/pure/__release local.get $19 call $~lib/rt/pure/__release local.get $20 call $~lib/rt/pure/__release - local.get $15 - call $~lib/rt/pure/__release local.get $21 call $~lib/rt/pure/__release local.get $22 @@ -12783,14 +12787,14 @@ i32.const 0 i32.const 1 call $~lib/array/Array#splice - local.tee $19 + local.tee $15 i32.const 1 i32.const 2 i32.const 3 i32.const 2832 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $20 + local.tee $19 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -12809,7 +12813,7 @@ i32.const 2864 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $15 + local.tee $20 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -12883,14 +12887,14 @@ i32.const -2 i32.const 2147483647 call $~lib/array/Array#splice - local.tee $26 + local.tee $27 i32.const 2 i32.const 2 i32.const 3 i32.const 3056 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $27 + local.tee $28 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -12909,7 +12913,7 @@ i32.const 3088 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $28 + local.tee $29 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -12933,14 +12937,14 @@ i32.const -2 i32.const 1 call $~lib/array/Array#splice - local.tee $29 + local.tee $30 i32.const 1 i32.const 2 i32.const 3 i32.const 3168 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $30 + local.tee $24 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -12959,7 +12963,7 @@ i32.const 3200 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $31 + local.tee $25 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -12983,14 +12987,14 @@ i32.const -7 i32.const 1 call $~lib/array/Array#splice - local.tee $32 + local.tee $31 i32.const 1 i32.const 2 i32.const 3 i32.const 3280 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $33 + local.tee $32 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -13009,7 +13013,7 @@ i32.const 3312 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $34 + local.tee $33 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -13033,7 +13037,7 @@ i32.const -2 i32.const -1 call $~lib/array/Array#splice - local.tee $24 + local.tee $34 i32.const 0 i32.const 2 i32.const 3 @@ -13313,32 +13317,22 @@ local.tee $0 i32.const 1 call $std/array/Ref#constructor - local.tee $49 - call $~lib/rt/pure/__retain i32.store local.get $0 i32.const 2 call $std/array/Ref#constructor - local.tee $50 - call $~lib/rt/pure/__retain i32.store offset=4 local.get $0 i32.const 3 call $std/array/Ref#constructor - local.tee $51 - call $~lib/rt/pure/__retain i32.store offset=8 local.get $0 i32.const 4 call $std/array/Ref#constructor - local.tee $52 - call $~lib/rt/pure/__retain i32.store offset=12 local.get $0 i32.const 5 call $std/array/Ref#constructor - local.tee $53 - call $~lib/rt/pure/__retain i32.store offset=16 local.get $4 call $~lib/rt/pure/__release @@ -13363,7 +13357,7 @@ local.get $6 i32.const 0 call $~lib/array/Array#__get - local.tee $54 + local.tee $49 i32.load i32.const 3 i32.ne @@ -13378,7 +13372,7 @@ local.get $6 i32.const 1 call $~lib/array/Array#__get - local.tee $55 + local.tee $50 i32.load i32.const 4 i32.ne @@ -13405,7 +13399,7 @@ local.get $1 i32.const 0 call $~lib/array/Array#__get - local.tee $56 + local.tee $51 i32.load i32.const 1 i32.ne @@ -13420,7 +13414,7 @@ local.get $1 i32.const 1 call $~lib/array/Array#__get - local.tee $57 + local.tee $52 i32.load i32.const 2 i32.ne @@ -13435,7 +13429,7 @@ local.get $1 i32.const 2 call $~lib/array/Array#__get - local.tee $58 + local.tee $53 i32.load i32.const 5 i32.ne @@ -13458,8 +13452,6 @@ local.tee $0 i32.const 1 call $std/array/Ref#constructor - local.tee $59 - call $~lib/rt/pure/__retain i32.store local.get $0 i32.const 0 @@ -13467,12 +13459,10 @@ local.get $0 i32.const 2 call $std/array/Ref#constructor - local.tee $60 - call $~lib/rt/pure/__retain i32.store offset=8 local.get $4 call $~lib/array/Array#splice - local.tee $25 + local.tee $26 i32.load offset=12 i32.const 1 i32.ne @@ -13484,7 +13474,7 @@ call $~lib/builtins/abort unreachable end - local.get $25 + local.get $26 i32.const 0 call $~lib/array/Array#__get local.tee $0 @@ -13524,7 +13514,7 @@ local.get $4 i32.const 0 call $~lib/array/Array#__get - local.tee $61 + local.tee $54 if i32.const 0 i32.const 304 @@ -13584,20 +13574,18 @@ call $~lib/rt/pure/__release local.get $18 call $~lib/rt/pure/__release + local.get $15 + call $~lib/rt/pure/__release local.get $19 call $~lib/rt/pure/__release local.get $20 call $~lib/rt/pure/__release - local.get $15 - call $~lib/rt/pure/__release local.get $21 call $~lib/rt/pure/__release local.get $22 call $~lib/rt/pure/__release local.get $23 call $~lib/rt/pure/__release - local.get $26 - call $~lib/rt/pure/__release local.get $27 call $~lib/rt/pure/__release local.get $28 @@ -13606,6 +13594,10 @@ call $~lib/rt/pure/__release local.get $30 call $~lib/rt/pure/__release + local.get $24 + call $~lib/rt/pure/__release + local.get $25 + call $~lib/rt/pure/__release local.get $31 call $~lib/rt/pure/__release local.get $32 @@ -13614,8 +13606,6 @@ call $~lib/rt/pure/__release local.get $34 call $~lib/rt/pure/__release - local.get $24 - call $~lib/rt/pure/__release local.get $35 call $~lib/rt/pure/__release local.get $36 @@ -13654,23 +13644,9 @@ call $~lib/rt/pure/__release local.get $53 call $~lib/rt/pure/__release - local.get $54 - call $~lib/rt/pure/__release - local.get $55 - call $~lib/rt/pure/__release - local.get $56 - call $~lib/rt/pure/__release - local.get $57 - call $~lib/rt/pure/__release - local.get $58 - call $~lib/rt/pure/__release - local.get $59 - call $~lib/rt/pure/__release - local.get $60 - call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release - local.get $61 + local.get $54 call $~lib/rt/pure/__release local.get $3 call $~lib/rt/pure/__release @@ -14765,7 +14741,7 @@ i32.const 4448 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $19 + local.tee $15 call $std/array/isArraysEqual i32.eqz if @@ -14796,7 +14772,7 @@ i32.const 4576 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $20 + local.tee $19 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -14828,7 +14804,7 @@ i32.const 4672 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $15 + local.tee $20 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15017,15 +14993,15 @@ call $~lib/rt/pure/__release local.get $3 call $~lib/rt/pure/__release - local.get $19 + local.get $15 call $~lib/rt/pure/__release local.get $5 call $~lib/rt/pure/__release - local.get $20 + local.get $19 call $~lib/rt/pure/__release local.get $7 call $~lib/rt/pure/__release - local.get $15 + local.get $20 call $~lib/rt/pure/__release local.get $16 call $~lib/rt/pure/__release @@ -15229,7 +15205,7 @@ local.tee $3 local.set $14 local.get $3 - i32.const 7040 + i32.const 6944 call $~lib/string/String.__eq i32.eqz if @@ -15243,14 +15219,14 @@ i32.const 3 i32.const 2 i32.const 15 - i32.const 7168 + i32.const 7072 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $16 i32.const 5120 call $~lib/array/Array<~lib/string/String | null>#join local.tee $17 - i32.const 7136 + i32.const 7040 call $~lib/string/String.__eq i32.eqz if @@ -15272,8 +15248,6 @@ local.tee $5 i32.const 0 call $std/array/Ref#constructor - local.tee $18 - call $~lib/rt/pure/__retain i32.store local.get $5 i32.const 0 @@ -15281,13 +15255,11 @@ local.get $5 i32.const 0 call $std/array/Ref#constructor - local.tee $19 - call $~lib/rt/pure/__retain i32.store offset=8 local.get $3 call $~lib/array/Array#join - local.tee $20 - i32.const 7248 + local.tee $18 + i32.const 7152 call $~lib/string/String.__eq i32.eqz if @@ -15309,19 +15281,15 @@ local.tee $15 i32.const 0 call $std/array/Ref#constructor - local.tee $21 - call $~lib/rt/pure/__retain i32.store local.get $15 i32.const 0 call $std/array/Ref#constructor - local.tee $15 - call $~lib/rt/pure/__retain i32.store offset=4 local.get $5 call $~lib/array/Array#join - local.tee $22 - i32.const 7328 + local.tee $15 + i32.const 7232 call $~lib/string/String.__eq i32.eqz if @@ -15355,53 +15323,45 @@ call $~lib/rt/pure/__release local.get $17 call $~lib/rt/pure/__release - local.get $18 - call $~lib/rt/pure/__release - local.get $19 - call $~lib/rt/pure/__release local.get $3 call $~lib/rt/pure/__release - local.get $20 - call $~lib/rt/pure/__release - local.get $21 - call $~lib/rt/pure/__release - local.get $15 + local.get $18 call $~lib/rt/pure/__release local.get $5 call $~lib/rt/pure/__release - local.get $22 + local.get $15 call $~lib/rt/pure/__release i32.const 0 i32.const 2 i32.const 3 - i32.const 7408 + i32.const 7312 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.set $5 i32.const 1 i32.const 2 i32.const 3 - i32.const 7424 + i32.const 7328 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.set $7 i32.const 2 i32.const 2 i32.const 3 - i32.const 7456 + i32.const 7360 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.set $8 i32.const 4 i32.const 2 i32.const 3 - i32.const 7488 + i32.const 7392 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.set $9 local.get $5 call $~lib/array/Array#toString - local.tee $16 + local.tee $14 i32.const 5120 call $~lib/string/String.__eq i32.eqz @@ -15415,8 +15375,8 @@ end local.get $7 call $~lib/array/Array#toString - local.tee $17 - i32.const 7136 + local.tee $16 + i32.const 7040 call $~lib/string/String.__eq i32.eqz if @@ -15429,8 +15389,8 @@ end local.get $8 call $~lib/array/Array#toString - local.tee $18 - i32.const 7520 + local.tee $17 + i32.const 7424 call $~lib/string/String.__eq i32.eqz if @@ -15443,8 +15403,8 @@ end local.get $9 call $~lib/array/Array#toString - local.tee $19 - i32.const 7552 + local.tee $18 + i32.const 7456 call $~lib/string/String.__eq i32.eqz if @@ -15457,8 +15417,8 @@ end i32.const 3 i32.const 0 - i32.const 20 - i32.const 7584 + i32.const 21 + i32.const 7488 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $10 @@ -15468,7 +15428,7 @@ call $~lib/util/string/joinIntegerArray local.tee $0 local.get $0 - i32.const 7616 + i32.const 7520 call $~lib/string/String.__eq i32.eqz if @@ -15481,8 +15441,8 @@ end i32.const 3 i32.const 1 - i32.const 21 - i32.const 7648 + i32.const 22 + i32.const 7552 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $11 @@ -15491,9 +15451,9 @@ i32.load offset=12 call $~lib/util/string/joinIntegerArray local.tee $0 - local.set $15 + local.set $19 local.get $0 - i32.const 7680 + i32.const 7584 call $~lib/string/String.__eq i32.eqz if @@ -15506,8 +15466,8 @@ end i32.const 3 i32.const 3 - i32.const 18 - i32.const 7728 + i32.const 23 + i32.const 7632 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $12 @@ -15516,9 +15476,9 @@ i32.load offset=12 call $~lib/util/string/joinIntegerArray local.tee $0 - local.set $21 + local.set $20 local.get $0 - i32.const 7776 + i32.const 7680 call $~lib/string/String.__eq i32.eqz if @@ -15531,8 +15491,8 @@ end i32.const 4 i32.const 3 - i32.const 22 - i32.const 7840 + i32.const 24 + i32.const 7744 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $13 @@ -15541,9 +15501,9 @@ i32.load offset=12 call $~lib/util/string/joinIntegerArray local.tee $0 - local.set $22 + local.set $21 local.get $0 - i32.const 7888 + i32.const 7792 call $~lib/string/String.__eq i32.eqz if @@ -15557,13 +15517,13 @@ i32.const 7 i32.const 2 i32.const 15 - i32.const 8000 + i32.const 7904 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $23 + local.tee $22 call $~lib/array/Array<~lib/string/String | null>#toString - local.tee $26 - i32.const 8048 + local.tee $23 + i32.const 7952 call $~lib/string/String.__eq i32.eqz if @@ -15577,13 +15537,13 @@ i32.const 4 i32.const 2 i32.const 15 - i32.const 8160 + i32.const 8064 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $27 call $~lib/array/Array<~lib/string/String | null>#toString local.tee $28 - i32.const 8192 + i32.const 8096 call $~lib/string/String.__eq i32.eqz if @@ -15606,21 +15566,17 @@ i32.const 2 i32.const 2 i32.const 3 - i32.const 8224 + i32.const 8128 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $29 - call $~lib/rt/pure/__retain i32.store local.get $2 i32.const 2 i32.const 2 i32.const 3 - i32.const 8256 + i32.const 8160 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $30 - call $~lib/rt/pure/__retain i32.store offset=4 local.get $0 i32.load offset=4 @@ -15628,9 +15584,9 @@ i32.load offset=12 call $~lib/util/string/joinReferenceArray<~lib/array/Array> local.tee $2 - local.set $31 + local.set $29 local.get $2 - i32.const 8288 + i32.const 8192 call $~lib/string/String.__eq i32.eqz if @@ -15643,7 +15599,7 @@ end i32.const 2 i32.const 2 - i32.const 23 + i32.const 25 i32.const 0 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain @@ -15653,21 +15609,17 @@ i32.const 2 i32.const 0 i32.const 6 - i32.const 8320 + i32.const 8224 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $32 - call $~lib/rt/pure/__retain i32.store local.get $3 i32.const 2 i32.const 0 i32.const 6 - i32.const 8352 + i32.const 8256 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $33 - call $~lib/rt/pure/__retain i32.store offset=4 local.get $2 i32.load offset=4 @@ -15675,9 +15627,9 @@ i32.load offset=12 call $~lib/util/string/joinReferenceArray<~lib/array/Array> local.tee $3 - local.set $34 + local.set $30 local.get $3 - i32.const 8288 + i32.const 8192 call $~lib/string/String.__eq i32.eqz if @@ -15690,7 +15642,7 @@ end i32.const 1 i32.const 2 - i32.const 25 + i32.const 27 i32.const 0 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain @@ -15698,23 +15650,20 @@ i32.load offset=4 i32.const 1 i32.const 2 - i32.const 24 + i32.const 26 i32.const 0 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $14 + local.tee $25 i32.load offset=4 i32.const 1 i32.const 2 i32.const 7 - i32.const 8384 + i32.const 8288 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $35 - call $~lib/rt/pure/__retain i32.store - local.get $14 - call $~lib/rt/pure/__retain + local.get $25 i32.store local.get $3 i32.load offset=4 @@ -15722,9 +15671,9 @@ i32.load offset=12 call $~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> local.tee $24 - local.set $36 + local.set $25 local.get $24 - i32.const 7136 + i32.const 7040 call $~lib/string/String.__eq i32.eqz if @@ -15743,33 +15692,33 @@ call $~lib/rt/pure/__release local.get $9 call $~lib/rt/pure/__release + local.get $14 + call $~lib/rt/pure/__release local.get $16 call $~lib/rt/pure/__release local.get $17 call $~lib/rt/pure/__release local.get $18 call $~lib/rt/pure/__release - local.get $19 - call $~lib/rt/pure/__release local.get $10 call $~lib/rt/pure/__release call $~lib/rt/pure/__release local.get $11 call $~lib/rt/pure/__release - local.get $15 + local.get $19 call $~lib/rt/pure/__release local.get $12 call $~lib/rt/pure/__release - local.get $21 + local.get $20 call $~lib/rt/pure/__release local.get $13 call $~lib/rt/pure/__release + local.get $21 + call $~lib/rt/pure/__release local.get $22 call $~lib/rt/pure/__release local.get $23 call $~lib/rt/pure/__release - local.get $26 - call $~lib/rt/pure/__release local.get $27 call $~lib/rt/pure/__release local.get $28 @@ -15778,19 +15727,7 @@ call $~lib/rt/pure/__release local.get $30 call $~lib/rt/pure/__release - local.get $31 - call $~lib/rt/pure/__release - local.get $32 - call $~lib/rt/pure/__release - local.get $33 - call $~lib/rt/pure/__release - local.get $34 - call $~lib/rt/pure/__release - local.get $35 - call $~lib/rt/pure/__release - local.get $14 - call $~lib/rt/pure/__release - local.get $36 + local.get $25 call $~lib/rt/pure/__release global.get $std/array/arr call $~lib/rt/pure/__release @@ -15800,7 +15737,7 @@ call $~lib/rt/pure/__release local.get $4 call $~lib/rt/pure/__release - local.get $25 + local.get $26 call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release @@ -15889,7 +15826,7 @@ ) (func $~lib/rt/pure/__visit (; 198 ;) (param $0 i32) local.get $0 - i32.const 8388 + i32.const 8292 i32.lt_u if return @@ -15932,25 +15869,30 @@ end ) (func $~lib/rt/__visit_members (; 200 ;) (param $0 i32) - block $block$4$break - block $switch$1$default - block $switch$1$case$27 - block $switch$1$case$26 - block $switch$1$case$25 - block $switch$1$case$18 - block $switch$1$case$17 - block $switch$1$case$16 - block $switch$1$case$14 - block $switch$1$case$13 - block $switch$1$case$10 - block $switch$1$case$2 - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $block$4$break $block$4$break $switch$1$case$2 $block$4$break $block$4$break $block$4$break $switch$1$case$10 $block$4$break $block$4$break $switch$1$case$13 $switch$1$case$14 $switch$1$case$2 $switch$1$case$16 $switch$1$case$17 $switch$1$case$18 $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $switch$1$case$25 $switch$1$case$26 $switch$1$case$27 $switch$1$default + block $folding-inner0 + block $block$4$break + block $switch$1$default + block $switch$1$case$29 + block $switch$1$case$28 + block $switch$1$case$27 + block $switch$1$case$18 + block $switch$1$case$17 + block $switch$1$case$16 + block $switch$1$case$14 + block $switch$1$case$13 + block $switch$1$case$10 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $block$4$break $block$4$break $switch$1$case$2 $block$4$break $block$4$break $block$4$break $switch$1$case$10 $block$4$break $block$4$break $switch$1$case$13 $switch$1$case$14 $switch$1$case$2 $switch$1$case$16 $switch$1$case$17 $switch$1$case$18 $block$4$break $folding-inner0 $folding-inner0 $folding-inner0 $block$4$break $block$4$break $block$4$break $block$4$break $switch$1$case$27 $switch$1$case$28 $switch$1$case$29 $switch$1$default + end + return end - return + local.get $0 + call $~lib/array/Array#__visit_impl + br $block$4$break end local.get $0 call $~lib/array/Array#__visit_impl @@ -15984,18 +15926,15 @@ call $~lib/array/Array#__visit_impl br $block$4$break end - local.get $0 - call $~lib/array/Array#__visit_impl - br $block$4$break + unreachable end - unreachable - end - local.get $0 - i32.load - local.tee $0 - if local.get $0 - call $~lib/rt/pure/__visit + i32.load + local.tee $0 + if + local.get $0 + call $~lib/rt/pure/__visit + end end ) ) diff --git a/tests/compiler/std/array.untouched.wat b/tests/compiler/std/array.untouched.wat index f3babfe343..a25ffb50b5 100644 --- a/tests/compiler/std/array.untouched.wat +++ b/tests/compiler/std/array.untouched.wat @@ -26,7 +26,6 @@ (type $i32_i64_i32_i64_i32_i64_i32_=>_i32 (func (param i32 i64 i32 i64 i32 i64 i32) (result i32))) (type $i32_f64_=>_i32 (func (param i32 f64) (result i32))) (type $f64_=>_i32 (func (param f64) (result i32))) - (type $i32_i32_=>_i64 (func (param i32 i32) (result i64))) (type $i64_=>_i64 (func (param i64) (result i64))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) @@ -165,58 +164,54 @@ (data (i32.const 5376) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00") (data (i32.const 5424) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") (data (i32.const 5456) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\000\00") - (data (i32.const 5488) "\90\01\00\00\01\00\00\00\00\00\00\00\90\01\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 5904) "\10\00\00\00\01\00\00\00\07\00\00\00\10\00\00\00\80\15\00\00\80\15\00\00\90\01\00\00d\00\00\00") - (data (i32.const 5936) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00-\002\00-\003\00") - (data (i32.const 5968) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 6000) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00-\00") - (data (i32.const 6032) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 6064) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00_\00_\00") - (data (i32.const 6096) "0\00\00\00\01\00\00\00\01\00\00\000\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008\00") - (data (i32.const 6160) "0\00\00\00\01\00\00\00\00\00\00\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f") - (data (i32.const 6224) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00,\00 \00") - (data (i32.const 6256) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\000\00") - (data (i32.const 6288) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N\00") - (data (i32.const 6320) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 6368) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 6400) "\b8\02\00\00\01\00\00\00\00\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00\00\00\01\00\00\00\01\00\00\00>\00\00\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00,\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00") - (data (i32.const 7840) "\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 7856) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\01\00\00\00") - (data (i32.const 7888) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 7920) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 7952) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\001\00,\002\00") - (data (i32.const 7984) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\000\00,\001\00,\002\00,\003\00") - (data (i32.const 8016) "\03\00\00\00\01\00\00\00\00\00\00\00\03\00\00\00\01\ff\00") - (data (i32.const 8048) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00,\00-\001\00,\000\00") - (data (i32.const 8080) "\06\00\00\00\01\00\00\00\00\00\00\00\06\00\00\00\01\00\ff\ff\00\00") - (data (i32.const 8112) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\001\00,\006\005\005\003\005\00,\000\00") - (data (i32.const 8160) "\18\00\00\00\01\00\00\00\00\00\00\00\18\00\00\00\01\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00") - (data (i32.const 8208) "0\00\00\00\01\00\00\00\01\00\00\000\00\00\001\00,\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005\00,\000\00") - (data (i32.const 8272) " \00\00\00\01\00\00\00\00\00\00\00 \00\00\00\ff\ff\ff\ff\ff\ff\ff\ff@Eu\c3*\9d\fb\ff\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\7f") - (data (i32.const 8320) "T\00\00\00\01\00\00\00\01\00\00\00T\00\00\00-\001\00,\00-\001\002\003\004\005\006\007\008\009\000\001\002\003\004\005\006\00,\000\00,\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007\00") - (data (i32.const 8432) "\1c\00\00\00\01\00\00\00\00\00\00\00\1c\00\00\00\00\14\00\00\80\13\00\00\80\13\00\00\c0\13\00\00\a0\13\00\00\e0\13\00\00\00\00\00\00") - (data (i32.const 8480) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00,\00a\00,\00a\00,\00a\00b\00,\00b\00,\00b\00a\00,\00") - (data (i32.const 8528) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\002\00") - (data (i32.const 8560) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\004\00") - (data (i32.const 8592) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\a0\1d\00\00`!\00\00\00\00\00\00\80!\00\00") - (data (i32.const 8624) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00,\002\00,\00,\004\00") - (data (i32.const 8656) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 8688) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\03\00\00\00\04\00\00\00") - (data (i32.const 8720) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\00,\002\00,\003\00,\004\00") - (data (i32.const 8752) "\02\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\01\02") - (data (i32.const 8784) "\02\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\03\04") - (data (i32.const 8816) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\01\00\00\00") + (data (i32.const 5488) "\90\01\00\00\01\00\00\00\12\00\00\00\90\01\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") + (data (i32.const 5904) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00-\002\00-\003\00") + (data (i32.const 5936) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 5968) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00-\00") + (data (i32.const 6000) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\00\00\00\80\00\00\00\80") + (data (i32.const 6032) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00_\00_\00") + (data (i32.const 6064) "0\00\00\00\01\00\00\00\01\00\00\000\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008\00") + (data (i32.const 6128) "0\00\00\00\01\00\00\00\00\00\00\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f") + (data (i32.const 6192) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00,\00 \00") + (data (i32.const 6224) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\000\00") + (data (i32.const 6256) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N\00") + (data (i32.const 6288) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") + (data (i32.const 6336) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") + (data (i32.const 6368) "\b8\02\00\00\01\00\00\00\13\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00\00\00\01\00\00\00\01\00\00\00>\00\00\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00,\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00") + (data (i32.const 7712) "\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 7728) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\01\00\00\00") + (data (i32.const 7760) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00") + (data (i32.const 7792) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 7824) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\001\00,\002\00") + (data (i32.const 7856) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\000\00,\001\00,\002\00,\003\00") + (data (i32.const 7888) "\03\00\00\00\01\00\00\00\00\00\00\00\03\00\00\00\01\ff\00") + (data (i32.const 7920) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00,\00-\001\00,\000\00") + (data (i32.const 7952) "\06\00\00\00\01\00\00\00\00\00\00\00\06\00\00\00\01\00\ff\ff\00\00") + (data (i32.const 7984) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\001\00,\006\005\005\003\005\00,\000\00") + (data (i32.const 8032) "\18\00\00\00\01\00\00\00\00\00\00\00\18\00\00\00\01\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00") + (data (i32.const 8080) "0\00\00\00\01\00\00\00\01\00\00\000\00\00\001\00,\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005\00,\000\00") + (data (i32.const 8144) " \00\00\00\01\00\00\00\00\00\00\00 \00\00\00\ff\ff\ff\ff\ff\ff\ff\ff@Eu\c3*\9d\fb\ff\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\7f") + (data (i32.const 8192) "T\00\00\00\01\00\00\00\01\00\00\00T\00\00\00-\001\00,\00-\001\002\003\004\005\006\007\008\009\000\001\002\003\004\005\006\00,\000\00,\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007\00") + (data (i32.const 8304) "\1c\00\00\00\01\00\00\00\00\00\00\00\1c\00\00\00\00\14\00\00\80\13\00\00\80\13\00\00\c0\13\00\00\a0\13\00\00\e0\13\00\00\00\00\00\00") + (data (i32.const 8352) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00,\00a\00,\00a\00,\00a\00b\00,\00b\00,\00b\00a\00,\00") + (data (i32.const 8400) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\002\00") + (data (i32.const 8432) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\004\00") + (data (i32.const 8464) "\10\00\00\00\01\00\00\00\00\00\00\00\10\00\00\00 \1d\00\00\e0 \00\00\00\00\00\00\00!\00\00") + (data (i32.const 8496) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00,\002\00,\00,\004\00") + (data (i32.const 8528) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00") + (data (i32.const 8560) "\08\00\00\00\01\00\00\00\00\00\00\00\08\00\00\00\03\00\00\00\04\00\00\00") + (data (i32.const 8592) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\00,\002\00,\003\00,\004\00") + (data (i32.const 8624) "\02\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\01\02") + (data (i32.const 8656) "\02\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\03\04") + (data (i32.const 8688) "\04\00\00\00\01\00\00\00\00\00\00\00\04\00\00\00\01\00\00\00") (table $0 57 funcref) (elem (i32.const 1) $start:std/array~anonymous|0 $start:std/array~anonymous|1 $start:std/array~anonymous|2 $start:std/array~anonymous|3 $start:std/array~anonymous|4 $start:std/array~anonymous|5 $start:std/array~anonymous|6 $start:std/array~anonymous|7 $start:std/array~anonymous|8 $start:std/array~anonymous|9 $start:std/array~anonymous|10 $start:std/array~anonymous|11 $start:std/array~anonymous|12 $start:std/array~anonymous|13 $start:std/array~anonymous|14 $start:std/array~anonymous|15 $start:std/array~anonymous|16 $start:std/array~anonymous|17 $start:std/array~anonymous|18 $start:std/array~anonymous|19 $start:std/array~anonymous|20 $start:std/array~anonymous|21 $start:std/array~anonymous|22 $start:std/array~anonymous|23 $start:std/array~anonymous|24 $start:std/array~anonymous|25 $start:std/array~anonymous|26 $start:std/array~anonymous|27 $start:std/array~anonymous|28 $start:std/array~anonymous|29 $start:std/array~anonymous|30 $start:std/array~anonymous|31 $start:std/array~anonymous|32 $start:std/array~anonymous|33 $start:std/array~anonymous|34 $start:std/array~anonymous|35 $start:std/array~anonymous|36 $start:std/array~anonymous|37 $start:std/array~anonymous|38 $start:std/array~anonymous|39 $start:std/array~anonymous|40 $start:std/array~anonymous|41 $start:std/array~anonymous|42 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|1 $start:std/array~anonymous|43 $start:std/array~anonymous|44 $start:std/array~anonymous|45 $start:std/array~anonymous|46 $start:std/array~anonymous|47 $start:std/array~anonymous|48 $~lib/util/sort/COMPARATOR<~lib/string/String | null>~anonymous|0 $~lib/util/sort/COMPARATOR<~lib/string/String>~anonymous|0) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) @@ -243,7 +238,7 @@ (global $~lib/builtins/u32.MAX_VALUE i32 (i32.const -1)) (global $~lib/builtins/i64.MAX_VALUE i64 (i64.const 9223372036854775807)) (global $~started (mut i32) (i32.const 0)) - (global $~lib/heap/__heap_base i32 (i32.const 8836)) + (global $~lib/heap/__heap_base i32 (i32.const 8708)) (export "__setArgumentsLength" (func $~setArgumentsLength)) (export "_start" (func $~start)) (export "memory" (memory $0)) @@ -3409,7 +3404,22 @@ end end ) - (func $~lib/rt/__allocArray (; 33 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/rt/__allocBuffer (; 33 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + local.get $0 + local.get $1 + call $~lib/rt/tlsf/__alloc + local.set $3 + local.get $2 + if + local.get $3 + local.get $2 + local.get $0 + call $~lib/memory/memory.copy + end + local.get $3 + ) + (func $~lib/rt/__allocArray (; 34 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -3423,7 +3433,8 @@ local.set $5 local.get $5 i32.const 0 - call $~lib/rt/tlsf/__alloc + local.get $3 + call $~lib/rt/__allocBuffer local.set $6 local.get $4 local.get $6 @@ -3438,16 +3449,9 @@ local.get $4 local.get $0 i32.store offset=12 - local.get $3 - if - local.get $6 - local.get $3 - local.get $5 - call $~lib/memory/memory.copy - end local.get $4 ) - (func $~lib/array/Array#fill (; 34 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/array/Array#fill (; 35 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -3524,11 +3528,11 @@ local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/array/Array#get:length (; 35 ;) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 36 ;) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__unchecked_get (; 36 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 37 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -3537,7 +3541,7 @@ i32.add i32.load8_u ) - (func $~lib/array/Array#__get (; 37 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 38 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 local.get $0 @@ -3557,7 +3561,7 @@ local.set $2 local.get $2 ) - (func $std/array/isArraysEqual (; 38 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 39 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3642,7 +3646,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#fill (; 39 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/array/Array#fill (; 40 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -3727,11 +3731,11 @@ local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/array/Array#get:length (; 40 ;) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 41 ;) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__unchecked_get (; 41 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 42 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -3740,7 +3744,7 @@ i32.add i32.load ) - (func $~lib/array/Array#__get (; 42 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 43 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 local.get $0 @@ -3760,7 +3764,7 @@ local.set $2 local.get $2 ) - (func $std/array/isArraysEqual (; 43 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 44 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3845,17 +3849,17 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#get:length (; 44 ;) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 45 ;) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 45 ;) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 46 ;) (param $0 i32) (result i32) local.get $0 i32.const 16 i32.sub i32.load offset=12 ) - (func $std/array/internalCapacity (; 46 ;) (param $0 i32) (result i32) + (func $std/array/internalCapacity (; 47 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -3876,7 +3880,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/rt/tlsf/checkUsedBlock (; 47 ;) (param $0 i32) (result i32) + (func $~lib/rt/tlsf/checkUsedBlock (; 48 ;) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 16 @@ -3922,7 +3926,7 @@ end local.get $1 ) - (func $~lib/rt/tlsf/freeBlock (; 48 ;) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/freeBlock (; 49 ;) (param $0 i32) (param $1 i32) (local $2 i32) local.get $1 i32.load @@ -3938,7 +3942,7 @@ local.get $1 call $~lib/rt/rtrace/onfree ) - (func $~lib/rt/tlsf/reallocateBlock (; 49 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/rt/tlsf/reallocateBlock (; 50 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4057,7 +4061,7 @@ end local.get $8 ) - (func $~lib/rt/tlsf/__realloc (; 50 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__realloc (; 51 ;) (param $0 i32) (param $1 i32) (result i32) call $~lib/rt/tlsf/maybeInitialize local.get $0 call $~lib/rt/tlsf/checkUsedBlock @@ -4066,7 +4070,7 @@ i32.const 16 i32.add ) - (func $~lib/array/ensureSize (; 51 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/ensureSize (; 52 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4128,7 +4132,7 @@ i32.store offset=8 end ) - (func $~lib/array/Array#push (; 52 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#push (; 53 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -4155,7 +4159,7 @@ i32.store offset=12 local.get $3 ) - (func $~lib/array/Array#__unchecked_get (; 53 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 54 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -4164,7 +4168,7 @@ i32.add i32.load ) - (func $~lib/array/Array#__get (; 54 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 55 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 local.get $0 @@ -4184,7 +4188,7 @@ local.set $2 local.get $2 ) - (func $~lib/array/Array#pop (; 55 ;) (param $0 i32) (result i32) + (func $~lib/array/Array#pop (; 56 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -4217,7 +4221,7 @@ i32.store offset=12 local.get $2 ) - (func $~lib/array/Array#set:length (; 56 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:length (; 57 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4269,11 +4273,11 @@ local.get $1 i32.store offset=12 ) - (func $~lib/array/Array#get:length (; 57 ;) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 58 ;) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#concat (; 58 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#concat (; 59 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4346,7 +4350,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $~lib/array/Array#copyWithin (; 59 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/array/Array#copyWithin (; 60 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -4475,7 +4479,7 @@ local.get $0 call $~lib/rt/pure/__retain ) - (func $std/array/isArraysEqual (; 60 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 61 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4560,7 +4564,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#unshift (; 61 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#unshift (; 62 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -4593,7 +4597,7 @@ i32.store offset=12 local.get $2 ) - (func $~lib/array/Array#shift (; 62 ;) (param $0 i32) (result i32) + (func $~lib/array/Array#shift (; 63 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4642,7 +4646,7 @@ i32.store offset=12 local.get $3 ) - (func $~lib/array/Array#reverse (; 63 ;) (param $0 i32) (result i32) + (func $~lib/array/Array#reverse (; 64 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4697,7 +4701,7 @@ local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/array/Array#indexOf (; 64 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#indexOf (; 65 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4766,7 +4770,7 @@ end i32.const -1 ) - (func $~lib/array/Array#indexOf (; 65 ;) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + (func $~lib/array/Array#indexOf (; 66 ;) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4835,7 +4839,7 @@ end i32.const -1 ) - (func $~lib/array/Array#indexOf (; 66 ;) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + (func $~lib/array/Array#indexOf (; 67 ;) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4904,7 +4908,7 @@ end i32.const -1 ) - (func $~lib/array/Array#includes (; 67 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#includes (; 68 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 local.get $1 local.get $2 @@ -4913,7 +4917,7 @@ i32.ge_s return ) - (func $~lib/array/Array#includes (; 68 ;) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + (func $~lib/array/Array#includes (; 69 ;) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4996,7 +5000,7 @@ i32.const 0 return ) - (func $~lib/array/Array#includes (; 69 ;) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + (func $~lib/array/Array#includes (; 70 ;) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5079,7 +5083,7 @@ i32.const 0 return ) - (func $~lib/array/Array#splice (; 70 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#splice (; 71 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5187,7 +5191,7 @@ i32.store offset=12 local.get $6 ) - (func $~lib/array/Array#splice (; 71 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#splice (; 72 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5295,7 +5299,7 @@ i32.store offset=12 local.get $6 ) - (func $~lib/array/Array#__unchecked_get (; 72 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 73 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -5305,7 +5309,7 @@ i32.load call $~lib/rt/pure/__retain ) - (func $~lib/array/Array#__get (; 73 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 74 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 local.get $0 @@ -5337,7 +5341,7 @@ end local.get $2 ) - (func $~lib/array/Array#splice (; 74 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#splice (; 75 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5445,11 +5449,11 @@ i32.store offset=12 local.get $6 ) - (func $~lib/array/Array#get:length (; 75 ;) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 76 ;) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__unchecked_get (; 76 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 77 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -5459,7 +5463,7 @@ i32.load call $~lib/rt/pure/__retain ) - (func $~lib/array/Array#__get (; 77 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 78 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 local.get $0 @@ -5479,7 +5483,7 @@ local.set $2 local.get $2 ) - (func $~lib/array/Array#__unchecked_set (; 78 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#__unchecked_set (; 79 ;) (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 i32.load offset=4 local.get $1 @@ -5489,7 +5493,7 @@ local.get $2 i32.store ) - (func $~lib/array/Array#__set (; 79 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#__set (; 80 ;) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=12 @@ -5523,7 +5527,7 @@ local.get $2 call $~lib/array/Array#__unchecked_set ) - (func $start:std/array~anonymous|0 (; 80 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|0 (; 81 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5536,11 +5540,11 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~setArgumentsLength (; 81 ;) (param $0 i32) + (func $~setArgumentsLength (; 82 ;) (param $0 i32) local.get $0 global.set $~argumentsLength ) - (func $~lib/array/Array#findIndex (; 82 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#findIndex (; 83 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5591,7 +5595,7 @@ end i32.const -1 ) - (func $start:std/array~anonymous|1 (; 83 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|1 (; 84 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5604,7 +5608,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|2 (; 84 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|2 (; 85 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5617,7 +5621,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|3 (; 85 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|3 (; 86 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5634,7 +5638,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|4 (; 86 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|4 (; 87 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5647,7 +5651,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|5 (; 87 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|5 (; 88 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5663,7 +5667,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|6 (; 88 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|6 (; 89 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5676,7 +5680,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#every (; 89 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#every (; 90 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5728,7 +5732,7 @@ end i32.const 1 ) - (func $start:std/array~anonymous|7 (; 90 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|7 (; 91 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5741,7 +5745,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|8 (; 91 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|8 (; 92 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5758,7 +5762,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|9 (; 92 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|9 (; 93 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5771,7 +5775,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|10 (; 93 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|10 (; 94 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5787,7 +5791,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|11 (; 94 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|11 (; 95 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5800,7 +5804,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#some (; 95 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#some (; 96 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5851,7 +5855,7 @@ end i32.const 0 ) - (func $start:std/array~anonymous|12 (; 96 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|12 (; 97 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5864,7 +5868,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|13 (; 97 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|13 (; 98 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5881,7 +5885,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|14 (; 98 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|14 (; 99 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5894,7 +5898,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|15 (; 99 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|15 (; 100 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -5910,7 +5914,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|16 (; 100 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|16 (; 101 ;) (param $0 i32) (param $1 i32) (param $2 i32) local.get $2 call $~lib/rt/pure/__retain local.set $2 @@ -5921,7 +5925,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/array/Array#forEach (; 101 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#forEach (; 102 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5967,7 +5971,7 @@ end end ) - (func $start:std/array~anonymous|17 (; 102 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|17 (; 103 ;) (param $0 i32) (param $1 i32) (param $2 i32) local.get $2 call $~lib/rt/pure/__retain local.set $2 @@ -5982,7 +5986,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $start:std/array~anonymous|18 (; 103 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|18 (; 104 ;) (param $0 i32) (param $1 i32) (param $2 i32) local.get $2 call $~lib/rt/pure/__retain local.set $2 @@ -5993,7 +5997,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $start:std/array~anonymous|19 (; 104 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|19 (; 105 ;) (param $0 i32) (param $1 i32) (param $2 i32) local.get $2 call $~lib/rt/pure/__retain local.set $2 @@ -6007,7 +6011,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $start:std/array~anonymous|20 (; 105 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|20 (; 106 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $2 @@ -6120,7 +6124,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $start:std/array~anonymous|21 (; 106 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result f32) + (func $start:std/array~anonymous|21 (; 107 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result f32) (local $3 f32) local.get $2 call $~lib/rt/pure/__retain @@ -6132,7 +6136,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#map (; 107 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#map (; 108 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6200,11 +6204,11 @@ end local.get $3 ) - (func $~lib/array/Array#get:length (; 108 ;) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 109 ;) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__unchecked_get (; 109 ;) (param $0 i32) (param $1 i32) (result f32) + (func $~lib/array/Array#__unchecked_get (; 110 ;) (param $0 i32) (param $1 i32) (result f32) local.get $0 i32.load offset=4 local.get $1 @@ -6213,7 +6217,7 @@ i32.add f32.load ) - (func $~lib/array/Array#__get (; 110 ;) (param $0 i32) (param $1 i32) (result f32) + (func $~lib/array/Array#__get (; 111 ;) (param $0 i32) (param $1 i32) (result f32) (local $2 f32) local.get $1 local.get $0 @@ -6233,7 +6237,7 @@ local.set $2 local.get $2 ) - (func $start:std/array~anonymous|22 (; 111 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|22 (; 112 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -6252,7 +6256,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#map (; 112 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#map (; 113 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6319,7 +6323,7 @@ end local.get $3 ) - (func $start:std/array~anonymous|23 (; 113 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|23 (; 114 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -6334,7 +6338,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|24 (; 114 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|24 (; 115 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -6352,7 +6356,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|25 (; 115 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|25 (; 116 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -6365,7 +6369,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array#filter (; 116 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#filter (; 117 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6428,7 +6432,7 @@ end local.get $2 ) - (func $start:std/array~anonymous|26 (; 117 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|26 (; 118 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -6449,7 +6453,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|27 (; 118 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|27 (; 119 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -6466,7 +6470,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|28 (; 119 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|28 (; 120 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -6486,7 +6490,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $start:std/array~anonymous|29 (; 120 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|29 (; 121 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6499,7 +6503,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/array/Array#reduce (; 121 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduce (; 122 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6551,7 +6555,7 @@ end local.get $3 ) - (func $start:std/array~anonymous|30 (; 122 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|30 (; 123 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6564,7 +6568,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $start:std/array~anonymous|31 (; 123 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|31 (; 124 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6582,7 +6586,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/array/Array#reduce (; 124 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduce (; 125 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6634,7 +6638,7 @@ end local.get $3 ) - (func $start:std/array~anonymous|32 (; 125 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|32 (; 126 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6652,7 +6656,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $start:std/array~anonymous|33 (; 126 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|33 (; 127 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6669,7 +6673,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $start:std/array~anonymous|34 (; 127 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|34 (; 128 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6682,7 +6686,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $start:std/array~anonymous|35 (; 128 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|35 (; 129 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6698,7 +6702,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $start:std/array~anonymous|36 (; 129 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|36 (; 130 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6711,7 +6715,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/array/Array#reduceRight (; 130 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduceRight (; 131 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6753,7 +6757,7 @@ end local.get $3 ) - (func $start:std/array~anonymous|37 (; 131 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|37 (; 132 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6766,7 +6770,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $start:std/array~anonymous|38 (; 132 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|38 (; 133 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6784,7 +6788,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/array/Array#reduceRight (; 133 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#reduceRight (; 134 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6826,7 +6830,7 @@ end local.get $3 ) - (func $start:std/array~anonymous|39 (; 134 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|39 (; 135 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6844,7 +6848,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $start:std/array~anonymous|40 (; 135 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|40 (; 136 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6861,7 +6865,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $start:std/array~anonymous|41 (; 136 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|41 (; 137 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6874,7 +6878,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $start:std/array~anonymous|42 (; 137 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|42 (; 138 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6890,7 +6894,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/math/murmurHash3 (; 138 ;) (param $0 i64) (result i64) + (func $~lib/math/murmurHash3 (; 139 ;) (param $0 i64) (result i64) local.get $0 local.get $0 i64.const 33 @@ -6919,7 +6923,7 @@ local.set $0 local.get $0 ) - (func $~lib/math/splitMix32 (; 139 ;) (param $0 i32) (result i32) + (func $~lib/math/splitMix32 (; 140 ;) (param $0 i32) (result i32) local.get $0 i32.const 1831565813 i32.add @@ -6954,7 +6958,7 @@ i32.shr_u i32.xor ) - (func $~lib/math/NativeMath.seedRandom (; 140 ;) (param $0 i64) + (func $~lib/math/NativeMath.seedRandom (; 141 ;) (param $0 i64) i32.const 1 global.set $~lib/math/random_seeded local.get $0 @@ -7006,7 +7010,7 @@ unreachable end ) - (func $~lib/util/sort/insertionSort (; 141 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 142 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 f32) @@ -7096,13 +7100,13 @@ end end ) - (func $~lib/rt/tlsf/__free (; 142 ;) (param $0 i32) + (func $~lib/rt/tlsf/__free (; 143 ;) (param $0 i32) call $~lib/rt/tlsf/maybeInitialize local.get $0 call $~lib/rt/tlsf/checkUsedBlock call $~lib/rt/tlsf/freeBlock ) - (func $~lib/util/sort/weakHeapSort (; 143 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 144 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7391,7 +7395,7 @@ local.get $12 f32.store ) - (func $~lib/array/Array#sort (; 144 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 145 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 f32) @@ -7466,7 +7470,7 @@ local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 145 ;) (param $0 f32) (param $1 f32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 146 ;) (param $0 f32) (param $1 f32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -7499,7 +7503,7 @@ i32.lt_s i32.sub ) - (func $~lib/array/Array#sort|trampoline (; 146 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort|trampoline (; 147 ;) (param $0 i32) (param $1 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -7518,7 +7522,7 @@ local.get $1 call $~lib/array/Array#sort ) - (func $std/array/isArraysEqual (; 147 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 148 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 f32) @@ -7625,7 +7629,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/util/sort/insertionSort (; 148 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 149 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 f64) @@ -7715,7 +7719,7 @@ end end ) - (func $~lib/util/sort/weakHeapSort (; 149 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 150 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8004,7 +8008,7 @@ local.get $12 f64.store ) - (func $~lib/array/Array#sort (; 150 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 151 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 f64) @@ -8079,7 +8083,7 @@ local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 151 ;) (param $0 f64) (param $1 f64) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 152 ;) (param $0 f64) (param $1 f64) (result i32) (local $2 i64) (local $3 i64) local.get $0 @@ -8112,7 +8116,7 @@ i64.lt_s i32.sub ) - (func $~lib/array/Array#sort|trampoline (; 152 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort|trampoline (; 153 ;) (param $0 i32) (param $1 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -8131,11 +8135,11 @@ local.get $1 call $~lib/array/Array#sort ) - (func $~lib/array/Array#get:length (; 153 ;) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 154 ;) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__unchecked_get (; 154 ;) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/array/Array#__unchecked_get (; 155 ;) (param $0 i32) (param $1 i32) (result f64) local.get $0 i32.load offset=4 local.get $1 @@ -8144,7 +8148,7 @@ i32.add f64.load ) - (func $~lib/array/Array#__get (; 155 ;) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/array/Array#__get (; 156 ;) (param $0 i32) (param $1 i32) (result f64) (local $2 f64) local.get $1 local.get $0 @@ -8164,7 +8168,7 @@ local.set $2 local.get $2 ) - (func $std/array/isArraysEqual (; 156 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual (; 157 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 f64) @@ -8271,7 +8275,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/util/sort/insertionSort (; 157 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 158 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8361,7 +8365,7 @@ end end ) - (func $~lib/util/sort/weakHeapSort (; 158 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 159 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8650,7 +8654,7 @@ local.get $12 i32.store ) - (func $~lib/array/Array#sort (; 159 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 160 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8723,12 +8727,12 @@ local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 160 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 161 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.sub ) - (func $~lib/array/Array#sort|trampoline (; 161 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort|trampoline (; 162 ;) (param $0 i32) (param $1 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -8747,7 +8751,7 @@ local.get $1 call $~lib/array/Array#sort ) - (func $~lib/util/sort/insertionSort (; 162 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (; 163 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8837,7 +8841,7 @@ end end ) - (func $~lib/util/sort/weakHeapSort (; 163 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (; 164 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -9126,7 +9130,7 @@ local.get $12 i32.store ) - (func $~lib/array/Array#sort (; 164 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (; 165 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9199,7 +9203,7 @@ local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 165 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (; 166 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.gt_u @@ -9208,7 +9212,7 @@ i32.lt_u i32.sub ) - (func $~lib/array/Array#sort|trampoline (; 166 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort|trampoline (; 167 ;) (param $0 i32) (param $1 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -9227,7 +9231,7 @@ local.get $1 call $~lib/array/Array#sort ) - (func $std/array/createReverseOrderedArray (; 167 ;) (param $0 i32) (result i32) + (func $std/array/createReverseOrderedArray (; 168 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9261,7 +9265,7 @@ end local.get $1 ) - (func $~lib/math/NativeMath.random (; 168 ;) (result f64) + (func $~lib/math/NativeMath.random (; 169 ;) (result f64) (local $0 i64) (local $1 i64) (local $2 i64) @@ -9316,7 +9320,7 @@ f64.const 1 f64.sub ) - (func $std/array/createRandomOrderedArray (; 169 ;) (param $0 i32) (result i32) + (func $std/array/createRandomOrderedArray (; 170 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9350,12 +9354,12 @@ end local.get $1 ) - (func $~lib/util/sort/COMPARATOR~anonymous|1 (; 170 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|1 (; 171 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.sub ) - (func $std/array/isSorted (; 171 ;) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted (; 172 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9410,7 +9414,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/array/assertSorted (; 172 ;) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted (; 173 ;) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -9435,7 +9439,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $std/array/assertSortedDefault (; 173 ;) (param $0 i32) + (func $std/array/assertSortedDefault (; 174 ;) (param $0 i32) local.get $0 call $~lib/rt/pure/__retain local.set $0 @@ -9448,27 +9452,27 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $start:std/array~anonymous|43 (; 174 ;) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|43 (; 175 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.sub ) - (func $start:std/array~anonymous|44 (; 175 ;) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|44 (; 176 ;) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.sub ) - (func $start:std/array~anonymous|45 (; 176 ;) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|45 (; 177 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.sub ) - (func $start:std/array~anonymous|46 (; 177 ;) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|46 (; 178 ;) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.sub ) - (func $~lib/array/Array<~lib/array/Array>#constructor (; 178 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#constructor (; 179 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 if (result i32) local.get $0 @@ -9490,7 +9494,7 @@ i32.store offset=12 local.get $0 ) - (func $~lib/array/Array<~lib/array/Array>#__unchecked_set (; 179 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array<~lib/array/Array>#__unchecked_set (; 180 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $2 @@ -9520,7 +9524,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/array/Array<~lib/array/Array>#__set (; 180 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array<~lib/array/Array>#__set (; 181 ;) (param $0 i32) (param $1 i32) (param $2 i32) local.get $2 call $~lib/rt/pure/__retain local.set $2 @@ -9561,7 +9565,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/array/createReverseOrderedNestedArray (; 181 ;) (param $0 i32) (result i32) + (func $std/array/createReverseOrderedNestedArray (; 182 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9606,7 +9610,7 @@ end local.get $1 ) - (func $start:std/array~anonymous|47 (; 182 ;) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|47 (; 183 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -9628,7 +9632,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/util/sort/insertionSort<~lib/array/Array> (; 183 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort<~lib/array/Array> (; 184 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -9726,7 +9730,7 @@ end end ) - (func $~lib/array/Array<~lib/array/Array>#sort (; 184 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#sort (; 185 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9797,11 +9801,11 @@ local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/array/Array<~lib/array/Array>#get:length (; 185 ;) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#get:length (; 186 ;) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array<~lib/array/Array>#__unchecked_get (; 186 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#__unchecked_get (; 187 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -9811,7 +9815,7 @@ i32.load call $~lib/rt/pure/__retain ) - (func $~lib/array/Array<~lib/array/Array>#__get (; 187 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#__get (; 188 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 local.get $0 @@ -9843,7 +9847,7 @@ end local.get $2 ) - (func $std/array/isSorted<~lib/array/Array> (; 188 ;) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted<~lib/array/Array> (; 189 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9910,7 +9914,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/array/assertSorted<~lib/array/Array> (; 189 ;) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted<~lib/array/Array> (; 190 ;) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -9935,7 +9939,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/array/Array>#constructor (; 190 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#constructor (; 191 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 if (result i32) local.get $0 @@ -9957,7 +9961,7 @@ i32.store offset=12 local.get $0 ) - (func $std/array/Proxy#constructor (; 191 ;) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/Proxy#constructor (; 192 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.eqz if @@ -9972,7 +9976,7 @@ i32.store local.get $0 ) - (func $~lib/array/Array>#__unchecked_set (; 192 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array>#__unchecked_set (; 193 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $2 @@ -10002,7 +10006,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/array/Array>#__set (; 193 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array>#__set (; 194 ;) (param $0 i32) (param $1 i32) (param $2 i32) local.get $2 call $~lib/rt/pure/__retain local.set $2 @@ -10043,7 +10047,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/array/createReverseOrderedElementsArray (; 194 ;) (param $0 i32) (result i32) + (func $std/array/createReverseOrderedElementsArray (; 195 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -10083,7 +10087,7 @@ end local.get $1 ) - (func $start:std/array~anonymous|48 (; 195 ;) (param $0 i32) (param $1 i32) (result i32) + (func $start:std/array~anonymous|48 (; 196 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -10103,7 +10107,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/util/sort/insertionSort> (; 196 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort> (; 197 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -10201,7 +10205,7 @@ end end ) - (func $~lib/array/Array>#sort (; 197 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#sort (; 198 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10272,11 +10276,11 @@ local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/array/Array>#get:length (; 198 ;) (param $0 i32) (result i32) + (func $~lib/array/Array>#get:length (; 199 ;) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array>#__unchecked_get (; 199 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#__unchecked_get (; 200 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -10286,7 +10290,7 @@ i32.load call $~lib/rt/pure/__retain ) - (func $~lib/array/Array>#__get (; 200 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#__get (; 201 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 local.get $0 @@ -10318,7 +10322,7 @@ end local.get $2 ) - (func $std/array/isSorted> (; 201 ;) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted> (; 202 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10385,7 +10389,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/array/assertSorted> (; 202 ;) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted> (; 203 ;) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -10410,7 +10414,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/util/sort/insertionSort<~lib/string/String | null> (; 203 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort<~lib/string/String | null> (; 204 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -10508,7 +10512,7 @@ end end ) - (func $~lib/array/Array<~lib/string/String | null>#sort (; 204 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String | null>#sort (; 205 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10579,11 +10583,11 @@ local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/array/Array<~lib/string/String | null>#get:length (; 205 ;) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/string/String | null>#get:length (; 206 ;) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array<~lib/string/String | null>#__unchecked_get (; 206 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String | null>#__unchecked_get (; 207 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -10593,7 +10597,7 @@ i32.load call $~lib/rt/pure/__retain ) - (func $~lib/array/Array<~lib/string/String | null>#__get (; 207 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String | null>#__get (; 208 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 local.get $0 @@ -10613,7 +10617,7 @@ local.set $2 local.get $2 ) - (func $std/array/isSorted<~lib/string/String | null> (; 208 ;) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted<~lib/string/String | null> (; 209 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10680,7 +10684,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/array/assertSorted<~lib/string/String | null> (; 209 ;) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted<~lib/string/String | null> (; 210 ;) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -10705,7 +10709,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/string/String#get:length (; 210 ;) (param $0 i32) (result i32) + (func $~lib/string/String#get:length (; 211 ;) (param $0 i32) (result i32) local.get $0 i32.const 16 i32.sub @@ -10713,7 +10717,7 @@ i32.const 1 i32.shr_u ) - (func $~lib/util/string/compareImpl (; 211 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (func $~lib/util/string/compareImpl (; 212 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -10835,7 +10839,7 @@ call $~lib/rt/pure/__release local.get $7 ) - (func $~lib/util/sort/COMPARATOR<~lib/string/String | null>~anonymous|0 (; 212 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR<~lib/string/String | null>~anonymous|0 (; 213 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10941,7 +10945,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $std/array/assertSorted<~lib/string/String | null>|trampoline (; 213 ;) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted<~lib/string/String | null>|trampoline (; 214 ;) (param $0 i32) (param $1 i32) block $1of1 block $0of1 block $outOfRange @@ -10962,7 +10966,7 @@ local.get $1 call $std/array/assertSorted<~lib/string/String | null> ) - (func $~lib/string/String.__eq (; 214 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 215 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -11035,7 +11039,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__ne (; 215 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__ne (; 216 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -11054,7 +11058,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $std/array/isArraysEqual<~lib/string/String | null> (; 216 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual<~lib/string/String | null> (; 217 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -11151,7 +11155,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array<~lib/string/String>#constructor (; 217 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#constructor (; 218 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 if (result i32) local.get $0 @@ -11173,7 +11177,7 @@ i32.store offset=12 local.get $0 ) - (func $~lib/string/String#charAt (; 218 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#charAt (; 219 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 local.get $0 @@ -11199,7 +11203,7 @@ local.get $2 call $~lib/rt/pure/__retain ) - (func $~lib/string/String#concat (; 219 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (; 220 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11275,7 +11279,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/string/String.__concat (; 220 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (; 221 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -11298,7 +11302,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $std/array/createRandomString (; 221 ;) (param $0 i32) (result i32) + (func $std/array/createRandomString (; 222 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -11359,7 +11363,7 @@ end local.get $1 ) - (func $~lib/array/Array<~lib/string/String>#__unchecked_set (; 222 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array<~lib/string/String>#__unchecked_set (; 223 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $2 @@ -11389,7 +11393,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/array/Array<~lib/string/String>#__set (; 223 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array<~lib/string/String>#__set (; 224 ;) (param $0 i32) (param $1 i32) (param $2 i32) local.get $2 call $~lib/rt/pure/__retain local.set $2 @@ -11430,7 +11434,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/array/createRandomStringArray (; 224 ;) (param $0 i32) (result i32) + (func $std/array/createRandomStringArray (; 225 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -11468,7 +11472,7 @@ end local.get $1 ) - (func $~lib/util/sort/insertionSort<~lib/string/String> (; 225 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort<~lib/string/String> (; 226 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -11566,7 +11570,7 @@ end end ) - (func $~lib/array/Array<~lib/string/String>#sort (; 226 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#sort (; 227 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11637,11 +11641,11 @@ local.get $0 call $~lib/rt/pure/__retain ) - (func $~lib/array/Array<~lib/string/String>#get:length (; 227 ;) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#get:length (; 228 ;) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array<~lib/string/String>#__unchecked_get (; 228 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#__unchecked_get (; 229 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -11651,7 +11655,7 @@ i32.load call $~lib/rt/pure/__retain ) - (func $~lib/array/Array<~lib/string/String>#__get (; 229 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#__get (; 230 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 local.get $0 @@ -11683,7 +11687,7 @@ end local.get $2 ) - (func $std/array/isSorted<~lib/string/String> (; 230 ;) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted<~lib/string/String> (; 231 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11750,7 +11754,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/array/assertSorted<~lib/string/String> (; 231 ;) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted<~lib/string/String> (; 232 ;) (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 call $~lib/rt/pure/__retain @@ -11775,7 +11779,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/util/sort/COMPARATOR<~lib/string/String>~anonymous|0 (; 232 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR<~lib/string/String>~anonymous|0 (; 233 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11881,7 +11885,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $std/array/assertSorted<~lib/string/String>|trampoline (; 233 ;) (param $0 i32) (param $1 i32) + (func $std/array/assertSorted<~lib/string/String>|trampoline (; 234 ;) (param $0 i32) (param $1 i32) block $1of1 block $0of1 block $outOfRange @@ -11902,7 +11906,7 @@ local.get $1 call $std/array/assertSorted<~lib/string/String> ) - (func $~lib/string/String#substring (; 234 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#substring (; 235 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -12009,7 +12013,7 @@ local.get $11 call $~lib/rt/pure/__retain ) - (func $~lib/util/string/joinBooleanArray (; 235 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinBooleanArray (; 236 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -12184,7 +12188,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/array/Array#join (; 236 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 237 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12207,7 +12211,7 @@ local.get $4 return ) - (func $~lib/util/number/decimalCount32 (; 237 ;) (param $0 i32) (result i32) + (func $~lib/util/number/decimalCount32 (; 238 ;) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 100000 @@ -12273,59 +12277,55 @@ end unreachable ) - (func $~lib/util/number/utoa32_lut (; 238 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/number/utoa32_lut (; 239 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) + (local $8 i64) (local $9 i64) - (local $10 i64) + (local $10 i32) (local $11 i32) - (local $12 i32) - i32.const 5920 - i32.load offset=4 - local.set $3 loop $while-continue|0 local.get $1 i32.const 10000 i32.ge_u - local.set $4 - local.get $4 + local.set $3 + local.get $3 if local.get $1 i32.const 10000 i32.div_u - local.set $5 + local.set $4 local.get $1 i32.const 10000 i32.rem_u - local.set $6 - local.get $5 + local.set $5 + local.get $4 local.set $1 - local.get $6 + local.get $5 i32.const 100 i32.div_u - local.set $7 - local.get $6 + local.set $6 + local.get $5 i32.const 100 i32.rem_u - local.set $8 - local.get $3 - local.get $7 + local.set $7 + i32.const 5504 + local.get $6 i32.const 2 i32.shl i32.add i64.load32_u - local.set $9 - local.get $3 - local.get $8 + local.set $8 + i32.const 5504 + local.get $7 i32.const 2 i32.shl i32.add i64.load32_u - local.set $10 + local.set $9 local.get $2 i32.const 4 i32.sub @@ -12335,8 +12335,8 @@ i32.const 1 i32.shl i32.add + local.get $8 local.get $9 - local.get $10 i64.const 32 i64.shl i64.or @@ -12351,30 +12351,30 @@ local.get $1 i32.const 100 i32.div_u - local.set $4 + local.set $3 local.get $1 i32.const 100 i32.rem_u - local.set $11 - local.get $4 + local.set $10 + local.get $3 local.set $1 local.get $2 i32.const 2 i32.sub local.set $2 - local.get $3 - local.get $11 + i32.const 5504 + local.get $10 i32.const 2 i32.shl i32.add i32.load - local.set $12 + local.set $11 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store end local.get $1 @@ -12385,19 +12385,19 @@ i32.const 2 i32.sub local.set $2 - local.get $3 + i32.const 5504 local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $12 + local.set $11 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store else local.get $2 @@ -12407,17 +12407,17 @@ i32.const 48 local.get $1 i32.add - local.set $12 + local.set $11 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store16 end ) - (func $~lib/util/number/itoa32 (; 239 ;) (param $0 i32) (result i32) + (func $~lib/util/number/itoa32 (; 240 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -12471,12 +12471,12 @@ local.get $3 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/itoa (; 240 ;) (param $0 i32) (result i32) + (func $~lib/util/number/itoa (; 241 ;) (param $0 i32) (result i32) local.get $0 call $~lib/util/number/itoa32 return ) - (func $~lib/util/number/itoa_stream (; 241 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 242 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -12533,7 +12533,7 @@ end local.get $3 ) - (func $~lib/util/string/joinIntegerArray (; 242 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinIntegerArray (; 243 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -12676,7 +12676,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/array/Array#join (; 243 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 244 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12699,7 +12699,7 @@ local.get $4 return ) - (func $~lib/util/number/utoa32 (; 244 ;) (param $0 i32) (result i32) + (func $~lib/util/number/utoa32 (; 245 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -12733,12 +12733,12 @@ local.get $2 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/itoa (; 245 ;) (param $0 i32) (result i32) + (func $~lib/util/number/itoa (; 246 ;) (param $0 i32) (result i32) local.get $0 call $~lib/util/number/utoa32 return ) - (func $~lib/util/number/itoa_stream (; 246 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 247 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -12775,7 +12775,7 @@ call $~lib/util/number/utoa32_lut local.get $3 ) - (func $~lib/util/string/joinIntegerArray (; 247 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinIntegerArray (; 248 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -12918,7 +12918,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/array/Array#join (; 248 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 249 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12941,25 +12941,7 @@ local.get $4 return ) - (func $~lib/array/Array#__unchecked_get (; 249 ;) (param $0 i32) (param $1 i32) (result i64) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load - ) - (func $~lib/array/Array#__unchecked_get (; 250 ;) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s - ) - (func $~lib/util/number/genDigits (; 251 ;) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (func $~lib/util/number/genDigits (; 250 ;) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) (local $8 i64) (local $9 i64) @@ -12972,17 +12954,16 @@ (local $16 i32) (local $17 i32) (local $18 i32) - (local $19 i32) + (local $19 i64) (local $20 i64) (local $21 i64) (local $22 i64) (local $23 i64) - (local $24 i64) + (local $24 i32) (local $25 i32) (local $26 i32) (local $27 i32) - (local $28 i32) - (local $29 i64) + (local $28 i64) i32.const 0 local.get $4 i32.sub @@ -13017,15 +12998,12 @@ local.set $14 local.get $6 local.set $15 - i32.const 7456 - i32.load offset=4 - local.set $16 loop $while-continue|0 local.get $14 i32.const 0 i32.gt_s - local.set $17 - local.get $17 + local.set $16 + local.get $16 if block $break|1 block $case10|1 @@ -13040,44 +13018,44 @@ block $case1|1 block $case0|1 local.get $14 - local.set $19 - local.get $19 + local.set $18 + local.get $18 i32.const 10 i32.eq br_if $case0|1 - local.get $19 + local.get $18 i32.const 9 i32.eq br_if $case1|1 - local.get $19 + local.get $18 i32.const 8 i32.eq br_if $case2|1 - local.get $19 + local.get $18 i32.const 7 i32.eq br_if $case3|1 - local.get $19 + local.get $18 i32.const 6 i32.eq br_if $case4|1 - local.get $19 + local.get $18 i32.const 5 i32.eq br_if $case5|1 - local.get $19 + local.get $18 i32.const 4 i32.eq br_if $case6|1 - local.get $19 + local.get $18 i32.const 3 i32.eq br_if $case7|1 - local.get $19 + local.get $18 i32.const 2 i32.eq br_if $case8|1 - local.get $19 + local.get $18 i32.const 1 i32.eq br_if $case9|1 @@ -13086,7 +13064,7 @@ local.get $12 i32.const 1000000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 1000000000 i32.rem_u @@ -13096,7 +13074,7 @@ local.get $12 i32.const 100000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 100000000 i32.rem_u @@ -13106,7 +13084,7 @@ local.get $12 i32.const 10000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 10000000 i32.rem_u @@ -13116,7 +13094,7 @@ local.get $12 i32.const 1000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 1000000 i32.rem_u @@ -13126,7 +13104,7 @@ local.get $12 i32.const 100000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 100000 i32.rem_u @@ -13136,7 +13114,7 @@ local.get $12 i32.const 10000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 10000 i32.rem_u @@ -13146,7 +13124,7 @@ local.get $12 i32.const 1000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 1000 i32.rem_u @@ -13156,7 +13134,7 @@ local.get $12 i32.const 100 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 100 i32.rem_u @@ -13166,7 +13144,7 @@ local.get $12 i32.const 10 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 10 i32.rem_u @@ -13174,31 +13152,31 @@ br $break|1 end local.get $12 - local.set $18 + local.set $17 i32.const 0 local.set $12 br $break|1 end i32.const 0 - local.set $18 + local.set $17 br $break|1 end - local.get $18 + local.get $17 local.get $15 i32.or if local.get $0 local.get $15 - local.tee $19 + local.tee $18 i32.const 1 i32.add local.set $15 - local.get $19 + local.get $18 i32.const 1 i32.shl i32.add i32.const 48 - local.get $18 + local.get $17 i32.const 65535 i32.and i32.add @@ -13215,8 +13193,8 @@ i64.shl local.get $13 i64.add - local.set $20 - local.get $20 + local.set $19 + local.get $19 local.get $5 i64.le_u if @@ -13225,14 +13203,14 @@ i32.add global.set $~lib/util/number/_K local.get $0 - local.set $25 + local.set $24 local.get $15 - local.set $19 + local.set $18 local.get $5 - local.set $24 - local.get $20 local.set $23 - local.get $16 + local.get $19 + local.set $22 + i32.const 7296 local.get $14 i32.const 2 i32.shl @@ -13241,71 +13219,71 @@ local.get $7 i64.extend_i32_s i64.shl - local.set $22 - local.get $10 local.set $21 - local.get $25 - local.get $19 + local.get $10 + local.set $20 + local.get $24 + local.get $18 i32.const 1 i32.sub i32.const 1 i32.shl i32.add - local.set $26 - local.get $26 + local.set $25 + local.get $25 i32.load16_u - local.set $27 + local.set $26 loop $while-continue|3 - local.get $23 - local.get $21 + local.get $22 + local.get $20 i64.lt_u if (result i32) - local.get $24 local.get $23 - i64.sub local.get $22 + i64.sub + local.get $21 i64.ge_u else i32.const 0 end if (result i32) - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.lt_u if (result i32) i32.const 1 else - local.get $21 - local.get $23 + local.get $20 + local.get $22 i64.sub - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.sub i64.gt_u end else i32.const 0 end - local.set $28 - local.get $28 + local.set $27 + local.get $27 if - local.get $27 + local.get $26 i32.const 1 i32.sub - local.set $27 - local.get $23 + local.set $26 local.get $22 + local.get $21 i64.add - local.set $23 + local.set $22 br $while-continue|3 end end + local.get $25 local.get $26 - local.get $27 i32.store16 local.get $15 return @@ -13315,8 +13293,8 @@ end loop $while-continue|4 i32.const 1 - local.set $17 - local.get $17 + local.set $16 + local.get $16 if local.get $13 i64.const 10 @@ -13330,8 +13308,8 @@ local.get $7 i64.extend_i32_s i64.shr_u - local.set $24 - local.get $24 + local.set $23 + local.get $23 local.get $15 i64.extend_i32_s i64.or @@ -13340,16 +13318,16 @@ if local.get $0 local.get $15 - local.tee $27 + local.tee $26 i32.const 1 i32.add local.set $15 - local.get $27 + local.get $26 i32.const 1 i32.shl i32.add i32.const 48 - local.get $24 + local.get $23 i32.wrap_i64 i32.const 65535 i32.and @@ -13373,7 +13351,7 @@ i32.add global.set $~lib/util/number/_K local.get $10 - local.get $16 + i32.const 7296 i32.const 0 local.get $14 i32.sub @@ -13384,79 +13362,79 @@ i64.mul local.set $10 local.get $0 - local.set $19 + local.set $18 local.get $15 - local.set $28 + local.set $27 local.get $5 - local.set $29 + local.set $28 local.get $13 - local.set $23 - local.get $8 local.set $22 - local.get $10 + local.get $8 local.set $21 - local.get $19 - local.get $28 + local.get $10 + local.set $20 + local.get $18 + local.get $27 i32.const 1 i32.sub i32.const 1 i32.shl i32.add - local.set $27 - local.get $27 - i32.load16_u local.set $26 + local.get $26 + i32.load16_u + local.set $25 loop $while-continue|6 - local.get $23 - local.get $21 + local.get $22 + local.get $20 i64.lt_u if (result i32) - local.get $29 - local.get $23 - i64.sub + local.get $28 local.get $22 + i64.sub + local.get $21 i64.ge_u else i32.const 0 end if (result i32) - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.lt_u if (result i32) i32.const 1 else - local.get $21 - local.get $23 + local.get $20 + local.get $22 i64.sub - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.sub i64.gt_u end else i32.const 0 end - local.set $25 - local.get $25 + local.set $24 + local.get $24 if - local.get $26 + local.get $25 i32.const 1 i32.sub - local.set $26 - local.get $23 + local.set $25 local.get $22 + local.get $21 i64.add - local.set $23 + local.set $22 br $while-continue|6 end end - local.get $27 local.get $26 + local.get $25 i32.store16 local.get $15 return @@ -13466,7 +13444,7 @@ end local.get $15 ) - (func $~lib/util/number/prettify (; 252 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/prettify (; 251 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -13783,7 +13761,7 @@ end unreachable ) - (func $~lib/util/number/dtoa_core (; 253 ;) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/number/dtoa_core (; 252 ;) (param $0 i32) (param $1 f64) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13948,13 +13926,19 @@ i32.shl i32.sub global.set $~lib/util/number/_K - i32.const 7136 + i32.const 6384 local.get $14 - call $~lib/array/Array#__unchecked_get + i32.const 3 + i32.shl + i32.add + i64.load global.set $~lib/util/number/_frc_pow - i32.const 7360 + i32.const 7104 local.get $14 - call $~lib/array/Array#__unchecked_get + i32.const 1 + i32.shl + i32.add + i32.load16_s global.set $~lib/util/number/_exp_pow local.get $9 i64.clz @@ -14205,7 +14189,7 @@ local.get $2 i32.add ) - (func $~lib/util/number/dtoa (; 254 ;) (param $0 f64) (result i32) + (func $~lib/util/number/dtoa (; 253 ;) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -14213,7 +14197,7 @@ f64.const 0 f64.eq if - i32.const 6272 + i32.const 6240 return end local.get $0 @@ -14227,11 +14211,11 @@ local.get $0 f64.ne if - i32.const 6304 + i32.const 6272 return end - i32.const 6336 - i32.const 6384 + i32.const 6304 + i32.const 6352 local.get $0 f64.const 0 f64.lt @@ -14266,7 +14250,7 @@ call $~lib/rt/tlsf/__free local.get $3 ) - (func $~lib/util/number/dtoa_stream (; 255 ;) (param $0 i32) (param $1 i32) (param $2 f64) (result i32) + (func $~lib/util/number/dtoa_stream (; 254 ;) (param $0 i32) (param $1 i32) (param $2 f64) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -14323,8 +14307,8 @@ i32.add local.set $4 local.get $0 - i32.const 6336 - i32.const 6384 + i32.const 6304 + i32.const 6352 local.get $3 select local.get $4 @@ -14340,7 +14324,7 @@ local.get $2 call $~lib/util/number/dtoa_core ) - (func $~lib/util/string/joinFloatArray (; 256 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinFloatArray (; 255 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -14483,7 +14467,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/array/Array#join (; 257 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 256 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14506,7 +14490,7 @@ local.get $4 return ) - (func $~lib/util/string/joinStringArray (; 258 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinStringArray (; 257 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -14735,7 +14719,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $~lib/array/Array<~lib/string/String | null>#join (; 259 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String | null>#join (; 258 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14758,10 +14742,10 @@ local.get $4 return ) - (func $std/array/Ref#toString (; 260 ;) (param $0 i32) (result i32) - i32.const 7648 + (func $std/array/Ref#toString (; 259 ;) (param $0 i32) (result i32) + i32.const 7520 ) - (func $~lib/util/string/joinReferenceArray (; 261 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinReferenceArray (; 260 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -14972,7 +14956,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/array/Array#join (; 262 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 261 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14995,7 +14979,7 @@ local.get $4 return ) - (func $~lib/util/string/joinReferenceArray (; 263 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinReferenceArray (; 262 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -15206,7 +15190,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/array/Array#join (; 264 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 263 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -15229,12 +15213,12 @@ local.get $4 return ) - (func $~lib/array/Array#toString (; 265 ;) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 264 ;) (param $0 i32) (result i32) local.get $0 i32.const 5360 call $~lib/array/Array#join ) - (func $~lib/util/number/itoa (; 266 ;) (param $0 i32) (result i32) + (func $~lib/util/number/itoa (; 265 ;) (param $0 i32) (result i32) local.get $0 i32.const 24 i32.shl @@ -15243,7 +15227,7 @@ call $~lib/util/number/itoa32 return ) - (func $~lib/util/number/itoa_stream (; 267 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 266 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -15316,7 +15300,7 @@ end local.get $3 ) - (func $~lib/util/string/joinIntegerArray (; 268 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinIntegerArray (; 267 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -15459,7 +15443,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/array/Array#join (; 269 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 268 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -15482,19 +15466,19 @@ local.get $4 return ) - (func $~lib/array/Array#toString (; 270 ;) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 269 ;) (param $0 i32) (result i32) local.get $0 i32.const 5360 call $~lib/array/Array#join ) - (func $~lib/util/number/itoa (; 271 ;) (param $0 i32) (result i32) + (func $~lib/util/number/itoa (; 270 ;) (param $0 i32) (result i32) local.get $0 i32.const 65535 i32.and call $~lib/util/number/utoa32 return ) - (func $~lib/util/number/itoa_stream (; 272 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 271 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -15537,7 +15521,7 @@ call $~lib/util/number/utoa32_lut local.get $3 ) - (func $~lib/util/string/joinIntegerArray (; 273 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinIntegerArray (; 272 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -15680,7 +15664,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/array/Array#join (; 274 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 273 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -15703,12 +15687,12 @@ local.get $4 return ) - (func $~lib/array/Array#toString (; 275 ;) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 274 ;) (param $0 i32) (result i32) local.get $0 i32.const 5360 call $~lib/array/Array#join ) - (func $~lib/util/number/decimalCount64 (; 276 ;) (param $0 i64) (result i32) + (func $~lib/util/number/decimalCount64 (; 275 ;) (param $0 i64) (result i32) (local $1 i32) local.get $0 i64.const 1000000000000000 @@ -15781,80 +15765,76 @@ end unreachable ) - (func $~lib/util/number/utoa64_lut (; 277 ;) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/util/number/utoa64_lut (; 276 ;) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i64) + (local $4 i64) + (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) + (local $12 i64) (local $13 i64) - (local $14 i64) - i32.const 5920 - i32.load offset=4 - local.set $3 loop $while-continue|0 local.get $1 i64.const 100000000 i64.ge_u - local.set $4 - local.get $4 + local.set $3 + local.get $3 if local.get $1 i64.const 100000000 i64.div_u - local.set $5 + local.set $4 local.get $1 - local.get $5 + local.get $4 i64.const 100000000 i64.mul i64.sub i32.wrap_i64 - local.set $6 - local.get $5 + local.set $5 + local.get $4 local.set $1 - local.get $6 + local.get $5 i32.const 10000 i32.div_u - local.set $7 - local.get $6 + local.set $6 + local.get $5 i32.const 10000 i32.rem_u - local.set $8 - local.get $7 + local.set $7 + local.get $6 i32.const 100 i32.div_u - local.set $9 - local.get $7 + local.set $8 + local.get $6 i32.const 100 i32.rem_u - local.set $10 - local.get $8 + local.set $9 + local.get $7 i32.const 100 i32.div_u - local.set $11 - local.get $8 + local.set $10 + local.get $7 i32.const 100 i32.rem_u - local.set $12 - local.get $3 - local.get $11 + local.set $11 + i32.const 5504 + local.get $10 i32.const 2 i32.shl i32.add i64.load32_u - local.set $13 - local.get $3 - local.get $12 + local.set $12 + i32.const 5504 + local.get $11 i32.const 2 i32.shl i32.add i64.load32_u - local.set $14 + local.set $13 local.get $2 i32.const 4 i32.sub @@ -15864,26 +15844,26 @@ i32.const 1 i32.shl i32.add + local.get $12 local.get $13 - local.get $14 i64.const 32 i64.shl i64.or i64.store - local.get $3 - local.get $9 + i32.const 5504 + local.get $8 i32.const 2 i32.shl i32.add i64.load32_u - local.set $13 - local.get $3 - local.get $10 + local.set $12 + i32.const 5504 + local.get $9 i32.const 2 i32.shl i32.add i64.load32_u - local.set $14 + local.set $13 local.get $2 i32.const 4 i32.sub @@ -15893,8 +15873,8 @@ i32.const 1 i32.shl i32.add + local.get $12 local.get $13 - local.get $14 i64.const 32 i64.shl i64.or @@ -15908,7 +15888,7 @@ local.get $2 call $~lib/util/number/utoa32_lut ) - (func $~lib/util/number/utoa64 (; 278 ;) (param $0 i64) (result i32) + (func $~lib/util/number/utoa64 (; 277 ;) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -15974,12 +15954,12 @@ local.get $1 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/itoa (; 279 ;) (param $0 i64) (result i32) + (func $~lib/util/number/itoa (; 278 ;) (param $0 i64) (result i32) local.get $0 call $~lib/util/number/utoa64 return ) - (func $~lib/util/number/itoa_stream (; 280 ;) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) + (func $~lib/util/number/itoa_stream (; 279 ;) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -16042,7 +16022,7 @@ end local.get $3 ) - (func $~lib/util/string/joinIntegerArray (; 281 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinIntegerArray (; 280 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -16185,7 +16165,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/array/Array#join (; 282 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 281 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -16208,12 +16188,12 @@ local.get $4 return ) - (func $~lib/array/Array#toString (; 283 ;) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 282 ;) (param $0 i32) (result i32) local.get $0 i32.const 5360 call $~lib/array/Array#join ) - (func $~lib/util/number/itoa64 (; 284 ;) (param $0 i64) (result i32) + (func $~lib/util/number/itoa64 (; 283 ;) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -16301,12 +16281,12 @@ local.get $2 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/itoa (; 285 ;) (param $0 i64) (result i32) + (func $~lib/util/number/itoa (; 284 ;) (param $0 i64) (result i32) local.get $0 call $~lib/util/number/itoa64 return ) - (func $~lib/util/number/itoa_stream (; 286 ;) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) + (func $~lib/util/number/itoa_stream (; 285 ;) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -16391,7 +16371,7 @@ end local.get $3 ) - (func $~lib/util/string/joinIntegerArray (; 287 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinIntegerArray (; 286 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -16534,7 +16514,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/array/Array#join (; 288 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 287 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -16557,17 +16537,17 @@ local.get $4 return ) - (func $~lib/array/Array#toString (; 289 ;) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 288 ;) (param $0 i32) (result i32) local.get $0 i32.const 5360 call $~lib/array/Array#join ) - (func $~lib/array/Array<~lib/string/String | null>#toString (; 290 ;) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/string/String | null>#toString (; 289 ;) (param $0 i32) (result i32) local.get $0 i32.const 5360 call $~lib/array/Array<~lib/string/String | null>#join ) - (func $~lib/util/string/joinReferenceArray<~lib/array/Array> (; 291 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinReferenceArray<~lib/array/Array> (; 290 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -16778,7 +16758,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/array/Array<~lib/array/Array>#join (; 292 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#join (; 291 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -16801,19 +16781,19 @@ local.get $4 return ) - (func $~lib/array/Array<~lib/array/Array>#toString (; 293 ;) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#toString (; 292 ;) (param $0 i32) (result i32) local.get $0 i32.const 5360 call $~lib/array/Array<~lib/array/Array>#join ) - (func $~lib/util/number/itoa (; 294 ;) (param $0 i32) (result i32) + (func $~lib/util/number/itoa (; 293 ;) (param $0 i32) (result i32) local.get $0 i32.const 255 i32.and call $~lib/util/number/utoa32 return ) - (func $~lib/util/number/itoa_stream (; 295 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 294 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -16856,7 +16836,7 @@ call $~lib/util/number/utoa32_lut local.get $3 ) - (func $~lib/util/string/joinIntegerArray (; 296 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinIntegerArray (; 295 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -16999,7 +16979,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/array/Array#join (; 297 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (; 296 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -17022,12 +17002,12 @@ local.get $4 return ) - (func $~lib/array/Array#toString (; 298 ;) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 297 ;) (param $0 i32) (result i32) local.get $0 i32.const 5360 call $~lib/array/Array#join ) - (func $~lib/util/string/joinReferenceArray<~lib/array/Array> (; 299 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinReferenceArray<~lib/array/Array> (; 298 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -17238,7 +17218,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/array/Array<~lib/array/Array>#join (; 300 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#join (; 299 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -17261,17 +17241,17 @@ local.get $4 return ) - (func $~lib/array/Array<~lib/array/Array>#toString (; 301 ;) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#toString (; 300 ;) (param $0 i32) (result i32) local.get $0 i32.const 5360 call $~lib/array/Array<~lib/array/Array>#join ) - (func $~lib/array/Array#toString (; 302 ;) (param $0 i32) (result i32) + (func $~lib/array/Array#toString (; 301 ;) (param $0 i32) (result i32) local.get $0 i32.const 5360 call $~lib/array/Array#join ) - (func $~lib/util/string/joinReferenceArray<~lib/array/Array> (; 303 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinReferenceArray<~lib/array/Array> (; 302 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -17482,7 +17462,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/array/Array<~lib/array/Array>#join (; 304 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#join (; 303 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -17505,12 +17485,12 @@ local.get $4 return ) - (func $~lib/array/Array<~lib/array/Array>#toString (; 305 ;) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#toString (; 304 ;) (param $0 i32) (result i32) local.get $0 i32.const 5360 call $~lib/array/Array<~lib/array/Array>#join ) - (func $~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> (; 306 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> (; 305 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -17721,7 +17701,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join (; 307 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join (; 306 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -17744,12 +17724,12 @@ local.get $4 return ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#toString (; 308 ;) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#toString (; 307 ;) (param $0 i32) (result i32) local.get $0 i32.const 5360 call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join ) - (func $start:std/array (; 309 ;) + (func $start:std/array (; 308 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -17809,13 +17789,6 @@ (local $56 i32) (local $57 i32) (local $58 i32) - (local $59 i32) - (local $60 i32) - (local $61 i32) - (local $62 i32) - (local $63 i32) - (local $64 i32) - (local $65 i32) i32.const 0 i32.const 0 call $~lib/array/Array#constructor @@ -18488,15 +18461,11 @@ i32.const 0 i32.const 0 call $std/array/Ref#constructor - local.tee $2 - call $~lib/rt/pure/__retain i32.store local.get $0 i32.const 0 i32.const 0 call $std/array/Ref#constructor - local.tee $3 - call $~lib/rt/pure/__retain i32.store offset=4 local.get $1 local.set $0 @@ -18516,10 +18485,6 @@ call $~lib/builtins/abort unreachable end - local.get $2 - call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release local.get $0 call $~lib/rt/pure/__release i32.const 0 @@ -18529,7 +18494,7 @@ global.get $std/array/arr local.get $0 call $~lib/array/Array#concat - local.set $3 + local.set $1 global.get $std/array/arr call $std/array/internalCapacity i32.const 3 @@ -18556,7 +18521,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $1 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -18569,14 +18534,14 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $1 i32.const 0 i32.const 2 i32.const 3 i32.const 1024 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $1 + local.tee $3 call $~lib/array/Array#concat call $~lib/rt/pure/__release global.get $std/array/arr @@ -18592,7 +18557,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $1 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -18606,7 +18571,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $1 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -18620,7 +18585,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $1 i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -18646,10 +18611,10 @@ local.get $0 call $~lib/array/Array#concat local.set $6 - local.get $3 + local.get $1 call $~lib/rt/pure/__release local.get $6 - local.set $3 + local.set $1 global.get $std/array/arr call $std/array/internalCapacity i32.const 3 @@ -18676,7 +18641,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $1 call $~lib/array/Array#get:length i32.const 5 i32.eq @@ -18689,7 +18654,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $1 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -18703,7 +18668,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $1 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -18717,7 +18682,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $1 i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -18731,7 +18696,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $1 i32.const 3 call $~lib/array/Array#__get i32.const 46 @@ -18745,7 +18710,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $1 i32.const 4 call $~lib/array/Array#__get i32.const 47 @@ -18759,10 +18724,10 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $1 call $~lib/array/Array#pop drop - local.get $3 + local.get $1 call $~lib/array/Array#get:length i32.const 4 i32.eq @@ -18799,11 +18764,11 @@ global.get $std/array/arr call $~lib/array/Array#concat local.set $5 - local.get $3 + local.get $1 call $~lib/rt/pure/__release local.get $5 - local.set $3 - local.get $3 + local.set $1 + local.get $1 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -18831,10 +18796,10 @@ end local.get $0 call $~lib/rt/pure/__release - local.get $3 - call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release + local.get $3 + call $~lib/rt/pure/__release local.get $2 call $~lib/rt/pure/__release i32.const 5 @@ -18843,8 +18808,8 @@ i32.const 1056 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $1 - local.get $1 + local.set $3 + local.get $3 i32.const 0 i32.const 3 i32.const 2147483647 @@ -18875,11 +18840,11 @@ call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.set $4 - local.get $1 + local.get $3 call $~lib/rt/pure/__release local.get $4 - local.set $1 - local.get $1 + local.set $3 + local.get $3 i32.const 1 i32.const 3 i32.const 2147483647 @@ -18891,7 +18856,7 @@ i32.const 1200 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $3 + local.tee $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -18910,11 +18875,11 @@ call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.set $5 - local.get $1 + local.get $3 call $~lib/rt/pure/__release local.get $5 - local.set $1 - local.get $1 + local.set $3 + local.get $3 i32.const 1 i32.const 2 i32.const 2147483647 @@ -18945,11 +18910,11 @@ call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.set $6 - local.get $1 + local.get $3 call $~lib/rt/pure/__release local.get $6 - local.set $1 - local.get $1 + local.set $3 + local.get $3 i32.const 2 i32.const 2 i32.const 2147483647 @@ -18980,11 +18945,11 @@ call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.set $8 - local.get $1 + local.get $3 call $~lib/rt/pure/__release local.get $8 - local.set $1 - local.get $1 + local.set $3 + local.get $3 i32.const 0 i32.const 3 i32.const 4 @@ -19015,11 +18980,11 @@ call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.set $10 - local.get $1 + local.get $3 call $~lib/rt/pure/__release local.get $10 - local.set $1 - local.get $1 + local.set $3 + local.get $3 i32.const 1 i32.const 3 i32.const 4 @@ -19050,11 +19015,11 @@ call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.set $12 - local.get $1 + local.get $3 call $~lib/rt/pure/__release local.get $12 - local.set $1 - local.get $1 + local.set $3 + local.get $3 i32.const 1 i32.const 2 i32.const 4 @@ -19085,11 +19050,11 @@ call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.set $14 - local.get $1 + local.get $3 call $~lib/rt/pure/__release local.get $14 - local.set $1 - local.get $1 + local.set $3 + local.get $3 i32.const 0 i32.const -2 i32.const 2147483647 @@ -19120,11 +19085,11 @@ call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.set $16 - local.get $1 + local.get $3 call $~lib/rt/pure/__release local.get $16 - local.set $1 - local.get $1 + local.set $3 + local.get $3 i32.const 0 i32.const -2 i32.const -1 @@ -19155,11 +19120,11 @@ call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.set $18 - local.get $1 + local.get $3 call $~lib/rt/pure/__release local.get $18 - local.set $1 - local.get $1 + local.set $3 + local.get $3 i32.const -4 i32.const -3 i32.const -2 @@ -19190,11 +19155,11 @@ call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.set $20 - local.get $1 + local.get $3 call $~lib/rt/pure/__release local.get $20 - local.set $1 - local.get $1 + local.set $3 + local.get $3 i32.const -4 i32.const -3 i32.const -1 @@ -19225,11 +19190,11 @@ call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.set $22 - local.get $1 + local.get $3 call $~lib/rt/pure/__release local.get $22 - local.set $1 - local.get $1 + local.set $3 + local.get $3 i32.const -4 i32.const -3 i32.const 2147483647 @@ -19253,7 +19218,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $3 call $~lib/rt/pure/__release local.get $2 call $~lib/rt/pure/__release @@ -19261,7 +19226,7 @@ call $~lib/rt/pure/__release local.get $4 call $~lib/rt/pure/__release - local.get $3 + local.get $1 call $~lib/rt/pure/__release local.get $5 call $~lib/rt/pure/__release @@ -20343,16 +20308,16 @@ i32.const 2560 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $1 + local.set $3 local.get $25 call $~lib/rt/pure/__release - local.get $1 + local.get $3 local.set $25 local.get $25 i32.const 2 i32.const 2147483647 call $~lib/array/Array#splice - local.tee $1 + local.tee $3 i32.const 3 i32.const 2 i32.const 3 @@ -20555,16 +20520,16 @@ i32.const 3008 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $3 + local.set $1 local.get $25 call $~lib/rt/pure/__release - local.get $3 + local.get $1 local.set $25 local.get $25 i32.const -2 i32.const 2147483647 call $~lib/array/Array#splice - local.tee $3 + local.tee $1 i32.const 2 i32.const 2 i32.const 3 @@ -21025,36 +20990,26 @@ i32.const 0 i32.const 1 call $std/array/Ref#constructor - local.tee $47 - call $~lib/rt/pure/__retain i32.store local.get $41 i32.const 0 i32.const 2 call $std/array/Ref#constructor - local.tee $48 - call $~lib/rt/pure/__retain i32.store offset=4 local.get $41 i32.const 0 i32.const 3 call $std/array/Ref#constructor - local.tee $49 - call $~lib/rt/pure/__retain i32.store offset=8 local.get $41 i32.const 0 i32.const 4 call $std/array/Ref#constructor - local.tee $50 - call $~lib/rt/pure/__retain i32.store offset=12 local.get $41 i32.const 0 i32.const 5 call $std/array/Ref#constructor - local.tee $51 - call $~lib/rt/pure/__retain i32.store offset=16 local.get $44 local.set $44 @@ -21132,7 +21087,7 @@ local.get $45 i32.const 0 call $~lib/array/Array#__get - local.tee $52 + local.tee $47 i32.load i32.const 1 i32.eq @@ -21148,7 +21103,7 @@ local.get $45 i32.const 1 call $~lib/array/Array#__get - local.tee $53 + local.tee $48 i32.load i32.const 2 i32.eq @@ -21164,7 +21119,7 @@ local.get $45 i32.const 2 call $~lib/array/Array#__get - local.tee $54 + local.tee $49 i32.load i32.const 5 i32.eq @@ -21183,36 +21138,32 @@ i32.const 0 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $55 - local.get $55 + local.set $50 + local.get $50 i32.load offset=4 - local.set $56 - local.get $56 + local.set $51 + local.get $51 i32.const 0 i32.const 1 call $std/array/Ref#constructor - local.tee $57 - call $~lib/rt/pure/__retain i32.store - local.get $56 + local.get $51 i32.const 0 call $~lib/rt/pure/__retain i32.store offset=4 - local.get $56 + local.get $51 i32.const 0 i32.const 2 call $std/array/Ref#constructor - local.tee $58 - call $~lib/rt/pure/__retain i32.store offset=8 - local.get $55 - local.set $59 - local.get $59 + local.get $50 + local.set $52 + local.get $52 i32.const 0 i32.const 1 call $~lib/array/Array#splice - local.set $60 - local.get $60 + local.set $53 + local.get $53 call $~lib/array/Array#get:length i32.const 1 i32.eq @@ -21225,13 +21176,13 @@ call $~lib/builtins/abort unreachable end - local.get $60 + local.get $53 i32.const 0 call $~lib/array/Array#__get - local.tee $56 - local.tee $55 + local.tee $51 + local.tee $50 if (result i32) - local.get $55 + local.get $50 else i32.const 0 i32.const 304 @@ -21252,7 +21203,7 @@ call $~lib/builtins/abort unreachable end - local.get $59 + local.get $52 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -21265,10 +21216,10 @@ call $~lib/builtins/abort unreachable end - local.get $59 + local.get $52 i32.const 0 call $~lib/array/Array#__get - local.tee $55 + local.tee $50 i32.const 0 i32.eq i32.eqz @@ -21280,13 +21231,13 @@ call $~lib/builtins/abort unreachable end - local.get $59 + local.get $52 i32.const 1 call $~lib/array/Array#__get - local.tee $61 - local.tee $62 + local.tee $54 + local.tee $55 if (result i32) - local.get $62 + local.get $55 else i32.const 0 i32.const 304 @@ -21321,7 +21272,7 @@ call $~lib/rt/pure/__release local.get $19 call $~lib/rt/pure/__release - local.get $1 + local.get $3 call $~lib/rt/pure/__release local.get $18 call $~lib/rt/pure/__release @@ -21345,7 +21296,7 @@ call $~lib/rt/pure/__release local.get $11 call $~lib/rt/pure/__release - local.get $3 + local.get $1 call $~lib/rt/pure/__release local.get $10 call $~lib/rt/pure/__release @@ -21393,36 +21344,22 @@ call $~lib/rt/pure/__release local.get $43 call $~lib/rt/pure/__release + local.get $41 + call $~lib/rt/pure/__release + local.get $44 + call $~lib/rt/pure/__release local.get $47 call $~lib/rt/pure/__release local.get $48 call $~lib/rt/pure/__release local.get $49 call $~lib/rt/pure/__release - local.get $50 - call $~lib/rt/pure/__release local.get $51 call $~lib/rt/pure/__release - local.get $41 - call $~lib/rt/pure/__release - local.get $44 - call $~lib/rt/pure/__release - local.get $52 - call $~lib/rt/pure/__release - local.get $53 + local.get $50 call $~lib/rt/pure/__release local.get $54 call $~lib/rt/pure/__release - local.get $57 - call $~lib/rt/pure/__release - local.get $58 - call $~lib/rt/pure/__release - local.get $56 - call $~lib/rt/pure/__release - local.get $55 - call $~lib/rt/pure/__release - local.get $61 - call $~lib/rt/pure/__release global.get $std/array/arr i32.const 0 i32.const 0 @@ -21584,8 +21521,8 @@ global.get $std/array/arr i32.const 7 call $~lib/array/Array#every - local.set $61 - local.get $61 + local.set $54 + local.get $54 i32.const 1 i32.eq i32.eqz @@ -21600,8 +21537,8 @@ global.get $std/array/arr i32.const 8 call $~lib/array/Array#every - local.set $61 - local.get $61 + local.set $54 + local.get $54 i32.const 0 i32.eq i32.eqz @@ -21616,8 +21553,8 @@ global.get $std/array/arr i32.const 9 call $~lib/array/Array#every - local.set $61 - local.get $61 + local.set $54 + local.get $54 i32.const 1 i32.eq i32.eqz @@ -21645,8 +21582,8 @@ global.get $std/array/arr i32.const 10 call $~lib/array/Array#every - local.set $61 - local.get $61 + local.set $54 + local.get $54 i32.const 0 i32.eq i32.eqz @@ -21673,8 +21610,8 @@ global.get $std/array/arr i32.const 11 call $~lib/array/Array#every - local.set $61 - local.get $61 + local.set $54 + local.get $54 i32.const 1 i32.eq i32.eqz @@ -21710,8 +21647,8 @@ global.get $std/array/arr i32.const 12 call $~lib/array/Array#some - local.set $61 - local.get $61 + local.set $54 + local.get $54 i32.const 1 i32.eq i32.eqz @@ -21726,8 +21663,8 @@ global.get $std/array/arr i32.const 13 call $~lib/array/Array#some - local.set $61 - local.get $61 + local.set $54 + local.get $54 i32.const 0 i32.eq i32.eqz @@ -21742,8 +21679,8 @@ global.get $std/array/arr i32.const 14 call $~lib/array/Array#some - local.set $61 - local.get $61 + local.set $54 + local.get $54 i32.const 0 i32.eq i32.eqz @@ -21771,8 +21708,8 @@ global.get $std/array/arr i32.const 15 call $~lib/array/Array#some - local.set $61 - local.get $61 + local.set $54 + local.get $54 i32.const 1 i32.eq i32.eqz @@ -21799,8 +21736,8 @@ global.get $std/array/arr i32.const 16 call $~lib/array/Array#some - local.set $61 - local.get $61 + local.set $54 + local.get $54 i32.const 0 i32.eq i32.eqz @@ -21964,21 +21901,21 @@ unreachable end i32.const 0 - local.set $61 + local.set $54 loop $for-loop|0 - local.get $61 + local.get $54 i32.const 100 i32.lt_s - local.set $55 - local.get $55 + local.set $50 + local.get $50 if global.get $std/array/arr call $~lib/array/Array#pop drop - local.get $61 + local.get $54 i32.const 1 i32.add - local.set $61 + local.set $54 br $for-loop|0 end end @@ -22001,8 +21938,8 @@ global.get $std/array/arr i32.const 22 call $~lib/array/Array#map - local.set $61 - local.get $61 + local.set $54 + local.get $54 call $~lib/array/Array#get:length i32.const 4 i32.eq @@ -22015,7 +21952,7 @@ call $~lib/builtins/abort unreachable end - local.get $61 + local.get $54 i32.const 0 call $~lib/array/Array#__get global.get $std/array/arr @@ -22132,13 +22069,13 @@ i32.const 3 call $~lib/array/Array#push drop - local.get $61 + local.get $54 call $~lib/rt/pure/__release global.get $std/array/arr i32.const 26 call $~lib/array/Array#filter - local.set $61 - local.get $61 + local.set $54 + local.get $54 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -22251,7 +22188,7 @@ i32.const 3 call $~lib/array/Array#push drop - local.get $61 + local.get $54 call $~lib/rt/pure/__release global.get $std/array/arr i32.const 30 @@ -22291,8 +22228,8 @@ i32.const 32 i32.const 0 call $~lib/array/Array#reduce - local.set $61 - local.get $61 + local.set $54 + local.get $54 i32.const 0 i32.ne i32.const 1 @@ -22310,8 +22247,8 @@ i32.const 33 i32.const 0 call $~lib/array/Array#reduce - local.set $61 - local.get $61 + local.set $54 + local.get $54 i32.const 0 i32.ne i32.const 0 @@ -22460,8 +22397,8 @@ i32.const 39 i32.const 0 call $~lib/array/Array#reduceRight - local.set $61 - local.get $61 + local.set $54 + local.get $54 i32.const 0 i32.ne i32.const 1 @@ -22479,8 +22416,8 @@ i32.const 40 i32.const 0 call $~lib/array/Array#reduceRight - local.set $61 - local.get $61 + local.set $54 + local.get $54 i32.const 0 i32.ne i32.const 0 @@ -22608,21 +22545,21 @@ i32.const 4272 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $55 + local.set $50 i32.const 0 global.set $~argumentsLength - local.get $55 + local.get $50 i32.const 0 call $~lib/array/Array#sort|trampoline call $~lib/rt/pure/__release - local.get $55 + local.get $50 i32.const 8 i32.const 2 i32.const 9 i32.const 4320 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $56 + local.tee $51 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22640,21 +22577,21 @@ i32.const 4368 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $58 + local.set $49 i32.const 0 global.set $~argumentsLength - local.get $58 + local.get $49 i32.const 0 call $~lib/array/Array#sort|trampoline call $~lib/rt/pure/__release - local.get $58 + local.get $49 i32.const 8 i32.const 3 i32.const 10 i32.const 4448 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $57 + local.tee $48 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22672,21 +22609,21 @@ i32.const 4528 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $54 + local.set $47 i32.const 0 global.set $~argumentsLength - local.get $54 + local.get $47 i32.const 0 call $~lib/array/Array#sort|trampoline call $~lib/rt/pure/__release - local.get $54 + local.get $47 i32.const 5 i32.const 2 i32.const 3 i32.const 4576 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $53 + local.tee $44 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22704,21 +22641,21 @@ i32.const 4624 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $52 + local.set $41 i32.const 0 global.set $~argumentsLength - local.get $52 + local.get $41 i32.const 0 call $~lib/array/Array#sort|trampoline call $~lib/rt/pure/__release - local.get $52 + local.get $41 i32.const 5 i32.const 2 i32.const 7 i32.const 4672 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $44 + local.tee $43 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22736,62 +22673,62 @@ i32.const 4720 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $41 + local.set $42 i32.const 1 i32.const 2 i32.const 3 i32.const 4736 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $51 + local.set $38 i32.const 2 i32.const 2 i32.const 3 i32.const 4768 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $50 + local.set $40 i32.const 4 i32.const 2 i32.const 3 i32.const 4800 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $49 + local.set $39 i32.const 4 i32.const 2 i32.const 3 i32.const 4832 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $48 + local.set $35 i32.const 64 call $std/array/createReverseOrderedArray - local.set $61 + local.set $54 i32.const 128 call $std/array/createReverseOrderedArray - local.set $47 + local.set $37 i32.const 1024 call $std/array/createReverseOrderedArray - local.set $43 + local.set $36 i32.const 10000 call $std/array/createReverseOrderedArray - local.set $42 + local.set $32 i32.const 512 call $std/array/createRandomOrderedArray - local.set $38 - local.get $41 + local.set $34 + local.get $42 call $std/array/assertSortedDefault - local.get $51 + local.get $38 call $std/array/assertSortedDefault - local.get $51 + local.get $38 i32.const 1 i32.const 2 i32.const 3 i32.const 4928 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $39 + local.tee $29 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22803,16 +22740,16 @@ call $~lib/builtins/abort unreachable end - local.get $50 + local.get $40 call $std/array/assertSortedDefault - local.get $50 + local.get $40 i32.const 2 i32.const 2 i32.const 3 i32.const 4960 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $35 + local.tee $31 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22824,10 +22761,10 @@ call $~lib/builtins/abort unreachable end - local.get $49 + local.get $39 call $std/array/assertSortedDefault - local.get $49 - local.get $48 + local.get $39 + local.get $35 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22839,10 +22776,10 @@ call $~lib/builtins/abort unreachable end - local.get $61 + local.get $54 call $std/array/assertSortedDefault - local.get $61 - local.get $48 + local.get $54 + local.get $35 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -22854,10 +22791,10 @@ call $~lib/builtins/abort unreachable end - local.get $47 + local.get $37 call $std/array/assertSortedDefault - local.get $47 - local.get $48 + local.get $37 + local.get $35 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -22869,10 +22806,10 @@ call $~lib/builtins/abort unreachable end - local.get $43 + local.get $36 call $std/array/assertSortedDefault - local.get $43 - local.get $48 + local.get $36 + local.get $35 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -22884,10 +22821,10 @@ call $~lib/builtins/abort unreachable end - local.get $42 + local.get $32 call $std/array/assertSortedDefault - local.get $42 - local.get $48 + local.get $32 + local.get $35 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -22899,85 +22836,85 @@ call $~lib/builtins/abort unreachable end - local.get $38 + local.get $34 call $std/array/assertSortedDefault - local.get $55 - call $~lib/rt/pure/__release - local.get $56 - call $~lib/rt/pure/__release - local.get $58 + local.get $50 call $~lib/rt/pure/__release - local.get $57 + local.get $51 call $~lib/rt/pure/__release - local.get $54 + local.get $49 call $~lib/rt/pure/__release - local.get $53 + local.get $48 call $~lib/rt/pure/__release - local.get $52 + local.get $47 call $~lib/rt/pure/__release local.get $44 call $~lib/rt/pure/__release local.get $41 call $~lib/rt/pure/__release - local.get $51 + local.get $43 call $~lib/rt/pure/__release - local.get $50 + local.get $42 call $~lib/rt/pure/__release - local.get $49 + local.get $38 call $~lib/rt/pure/__release - local.get $48 + local.get $40 call $~lib/rt/pure/__release - local.get $61 + local.get $39 call $~lib/rt/pure/__release - local.get $47 + local.get $35 call $~lib/rt/pure/__release - local.get $43 + local.get $54 call $~lib/rt/pure/__release - local.get $42 + local.get $37 call $~lib/rt/pure/__release - local.get $38 + local.get $36 call $~lib/rt/pure/__release - local.get $39 + local.get $32 call $~lib/rt/pure/__release - local.get $35 + local.get $34 + call $~lib/rt/pure/__release + local.get $29 + call $~lib/rt/pure/__release + local.get $31 call $~lib/rt/pure/__release i32.const 64 call $std/array/createRandomOrderedArray - local.set $35 + local.set $31 i32.const 257 call $std/array/createRandomOrderedArray - local.set $39 - local.get $35 + local.set $29 + local.get $31 i32.const 49 call $std/array/assertSorted - local.get $35 + local.get $31 i32.const 50 call $std/array/assertSorted - local.get $39 + local.get $29 i32.const 51 call $std/array/assertSorted - local.get $39 + local.get $29 i32.const 52 call $std/array/assertSorted - local.get $35 + local.get $31 call $~lib/rt/pure/__release - local.get $39 + local.get $29 call $~lib/rt/pure/__release i32.const 2 call $std/array/createReverseOrderedNestedArray - local.set $39 - local.get $39 + local.set $29 + local.get $29 i32.const 53 call $std/array/assertSorted<~lib/array/Array> - local.get $39 + local.get $29 call $~lib/rt/pure/__release i32.const 512 call $std/array/createReverseOrderedElementsArray - local.set $39 - local.get $39 + local.set $29 + local.get $29 i32.const 54 call $std/array/assertSorted> - local.get $39 + local.get $29 call $~lib/rt/pure/__release i32.const 7 i32.const 2 @@ -22985,21 +22922,21 @@ i32.const 5136 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $35 + local.set $31 i32.const 7 i32.const 2 i32.const 15 i32.const 5184 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $38 + local.set $34 i32.const 1 global.set $~argumentsLength - local.get $35 + local.get $31 i32.const 0 call $std/array/assertSorted<~lib/string/String | null>|trampoline - local.get $35 - local.get $38 + local.get $31 + local.get $34 i32.const 0 call $std/array/isArraysEqual<~lib/string/String | null> i32.eqz @@ -23013,17 +22950,17 @@ end i32.const 400 call $std/array/createRandomStringArray - local.set $39 + local.set $29 i32.const 1 global.set $~argumentsLength - local.get $39 + local.get $29 i32.const 0 call $std/array/assertSorted<~lib/string/String>|trampoline - local.get $35 + local.get $31 call $~lib/rt/pure/__release - local.get $38 + local.get $34 call $~lib/rt/pure/__release - local.get $39 + local.get $29 call $~lib/rt/pure/__release i32.const 2 i32.const 0 @@ -23031,10 +22968,10 @@ i32.const 5264 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $38 + local.tee $34 i32.const 5360 call $~lib/array/Array#join - local.tee $39 + local.tee $29 i32.const 5392 call $~lib/string/String.__eq i32.eqz @@ -23052,11 +22989,11 @@ i32.const 5440 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $42 + local.tee $32 i32.const 5120 call $~lib/array/Array#join - local.tee $35 - i32.const 5952 + local.tee $31 + i32.const 5920 call $~lib/string/String.__eq i32.eqz if @@ -23070,14 +23007,14 @@ i32.const 3 i32.const 2 i32.const 7 - i32.const 5984 + i32.const 5952 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $47 - i32.const 6016 + local.tee $37 + i32.const 5984 call $~lib/array/Array#join - local.tee $43 - i32.const 5952 + local.tee $36 + i32.const 5920 call $~lib/string/String.__eq i32.eqz if @@ -23091,14 +23028,14 @@ i32.const 2 i32.const 2 i32.const 3 - i32.const 6048 + i32.const 6016 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $48 - i32.const 6080 + local.tee $35 + i32.const 6048 call $~lib/array/Array#join - local.tee $61 - i32.const 6112 + local.tee $54 + i32.const 6080 call $~lib/string/String.__eq i32.eqz if @@ -23112,14 +23049,14 @@ i32.const 6 i32.const 3 i32.const 10 - i32.const 6176 + i32.const 6144 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $50 - i32.const 6240 + local.tee $40 + i32.const 6208 call $~lib/array/Array#join - local.tee $49 - i32.const 7488 + local.tee $39 + i32.const 7360 call $~lib/string/String.__eq i32.eqz if @@ -23133,14 +23070,14 @@ i32.const 3 i32.const 2 i32.const 15 - i32.const 7616 + i32.const 7488 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $41 + local.tee $42 i32.const 5120 call $~lib/array/Array<~lib/string/String | null>#join - local.tee $51 - i32.const 7584 + local.tee $38 + i32.const 7456 call $~lib/string/String.__eq i32.eqz if @@ -23157,35 +23094,31 @@ i32.const 0 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $44 - local.get $44 + local.set $43 + local.get $43 i32.load offset=4 - local.set $52 - local.get $52 + local.set $41 + local.get $41 i32.const 0 i32.const 0 call $std/array/Ref#constructor - local.tee $53 - call $~lib/rt/pure/__retain i32.store - local.get $52 + local.get $41 i32.const 0 call $~lib/rt/pure/__retain i32.store offset=4 - local.get $52 + local.get $41 i32.const 0 i32.const 0 call $std/array/Ref#constructor - local.tee $54 - call $~lib/rt/pure/__retain i32.store offset=8 - local.get $44 - local.set $52 - local.get $52 + local.get $43 + local.set $41 + local.get $41 i32.const 5360 call $~lib/array/Array#join - local.tee $44 - i32.const 7696 + local.tee $43 + i32.const 7568 call $~lib/string/String.__eq i32.eqz if @@ -23202,31 +23135,27 @@ i32.const 0 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $57 - local.get $57 + local.set $44 + local.get $44 i32.load offset=4 - local.set $58 - local.get $58 + local.set $47 + local.get $47 i32.const 0 i32.const 0 call $std/array/Ref#constructor - local.tee $56 - call $~lib/rt/pure/__retain i32.store - local.get $58 + local.get $47 i32.const 0 i32.const 0 call $std/array/Ref#constructor - local.tee $55 - call $~lib/rt/pure/__retain i32.store offset=4 - local.get $57 - local.set $58 - local.get $58 + local.get $44 + local.set $47 + local.get $47 i32.const 5360 call $~lib/array/Array#join - local.tee $57 - i32.const 7776 + local.tee $44 + i32.const 7648 call $~lib/string/String.__eq i32.eqz if @@ -23237,77 +23166,69 @@ call $~lib/builtins/abort unreachable end - local.get $38 + local.get $34 call $~lib/rt/pure/__release - local.get $39 + local.get $29 call $~lib/rt/pure/__release - local.get $42 + local.get $32 call $~lib/rt/pure/__release - local.get $35 + local.get $31 call $~lib/rt/pure/__release - local.get $47 + local.get $37 call $~lib/rt/pure/__release - local.get $43 + local.get $36 call $~lib/rt/pure/__release - local.get $48 + local.get $35 call $~lib/rt/pure/__release - local.get $61 + local.get $54 call $~lib/rt/pure/__release - local.get $50 + local.get $40 call $~lib/rt/pure/__release - local.get $49 + local.get $39 call $~lib/rt/pure/__release - local.get $41 + local.get $42 call $~lib/rt/pure/__release - local.get $51 + local.get $38 call $~lib/rt/pure/__release - local.get $53 + local.get $41 call $~lib/rt/pure/__release - local.get $54 + local.get $43 call $~lib/rt/pure/__release - local.get $52 + local.get $47 call $~lib/rt/pure/__release local.get $44 call $~lib/rt/pure/__release - local.get $56 - call $~lib/rt/pure/__release - local.get $55 - call $~lib/rt/pure/__release - local.get $58 - call $~lib/rt/pure/__release - local.get $57 - call $~lib/rt/pure/__release i32.const 0 i32.const 2 i32.const 3 - i32.const 7856 + i32.const 7728 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $58 + local.set $47 i32.const 1 i32.const 2 i32.const 3 - i32.const 7872 + i32.const 7744 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $55 + local.set $43 i32.const 2 i32.const 2 i32.const 3 - i32.const 7904 + i32.const 7776 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $56 + local.set $41 i32.const 4 i32.const 2 i32.const 3 - i32.const 7936 + i32.const 7808 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $44 - local.get $58 + local.set $38 + local.get $47 call $~lib/array/Array#toString - local.tee $57 + local.tee $44 i32.const 5120 call $~lib/string/String.__eq i32.eqz @@ -23319,10 +23240,10 @@ call $~lib/builtins/abort unreachable end - local.get $55 + local.get $43 call $~lib/array/Array#toString - local.tee $52 - i32.const 7584 + local.tee $42 + i32.const 7456 call $~lib/string/String.__eq i32.eqz if @@ -23333,10 +23254,10 @@ call $~lib/builtins/abort unreachable end - local.get $56 + local.get $41 call $~lib/array/Array#toString - local.tee $54 - i32.const 7968 + local.tee $39 + i32.const 7840 call $~lib/string/String.__eq i32.eqz if @@ -23347,10 +23268,10 @@ call $~lib/builtins/abort unreachable end - local.get $44 + local.get $38 call $~lib/array/Array#toString - local.tee $53 - i32.const 8000 + local.tee $40 + i32.const 7872 call $~lib/string/String.__eq i32.eqz if @@ -23363,14 +23284,14 @@ end i32.const 3 i32.const 0 - i32.const 20 - i32.const 8032 + i32.const 21 + i32.const 7904 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $41 + local.tee $35 call $~lib/array/Array#toString - local.tee $51 - i32.const 8064 + local.tee $54 + i32.const 7936 call $~lib/string/String.__eq i32.eqz if @@ -23383,14 +23304,14 @@ end i32.const 3 i32.const 1 - i32.const 21 - i32.const 8096 + i32.const 22 + i32.const 7968 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $50 + local.tee $37 call $~lib/array/Array#toString - local.tee $49 - i32.const 8128 + local.tee $36 + i32.const 8000 call $~lib/string/String.__eq i32.eqz if @@ -23403,14 +23324,14 @@ end i32.const 3 i32.const 3 - i32.const 18 - i32.const 8176 + i32.const 23 + i32.const 8048 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $48 + local.tee $32 call $~lib/array/Array#toString - local.tee $61 - i32.const 8224 + local.tee $31 + i32.const 8096 call $~lib/string/String.__eq i32.eqz if @@ -23423,14 +23344,14 @@ end i32.const 4 i32.const 3 - i32.const 22 - i32.const 8288 + i32.const 24 + i32.const 8160 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $47 + local.tee $34 call $~lib/array/Array#toString - local.tee $43 - i32.const 8336 + local.tee $29 + i32.const 8208 call $~lib/string/String.__eq i32.eqz if @@ -23444,14 +23365,14 @@ i32.const 7 i32.const 2 i32.const 15 - i32.const 8448 + i32.const 8320 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $42 - local.get $42 + local.set $49 + local.get $49 call $~lib/array/Array<~lib/string/String | null>#toString - local.tee $35 - i32.const 8496 + local.tee $48 + i32.const 8368 call $~lib/string/String.__eq i32.eqz if @@ -23465,13 +23386,13 @@ i32.const 4 i32.const 2 i32.const 15 - i32.const 8608 + i32.const 8480 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $38 + local.tee $50 call $~lib/array/Array<~lib/string/String | null>#toString - local.tee $39 - i32.const 8640 + local.tee $51 + i32.const 8512 call $~lib/string/String.__eq i32.eqz if @@ -23488,36 +23409,32 @@ i32.const 0 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $40 - local.get $40 + local.set $33 + local.get $33 i32.load offset=4 - local.set $37 - local.get $37 + local.set $30 + local.get $30 i32.const 2 i32.const 2 i32.const 3 - i32.const 8672 + i32.const 8544 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $32 - call $~lib/rt/pure/__retain i32.store - local.get $37 + local.get $30 i32.const 2 i32.const 2 i32.const 3 - i32.const 8704 + i32.const 8576 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $34 - call $~lib/rt/pure/__retain i32.store offset=4 - local.get $40 - local.set $63 - local.get $63 + local.get $33 + local.set $56 + local.get $56 call $~lib/array/Array<~lib/array/Array>#toString - local.tee $37 - i32.const 8736 + local.tee $30 + i32.const 8608 call $~lib/string/String.__eq i32.eqz if @@ -23530,40 +23447,36 @@ end i32.const 2 i32.const 2 - i32.const 23 + i32.const 25 i32.const 0 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $40 - local.get $40 + local.set $33 + local.get $33 i32.load offset=4 - local.set $36 - local.get $36 + local.set $26 + local.get $26 i32.const 2 i32.const 0 i32.const 6 - i32.const 8768 + i32.const 8640 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $29 - call $~lib/rt/pure/__retain i32.store - local.get $36 + local.get $26 i32.const 2 i32.const 0 i32.const 6 - i32.const 8800 + i32.const 8672 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $31 - call $~lib/rt/pure/__retain i32.store offset=4 - local.get $40 - local.set $64 - local.get $64 + local.get $33 + local.set $57 + local.get $57 call $~lib/array/Array<~lib/array/Array>#toString - local.tee $36 - i32.const 8736 + local.tee $26 + i32.const 8608 call $~lib/string/String.__eq i32.eqz if @@ -23576,45 +23489,41 @@ end i32.const 1 i32.const 2 - i32.const 25 + i32.const 27 i32.const 0 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $40 - local.get $40 - i32.load offset=4 local.set $33 local.get $33 + i32.load offset=4 + local.set $28 + local.get $28 i32.const 1 i32.const 2 - i32.const 24 + i32.const 26 i32.const 0 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.set $30 - local.get $30 + local.set $27 + local.get $27 i32.load offset=4 - local.set $26 - local.get $26 + local.set $6 + local.get $6 i32.const 1 i32.const 2 i32.const 7 - i32.const 8832 + i32.const 8704 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $27 - call $~lib/rt/pure/__retain i32.store - local.get $30 - local.tee $26 - call $~lib/rt/pure/__retain + local.get $27 i32.store - local.get $40 - local.set $65 - local.get $65 + local.get $33 + local.set $58 + local.get $58 call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#toString - local.tee $33 - i32.const 7584 + local.tee $28 + i32.const 7456 call $~lib/string/String.__eq i32.eqz if @@ -23625,63 +23534,51 @@ call $~lib/builtins/abort unreachable end - local.get $58 - call $~lib/rt/pure/__release - local.get $55 - call $~lib/rt/pure/__release - local.get $56 - call $~lib/rt/pure/__release - local.get $44 - call $~lib/rt/pure/__release - local.get $57 - call $~lib/rt/pure/__release - local.get $52 - call $~lib/rt/pure/__release - local.get $54 + local.get $47 call $~lib/rt/pure/__release - local.get $53 + local.get $43 call $~lib/rt/pure/__release local.get $41 call $~lib/rt/pure/__release - local.get $51 - call $~lib/rt/pure/__release - local.get $50 - call $~lib/rt/pure/__release - local.get $49 - call $~lib/rt/pure/__release - local.get $48 + local.get $38 call $~lib/rt/pure/__release - local.get $61 + local.get $44 call $~lib/rt/pure/__release - local.get $47 + local.get $42 call $~lib/rt/pure/__release - local.get $43 + local.get $39 call $~lib/rt/pure/__release - local.get $42 + local.get $40 call $~lib/rt/pure/__release local.get $35 call $~lib/rt/pure/__release - local.get $38 + local.get $54 call $~lib/rt/pure/__release - local.get $39 + local.get $37 + call $~lib/rt/pure/__release + local.get $36 call $~lib/rt/pure/__release local.get $32 call $~lib/rt/pure/__release - local.get $34 + local.get $31 call $~lib/rt/pure/__release - local.get $37 + local.get $34 call $~lib/rt/pure/__release local.get $29 call $~lib/rt/pure/__release - local.get $31 + local.get $49 call $~lib/rt/pure/__release - local.get $36 + local.get $48 call $~lib/rt/pure/__release - local.get $27 + local.get $50 + call $~lib/rt/pure/__release + local.get $51 + call $~lib/rt/pure/__release + local.get $30 call $~lib/rt/pure/__release local.get $26 call $~lib/rt/pure/__release - local.get $33 + local.get $28 call $~lib/rt/pure/__release global.get $std/array/arr call $~lib/rt/pure/__release @@ -23689,18 +23586,18 @@ call $~lib/rt/pure/__release local.get $46 call $~lib/rt/pure/__release - local.get $59 + local.get $52 call $~lib/rt/pure/__release - local.get $60 + local.get $53 call $~lib/rt/pure/__release - local.get $63 + local.get $56 call $~lib/rt/pure/__release - local.get $64 + local.get $57 call $~lib/rt/pure/__release - local.get $65 + local.get $58 call $~lib/rt/pure/__release ) - (func $~start (; 310 ;) + (func $~start (; 309 ;) global.get $~started if return @@ -23710,10 +23607,10 @@ end call $start:std/array ) - (func $~lib/rt/pure/__collect (; 311 ;) + (func $~lib/rt/pure/__collect (; 310 ;) return ) - (func $~lib/rt/pure/decrement (; 312 ;) (param $0 i32) + (func $~lib/rt/pure/decrement (; 311 ;) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -23790,7 +23687,7 @@ i32.store offset=4 end ) - (func $~lib/rt/pure/__visit (; 313 ;) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 312 ;) (param $0 i32) (param $1 i32) local.get $0 global.get $~lib/heap/__heap_base i32.lt_u @@ -23814,16 +23711,16 @@ i32.sub call $~lib/rt/pure/decrement ) - (func $~lib/array/Array#__visit_impl (; 314 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 313 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 315 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 314 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 316 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 315 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 317 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 316 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -23862,13 +23759,13 @@ end end ) - (func $~lib/array/Array#__visit_impl (; 318 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 317 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 319 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 318 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 320 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 319 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -23907,7 +23804,7 @@ end end ) - (func $~lib/array/Array<~lib/array/Array>#__visit_impl (; 321 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/array/Array>#__visit_impl (; 320 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -23946,7 +23843,7 @@ end end ) - (func $~lib/array/Array>#__visit_impl (; 322 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array>#__visit_impl (; 321 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -23985,7 +23882,7 @@ end end ) - (func $~lib/array/Array<~lib/string/String | null>#__visit_impl (; 323 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/string/String | null>#__visit_impl (; 322 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -24024,7 +23921,7 @@ end end ) - (func $~lib/array/Array<~lib/string/String>#__visit_impl (; 324 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/string/String>#__visit_impl (; 323 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -24063,13 +23960,16 @@ end end ) - (func $~lib/array/Array#__visit_impl (; 325 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 324 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 326 ;) (param $0 i32) (param $1 i32) + (func $~lib/staticarray/StaticArray#__visit_impl (; 325 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 327 ;) (param $0 i32) (param $1 i32) + (func $~lib/staticarray/StaticArray#__visit_impl (; 326 ;) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/staticarray/StaticArray#__visit_impl (; 327 ;) (param $0 i32) (param $1 i32) nop ) (func $~lib/array/Array#__visit_impl (; 328 ;) (param $0 i32) (param $1 i32) @@ -24078,10 +23978,13 @@ (func $~lib/array/Array#__visit_impl (; 329 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 330 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 330 ;) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/array/Array#__visit_impl (; 331 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array<~lib/array/Array>#__visit_impl (; 331 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/array/Array>#__visit_impl (; 332 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -24120,7 +24023,7 @@ end end ) - (func $~lib/array/Array<~lib/array/Array>#__visit_impl (; 332 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/array/Array>#__visit_impl (; 333 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -24159,7 +24062,7 @@ end end ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#__visit_impl (; 333 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#__visit_impl (; 334 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -24198,120 +24101,132 @@ end end ) - (func $~lib/rt/__visit_members (; 334 ;) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 335 ;) (param $0 i32) (param $1 i32) (local $2 i32) block $block$4$break block $switch$1$default - block $switch$1$case$27 - block $switch$1$case$26 - block $switch$1$case$25 - block $switch$1$case$24 - block $switch$1$case$23 - block $switch$1$case$22 - block $switch$1$case$21 - block $switch$1$case$20 - block $switch$1$case$19 - block $switch$1$case$18 - block $switch$1$case$17 - block $switch$1$case$16 - block $switch$1$case$14 - block $switch$1$case$13 - block $switch$1$case$12 - block $switch$1$case$11 - block $switch$1$case$10 - block $switch$1$case$9 - block $switch$1$case$8 - block $switch$1$case$5 - block $switch$1$case$4 - block $switch$1$case$2 - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$2 $switch$1$case$4 $switch$1$case$8 $switch$1$case$9 $switch$1$case$10 $switch$1$case$11 $switch$1$case$12 $switch$1$case$13 $switch$1$case$14 $switch$1$case$2 $switch$1$case$16 $switch$1$case$17 $switch$1$case$18 $switch$1$case$19 $switch$1$case$20 $switch$1$case$21 $switch$1$case$22 $switch$1$case$23 $switch$1$case$24 $switch$1$case$25 $switch$1$case$26 $switch$1$case$27 $switch$1$default + block $switch$1$case$29 + block $switch$1$case$28 + block $switch$1$case$27 + block $switch$1$case$26 + block $switch$1$case$25 + block $switch$1$case$24 + block $switch$1$case$23 + block $switch$1$case$22 + block $switch$1$case$21 + block $switch$1$case$20 + block $switch$1$case$19 + block $switch$1$case$18 + block $switch$1$case$17 + block $switch$1$case$16 + block $switch$1$case$14 + block $switch$1$case$13 + block $switch$1$case$12 + block $switch$1$case$11 + block $switch$1$case$10 + block $switch$1$case$9 + block $switch$1$case$8 + block $switch$1$case$5 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$2 $switch$1$case$4 $switch$1$case$8 $switch$1$case$9 $switch$1$case$10 $switch$1$case$11 $switch$1$case$12 $switch$1$case$13 $switch$1$case$14 $switch$1$case$2 $switch$1$case$16 $switch$1$case$17 $switch$1$case$18 $switch$1$case$19 $switch$1$case$20 $switch$1$case$21 $switch$1$case$22 $switch$1$case$23 $switch$1$case$24 $switch$1$case$25 $switch$1$case$26 $switch$1$case$27 $switch$1$case$28 $switch$1$case$29 $switch$1$default + end + return + end + br $block$4$break end - return + local.get $0 + local.get $1 + call $~lib/array/Array#__visit_impl + br $block$4$break end + local.get $0 + local.get $1 + call $~lib/array/Array#__visit_impl br $block$4$break end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl + call $~lib/array/Array#__visit_impl br $block$4$break end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl + call $~lib/array/Array#__visit_impl br $block$4$break end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl + call $~lib/array/Array#__visit_impl br $block$4$break end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl + call $~lib/array/Array#__visit_impl br $block$4$break end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl + call $~lib/array/Array#__visit_impl br $block$4$break end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl + call $~lib/array/Array<~lib/array/Array>#__visit_impl br $block$4$break end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl + call $~lib/array/Array>#__visit_impl br $block$4$break end local.get $0 local.get $1 - call $~lib/array/Array<~lib/array/Array>#__visit_impl + call $~lib/array/Array<~lib/string/String | null>#__visit_impl br $block$4$break end local.get $0 local.get $1 - call $~lib/array/Array>#__visit_impl + call $~lib/array/Array<~lib/string/String>#__visit_impl br $block$4$break end local.get $0 local.get $1 - call $~lib/array/Array<~lib/string/String | null>#__visit_impl + call $~lib/array/Array#__visit_impl br $block$4$break end local.get $0 local.get $1 - call $~lib/array/Array<~lib/string/String>#__visit_impl - br $block$4$break + call $~lib/staticarray/StaticArray#__visit_impl + return end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl - br $block$4$break + call $~lib/staticarray/StaticArray#__visit_impl + return end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl - br $block$4$break + call $~lib/staticarray/StaticArray#__visit_impl + return end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl + call $~lib/array/Array#__visit_impl br $block$4$break end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl + call $~lib/array/Array#__visit_impl br $block$4$break end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl + call $~lib/array/Array#__visit_impl br $block$4$break end local.get $0 diff --git a/tests/compiler/std/arraybuffer.optimized.wat b/tests/compiler/std/arraybuffer.optimized.wat index 9878ce32ec..8292f15890 100644 --- a/tests/compiler/std/arraybuffer.optimized.wat +++ b/tests/compiler/std/arraybuffer.optimized.wat @@ -1658,11 +1658,16 @@ i32.const 16 i32.const 3 call $~lib/rt/tlsf/__alloc - local.tee $0 + local.set $0 i32.const 8 i32.const 0 call $~lib/rt/tlsf/__alloc local.tee $1 + i32.const 368 + i32.const 8 + call $~lib/memory/memory.copy + local.get $0 + local.get $1 call $~lib/rt/pure/__retain i32.store local.get $0 @@ -1674,10 +1679,6 @@ local.get $0 i32.const 2 i32.store offset=12 - local.get $1 - i32.const 368 - i32.const 8 - call $~lib/memory/memory.copy local.get $0 ) (func $~lib/dataview/DataView#constructor (; 24 ;) (param $0 i32) (param $1 i32) (result i32) diff --git a/tests/compiler/std/arraybuffer.untouched.wat b/tests/compiler/std/arraybuffer.untouched.wat index 8b41a1e88f..07faddd851 100644 --- a/tests/compiler/std/arraybuffer.untouched.wat +++ b/tests/compiler/std/arraybuffer.untouched.wat @@ -3,8 +3,8 @@ (type $i32_=>_none (func (param i32))) (type $i32_i32_=>_none (func (param i32 i32))) (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) (type $none_=>_none (func)) (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) @@ -3272,7 +3272,22 @@ local.set $0 local.get $0 ) - (func $~lib/rt/__allocArray (; 31 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/rt/__allocBuffer (; 31 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + local.get $0 + local.get $1 + call $~lib/rt/tlsf/__alloc + local.set $3 + local.get $2 + if + local.get $3 + local.get $2 + local.get $0 + call $~lib/memory/memory.copy + end + local.get $3 + ) + (func $~lib/rt/__allocArray (; 32 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -3286,7 +3301,8 @@ local.set $5 local.get $5 i32.const 0 - call $~lib/rt/tlsf/__alloc + local.get $3 + call $~lib/rt/__allocBuffer local.set $6 local.get $4 local.get $6 @@ -3301,16 +3317,9 @@ local.get $4 local.get $0 i32.store offset=12 - local.get $3 - if - local.get $6 - local.get $3 - local.get $5 - call $~lib/memory/memory.copy - end local.get $4 ) - (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> (; 32 ;) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> (; 33 ;) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/rt/pure/__retain @@ -3321,7 +3330,7 @@ call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> (; 33 ;) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> (; 34 ;) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/rt/pure/__retain @@ -3333,7 +3342,7 @@ local.get $1 return ) - (func $~lib/typedarray/Int32Array#constructor (; 34 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#constructor (; 35 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 if (result i32) local.get $0 @@ -3349,7 +3358,7 @@ local.set $0 local.get $0 ) - (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Int32Array> (; 35 ;) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Int32Array> (; 36 ;) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/rt/pure/__retain @@ -3361,7 +3370,7 @@ local.get $1 return ) - (func $~lib/dataview/DataView#constructor (; 36 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/dataview/DataView#constructor (; 37 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -3438,7 +3447,7 @@ call $~lib/rt/pure/__release local.get $0 ) - (func $~lib/dataview/DataView#constructor|trampoline (; 37 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/dataview/DataView#constructor|trampoline (; 38 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) block $2of2 block $1of2 block $0of2 @@ -3463,11 +3472,11 @@ local.get $3 call $~lib/dataview/DataView#constructor ) - (func $~setArgumentsLength (; 38 ;) (param $0 i32) + (func $~setArgumentsLength (; 39 ;) (param $0 i32) local.get $0 global.set $~argumentsLength ) - (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView> (; 39 ;) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView> (; 40 ;) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/rt/pure/__retain @@ -3479,7 +3488,7 @@ local.get $1 return ) - (func $start:std/arraybuffer (; 40 ;) + (func $start:std/arraybuffer (; 41 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -3850,13 +3859,13 @@ local.get $5 call $~lib/rt/pure/__release ) - (func $~start (; 41 ;) + (func $~start (; 42 ;) call $start:std/arraybuffer ) - (func $~lib/rt/pure/__collect (; 42 ;) + (func $~lib/rt/pure/__collect (; 43 ;) return ) - (func $~lib/rt/tlsf/freeBlock (; 43 ;) (param $0 i32) (param $1 i32) + (func $~lib/rt/tlsf/freeBlock (; 44 ;) (param $0 i32) (param $1 i32) (local $2 i32) local.get $1 i32.load @@ -3872,7 +3881,7 @@ local.get $1 call $~lib/rt/rtrace/onfree ) - (func $~lib/rt/pure/decrement (; 44 ;) (param $0 i32) + (func $~lib/rt/pure/decrement (; 45 ;) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -3949,7 +3958,7 @@ i32.store offset=4 end ) - (func $~lib/rt/pure/__visit (; 45 ;) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 46 ;) (param $0 i32) (param $1 i32) local.get $0 global.get $~lib/heap/__heap_base i32.lt_u @@ -3973,10 +3982,10 @@ i32.sub call $~lib/rt/pure/decrement ) - (func $~lib/array/Array#__visit_impl (; 46 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 47 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/rt/__visit_members (; 47 ;) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 48 ;) (param $0 i32) (param $1 i32) (local $2 i32) block $block$4$break block $switch$1$default diff --git a/tests/compiler/std/libm.optimized.wat b/tests/compiler/std/libm.optimized.wat index 83d0f9894f..785afe33b4 100644 --- a/tests/compiler/std/libm.optimized.wat +++ b/tests/compiler/std/libm.optimized.wat @@ -9,14 +9,10 @@ (type $f64_i32_=>_f64 (func (param f64 i32) (result f64))) (type $f64_f64_i32_=>_f64 (func (param f64 f64 i32) (result f64))) (memory $0 1) - (data (i32.const 16) "\c0\00\00\00\01\00\00\00\00\00\00\00\c0\00\00\00n\83\f9\a2\00\00\00\00\d1W\'\fc)\15DN\99\95b\db\c0\dd4\f5\abcQ\feA\90C<:n$\b7a\c5\bb\de\ea.I\06\e0\d2MB\1c\eb\1d\fe\1c\92\d1\t\f55\82\e8>\a7)\b1&p\9c\e9\84D\bb.9\d6\919A~_\b4\8b_\84\9c\f49S\83\ff\97\f8\1f;(\f9\bd\8b\11/\ef\0f\98\05\de\cf~6m\1fm\nZf?FO\b7\t\cb\'\c7\ba\'u-\ea_\9e\f79\07={\f1\e5\eb\b1_\fbk\ea\92R\8aF0\03V\08]\8d\1f \bc\cf\f0\abk{\fca\91\e3\a9\1d6\f4\9a_\85\99e\08\1b\e6^\80\d8\ff\8d@h\a0\14W\15\06\061\'sM") - (data (i32.const 224) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00 \00\00\00 \00\00\00\c0\00\00\00\18") - (data (i32.const 256) " \00\00\00\01\00\00\00\00\00\00\00 \00\00\00)\15DNn\83\f9\a2\c0\dd4\f5\d1W\'\fcA\90C<\99\95b\dba\c5\bb\de\abcQ\fe") - (data (i32.const 304) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00\10\01\00\00\10\01\00\00 \00\00\00\04") - (data (i32.const 337) "\01\00\00\01\00\00\00\00\00\00\00\00\01\00\00\be\f3\f8y\eca\f6?\190\96[\c6\fe\de\bf=\88\afJ\edq\f5?\a4\fc\d42h\0b\db\bf\b0\10\f0\f09\95\f4?{\b7\1f\n\8bA\d7\bf\85\03\b8\b0\95\c9\f3?{\cfm\1a\e9\9d\d3\bf\a5d\88\0c\19\0d\f3?1\b6\f2\f3\9b\1d\d0\bf\a0\8e\0b{\"^\f2?\f0z;\1b\1d|\c9\bf?4\1aJJ\bb\f1?\9f<\af\93\e3\f9\c2\bf\ba\e5\8a\f0X#\f1?\\\8dx\bf\cb`\b9\bf\a7\00\99A?\95\f0?\ce_G\b6\9do\aa\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?=\f5$\9f\ca8\b3?\a0j\02\1f\b3\a4\ec?\ba\918T\a9v\c4?\e6\fcjW6 \eb?\d2\e4\c4J\0b\84\ce?-\aa\a1c\d1\c2\e9?\1ce\c6\f0E\06\d4?\edAx\03\e6\86\e8?\f8\9f\1b,\9c\8e\d8?bHS\f5\dcg\e7?\cc{\b1N\a4\e0\dc?") - (data (i32.const 608) "\10\00\00\00\01\00\00\00\04\00\00\00\10\00\00\00`\01\00\00`\01\00\00\00\01\00\00 ") - (data (i32.const 641) "\01\00\00\01\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\f0?t\85\15\d3\b0\d9\ef?\0f\89\f9lX\b5\ef?Q[\12\d0\01\93\ef?{Q}<\b8r\ef?\aa\b9h1\87T\ef?8bunz8\ef?\e1\de\1f\f5\9d\1e\ef?\15\b71\n\fe\06\ef?\cb\a9:7\a7\f1\ee?\"4\12L\a6\de\ee?-\89a`\08\ce\ee?\'*6\d5\da\bf\ee?\82O\9dV+\b4\ee?)TH\dd\07\ab\ee?\85U:\b0~\a4\ee?\cd;\7ff\9e\a0\ee?t_\ec\e8u\9f\ee?\87\01\ebs\14\a1\ee?\13\ceL\99\89\a5\ee?\db\a0*B\e5\ac\ee?\e5\c5\cd\b07\b7\ee?\90\f0\a3\82\91\c4\ee?]%>\b2\03\d5\ee?\ad\d3Z\99\9f\e8\ee?G^\fb\f2v\ff\ee?\9cR\85\dd\9b\19\ef?i\90\ef\dc 7\ef?\87\a4\fb\dc\18X\ef?_\9b{3\97|\ef?\da\90\a4\a2\af\a4\ef?@En[v\d0\ef?") - (data (i32.const 912) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00\90\02\00\00\90\02\00\00\00\01\00\00 ") + (data (i32.const 16) "\c0\00\00\00\01\00\00\00\03\00\00\00\c0\00\00\00n\83\f9\a2\00\00\00\00\d1W\'\fc)\15DN\99\95b\db\c0\dd4\f5\abcQ\feA\90C<:n$\b7a\c5\bb\de\ea.I\06\e0\d2MB\1c\eb\1d\fe\1c\92\d1\t\f55\82\e8>\a7)\b1&p\9c\e9\84D\bb.9\d6\919A~_\b4\8b_\84\9c\f49S\83\ff\97\f8\1f;(\f9\bd\8b\11/\ef\0f\98\05\de\cf~6m\1fm\nZf?FO\b7\t\cb\'\c7\ba\'u-\ea_\9e\f79\07={\f1\e5\eb\b1_\fbk\ea\92R\8aF0\03V\08]\8d\1f \bc\cf\f0\abk{\fca\91\e3\a9\1d6\f4\9a_\85\99e\08\1b\e6^\80\d8\ff\8d@h\a0\14W\15\06\061\'sM") + (data (i32.const 224) " \00\00\00\01\00\00\00\03\00\00\00 \00\00\00)\15DNn\83\f9\a2\c0\dd4\f5\d1W\'\fcA\90C<\99\95b\dba\c5\bb\de\abcQ\fe") + (data (i32.const 273) "\01\00\00\01\00\00\00\04\00\00\00\00\01\00\00\be\f3\f8y\eca\f6?\190\96[\c6\fe\de\bf=\88\afJ\edq\f5?\a4\fc\d42h\0b\db\bf\b0\10\f0\f09\95\f4?{\b7\1f\n\8bA\d7\bf\85\03\b8\b0\95\c9\f3?{\cfm\1a\e9\9d\d3\bf\a5d\88\0c\19\0d\f3?1\b6\f2\f3\9b\1d\d0\bf\a0\8e\0b{\"^\f2?\f0z;\1b\1d|\c9\bf?4\1aJJ\bb\f1?\9f<\af\93\e3\f9\c2\bf\ba\e5\8a\f0X#\f1?\\\8dx\bf\cb`\b9\bf\a7\00\99A?\95\f0?\ce_G\b6\9do\aa\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?=\f5$\9f\ca8\b3?\a0j\02\1f\b3\a4\ec?\ba\918T\a9v\c4?\e6\fcjW6 \eb?\d2\e4\c4J\0b\84\ce?-\aa\a1c\d1\c2\e9?\1ce\c6\f0E\06\d4?\edAx\03\e6\86\e8?\f8\9f\1b,\9c\8e\d8?bHS\f5\dcg\e7?\cc{\b1N\a4\e0\dc?") + (data (i32.const 545) "\01\00\00\01\00\00\00\03\00\00\00\00\01\00\00\00\00\00\00\00\00\f0?t\85\15\d3\b0\d9\ef?\0f\89\f9lX\b5\ef?Q[\12\d0\01\93\ef?{Q}<\b8r\ef?\aa\b9h1\87T\ef?8bunz8\ef?\e1\de\1f\f5\9d\1e\ef?\15\b71\n\fe\06\ef?\cb\a9:7\a7\f1\ee?\"4\12L\a6\de\ee?-\89a`\08\ce\ee?\'*6\d5\da\bf\ee?\82O\9dV+\b4\ee?)TH\dd\07\ab\ee?\85U:\b0~\a4\ee?\cd;\7ff\9e\a0\ee?t_\ec\e8u\9f\ee?\87\01\ebs\14\a1\ee?\13\ceL\99\89\a5\ee?\db\a0*B\e5\ac\ee?\e5\c5\cd\b07\b7\ee?\90\f0\a3\82\91\c4\ee?]%>\b2\03\d5\ee?\ad\d3Z\99\9f\e8\ee?G^\fb\f2v\ff\ee?\9cR\85\dd\9b\19\ef?i\90\ef\dc 7\ef?\87\a4\fb\dc\18X\ef?_\9b{3\97|\ef?\da\90\a4\a2\af\a4\ef?@En[v\d0\ef?") (global $../../lib/libm/assembly/libm/E f64 (f64.const 2.718281828459045)) (global $../../lib/libm/assembly/libm/LN10 f64 (f64.const 2.302585092994046)) (global $../../lib/libm/assembly/libm/LN2 f64 (f64.const 0.6931471805599453)) @@ -1607,8 +1603,6 @@ (local $10 i64) (local $11 i64) (local $12 f64) - i32.const 244 - i32.load local.get $0 i64.const 9223372036854775807 i64.and @@ -1622,6 +1616,7 @@ i32.wrap_i64 i32.const 3 i32.shl + i32.const 32 i32.add local.tee $8 i64.load @@ -6596,8 +6591,6 @@ i32.trunc_f64_s br $~lib/math/rempio2f|inlined.0 end - i32.const 324 - i32.load local.get $2 i32.const 23 i32.shr_s @@ -6608,6 +6601,7 @@ i32.shr_s i32.const 3 i32.shl + i32.const 240 i32.add local.tee $6 i64.load @@ -7840,10 +7834,10 @@ return end end - block $~lib/util/math/powf_lut|inlined.0 (result f32) + block $~lib/util/math/powf_lut|inlined.0 local.get $1 i32.reinterpret_f32 - local.tee $2 + local.tee $3 i32.const 1 i32.shl i32.const 1 @@ -7855,7 +7849,7 @@ local.tee $5 local.get $0 i32.reinterpret_f32 - local.tee $3 + local.tee $2 i32.const 8388608 i32.sub i32.const 2130706432 @@ -7864,63 +7858,74 @@ if local.get $5 if - f32.const 1 - local.get $2 + local.get $3 i32.const 1 i32.shl i32.eqz - br_if $~lib/util/math/powf_lut|inlined.0 - drop - f32.const nan:0x400000 - local.get $3 + if + f32.const 1 + local.set $0 + br $~lib/util/math/powf_lut|inlined.0 + end + local.get $2 i32.const 1065353216 i32.eq - br_if $~lib/util/math/powf_lut|inlined.0 - drop - local.get $0 - local.get $1 - f32.add + if + f32.const nan:0x400000 + local.set $0 + br $~lib/util/math/powf_lut|inlined.0 + end i32.const 1 - local.get $2 + local.get $3 i32.const 1 i32.shl i32.const -16777216 i32.gt_u - local.get $3 + local.get $2 i32.const 1 i32.shl i32.const -16777216 i32.gt_u select - br_if $~lib/util/math/powf_lut|inlined.0 - drop - f32.const nan:0x400000 - local.get $3 + if + local.get $0 + local.get $1 + f32.add + local.set $0 + br $~lib/util/math/powf_lut|inlined.0 + end + local.get $2 i32.const 1 i32.shl i32.const 2130706432 i32.eq - br_if $~lib/util/math/powf_lut|inlined.0 - drop - f32.const 0 - local.get $2 + if + f32.const nan:0x400000 + local.set $0 + br $~lib/util/math/powf_lut|inlined.0 + end + local.get $3 i32.const 31 i32.shr_u i32.eqz - local.get $3 + local.get $2 i32.const 1 i32.shl i32.const 2130706432 i32.lt_u i32.eq - br_if $~lib/util/math/powf_lut|inlined.0 - drop + if + f32.const 0 + local.set $0 + br $~lib/util/math/powf_lut|inlined.0 + end local.get $1 local.get $1 f32.mul + local.set $0 br $~lib/util/math/powf_lut|inlined.0 end - local.get $3 + local.get $2 i32.const 1 i32.shl i32.const 1 @@ -7932,38 +7937,38 @@ local.get $0 f32.mul local.set $0 - local.get $3 + local.get $2 i32.const 31 i32.shr_u if (result i32) block $~lib/util/math/checkintf|inlined.0 (result i32) i32.const 0 - local.get $2 + local.get $3 i32.const 23 i32.shr_u i32.const 255 i32.and - local.tee $3 + local.tee $2 i32.const 127 i32.lt_u br_if $~lib/util/math/checkintf|inlined.0 drop i32.const 2 - local.get $3 + local.get $2 i32.const 150 i32.gt_u br_if $~lib/util/math/checkintf|inlined.0 drop i32.const 0 + local.get $3 i32.const 1 i32.const 150 - local.get $3 + local.get $2 i32.sub i32.shl - local.tee $3 + local.tee $2 i32.const 1 i32.sub - local.get $2 i32.and br_if $~lib/util/math/checkintf|inlined.0 drop @@ -7985,61 +7990,61 @@ f32.neg local.set $0 end - f32.const 1 - local.get $0 - f32.div - local.get $0 - local.get $2 + local.get $3 i32.const 31 i32.shr_u - select + if + f32.const 1 + local.get $0 + f32.div + local.set $0 + end br $~lib/util/math/powf_lut|inlined.0 end - local.get $3 + local.get $2 i32.const 31 i32.shr_u if block $~lib/util/math/checkintf|inlined.1 (result i32) i32.const 0 - local.get $2 - local.tee $5 + local.get $3 i32.const 23 i32.shr_u i32.const 255 i32.and - local.tee $2 + local.tee $5 i32.const 127 i32.lt_u br_if $~lib/util/math/checkintf|inlined.1 drop i32.const 2 - local.get $2 + local.get $5 i32.const 150 i32.gt_u br_if $~lib/util/math/checkintf|inlined.1 drop i32.const 0 + local.get $3 i32.const 1 i32.const 150 - local.get $2 + local.get $5 i32.sub i32.shl - local.tee $2 + local.tee $5 i32.const 1 i32.sub - local.get $5 i32.and br_if $~lib/util/math/checkintf|inlined.1 drop i32.const 1 - local.get $2 + local.get $3 local.get $5 i32.and br_if $~lib/util/math/checkintf|inlined.1 drop i32.const 2 end - local.tee $2 + local.tee $3 i32.eqz if local.get $0 @@ -8048,21 +8053,22 @@ local.tee $0 local.get $0 f32.div + local.set $0 br $~lib/util/math/powf_lut|inlined.0 end - local.get $3 - i32.const 2147483647 - i32.and - local.set $3 i32.const 65536 i32.const 0 - local.get $2 + local.get $3 i32.const 1 i32.eq select local.set $7 + local.get $2 + i32.const 2147483647 + i32.and + local.set $2 end - local.get $3 + local.get $2 i32.const 8388608 i32.lt_u if @@ -8074,41 +8080,40 @@ i32.and i32.const 192937984 i32.sub - local.set $3 + local.set $2 end end f64.const 1.4426950408774342 - local.get $3 - local.get $3 + local.get $2 + local.get $2 i32.const 1060306944 i32.sub - local.tee $2 + local.tee $3 i32.const -8388608 i32.and - local.tee $5 + local.tee $2 i32.sub f32.reinterpret_i32 f64.promote_f32 - i32.const 628 - i32.load - local.get $2 + local.get $3 i32.const 19 i32.shr_u i32.const 15 i32.and i32.const 4 i32.shl + i32.const 288 i32.add - local.tee $2 + local.tee $3 f64.load f64.mul f64.const 1 f64.sub local.tee $4 f64.mul - local.get $2 + local.get $3 f64.load offset=8 - local.get $5 + local.get $2 i32.const 23 i32.shr_s f64.convert_i32_s @@ -8149,31 +8154,33 @@ i64.const 32959 i64.ge_u if - f32.const -1584563250285286751870879e5 - f32.const 1584563250285286751870879e5 - local.get $7 - select - f32.const 1584563250285286751870879e5 - f32.mul local.get $4 f64.const 127.99999995700433 f64.gt - br_if $~lib/util/math/powf_lut|inlined.0 - drop - f32.const -2.524354896707238e-29 - f32.const 2.524354896707238e-29 - local.get $7 - select - f32.const 2.524354896707238e-29 - f32.mul + if + f32.const -1584563250285286751870879e5 + f32.const 1584563250285286751870879e5 + local.get $7 + select + f32.const 1584563250285286751870879e5 + f32.mul + local.set $0 + br $~lib/util/math/powf_lut|inlined.0 + end local.get $4 f64.const -150 f64.le - br_if $~lib/util/math/powf_lut|inlined.0 - drop + if + f32.const -2.524354896707238e-29 + f32.const 2.524354896707238e-29 + local.get $7 + select + f32.const 2.524354896707238e-29 + f32.mul + local.set $0 + br $~lib/util/math/powf_lut|inlined.0 + end end - i32.const 932 - i32.load local.get $4 f64.const 211106232532992 f64.add @@ -8185,11 +8192,12 @@ i32.and i32.const 3 i32.shl + i32.const 560 i32.add i64.load + local.get $8 local.get $7 i64.extend_i32_u - local.get $8 i64.add i64.const 47 i64.shl @@ -8219,7 +8227,9 @@ f64.reinterpret_i64 f64.mul f32.demote_f64 + local.set $0 end + local.get $0 ) (func $../../lib/libm/assembly/libmf/pow (; 107 ;) (param $0 f32) (param $1 f32) (result f32) local.get $0 @@ -8347,8 +8357,6 @@ i32.trunc_f64_s br $~lib/math/rempio2f|inlined.1 end - i32.const 324 - i32.load local.get $2 i32.const 23 i32.shr_s @@ -8359,6 +8367,7 @@ i32.shr_s i32.const 3 i32.shl + i32.const 240 i32.add local.tee $7 i64.load @@ -8711,8 +8720,6 @@ i32.trunc_f64_s br $~lib/math/rempio2f|inlined.2 end - i32.const 324 - i32.load local.get $2 i32.const 23 i32.shr_s @@ -8723,6 +8730,7 @@ i32.shr_s i32.const 3 i32.shl + i32.const 240 i32.add local.tee $7 i64.load diff --git a/tests/compiler/std/libm.untouched.wat b/tests/compiler/std/libm.untouched.wat index 42cb4b3ada..6dae2603fd 100644 --- a/tests/compiler/std/libm.untouched.wat +++ b/tests/compiler/std/libm.untouched.wat @@ -7,28 +7,17 @@ (type $f64_i64_=>_i32 (func (param f64 i64) (result i32))) (type $f64_f64_i32_=>_f64 (func (param f64 f64 i32) (result f64))) (memory $0 1) - (data (i32.const 16) "\00\08\00\00\01\00\00\00\00\00\00\00\00\08\00\00\9f\de\e0\c3\f04\f7?\00\90\e6y\7f\cc\d7\bf\1f\e9,jx\13\f7?\00\00\0d\c2\eeo\d7\bf\a0\b5\fa\08`\f2\f6?\00\e0Q\13\e3\13\d7\bf}\8c\13\1f\a6\d1\f6?\00x(8[\b8\d6\bf\d1\b4\c5\0bI\b1\f6?\00x\80\90U]\d6\bf\ba\0c/3G\91\f6?\00\00\18v\d0\02\d6\bf#B\"\18\9fq\f6?\00\90\90\86\ca\a8\d5\bf\d9\1e\a5\99OR\f6?\00P\03VCO\d5\bf\c4$\8f\aaV3\f6?\00@k\c37\f6\d4\bf\14\dc\9dk\b3\14\f6?\00P\a8\fd\a7\9d\d4\bfL\\\c6Rd\f6\f5?\00\a8\899\92E\d4\bfO,\91\b5g\d8\f5?\00\b8\b09\f4\ed\d3\bf\de\90[\cb\bc\ba\f5?\00p\8fD\ce\96\d3\bfx\1a\d9\f2a\9d\f5?\00\a0\bd\17\1e@\d3\bf\87VF\12V\80\f5?\00\80F\ef\e2\e9\d2\bf\d3k\e7\ce\97c\f5?\00\e008\1b\94\d2\bf\93\7f\a7\e2%G\f5?\00\88\da\8c\c5>\d2\bf\83E\06B\ff*\f5?\00\90\')\e1\e9\d1\bf\df\bd\b2\db\"\0f\f5?\00\f8H+m\95\d1\bf\d7\de4G\8f\f3\f4?\00\f8\b9\9agA\d1\bf@(\de\cfC\d8\f4?\00\98\ef\94\d0\ed\d0\bf\c8\a3x\c0>\bd\f4?\00\10\db\18\a5\9a\d0\bf\8a%\e0\c3\7f\a2\f4?\00\b8cR\e6G\d0\bf4\84\d4$\05\88\f4?\00\f0\86E\"\eb\cf\bf\0b-\19\1b\cem\f4?\00\b0\17uJG\cf\bfT\189\d3\d9S\f4?\000\10=D\a4\ce\bfZ\84\b4D\':\f4?\00\b0\e9D\0d\02\ce\bf\fb\f8\15A\b5 \f4?\00\f0w)\a2`\cd\bf\b1\f4>\da\82\07\f4?\00\90\95\04\01\c0\cc\bf\8f\feW]\8f\ee\f3?\00\10\89V) \cc\bf\e9L\0b\a0\d9\d5\f3?\00\10\81\8d\17\81\cb\bf+\c1\10\c0`\bd\f3?\00\d0\d3\cc\c9\e2\ca\bf\b8\dau+$\a5\f3?\00\90\12.@E\ca\bf\02\d0\9f\cd\"\8d\f3?\00\f0\1dhw\a8\c9\bf\1cz\84\c5[u\f3?\000Him\0c\c9\bf\e26\adI\ce]\f3?\00\c0E\a6 q\c8\bf@\d4M\98yF\f3?\000\14\b4\8f\d6\c7\bf$\cb\ff\ce\\/\f3?\00pb<\b8<\c7\bfI\0d\a1uw\18\f3?\00`7\9b\9a\a3\c6\bf\909>7\c8\01\f3?\00\a0\b7T1\0b\c6\bfA\f8\95\bbN\eb\f2?\000$v}s\c5\bf\d1\a9\19\02\n\d5\f2?\000\c2\8f{\dc\c4\bf*\fd\b7\a8\f9\be\f2?\00\00\d2Q,F\c4\bf\ab\1b\0cz\1c\a9\f2?\00\00\83\bc\8a\b0\c3\bf0\b5\14`r\93\f2?\00\00Ik\99\1b\c3\bf\f5\a1WW\fa}\f2?\00@\a4\90T\87\c2\bf\bf;\1d\9b\b3h\f2?\00\a0y\f8\b9\f3\c1\bf\bd\f5\8f\83\9dS\f2?\00\a0,%\c8`\c1\bf;\08\c9\aa\b7>\f2?\00 \f7W\7f\ce\c0\bf\b6@\a9+\01*\f2?\00\a0\feI\dc<\c0\bf2A\cc\96y\15\f2?\00\80K\bc\bdW\bf\bf\9b\fc\d2\1d \01\f2?\00@@\96\087\be\bf\0bHMI\f4\ec\f1?\00@\f9>\98\17\bd\bfie\8fR\f5\d8\f1?\00\a0\d8Ng\f9\bb\bf|~W\11#\c5\f1?\00`/ y\dc\ba\bf\e9&\cbt|\b1\f1?\00\80(\e7\c3\c0\b9\bf\b6\1a,\0c\01\9e\f1?\00\c0r\b3F\a6\b8\bf\bdp\b6{\b0\8a\f1?\00\00\ac\b3\01\8d\b7\bf\b6\bc\ef%\8aw\f1?\00\008E\f1t\b6\bf\da1L5\8dd\f1?\00\80\87m\0e^\b5\bf\dd_\'\90\b9Q\f1?\00\e0\a1\de\\H\b4\bfL\d22\a4\0e?\f1?\00\a0jM\d93\b3\bf\da\f9\10r\8b,\f1?\00`\c5\f8y \b2\bf1\b5\ec(0\1a\f1?\00 b\98F\0e\b1\bf\af4\84\da\fb\07\f1?\00\00\d2jl\fa\af\bf\b3kN\0f\ee\f5\f0?\00@wJ\8d\da\ad\bf\ce\9f*]\06\e4\f0?\00\00\85\e4\ec\bc\ab\bf!\a5,cD\d2\f0?\00\c0\12@\89\a1\a9\bf\1a\98\e2|\a7\c0\f0?\00\c0\023X\88\a7\bf\d16\c6\83/\af\f0?\00\80\d6g^q\a5\bf9\13\a0\98\db\9d\f0?\00\80eI\8a\\\a3\bf\df\e7R\af\ab\8c\f0?\00@\15d\e3I\a1\bf\fb(N/\9f{\f0?\00\80\eb\82\c0r\9e\bf\19\8f5\8c\b5j\f0?\00\80RR\f1U\9a\bf,\f9\ec\a5\eeY\f0?\00\80\81\cfb=\96\bf\90,\d1\cdII\f0?\00\00\aa\8c\fb(\92\bf\a9\ad\f0\c6\c68\f0?\00\00\f9 {1\8c\bf\a92y\13e(\f0?\00\00\aa]5\19\84\bfHs\ea\'$\18\f0?\00\00\ec\c2\03\12x\bf\95\b1\14\06\04\08\f0?\00\00$y\t\04`\bf\1a\fa&\f7\1f\e0\ef?\00\00\90\84\f3\efo?t\eaa\c2\1c\a1\ef?\00\00=5A\dc\87?.\99\81\b0\10c\ef?\00\80\c2\c4\a3\ce\93?\cd\ad\ee<\f6%\ef?\00\00\89\14\c1\9f\9b?\e7\13\91\03\c8\e9\ee?\00\00\11\ce\d8\b0\a1?\ab\b1\cbx\80\ae\ee?\00\c0\01\d0[\8a\a5?\9b\0c\9d\a2\1at\ee?\00\80\d8@\83\\\a9?\b5\99\n\83\91:\ee?\00\80W\efj\'\ad?V\9a`\t\e0\01\ee?\00\c0\98\e5\98u\b0?\98\bbw\e5\01\ca\ed?\00 \0d\e3\f5S\b2?\03\91|\0b\f2\92\ed?\00\008\8b\dd.\b4?\ce\\\fbf\ac\\\ed?\00\c0W\87Y\06\b6?\9d\de^\aa,\'\ed?\00\00j5v\da\b7?\cd,k>n\f2\ec?\00`\1cNC\ab\b9?\02y\a7\a2m\be\ec?\00`\0d\bb\c7x\bb?m\087m&\8b\ec?\00 \e72\13C\bd?\04X]\bd\94X\ec?\00`\deq1\n\bf?\8c\9f\bb3\b5&\ec?\00@\91+\15g\c0??\e7\ec\ee\83\f5\eb?\00\b0\92\82\85G\c1?\c1\96\dbu\fd\c4\eb?\000\ca\cdn&\c2?(J\86\0c\1e\95\eb?\00P\c5\a6\d7\03\c3?,>\ef\c5\e2e\eb?\00\103<\c3\df\c3?\8b\88\c9gH7\eb?\00\80zk6\ba\c4?J0\1d!K\t\eb?\00\f0\d1(9\93\c5?~\ef\f2\85\e8\db\ea?\00\f0\18$\cdj\c6?\a2=`1\1d\af\ea?\00\90f\ec\f8@\c7?\a7X\d3?\e6\82\ea?\00\f0\1a\f5\c0\15\c8?\8bs\t\ef@W\ea?\00\80\f6T)\e9\c8?\'K\ab\90*,\ea?\00@\f8\026\bb\c9?\d1\f2\93\13\a0\01\ea?\00\00,\1c\ed\8b\ca?\1b<\db$\9f\d7\e9?\00\d0\01\\Q[\cb?\90\b1\c7\05%\ae\e9?\00\c0\bc\ccg)\cc?/\ce\97\f2.\85\e9?\00`H\d55\f6\cc?uK\a4\ee\ba\\\e9?\00\c0F4\bd\c1\cd?8H\e7\9d\c64\e9?\00\e0\cf\b8\01\8c\ce?\e6Rg/O\0d\e9?\00\90\17\c0\tU\cf?\9d\d7\ff\8eR\e6\e8?\00\b8\1f\12l\0e\d0?|\00\cc\9f\ce\bf\e8?\00\d0\93\0e\b8q\d0?\0e\c3\be\da\c0\99\e8?\00p\86\9ek\d4\d0?\fb\17#\aa\'t\e8?\00\d0K3\876\d1?\08\9a\b3\ac\00O\e8?\00H#g\0d\98\d1?U>e\e8I*\e8?\00\80\cc\e0\ff\f8\d1?`\02\f4\95\01\06\e8?\00hc\d7_Y\d2?)\a3\e0c%\e2\e7?\00\a8\14\t0\b9\d2?\ad\b5\dcw\b3\be\e7?\00`C\10r\18\d3?\c2%\97g\aa\9b\e7?\00\18\ecm&w\d3?W\06\17\f2\07y\e7?\000\af\fbO\d5\d3?\0c\13\d6\db\caV\e7?\00\e0/\e3\ee2\d4?") - (data (i32.const 2080) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00 \00\00\00 \00\00\00\00\08\00\00\00\01\00\00") - (data (i32.const 2112) "\00\08\00\00\01\00\00\00\00\00\00\00\00\08\00\00k\b6O\01\00\10\e6?<[B\91l\02~<\95\b4M\03\000\e6?A]\00H\ea\bf\8d\f6\05\eb\ff\ef\e6?S-\e2\1a\04\80~\bc\80\97\86\0e\00\10\e7?Ry\tqf\ff{<\12\e9g\fc\ff/\e7?$\87\bd&\e2\00\8c\89<\b9{F\13\000\e9?v\02\98KN\80\7f.\98\dd\ff\af\e9?7\93Z\8a\e0@\87\bcf\fbI\ed\ff\cf\e9?\00\e0\9b\c1\08\ce?O*\00\b0\ea?_?\ff<\04\fdi\bc\d1\1e\ae\d7\ff\cf\ea?\b4p\90\12\e7>\82\bcx\04Q\ee\ff\ef\ea?\a3\de\0e\e0>\06j<[\0de\db\ff\0f\eb?\b9\n\1f8\c8\06ZO\86\d0E\ff\8a<@\16\87\f9\ff\8f\eb?\f9\c3\c2\96w\fe|\f0\0f\00\f0\f4?\1cS\85\0b\89\7f\97<\d1K\dc\12\00\10\f5?6\a4fqe\04`\c9\03\00\b0\f5?\c0\0c\bf\n\08A\9f\bc\bc\19I\1d\00\d0\f5?)G%\fb*\81\98\bc\89z\b8\e7\ff\ef\f5?\04i\ed\80\b7~\94\bc") - (data (i32.const 4176) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00P\08\00\00P\08\00\00\00\08\00\00\00\01\00\00") - (data (i32.const 4208) "\c0\00\00\00\01\00\00\00\00\00\00\00\c0\00\00\00n\83\f9\a2\00\00\00\00\d1W\'\fc)\15DN\99\95b\db\c0\dd4\f5\abcQ\feA\90C<:n$\b7a\c5\bb\de\ea.I\06\e0\d2MB\1c\eb\1d\fe\1c\92\d1\t\f55\82\e8>\a7)\b1&p\9c\e9\84D\bb.9\d6\919A~_\b4\8b_\84\9c\f49S\83\ff\97\f8\1f;(\f9\bd\8b\11/\ef\0f\98\05\de\cf~6m\1fm\nZf?FO\b7\t\cb\'\c7\ba\'u-\ea_\9e\f79\07={\f1\e5\eb\b1_\fbk\ea\92R\8aF0\03V\08]\8d\1f \bc\cf\f0\abk{\fca\91\e3\a9\1d6\f4\9a_\85\99e\08\1b\e6^\80\d8\ff\8d@h\a0\14W\15\06\061\'sM") - (data (i32.const 4416) "\10\00\00\00\01\00\00\00\04\00\00\00\10\00\00\00\80\10\00\00\80\10\00\00\c0\00\00\00\18\00\00\00") - (data (i32.const 4448) "\00\08\00\00\01\00\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?n\bf\88\1aO;\9b<53\fb\a9=\f6\ef?]\dc\d8\9c\13`q\bca\80w>\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\0dG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") - (data (i32.const 6512) "\10\00\00\00\01\00\00\00\04\00\00\00\10\00\00\00p\11\00\00p\11\00\00\00\08\00\00\00\01\00\00") - (data (i32.const 6544) "\00\04\00\00\01\00\00\00\00\00\00\00\00\04\00\00\f8\ac\b1k($\f7?\00\b0\cd\ee_\t\e1\bf\a1\cc\d2f\f7\e1\f6?\00\d0v\bd\94\84\e0\bf\8a\d40\0e=\a1\f6?\00\f8\e8\aeC\01\e0\bf\85l\d02\eca\f6?\00@\0b6\c5\fe\de\bf\f8\98\11\95\fa#\f6?\00\e0\b7\1a\d9\fd\dd\bfl\02\cf\a4[\e7\f5?\00\90\c7\0c\ae\ff\dc\bf\b8O!Z\05\ac\f5?\00\a0\fd\118\04\dc\bf\1en\16\0f\edq\f5?\00\e0:2g\0b\db\bf5\f8\0bY\t9\f5?\00\b0-Z/\15\da\bf\dd\ada\edO\01\f5?\00`\f8Z\7f!\d9\bf\d0{H\8e\b8\ca\f4?\00\90q\b0M0\d8\bf\eeO3\b49\95\f4?\00\e0\a9\f9\89A\d7\bfi\d5\af\df\cb`\f4?\00\90\19\b5+U\d6\bfS\b9\e4Nf-\f4?\00\10\9b\a2#k\d5\bf\a6\d8\1d\11\01\fb\f3?\00\a0_\0fe\83\d4\bf6X\0c\b7\95\c9\f3?\00\a0\f67\e9\9d\d3\bfJ\fd\b6J\1c\99\f3?\00`\8dS\a1\ba\d2\bf\b5\99\e0\0c\8ei\f3?\00@\ca@\83\d9\d1\bf\b2\e7\13\82\e4:\f3?\00\e0@:\85\fa\d0\bf\b1\bd\85\19\19\0d\f3?\000\e72\9c\1d\d0\bf\d7q\b2\ca%\e0\f2?\00`\fa\a2}\85\ce\bf\82\cd\13\cf\04\b4\f2?\00\80=c\c8\d3\cc\bfP\cb|,\b0\88\f2?\00\a0\14L\03&\cb\bf\e5M\94c\"^\f2?\00\e0O/\1c|\c9\bf\b1\15\86=V4\f2?\00\00\80?\02\d6\c7\bf8\af>\e3F\0b\f2?\00\e0\05\1a\a73\c6\bf\dd\a3\cd\fd\ee\e2\f1?\00\00W\e9\f5\94\c4\bf09\0bXJ\bb\f1?\00\a0\e0$\e4\f9\c2\bf\00\"\7f\84S\94\f1?\00\c0\fdZYb\c1\bf<\d7\d5\c0\06n\f1?\00\80\bdu\9a\9c\bf\bf\c2\e4\b7G_H\f1?\00\c0\f9[W{\bc\bf\d1\85\00\adX#\f1?\00\80\f4\0f\c6`\b9\bf\'\"S\0f\f0\fe\f0?\00\00\b6G\e2L\b6\bf\8f:\d0w \db\f0?\00@\01\b2x?\b3\bf\d9\80Y\d6\e6\b7\f0?\00\c0B\1a}8\b0\bf\8d@{\fe>\95\f0?\00\00\b5\08\92o\aa\bf\83;\c5\ca%s\f0?\00\00wO\95z\a4\bf\\\1b\0d\e4\97Q\f0?\00\00\0c\c5\a8#\9d\bf\a2\8e \c1\910\f0?\00\00x)&j\91\bf!~\b3%\10\10\f0?\00\00\e8\d8\f8 w\bfk\a7\ca\f9~\c0\ef?\00\00P\b1S\fe\86?\84\f1\f6\d3eD\ef?\00\80\0f\e1\cc\1c\a1?\7f\10\84\9f\07\cc\ee?\00\80\8b\8c\fcM\ac?\e8Z\97\99:W\ee?\00@W\1e2\aa\b3?\e6=\bd\f0\d6\e5\ed?\00\80\8b\d0\a0\18\b9?\b38\ff\81\b6w\ed?\00@\04\da\e9r\be?C\e9Mr\b5\0c\ed?\00`\7fP\d2\dc\c1?cu\0e\dc\b2\a4\ec?\00\a0\de\03\abv\c4?Q\cb\d6\e8\8e?\ec?\00 \e2wC\07\c7?L\0c\02O+\dd\eb?\00@\a9\8b\de\8e\c9?\ca\15`\00l}\eb?\00\e0\d2j\b8\0d\cc?\8f3.n6 \eb?\00\e0\ce\af\n\84\ce?9P)&p\c5\ea?\00\80g\b4\ny\d0?\dd1\'\bc\01m\ea?\00\c0\01h\05\ac\d1?\8b\f1?\bc\d3\16\ea?\00\e0\fe\d4\11\db\d2?\ad\fegI\d1\c2\e9?\00\80\c5NF\06\d4?\02\99|\f4\e4p\e9?\00\f0:\t\be-\d5?\f2\bc\829\fb \e9?\00\d0P \90Q\d6?\f1Y\f7\87\01\d3\e8?\00\f0\ea\cd\d2q\d7?m\f6\b9\eb\e5\86\e8?\00\90}\85\9c\8e\d8?\94\b9X\b6\97<\e8?\00`\e1U\01\a8\d9?\"\10\c6\ff\05\f4\e7?\00\d0\d3n\18\be\da?\ca\15\14\18\"\ad\e7?\00\e0\a0\ae\f2\d0\db?\8c\ff\9e\f9\dcg\e7?\00@\bf=\a4\e0\dc?") - (data (i32.const 7584) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00\a0\19\00\00\a0\19\00\00\00\04\00\00\80\00\00\00") - (data (i32.const 7616) "\00\04\00\00\01\00\00\00\00\00\00\00\00\04\00\00\8e\n\b9\12\00 \e6?\05\b6D\06\ab\04\89<\a64W\04\00`\e6?\a9\f7b\ea\9b\ffa<\c5\f2%\c3\ff\9f\e6?\ba\90<\cb\cf~\82<\04Z\b98\00\e0\e6?&\93sV\88\ff\88<\e3\94\99\e0\ff\1f\e7?\b1\82_\'@\fd\8a<\10\0eY\15\00`\e7?A\83#\b4u\fdr\bc\d5[e\12\00\a0\e7?v+$|\e6\08x<\a6\e9Y2\00\e0\e7?\b7\"\f6&\e4\08b\bc\d2\b2\b4\ed\ff\1f\e8?/\c9\a5\1eF\02\84\bc\c3\fc\fa-\00`\e8?\1f\9a\f2\a2\f4\f7m)\e0\ff\df\f2?\f9\a6\b2\da9|\9b<\82\f0\dc\f7\ff\1f\f3?TR\dcn3\f1}<`\8bZ\f0\ff_\f3?\eb1\cdLV\03\9e\bc\cc\ae\0e.\00\a0\f3?w\a4\d3K\e7\f0u<6\b2;\04\00\e0\f3?3\88\9d\14\cb}\9c<\ff\87\d1\02\00 \f4?(=-\cf\af\08~<\b1|8\0d\00`\f4?\a6\99e\857\08\82<\89\9fV\04\00\a0\f4?\d2\bcO\90\\\fa\89\bc\f3C5\04\00\e0\f4?)S\17\ed%\11x\bc\0f\7f\02\cc\ff\1f\f5?\dcTw\84\d8\83\98\e90.\90\80\91\bc") - (data (i32.const 8656) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00\d0\1d\00\00\d0\1d\00\00\00\04\00\00\80\00\00\00") - (data (i32.const 8688) "\00\10\00\00\01\00\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\a0\f6?\00\00\00\00\00\00\00\00\00\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?\00\00\00\00\00\00\00\00\00\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?\00\00\00\00\00\00\00\00\00XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?\00\00\00\00\00\00\00\00\00\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?\00\00\00\00\00\00\00\00\00xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?\00\00\00\00\00\00\00\00\00`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?\00\00\00\00\00\00\00\00\00\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?\00\00\00\00\00\00\00\00\00HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?\00\00\00\00\00\00\00\00\00\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?\00\00\00\00\00\00\00\00\00 \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?\00\00\00\00\00\00\00\00\00x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?\00\00\00\00\00\00\00\00\00\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?\00\00\00\00\00\00\00\00\00\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?\00\00\00\00\00\00\00\00\00H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?\00\00\00\00\00\00\00\00\00\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?\00\00\00\00\00\00\00\00\00@^m\18\b9\cf\bf\87<\99\ab*W\0d=\00\00\00\00\00`\f4?\00\00\00\00\00\00\00\00\00`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?\00\00\00\00\00\00\00\00\00\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?\00\00\00\00\00\00\00\00\00\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?\00\00\00\00\00\00\00\00\00\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?\00\00\00\00\00\00\00\00\00\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?\00\00\00\00\00\00\00\00\00P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?\00\00\00\00\00\00\00\00\00\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?\00\00\00\00\00\00\00\00\00\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?\00\00\00\00\00\00\00\00\00\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?\00\00\00\00\00\00\00\00\00\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?\00\00\00\00\00\00\00\00\00`F\d1;\97\b1?\9b\9e\0dV]2%\bd\00\00\00\00\00\a0\ed?\00\00\00\00\00\00\00\00\00\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?\00\00\00\00\00\00\00\00\00\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?\00\00\00\00\00\00\00\00\00\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?\00\00\00\00\00\00\00\00\00@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?\00\00\00\00\00\00\00\00\00`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?\00\00\00\00\00\00\00\00\00@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?\00\00\00\00\00\00\00\00\00 \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?\00\00\00\00\00\00\00\00\00\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?\00\00\00\00\00\00\00\00\00\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?\00\00\00\00\00\00\00\00\00\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?\00\00\00\00\00\00\00\00\00\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?\00\00\00\00\00\00\00\00\00\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?\00\00\00\00\00\00\00\00\00\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?\00\00\00\00\00\00\00\00\00\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?\00\00\00\00\00\00\00\00\00\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?\00\00\00\00\00\00\00\00\00pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?\00\00\00\00\00\00\00\00\00PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?\00\00\00\00\00\00\00\00\00\009\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?\00\00\00\00\00\00\00\00\00\00\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?\00\00\00\00\00\00\00\00\00\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?\00\00\00\00\00\00\00\00\00\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?\00\00\00\00\00\00\00\00\00\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?\00\00\00\00\00\00\00\00\00\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?\00\00\00\00\00\00\00\00\00\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?\00\00\00\00\00\00\00\00\00\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?\00\00\00\00\00\00\00\00\00\00\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?\00\00\00\00\00\00\00\00\00\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?\00\00\00\00\00\00\00\00\00XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?\00\00\00\00\00\00\00\00\00`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?\00\00\00\00\00\00\00\00\00\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?\00\00\00\00\00\00\00\00\00\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?\00\00\00\00\00\00\00\00\00hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?\00\00\00\00\00\00\00\00\00\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?\00\00\00\00\00\00\00\00\00\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?\00\00\00\00\00\00\00\00\00`\d3\e1\f1\14\d3?\b8\b2\03\d5\ee?\ad\d3Z\99\9f\e8\ee?G^\fb\f2v\ff\ee?\9cR\85\dd\9b\19\ef?i\90\ef\dc 7\ef?\87\a4\fb\dc\18X\ef?_\9b{3\97|\ef?\da\90\a4\a2\af\a4\ef?@En[v\d0\ef?") - (data (i32.const 13488) "\10\00\00\00\01\00\00\00\04\00\00\00\10\00\00\00\b03\00\00\b03\00\00\00\01\00\00 \00\00\00") - (data (i32.const 13520) "\00\01\00\00\01\00\00\00\00\00\00\00\00\01\00\00\be\f3\f8y\eca\f6?\190\96[\c6\fe\de\bf=\88\afJ\edq\f5?\a4\fc\d42h\0b\db\bf\b0\10\f0\f09\95\f4?{\b7\1f\n\8bA\d7\bf\85\03\b8\b0\95\c9\f3?{\cfm\1a\e9\9d\d3\bf\a5d\88\0c\19\0d\f3?1\b6\f2\f3\9b\1d\d0\bf\a0\8e\0b{\"^\f2?\f0z;\1b\1d|\c9\bf?4\1aJJ\bb\f1?\9f<\af\93\e3\f9\c2\bf\ba\e5\8a\f0X#\f1?\\\8dx\bf\cb`\b9\bf\a7\00\99A?\95\f0?\ce_G\b6\9do\aa\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?=\f5$\9f\ca8\b3?\a0j\02\1f\b3\a4\ec?\ba\918T\a9v\c4?\e6\fcjW6 \eb?\d2\e4\c4J\0b\84\ce?-\aa\a1c\d1\c2\e9?\1ce\c6\f0E\06\d4?\edAx\03\e6\86\e8?\f8\9f\1b,\9c\8e\d8?bHS\f5\dcg\e7?\cc{\b1N\a4\e0\dc?") - (data (i32.const 13792) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00\e04\00\00\e04\00\00\00\01\00\00 \00\00\00") + (data (i32.const 16) "\00\08\00\00\01\00\00\00\03\00\00\00\00\08\00\00\9f\de\e0\c3\f04\f7?\00\90\e6y\7f\cc\d7\bf\1f\e9,jx\13\f7?\00\00\0d\c2\eeo\d7\bf\a0\b5\fa\08`\f2\f6?\00\e0Q\13\e3\13\d7\bf}\8c\13\1f\a6\d1\f6?\00x(8[\b8\d6\bf\d1\b4\c5\0bI\b1\f6?\00x\80\90U]\d6\bf\ba\0c/3G\91\f6?\00\00\18v\d0\02\d6\bf#B\"\18\9fq\f6?\00\90\90\86\ca\a8\d5\bf\d9\1e\a5\99OR\f6?\00P\03VCO\d5\bf\c4$\8f\aaV3\f6?\00@k\c37\f6\d4\bf\14\dc\9dk\b3\14\f6?\00P\a8\fd\a7\9d\d4\bfL\\\c6Rd\f6\f5?\00\a8\899\92E\d4\bfO,\91\b5g\d8\f5?\00\b8\b09\f4\ed\d3\bf\de\90[\cb\bc\ba\f5?\00p\8fD\ce\96\d3\bfx\1a\d9\f2a\9d\f5?\00\a0\bd\17\1e@\d3\bf\87VF\12V\80\f5?\00\80F\ef\e2\e9\d2\bf\d3k\e7\ce\97c\f5?\00\e008\1b\94\d2\bf\93\7f\a7\e2%G\f5?\00\88\da\8c\c5>\d2\bf\83E\06B\ff*\f5?\00\90\')\e1\e9\d1\bf\df\bd\b2\db\"\0f\f5?\00\f8H+m\95\d1\bf\d7\de4G\8f\f3\f4?\00\f8\b9\9agA\d1\bf@(\de\cfC\d8\f4?\00\98\ef\94\d0\ed\d0\bf\c8\a3x\c0>\bd\f4?\00\10\db\18\a5\9a\d0\bf\8a%\e0\c3\7f\a2\f4?\00\b8cR\e6G\d0\bf4\84\d4$\05\88\f4?\00\f0\86E\"\eb\cf\bf\0b-\19\1b\cem\f4?\00\b0\17uJG\cf\bfT\189\d3\d9S\f4?\000\10=D\a4\ce\bfZ\84\b4D\':\f4?\00\b0\e9D\0d\02\ce\bf\fb\f8\15A\b5 \f4?\00\f0w)\a2`\cd\bf\b1\f4>\da\82\07\f4?\00\90\95\04\01\c0\cc\bf\8f\feW]\8f\ee\f3?\00\10\89V) \cc\bf\e9L\0b\a0\d9\d5\f3?\00\10\81\8d\17\81\cb\bf+\c1\10\c0`\bd\f3?\00\d0\d3\cc\c9\e2\ca\bf\b8\dau+$\a5\f3?\00\90\12.@E\ca\bf\02\d0\9f\cd\"\8d\f3?\00\f0\1dhw\a8\c9\bf\1cz\84\c5[u\f3?\000Him\0c\c9\bf\e26\adI\ce]\f3?\00\c0E\a6 q\c8\bf@\d4M\98yF\f3?\000\14\b4\8f\d6\c7\bf$\cb\ff\ce\\/\f3?\00pb<\b8<\c7\bfI\0d\a1uw\18\f3?\00`7\9b\9a\a3\c6\bf\909>7\c8\01\f3?\00\a0\b7T1\0b\c6\bfA\f8\95\bbN\eb\f2?\000$v}s\c5\bf\d1\a9\19\02\n\d5\f2?\000\c2\8f{\dc\c4\bf*\fd\b7\a8\f9\be\f2?\00\00\d2Q,F\c4\bf\ab\1b\0cz\1c\a9\f2?\00\00\83\bc\8a\b0\c3\bf0\b5\14`r\93\f2?\00\00Ik\99\1b\c3\bf\f5\a1WW\fa}\f2?\00@\a4\90T\87\c2\bf\bf;\1d\9b\b3h\f2?\00\a0y\f8\b9\f3\c1\bf\bd\f5\8f\83\9dS\f2?\00\a0,%\c8`\c1\bf;\08\c9\aa\b7>\f2?\00 \f7W\7f\ce\c0\bf\b6@\a9+\01*\f2?\00\a0\feI\dc<\c0\bf2A\cc\96y\15\f2?\00\80K\bc\bdW\bf\bf\9b\fc\d2\1d \01\f2?\00@@\96\087\be\bf\0bHMI\f4\ec\f1?\00@\f9>\98\17\bd\bfie\8fR\f5\d8\f1?\00\a0\d8Ng\f9\bb\bf|~W\11#\c5\f1?\00`/ y\dc\ba\bf\e9&\cbt|\b1\f1?\00\80(\e7\c3\c0\b9\bf\b6\1a,\0c\01\9e\f1?\00\c0r\b3F\a6\b8\bf\bdp\b6{\b0\8a\f1?\00\00\ac\b3\01\8d\b7\bf\b6\bc\ef%\8aw\f1?\00\008E\f1t\b6\bf\da1L5\8dd\f1?\00\80\87m\0e^\b5\bf\dd_\'\90\b9Q\f1?\00\e0\a1\de\\H\b4\bfL\d22\a4\0e?\f1?\00\a0jM\d93\b3\bf\da\f9\10r\8b,\f1?\00`\c5\f8y \b2\bf1\b5\ec(0\1a\f1?\00 b\98F\0e\b1\bf\af4\84\da\fb\07\f1?\00\00\d2jl\fa\af\bf\b3kN\0f\ee\f5\f0?\00@wJ\8d\da\ad\bf\ce\9f*]\06\e4\f0?\00\00\85\e4\ec\bc\ab\bf!\a5,cD\d2\f0?\00\c0\12@\89\a1\a9\bf\1a\98\e2|\a7\c0\f0?\00\c0\023X\88\a7\bf\d16\c6\83/\af\f0?\00\80\d6g^q\a5\bf9\13\a0\98\db\9d\f0?\00\80eI\8a\\\a3\bf\df\e7R\af\ab\8c\f0?\00@\15d\e3I\a1\bf\fb(N/\9f{\f0?\00\80\eb\82\c0r\9e\bf\19\8f5\8c\b5j\f0?\00\80RR\f1U\9a\bf,\f9\ec\a5\eeY\f0?\00\80\81\cfb=\96\bf\90,\d1\cdII\f0?\00\00\aa\8c\fb(\92\bf\a9\ad\f0\c6\c68\f0?\00\00\f9 {1\8c\bf\a92y\13e(\f0?\00\00\aa]5\19\84\bfHs\ea\'$\18\f0?\00\00\ec\c2\03\12x\bf\95\b1\14\06\04\08\f0?\00\00$y\t\04`\bf\1a\fa&\f7\1f\e0\ef?\00\00\90\84\f3\efo?t\eaa\c2\1c\a1\ef?\00\00=5A\dc\87?.\99\81\b0\10c\ef?\00\80\c2\c4\a3\ce\93?\cd\ad\ee<\f6%\ef?\00\00\89\14\c1\9f\9b?\e7\13\91\03\c8\e9\ee?\00\00\11\ce\d8\b0\a1?\ab\b1\cbx\80\ae\ee?\00\c0\01\d0[\8a\a5?\9b\0c\9d\a2\1at\ee?\00\80\d8@\83\\\a9?\b5\99\n\83\91:\ee?\00\80W\efj\'\ad?V\9a`\t\e0\01\ee?\00\c0\98\e5\98u\b0?\98\bbw\e5\01\ca\ed?\00 \0d\e3\f5S\b2?\03\91|\0b\f2\92\ed?\00\008\8b\dd.\b4?\ce\\\fbf\ac\\\ed?\00\c0W\87Y\06\b6?\9d\de^\aa,\'\ed?\00\00j5v\da\b7?\cd,k>n\f2\ec?\00`\1cNC\ab\b9?\02y\a7\a2m\be\ec?\00`\0d\bb\c7x\bb?m\087m&\8b\ec?\00 \e72\13C\bd?\04X]\bd\94X\ec?\00`\deq1\n\bf?\8c\9f\bb3\b5&\ec?\00@\91+\15g\c0??\e7\ec\ee\83\f5\eb?\00\b0\92\82\85G\c1?\c1\96\dbu\fd\c4\eb?\000\ca\cdn&\c2?(J\86\0c\1e\95\eb?\00P\c5\a6\d7\03\c3?,>\ef\c5\e2e\eb?\00\103<\c3\df\c3?\8b\88\c9gH7\eb?\00\80zk6\ba\c4?J0\1d!K\t\eb?\00\f0\d1(9\93\c5?~\ef\f2\85\e8\db\ea?\00\f0\18$\cdj\c6?\a2=`1\1d\af\ea?\00\90f\ec\f8@\c7?\a7X\d3?\e6\82\ea?\00\f0\1a\f5\c0\15\c8?\8bs\t\ef@W\ea?\00\80\f6T)\e9\c8?\'K\ab\90*,\ea?\00@\f8\026\bb\c9?\d1\f2\93\13\a0\01\ea?\00\00,\1c\ed\8b\ca?\1b<\db$\9f\d7\e9?\00\d0\01\\Q[\cb?\90\b1\c7\05%\ae\e9?\00\c0\bc\ccg)\cc?/\ce\97\f2.\85\e9?\00`H\d55\f6\cc?uK\a4\ee\ba\\\e9?\00\c0F4\bd\c1\cd?8H\e7\9d\c64\e9?\00\e0\cf\b8\01\8c\ce?\e6Rg/O\0d\e9?\00\90\17\c0\tU\cf?\9d\d7\ff\8eR\e6\e8?\00\b8\1f\12l\0e\d0?|\00\cc\9f\ce\bf\e8?\00\d0\93\0e\b8q\d0?\0e\c3\be\da\c0\99\e8?\00p\86\9ek\d4\d0?\fb\17#\aa\'t\e8?\00\d0K3\876\d1?\08\9a\b3\ac\00O\e8?\00H#g\0d\98\d1?U>e\e8I*\e8?\00\80\cc\e0\ff\f8\d1?`\02\f4\95\01\06\e8?\00hc\d7_Y\d2?)\a3\e0c%\e2\e7?\00\a8\14\t0\b9\d2?\ad\b5\dcw\b3\be\e7?\00`C\10r\18\d3?\c2%\97g\aa\9b\e7?\00\18\ecm&w\d3?W\06\17\f2\07y\e7?\000\af\fbO\d5\d3?\0c\13\d6\db\caV\e7?\00\e0/\e3\ee2\d4?") + (data (i32.const 2080) "\00\08\00\00\01\00\00\00\03\00\00\00\00\08\00\00k\b6O\01\00\10\e6?<[B\91l\02~<\95\b4M\03\000\e6?A]\00H\ea\bf\8d\f6\05\eb\ff\ef\e6?S-\e2\1a\04\80~\bc\80\97\86\0e\00\10\e7?Ry\tqf\ff{<\12\e9g\fc\ff/\e7?$\87\bd&\e2\00\8c\89<\b9{F\13\000\e9?v\02\98KN\80\7f.\98\dd\ff\af\e9?7\93Z\8a\e0@\87\bcf\fbI\ed\ff\cf\e9?\00\e0\9b\c1\08\ce?O*\00\b0\ea?_?\ff<\04\fdi\bc\d1\1e\ae\d7\ff\cf\ea?\b4p\90\12\e7>\82\bcx\04Q\ee\ff\ef\ea?\a3\de\0e\e0>\06j<[\0de\db\ff\0f\eb?\b9\n\1f8\c8\06ZO\86\d0E\ff\8a<@\16\87\f9\ff\8f\eb?\f9\c3\c2\96w\fe|\f0\0f\00\f0\f4?\1cS\85\0b\89\7f\97<\d1K\dc\12\00\10\f5?6\a4fqe\04`\c9\03\00\b0\f5?\c0\0c\bf\n\08A\9f\bc\bc\19I\1d\00\d0\f5?)G%\fb*\81\98\bc\89z\b8\e7\ff\ef\f5?\04i\ed\80\b7~\94\bc") + (data (i32.const 4144) "\c0\00\00\00\01\00\00\00\04\00\00\00\c0\00\00\00n\83\f9\a2\00\00\00\00\d1W\'\fc)\15DN\99\95b\db\c0\dd4\f5\abcQ\feA\90C<:n$\b7a\c5\bb\de\ea.I\06\e0\d2MB\1c\eb\1d\fe\1c\92\d1\t\f55\82\e8>\a7)\b1&p\9c\e9\84D\bb.9\d6\919A~_\b4\8b_\84\9c\f49S\83\ff\97\f8\1f;(\f9\bd\8b\11/\ef\0f\98\05\de\cf~6m\1fm\nZf?FO\b7\t\cb\'\c7\ba\'u-\ea_\9e\f79\07={\f1\e5\eb\b1_\fbk\ea\92R\8aF0\03V\08]\8d\1f \bc\cf\f0\abk{\fca\91\e3\a9\1d6\f4\9a_\85\99e\08\1b\e6^\80\d8\ff\8d@h\a0\14W\15\06\061\'sM") + (data (i32.const 4352) "\00\08\00\00\01\00\00\00\04\00\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?n\bf\88\1aO;\9b<53\fb\a9=\f6\ef?]\dc\d8\9c\13`q\bca\80w>\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\0dG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") + (data (i32.const 6416) "\00\04\00\00\01\00\00\00\03\00\00\00\00\04\00\00\f8\ac\b1k($\f7?\00\b0\cd\ee_\t\e1\bf\a1\cc\d2f\f7\e1\f6?\00\d0v\bd\94\84\e0\bf\8a\d40\0e=\a1\f6?\00\f8\e8\aeC\01\e0\bf\85l\d02\eca\f6?\00@\0b6\c5\fe\de\bf\f8\98\11\95\fa#\f6?\00\e0\b7\1a\d9\fd\dd\bfl\02\cf\a4[\e7\f5?\00\90\c7\0c\ae\ff\dc\bf\b8O!Z\05\ac\f5?\00\a0\fd\118\04\dc\bf\1en\16\0f\edq\f5?\00\e0:2g\0b\db\bf5\f8\0bY\t9\f5?\00\b0-Z/\15\da\bf\dd\ada\edO\01\f5?\00`\f8Z\7f!\d9\bf\d0{H\8e\b8\ca\f4?\00\90q\b0M0\d8\bf\eeO3\b49\95\f4?\00\e0\a9\f9\89A\d7\bfi\d5\af\df\cb`\f4?\00\90\19\b5+U\d6\bfS\b9\e4Nf-\f4?\00\10\9b\a2#k\d5\bf\a6\d8\1d\11\01\fb\f3?\00\a0_\0fe\83\d4\bf6X\0c\b7\95\c9\f3?\00\a0\f67\e9\9d\d3\bfJ\fd\b6J\1c\99\f3?\00`\8dS\a1\ba\d2\bf\b5\99\e0\0c\8ei\f3?\00@\ca@\83\d9\d1\bf\b2\e7\13\82\e4:\f3?\00\e0@:\85\fa\d0\bf\b1\bd\85\19\19\0d\f3?\000\e72\9c\1d\d0\bf\d7q\b2\ca%\e0\f2?\00`\fa\a2}\85\ce\bf\82\cd\13\cf\04\b4\f2?\00\80=c\c8\d3\cc\bfP\cb|,\b0\88\f2?\00\a0\14L\03&\cb\bf\e5M\94c\"^\f2?\00\e0O/\1c|\c9\bf\b1\15\86=V4\f2?\00\00\80?\02\d6\c7\bf8\af>\e3F\0b\f2?\00\e0\05\1a\a73\c6\bf\dd\a3\cd\fd\ee\e2\f1?\00\00W\e9\f5\94\c4\bf09\0bXJ\bb\f1?\00\a0\e0$\e4\f9\c2\bf\00\"\7f\84S\94\f1?\00\c0\fdZYb\c1\bf<\d7\d5\c0\06n\f1?\00\80\bdu\9a\9c\bf\bf\c2\e4\b7G_H\f1?\00\c0\f9[W{\bc\bf\d1\85\00\adX#\f1?\00\80\f4\0f\c6`\b9\bf\'\"S\0f\f0\fe\f0?\00\00\b6G\e2L\b6\bf\8f:\d0w \db\f0?\00@\01\b2x?\b3\bf\d9\80Y\d6\e6\b7\f0?\00\c0B\1a}8\b0\bf\8d@{\fe>\95\f0?\00\00\b5\08\92o\aa\bf\83;\c5\ca%s\f0?\00\00wO\95z\a4\bf\\\1b\0d\e4\97Q\f0?\00\00\0c\c5\a8#\9d\bf\a2\8e \c1\910\f0?\00\00x)&j\91\bf!~\b3%\10\10\f0?\00\00\e8\d8\f8 w\bfk\a7\ca\f9~\c0\ef?\00\00P\b1S\fe\86?\84\f1\f6\d3eD\ef?\00\80\0f\e1\cc\1c\a1?\7f\10\84\9f\07\cc\ee?\00\80\8b\8c\fcM\ac?\e8Z\97\99:W\ee?\00@W\1e2\aa\b3?\e6=\bd\f0\d6\e5\ed?\00\80\8b\d0\a0\18\b9?\b38\ff\81\b6w\ed?\00@\04\da\e9r\be?C\e9Mr\b5\0c\ed?\00`\7fP\d2\dc\c1?cu\0e\dc\b2\a4\ec?\00\a0\de\03\abv\c4?Q\cb\d6\e8\8e?\ec?\00 \e2wC\07\c7?L\0c\02O+\dd\eb?\00@\a9\8b\de\8e\c9?\ca\15`\00l}\eb?\00\e0\d2j\b8\0d\cc?\8f3.n6 \eb?\00\e0\ce\af\n\84\ce?9P)&p\c5\ea?\00\80g\b4\ny\d0?\dd1\'\bc\01m\ea?\00\c0\01h\05\ac\d1?\8b\f1?\bc\d3\16\ea?\00\e0\fe\d4\11\db\d2?\ad\fegI\d1\c2\e9?\00\80\c5NF\06\d4?\02\99|\f4\e4p\e9?\00\f0:\t\be-\d5?\f2\bc\829\fb \e9?\00\d0P \90Q\d6?\f1Y\f7\87\01\d3\e8?\00\f0\ea\cd\d2q\d7?m\f6\b9\eb\e5\86\e8?\00\90}\85\9c\8e\d8?\94\b9X\b6\97<\e8?\00`\e1U\01\a8\d9?\"\10\c6\ff\05\f4\e7?\00\d0\d3n\18\be\da?\ca\15\14\18\"\ad\e7?\00\e0\a0\ae\f2\d0\db?\8c\ff\9e\f9\dcg\e7?\00@\bf=\a4\e0\dc?") + (data (i32.const 7456) "\00\04\00\00\01\00\00\00\03\00\00\00\00\04\00\00\8e\n\b9\12\00 \e6?\05\b6D\06\ab\04\89<\a64W\04\00`\e6?\a9\f7b\ea\9b\ffa<\c5\f2%\c3\ff\9f\e6?\ba\90<\cb\cf~\82<\04Z\b98\00\e0\e6?&\93sV\88\ff\88<\e3\94\99\e0\ff\1f\e7?\b1\82_\'@\fd\8a<\10\0eY\15\00`\e7?A\83#\b4u\fdr\bc\d5[e\12\00\a0\e7?v+$|\e6\08x<\a6\e9Y2\00\e0\e7?\b7\"\f6&\e4\08b\bc\d2\b2\b4\ed\ff\1f\e8?/\c9\a5\1eF\02\84\bc\c3\fc\fa-\00`\e8?\1f\9a\f2\a2\f4\f7m)\e0\ff\df\f2?\f9\a6\b2\da9|\9b<\82\f0\dc\f7\ff\1f\f3?TR\dcn3\f1}<`\8bZ\f0\ff_\f3?\eb1\cdLV\03\9e\bc\cc\ae\0e.\00\a0\f3?w\a4\d3K\e7\f0u<6\b2;\04\00\e0\f3?3\88\9d\14\cb}\9c<\ff\87\d1\02\00 \f4?(=-\cf\af\08~<\b1|8\0d\00`\f4?\a6\99e\857\08\82<\89\9fV\04\00\a0\f4?\d2\bcO\90\\\fa\89\bc\f3C5\04\00\e0\f4?)S\17\ed%\11x\bc\0f\7f\02\cc\ff\1f\f5?\dcTw\84\d8\83\98\e90.\90\80\91\bc") + (data (i32.const 8496) "\00\10\00\00\01\00\00\00\03\00\00\00\00\10\00\00\00\00\00\00\00\a0\f6?\00\00\00\00\00\00\00\00\00\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?\00\00\00\00\00\00\00\00\00\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?\00\00\00\00\00\00\00\00\00XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?\00\00\00\00\00\00\00\00\00\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?\00\00\00\00\00\00\00\00\00xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?\00\00\00\00\00\00\00\00\00`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?\00\00\00\00\00\00\00\00\00\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?\00\00\00\00\00\00\00\00\00HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?\00\00\00\00\00\00\00\00\00\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?\00\00\00\00\00\00\00\00\00 \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?\00\00\00\00\00\00\00\00\00x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?\00\00\00\00\00\00\00\00\00\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?\00\00\00\00\00\00\00\00\00\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?\00\00\00\00\00\00\00\00\00H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?\00\00\00\00\00\00\00\00\00\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?\00\00\00\00\00\00\00\00\00@^m\18\b9\cf\bf\87<\99\ab*W\0d=\00\00\00\00\00`\f4?\00\00\00\00\00\00\00\00\00`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?\00\00\00\00\00\00\00\00\00\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?\00\00\00\00\00\00\00\00\00\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?\00\00\00\00\00\00\00\00\00\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?\00\00\00\00\00\00\00\00\00\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?\00\00\00\00\00\00\00\00\00P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?\00\00\00\00\00\00\00\00\00\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?\00\00\00\00\00\00\00\00\00\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?\00\00\00\00\00\00\00\00\00\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?\00\00\00\00\00\00\00\00\00\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?\00\00\00\00\00\00\00\00\00`F\d1;\97\b1?\9b\9e\0dV]2%\bd\00\00\00\00\00\a0\ed?\00\00\00\00\00\00\00\00\00\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?\00\00\00\00\00\00\00\00\00\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?\00\00\00\00\00\00\00\00\00\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?\00\00\00\00\00\00\00\00\00@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?\00\00\00\00\00\00\00\00\00`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?\00\00\00\00\00\00\00\00\00@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?\00\00\00\00\00\00\00\00\00 \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?\00\00\00\00\00\00\00\00\00\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?\00\00\00\00\00\00\00\00\00\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?\00\00\00\00\00\00\00\00\00\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?\00\00\00\00\00\00\00\00\00\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?\00\00\00\00\00\00\00\00\00\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?\00\00\00\00\00\00\00\00\00\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?\00\00\00\00\00\00\00\00\00\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?\00\00\00\00\00\00\00\00\00\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?\00\00\00\00\00\00\00\00\00pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?\00\00\00\00\00\00\00\00\00PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?\00\00\00\00\00\00\00\00\00\009\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?\00\00\00\00\00\00\00\00\00\00\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?\00\00\00\00\00\00\00\00\00\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?\00\00\00\00\00\00\00\00\00\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?\00\00\00\00\00\00\00\00\00\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?\00\00\00\00\00\00\00\00\00\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?\00\00\00\00\00\00\00\00\00\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?\00\00\00\00\00\00\00\00\00\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?\00\00\00\00\00\00\00\00\00\00\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?\00\00\00\00\00\00\00\00\00\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?\00\00\00\00\00\00\00\00\00XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?\00\00\00\00\00\00\00\00\00`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?\00\00\00\00\00\00\00\00\00\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?\00\00\00\00\00\00\00\00\00\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?\00\00\00\00\00\00\00\00\00hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?\00\00\00\00\00\00\00\00\00\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?\00\00\00\00\00\00\00\00\00\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?\00\00\00\00\00\00\00\00\00`\d3\e1\f1\14\d3?\b8\b2\03\d5\ee?\ad\d3Z\99\9f\e8\ee?G^\fb\f2v\ff\ee?\9cR\85\dd\9b\19\ef?i\90\ef\dc 7\ef?\87\a4\fb\dc\18X\ef?_\9b{3\97|\ef?\da\90\a4\a2\af\a4\ef?@En[v\d0\ef?") + (data (i32.const 13200) "\00\01\00\00\01\00\00\00\03\00\00\00\00\01\00\00\be\f3\f8y\eca\f6?\190\96[\c6\fe\de\bf=\88\afJ\edq\f5?\a4\fc\d42h\0b\db\bf\b0\10\f0\f09\95\f4?{\b7\1f\n\8bA\d7\bf\85\03\b8\b0\95\c9\f3?{\cfm\1a\e9\9d\d3\bf\a5d\88\0c\19\0d\f3?1\b6\f2\f3\9b\1d\d0\bf\a0\8e\0b{\"^\f2?\f0z;\1b\1d|\c9\bf?4\1aJJ\bb\f1?\9f<\af\93\e3\f9\c2\bf\ba\e5\8a\f0X#\f1?\\\8dx\bf\cb`\b9\bf\a7\00\99A?\95\f0?\ce_G\b6\9do\aa\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?=\f5$\9f\ca8\b3?\a0j\02\1f\b3\a4\ec?\ba\918T\a9v\c4?\e6\fcjW6 \eb?\d2\e4\c4J\0b\84\ce?-\aa\a1c\d1\c2\e9?\1ce\c6\f0E\06\d4?\edAx\03\e6\86\e8?\f8\9f\1b,\9c\8e\d8?bHS\f5\dcg\e7?\cc{\b1N\a4\e0\dc?") (table $0 1 funcref) (global $~lib/math/NativeMath.E f64 (f64.const 2.718281828459045)) (global $../../lib/libm/assembly/libm/E f64 (f64.const 2.718281828459045)) @@ -63,30 +52,11 @@ (global $~lib/math/NativeMathf.SQRT2 f32 (f32.const 1.4142135381698608)) (global $../../lib/libm/assembly/libmf/SQRT2 f32 (f32.const 1.4142135381698608)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) - (global $~lib/util/math/LOG_TABLE_BITS i32 (i32.const 7)) - (global $~lib/util/math/log_data_tab1 i32 (i32.const 2096)) - (global $~lib/util/math/log_data_tab2 i32 (i32.const 4192)) (global $~lib/math/rempio2_y0 (mut f64) (f64.const 0)) (global $~lib/math/rempio2_y1 (mut f64) (f64.const 0)) - (global $~lib/math/PIO2_TABLE i32 (i32.const 4432)) (global $~lib/math/res128_hi (mut i64) (i64.const 0)) - (global $~lib/util/math/EXP_TABLE_BITS i32 (i32.const 7)) - (global $~lib/util/math/exp_data_tab i32 (i32.const 6528)) - (global $~lib/util/math/LOG2_TABLE_BITS i32 (i32.const 6)) - (global $~lib/util/math/log2_data_tab1 i32 (i32.const 7600)) - (global $~lib/util/math/log2_data_tab2 i32 (i32.const 8672)) - (global $~lib/util/math/SIGN_BIAS i32 (i32.const 262144)) - (global $~lib/util/math/POW_LOG_TABLE_BITS i32 (i32.const 7)) - (global $~lib/util/math/pow_log_data_tab i32 (i32.const 12816)) (global $~lib/util/math/log_tail (mut f64) (f64.const 0)) - (global $~lib/util/math/LOGF_TABLE_BITS i32 (i32.const 4)) - (global $~lib/util/math/logf_data_tab i32 (i32.const 13120)) (global $~lib/math/rempio2f_y (mut f64) (f64.const 0)) - (global $~lib/math/PIO2F_TABLE i32 (i32.const 13200)) - (global $~lib/util/math/EXP2F_TABLE_BITS i32 (i32.const 5)) - (global $~lib/util/math/exp2f_data_tab i32 (i32.const 13504)) - (global $~lib/util/math/LOG2F_TABLE_BITS i32 (i32.const 4)) - (global $~lib/util/math/log2f_data_tab i32 (i32.const 13808)) (export "memory" (memory $0)) (export "libm.E" (global $../../lib/libm/assembly/libm/E)) (export "libm.LN10" (global $../../lib/libm/assembly/libm/LN10)) @@ -643,10 +613,8 @@ (local $14 i32) (local $15 i64) (local $16 i64) - (local $17 i32) - (local $18 i32) - (local $19 f64) - (local $20 f64) + (local $17 f64) + (local $18 f64) block $~lib/util/math/log_lut|inlined.0 (result f64) local.get $0 local.set $1 @@ -829,8 +797,7 @@ local.set $13 local.get $13 i64.const 52 - global.get $~lib/util/math/LOG_TABLE_BITS - i64.extend_i32_s + i64.const 7 i64.sub i64.shr_u i64.const 127 @@ -849,13 +816,7 @@ i64.and i64.sub local.set $16 - i32.const 2096 - i32.load offset=4 - local.set $17 - i32.const 4192 - i32.load offset=4 - local.set $18 - local.get $17 + i32.const 32 local.get $14 i32.const 1 i32.const 3 @@ -864,7 +825,7 @@ i32.add f64.load local.set $11 - local.get $17 + i32.const 32 local.get $14 i32.const 1 i32.const 3 @@ -876,14 +837,14 @@ local.get $16 f64.reinterpret_i64 local.set $9 - local.get $18 + i32.const 2096 local.get $14 i32.const 4 i32.shl i32.add f64.load local.set $8 - local.get $18 + i32.const 2096 local.get $14 i32.const 4 i32.shl @@ -920,25 +881,25 @@ f64.const 5.497923018708371e-14 f64.mul f64.add - local.set $19 + local.set $17 local.get $6 local.get $6 f64.mul - local.set $20 - local.get $19 - local.get $20 + local.set $18 + local.get $17 + local.get $18 f64.const -0.5000000000000001 f64.mul f64.add local.get $6 - local.get $20 + local.get $18 f64.mul f64.const 0.33333333331825593 local.get $6 f64.const -0.2499999999622955 f64.mul f64.add - local.get $20 + local.get $18 f64.const 0.20000304511814496 local.get $6 f64.const -0.16667054827627667 @@ -2138,11 +2099,11 @@ call $~lib/math/NativeMath.clz32 ) (func $~lib/math/pio2_large_quot (; 24 ;) (param $0 f64) (param $1 i64) (result i32) - (local $2 i32) + (local $2 i64) (local $3 i64) (local $4 i64) - (local $5 i64) - (local $6 i32) + (local $5 i32) + (local $6 i64) (local $7 i64) (local $8 i64) (local $9 i64) @@ -2172,371 +2133,367 @@ (local $33 i64) (local $34 i64) (local $35 i64) - (local $36 i64) - (local $37 f64) - i32.const 4432 - i32.load offset=4 - local.set $2 + (local $36 f64) local.get $1 i64.const 9223372036854775807 i64.and - local.set $3 - local.get $3 + local.set $2 + local.get $2 i64.const 52 i64.shr_s i64.const 1045 i64.sub - local.set $4 - local.get $4 + local.set $3 + local.get $3 i64.const 63 i64.and - local.set $5 - local.get $2 - local.get $4 + local.set $4 + i32.const 4160 + local.get $3 i64.const 6 i64.shr_s i32.wrap_i64 i32.const 3 i32.shl i32.add - local.set $6 - local.get $6 + local.set $5 + local.get $5 i64.load - local.set $10 - local.get $6 + local.set $9 + local.get $5 i64.load offset=8 - local.set $11 - local.get $6 - i64.load offset=16 - local.set $12 + local.set $10 local.get $5 + i64.load offset=16 + local.set $11 + local.get $4 i64.const 0 i64.ne if i32.const 64 i64.extend_i32_s - local.get $5 + local.get $4 i64.sub - local.set $13 - local.get $6 + local.set $12 + local.get $5 i64.load offset=24 - local.set $14 + local.set $13 + local.get $10 + local.get $12 + i64.shr_u + local.get $9 + local.get $4 + i64.shl + i64.or + local.set $6 local.get $11 - local.get $13 + local.get $12 i64.shr_u local.get $10 - local.get $5 + local.get $4 i64.shl i64.or local.set $7 - local.get $12 local.get $13 + local.get $12 i64.shr_u local.get $11 - local.get $5 + local.get $4 i64.shl i64.or local.set $8 - local.get $14 - local.get $13 - i64.shr_u - local.get $12 - local.get $5 - i64.shl - i64.or - local.set $9 else + local.get $9 + local.set $6 local.get $10 local.set $7 local.get $11 local.set $8 - local.get $12 - local.set $9 end local.get $1 i64.const 4503599627370495 i64.and i64.const 4503599627370496 i64.or - local.set $15 - local.get $8 local.set $14 - local.get $15 + local.get $7 local.set $13 local.get $14 + local.set $12 + local.get $13 i64.const 4294967295 i64.and - local.set $16 - local.get $13 + local.set $15 + local.get $12 i64.const 4294967295 i64.and - local.set $17 - local.get $14 - i64.const 32 - i64.shr_u - local.set $14 + local.set $16 local.get $13 i64.const 32 i64.shr_u local.set $13 + local.get $12 + i64.const 32 + i64.shr_u + local.set $12 + local.get $15 local.get $16 - local.get $17 i64.mul - local.set $20 - local.get $20 + local.set $19 + local.get $19 i64.const 4294967295 i64.and - local.set $18 - local.get $14 - local.get $17 + local.set $17 + local.get $13 + local.get $16 i64.mul - local.get $20 + local.get $19 i64.const 32 i64.shr_u i64.add - local.set $20 - local.get $20 + local.set $19 + local.get $19 i64.const 32 i64.shr_u - local.set $19 - local.get $16 - local.get $13 + local.set $18 + local.get $15 + local.get $12 i64.mul - local.get $20 + local.get $19 i64.const 4294967295 i64.and i64.add - local.set $20 - local.get $14 + local.set $19 local.get $13 + local.get $12 i64.mul - local.get $19 + local.get $18 i64.add - local.get $20 + local.get $19 i64.const 32 i64.shr_u i64.add global.set $~lib/math/res128_hi - local.get $20 + local.get $19 i64.const 32 i64.shl - local.get $18 + local.get $17 i64.add - local.set $21 + local.set $20 global.get $~lib/math/res128_hi - local.set $22 - local.get $7 - local.get $15 + local.set $21 + local.get $6 + local.get $14 i64.mul - local.set $23 - local.get $9 + local.set $22 + local.get $8 i64.const 32 i64.shr_u - local.get $15 + local.get $14 i64.const 32 i64.shr_s i64.mul - local.set $24 - local.get $21 - local.get $24 - i64.add - local.set $25 + local.set $23 + local.get $20 local.get $23 + i64.add + local.set $24 local.get $22 + local.get $21 i64.add - local.get $25 local.get $24 + local.get $23 i64.lt_u i64.extend_i32_u i64.add - local.set $26 - local.get $25 + local.set $25 + local.get $24 i64.const 2 i64.shl - local.set $27 - local.get $26 + local.set $26 + local.get $25 i64.const 2 i64.shl - local.get $25 + local.get $24 i64.const 62 i64.shr_u i64.or - local.set $28 - local.get $28 + local.set $27 + local.get $27 i64.const 63 i64.shr_s - local.set $29 - local.get $29 + local.set $28 + local.get $28 i64.const 1 i64.shr_s - local.set $30 - local.get $26 + local.set $29 + local.get $25 i64.const 62 i64.shr_s - local.get $29 + local.get $28 i64.sub - local.set $31 + local.set $30 i64.const 4372995238176751616 - local.get $27 - local.get $29 - i64.xor - local.set $14 + local.get $26 local.get $28 - local.get $30 i64.xor local.set $13 - local.get $13 + local.get $27 + local.get $29 + i64.xor + local.set $12 + local.get $12 i64.clz - local.set $20 - local.get $13 - local.get $20 + local.set $19 + local.get $12 + local.get $19 i64.shl - local.get $14 + local.get $13 i64.const 64 - local.get $20 + local.get $19 i64.sub i64.shr_u i64.or - local.set $13 - local.get $14 - local.get $20 + local.set $12 + local.get $13 + local.get $19 i64.shl - local.set $14 + local.set $13 i64.const -3958705157555305932 - local.set $17 - local.get $13 local.set $16 - local.get $17 - i64.const 4294967295 - i64.and - local.set $19 + local.get $12 + local.set $15 local.get $16 i64.const 4294967295 i64.and local.set $18 - local.get $17 - i64.const 32 - i64.shr_u + local.get $15 + i64.const 4294967295 + i64.and local.set $17 local.get $16 i64.const 32 i64.shr_u local.set $16 - local.get $19 + local.get $15 + i64.const 32 + i64.shr_u + local.set $15 local.get $18 + local.get $17 i64.mul - local.set $34 - local.get $34 + local.set $33 + local.get $33 i64.const 4294967295 i64.and - local.set $32 + local.set $31 + local.get $16 local.get $17 - local.get $18 i64.mul - local.get $34 + local.get $33 i64.const 32 i64.shr_u i64.add - local.set $34 - local.get $34 + local.set $33 + local.get $33 i64.const 32 i64.shr_u - local.set $33 - local.get $19 - local.get $16 + local.set $32 + local.get $18 + local.get $15 i64.mul - local.get $34 + local.get $33 i64.const 4294967295 i64.and i64.add - local.set $34 - local.get $17 + local.set $33 local.get $16 + local.get $15 i64.mul - local.get $33 + local.get $32 i64.add - local.get $34 + local.get $33 i64.const 32 i64.shr_u i64.add global.set $~lib/math/res128_hi - local.get $34 + local.get $33 i64.const 32 i64.shl - local.get $32 + local.get $31 i64.add - local.set $34 - global.get $~lib/math/res128_hi local.set $33 - local.get $33 - i64.const 11 - i64.shr_u + global.get $~lib/math/res128_hi local.set $32 - local.get $34 + local.get $32 i64.const 11 i64.shr_u + local.set $31 local.get $33 + i64.const 11 + i64.shr_u + local.get $32 i64.const 53 i64.shl i64.or - local.set $18 + local.set $17 f64.const 2.6469779601696886e-23 i64.const -4267615245585081135 f64.convert_i64_u f64.mul - local.get $13 + local.get $12 f64.convert_i64_u f64.mul f64.const 2.6469779601696886e-23 i64.const -3958705157555305932 f64.convert_i64_u f64.mul - local.get $14 + local.get $13 f64.convert_i64_u f64.mul f64.add i64.trunc_f64_u - local.set $19 - local.get $32 - local.get $34 - local.get $19 + local.set $18 + local.get $31 + local.get $33 + local.get $18 i64.lt_u i64.extend_i32_u i64.add f64.convert_i64_u global.set $~lib/math/rempio2_y0 f64.const 5.421010862427522e-20 + local.get $17 local.get $18 - local.get $19 i64.add f64.convert_i64_u f64.mul global.set $~lib/math/rempio2_y1 - local.get $20 + local.get $19 i64.const 52 i64.shl i64.sub - local.set $35 + local.set $34 local.get $1 - local.get $28 + local.get $27 i64.xor i64.const -9223372036854775808 i64.and - local.set $36 + local.set $35 + local.get $34 local.get $35 - local.get $36 i64.or f64.reinterpret_i64 - local.set $37 + local.set $36 global.get $~lib/math/rempio2_y0 - local.get $37 + local.get $36 f64.mul global.set $~lib/math/rempio2_y0 global.get $~lib/math/rempio2_y1 - local.get $37 + local.get $36 f64.mul global.set $~lib/math/rempio2_y1 - local.get $31 + local.get $30 i32.wrap_i64 ) (func $~lib/math/NativeMath.cos (; 25 ;) (param $0 f64) (result f64) @@ -3384,19 +3341,18 @@ (local $7 f64) (local $8 i32) (local $9 i64) - (local $10 i32) - (local $11 f64) - (local $12 i64) + (local $10 f64) + (local $11 i64) + (local $12 f64) (local $13 f64) - (local $14 f64) + (local $14 i64) (local $15 i64) - (local $16 i64) + (local $16 f64) (local $17 f64) (local $18 f64) (local $19 f64) (local $20 f64) (local $21 f64) - (local $22 f64) block $~lib/util/math/exp_lut|inlined.0 (result f64) local.get $0 local.set $1 @@ -3492,23 +3448,19 @@ local.set $8 local.get $6 i64.const 52 - global.get $~lib/util/math/EXP_TABLE_BITS - i64.extend_i32_s + i64.const 7 i64.sub i64.shl local.set $9 - i32.const 6528 - i32.load offset=4 - local.set $10 - local.get $10 + i32.const 4368 local.get $8 i32.const 3 i32.shl i32.add i64.load f64.reinterpret_i64 - local.set $11 - local.get $10 + local.set $10 + i32.const 4368 local.get $8 i32.const 3 i32.shl @@ -3516,15 +3468,15 @@ i64.load offset=8 local.get $9 i64.add - local.set $12 + local.set $11 local.get $7 local.get $7 f64.mul - local.set $13 - local.get $11 + local.set $12 + local.get $10 local.get $7 f64.add - local.get $13 + local.get $12 f64.const 0.49999999999996786 local.get $7 f64.const 0.16666666666665886 @@ -3532,8 +3484,8 @@ f64.add f64.mul f64.add - local.get $13 - local.get $13 + local.get $12 + local.get $12 f64.mul f64.const 0.0416666808410674 local.get $7 @@ -3542,116 +3494,116 @@ f64.add f64.mul f64.add - local.set $14 + local.set $13 local.get $3 i32.const 0 i32.eq if block $~lib/util/math/specialcase|inlined.0 (result f64) - local.get $14 - local.set $17 - local.get $12 + local.get $13 local.set $16 - local.get $6 + local.get $11 local.set $15 - local.get $15 + local.get $6 + local.set $14 + local.get $14 i64.const 2147483648 i64.and i64.const 0 i64.ne i32.eqz if - local.get $16 + local.get $15 i64.const 1009 i64.const 52 i64.shl i64.sub - local.set $16 - local.get $16 + local.set $15 + local.get $15 f64.reinterpret_i64 - local.set $18 + local.set $17 f64.const 5486124068793688683255936e279 - local.get $18 - local.get $18 local.get $17 + local.get $17 + local.get $16 f64.mul f64.add f64.mul br $~lib/util/math/specialcase|inlined.0 end - local.get $16 + local.get $15 i64.const 1022 i64.const 52 i64.shl i64.add - local.set $16 - local.get $16 + local.set $15 + local.get $15 f64.reinterpret_i64 - local.set $18 - local.get $18 - local.get $18 + local.set $17 local.get $17 + local.get $17 + local.get $16 f64.mul f64.add - local.set $19 - local.get $19 + local.set $18 + local.get $18 f64.abs f64.const 1 f64.lt if f64.const 1 - local.get $19 + local.get $18 f64.copysign - local.set $20 + local.set $19 + local.get $17 local.get $18 - local.get $19 f64.sub - local.get $18 local.get $17 + local.get $16 f64.mul f64.add - local.set $21 - local.get $20 + local.set $20 local.get $19 + local.get $18 f64.add - local.set $22 - local.get $20 - local.get $22 - f64.sub + local.set $21 local.get $19 - f64.add local.get $21 + f64.sub + local.get $18 f64.add - local.set $21 - local.get $22 - local.get $21 + local.get $20 f64.add + local.set $20 + local.get $21 local.get $20 - f64.sub - local.set $19 + f64.add local.get $19 + f64.sub + local.set $18 + local.get $18 f64.const 0 f64.eq if - local.get $16 + local.get $15 i64.const -9223372036854775808 i64.and f64.reinterpret_i64 - local.set $19 + local.set $18 end end - local.get $19 + local.get $18 f64.const 2.2250738585072014e-308 f64.mul end br $~lib/util/math/exp_lut|inlined.0 end - local.get $12 + local.get $11 f64.reinterpret_i64 - local.set $19 - local.get $19 - local.get $19 - local.get $14 + local.set $18 + local.get $18 + local.get $18 + local.get $13 f64.mul f64.add end @@ -4289,15 +4241,13 @@ (local $14 i32) (local $15 i64) (local $16 i64) - (local $17 i32) - (local $18 i32) + (local $17 f64) + (local $18 f64) (local $19 f64) (local $20 f64) (local $21 f64) (local $22 f64) (local $23 f64) - (local $24 f64) - (local $25 f64) block $~lib/util/math/log2_lut|inlined.0 (result f64) local.get $0 local.set $1 @@ -4474,8 +4424,7 @@ local.set $13 local.get $13 i64.const 52 - global.get $~lib/util/math/LOG2_TABLE_BITS - i64.extend_i32_s + i64.const 6 i64.sub i64.shr_u i64.const 63 @@ -4492,13 +4441,7 @@ i64.and i64.sub local.set $16 - i32.const 7600 - i32.load offset=4 - local.set $17 - i32.const 8672 - i32.load offset=4 - local.set $18 - local.get $17 + i32.const 6432 local.get $14 i32.const 1 i32.const 3 @@ -4507,7 +4450,7 @@ i32.add f64.load local.set $11 - local.get $17 + i32.const 6432 local.get $14 i32.const 1 i32.const 3 @@ -4522,7 +4465,7 @@ local.get $15 f64.convert_i64_s local.set $8 - local.get $18 + i32.const 7472 local.get $14 i32.const 1 i32.const 3 @@ -4531,7 +4474,7 @@ i32.add f64.load local.set $7 - local.get $18 + i32.const 7472 local.get $14 i32.const 1 i32.const 3 @@ -4561,7 +4504,7 @@ local.get $4 f64.const 1.4426950407214463 f64.mul - local.set $19 + local.set $17 local.get $3 f64.const 1.4426950407214463 f64.mul @@ -4569,33 +4512,33 @@ f64.const 1.6751713164886512e-10 f64.mul f64.add - local.set $20 + local.set $18 local.get $8 local.get $10 f64.add - local.set $21 - local.get $21 + local.set $19 local.get $19 + local.get $17 f64.add - local.set $22 - local.get $21 - local.get $22 - f64.sub + local.set $20 local.get $19 - f64.add local.get $20 + f64.sub + local.get $17 f64.add - local.set $23 + local.get $18 + f64.add + local.set $21 local.get $5 local.get $5 f64.mul - local.set $24 + local.set $22 f64.const -0.7213475204444882 local.get $5 f64.const 0.4808983469629985 f64.mul f64.add - local.get $24 + local.get $22 f64.const -0.36067375954075914 local.get $5 f64.const 0.2885390073180969 @@ -4603,8 +4546,8 @@ f64.add f64.mul f64.add - local.get $24 - local.get $24 + local.get $22 + local.get $22 f64.mul f64.const -0.2404693555628422 local.get $5 @@ -4613,13 +4556,13 @@ f64.add f64.mul f64.add - local.set $25 + local.set $23 + local.get $21 + local.get $22 local.get $23 - local.get $24 - local.get $25 f64.mul f64.add - local.get $22 + local.get $20 f64.add end return @@ -4665,7 +4608,7 @@ (local $13 i64) (local $14 i64) (local $15 f64) - (local $16 i32) + (local $16 f64) (local $17 f64) (local $18 f64) (local $19 f64) @@ -4688,7 +4631,7 @@ (local $36 f64) (local $37 f64) (local $38 f64) - (local $39 f64) + (local $39 i32) (local $40 i32) (local $41 i32) (local $42 i32) @@ -5032,7 +4975,7 @@ i32.const 1 i32.eq if - global.get $~lib/util/math/SIGN_BIAS + i32.const 262144 local.set $4 end local.get $5 @@ -5111,8 +5054,7 @@ local.set $11 local.get $11 i64.const 52 - global.get $~lib/util/math/POW_LOG_TABLE_BITS - i64.extend_i32_s + i64.const 7 i64.sub i64.shr_u i64.const 127 @@ -5137,10 +5079,7 @@ local.get $13 f64.convert_i64_s local.set $15 - i32.const 12816 - i32.load offset=4 - local.set $16 - local.get $16 + i32.const 8512 local.get $12 i32.const 2 i32.const 3 @@ -5148,8 +5087,8 @@ i32.shl i32.add f64.load - local.set $17 - local.get $16 + local.set $16 + i32.const 8512 local.get $12 i32.const 2 i32.const 3 @@ -5157,8 +5096,8 @@ i32.shl i32.add f64.load offset=16 - local.set $18 - local.get $16 + local.set $17 + i32.const 8512 local.get $12 i32.const 2 i32.const 3 @@ -5166,105 +5105,105 @@ i32.shl i32.add f64.load offset=24 - local.set $19 + local.set $18 local.get $14 i64.const 2147483648 i64.add i64.const -4294967296 i64.and f64.reinterpret_i64 - local.set $20 + local.set $19 local.get $10 - local.get $20 + local.get $19 f64.sub - local.set $21 - local.get $20 - local.get $17 - f64.mul + local.set $20 + local.get $19 + local.get $16 + f64.mul f64.const 1 f64.sub + local.set $21 + local.get $20 + local.get $16 + f64.mul local.set $22 local.get $21 - local.get $17 - f64.mul - local.set $23 local.get $22 - local.get $23 f64.add - local.set $24 + local.set $23 local.get $15 f64.const 0.6931471805598903 f64.mul - local.get $18 + local.get $17 f64.add - local.set $25 - local.get $25 + local.set $24 local.get $24 + local.get $23 f64.add - local.set $26 + local.set $25 local.get $15 f64.const 5.497923018708371e-14 f64.mul - local.get $19 + local.get $18 f64.add - local.set $27 + local.set $26 + local.get $24 local.get $25 - local.get $26 f64.sub - local.get $24 + local.get $23 f64.add - local.set $28 + local.set $27 f64.const -0.5 - local.get $24 + local.get $23 + f64.mul + local.set $28 + local.get $23 + local.get $28 f64.mul local.set $29 - local.get $24 + local.get $23 local.get $29 f64.mul local.set $30 - local.get $24 - local.get $30 + f64.const -0.5 + local.get $21 f64.mul local.set $31 - f64.const -0.5 - local.get $22 + local.get $21 + local.get $31 f64.mul local.set $32 - local.get $22 + local.get $25 local.get $32 - f64.mul + f64.add local.set $33 - local.get $26 - local.get $33 + local.get $22 + local.get $28 + local.get $31 f64.add + f64.mul local.set $34 - local.get $23 - local.get $29 + local.get $25 + local.get $33 + f64.sub local.get $32 f64.add - f64.mul local.set $35 - local.get $26 - local.get $34 - f64.sub - local.get $33 - f64.add - local.set $36 - local.get $31 + local.get $30 f64.const -0.6666666666666679 - local.get $24 + local.get $23 f64.const 0.5000000000000007 f64.mul f64.add - local.get $30 + local.get $29 f64.const 0.7999999995323976 - local.get $24 + local.get $23 f64.const -0.6666666663487739 f64.mul f64.add - local.get $30 + local.get $29 f64.const -1.142909628459501 - local.get $24 + local.get $23 f64.const 1.0000415263675542 f64.mul f64.add @@ -5273,68 +5212,68 @@ f64.mul f64.add f64.mul - local.set $37 + local.set $36 + local.get $26 local.get $27 - local.get $28 + f64.add + local.get $34 f64.add local.get $35 f64.add local.get $36 f64.add + local.set $37 + local.get $33 local.get $37 f64.add local.set $38 - local.get $34 + local.get $33 local.get $38 - f64.add - local.set $39 - local.get $34 - local.get $39 f64.sub - local.get $38 + local.get $37 f64.add global.set $~lib/util/math/log_tail - local.get $39 - local.set $39 - global.get $~lib/util/math/log_tail + local.get $38 local.set $38 + global.get $~lib/util/math/log_tail + local.set $37 local.get $6 i64.const -134217728 i64.and f64.reinterpret_i64 - local.set $35 + local.set $34 local.get $2 - local.get $35 + local.get $34 f64.sub - local.set $34 - local.get $39 + local.set $33 + local.get $38 i64.reinterpret_f64 i64.const -134217728 i64.and f64.reinterpret_i64 - local.set $33 - local.get $39 - local.get $33 - f64.sub + local.set $32 local.get $38 + local.get $32 + f64.sub + local.get $37 f64.add - local.set $32 - local.get $35 - local.get $33 - f64.mul - local.set $37 + local.set $31 local.get $34 + local.get $32 + f64.mul + local.set $36 local.get $33 + local.get $32 f64.mul local.get $2 - local.get $32 + local.get $31 f64.mul f64.add - local.set $36 + local.set $35 block $~lib/util/math/exp_inline|inlined.0 (result f64) - local.get $37 - local.set $15 local.get $36 + local.set $15 + local.get $35 local.set $10 local.get $4 local.set $12 @@ -5347,14 +5286,14 @@ i32.wrap_i64 i32.const 2047 i32.and - local.set $16 - local.get $16 + local.set $39 + local.get $39 i32.const 969 i32.sub i32.const 63 i32.ge_u if - local.get $16 + local.get $39 i32.const 969 i32.sub i32.const -2147483648 @@ -5366,7 +5305,7 @@ select br $~lib/util/math/exp_inline|inlined.0 end - local.get $16 + local.get $39 i32.const 1033 i32.ge_u if @@ -5382,13 +5321,13 @@ local.set $42 i64.const 1152921504606846976 f64.reinterpret_i64 - local.set $17 - local.get $17 + local.set $16 + local.get $16 f64.neg - local.get $17 + local.get $16 local.get $42 select - local.get $17 + local.get $16 f64.mul else local.get $12 @@ -5397,49 +5336,49 @@ local.set $41 i64.const 8070450532247928832 f64.reinterpret_i64 - local.set $18 - local.get $18 + local.set $17 + local.get $17 f64.neg - local.get $18 + local.get $17 local.get $41 select - local.get $18 + local.get $17 f64.mul end br $~lib/util/math/exp_inline|inlined.0 end i32.const 0 - local.set $16 + local.set $39 end f64.const 184.6649652337873 local.get $15 f64.mul - local.set $30 - local.get $30 + local.set $29 + local.get $29 f64.const 6755399441055744 f64.add - local.set $31 - local.get $31 + local.set $30 + local.get $30 i64.reinterpret_f64 local.set $14 - local.get $31 + local.get $30 f64.const 6755399441055744 f64.sub - local.set $31 + local.set $30 local.get $15 - local.get $31 + local.get $30 f64.const -0.005415212348111709 f64.mul f64.add - local.get $31 + local.get $30 f64.const -1.2864023111638346e-14 f64.mul f64.add - local.set $29 - local.get $29 + local.set $28 + local.get $28 local.get $10 f64.add - local.set $29 + local.set $28 local.get $14 i64.const 127 i64.and @@ -5452,23 +5391,19 @@ i64.extend_i32_u i64.add i64.const 52 - global.get $~lib/util/math/EXP_TABLE_BITS - i64.extend_i32_s + i64.const 7 i64.sub i64.shl local.set $13 - i32.const 6528 - i32.load offset=4 - local.set $42 - local.get $42 + i32.const 4368 local.get $40 i32.const 3 i32.shl i32.add i64.load f64.reinterpret_i64 - local.set $26 - local.get $42 + local.set $25 + i32.const 4368 local.get $40 i32.const 3 i32.shl @@ -5477,39 +5412,39 @@ local.get $13 i64.add local.set $11 - local.get $29 - local.get $29 + local.get $28 + local.get $28 f64.mul - local.set $28 - local.get $26 - local.get $29 - f64.add + local.set $27 + local.get $25 local.get $28 + f64.add + local.get $27 f64.const 0.49999999999996786 - local.get $29 + local.get $28 f64.const 0.16666666666665886 f64.mul f64.add f64.mul f64.add - local.get $28 - local.get $28 + local.get $27 + local.get $27 f64.mul f64.const 0.0416666808410674 - local.get $29 + local.get $28 f64.const 0.008333335853059549 f64.mul f64.add f64.mul f64.add - local.set $25 - local.get $16 + local.set $24 + local.get $39 i32.const 0 i32.eq if block $~lib/util/math/specialcase|inlined.1 (result f64) - local.get $25 - local.set $19 + local.get $24 + local.set $18 local.get $11 local.set $44 local.get $14 @@ -5529,11 +5464,11 @@ local.set $44 local.get $44 f64.reinterpret_i64 - local.set $18 + local.set $17 f64.const 5486124068793688683255936e279 + local.get $17 + local.get $17 local.get $18 - local.get $18 - local.get $19 f64.mul f64.add f64.mul @@ -5547,49 +5482,49 @@ local.set $44 local.get $44 f64.reinterpret_i64 - local.set $18 - local.get $18 + local.set $17 + local.get $17 + local.get $17 local.get $18 - local.get $19 f64.mul f64.add - local.set $17 - local.get $17 + local.set $16 + local.get $16 f64.abs f64.const 1 f64.lt if f64.const 1 - local.get $17 + local.get $16 f64.copysign - local.set $24 - local.get $18 + local.set $23 local.get $17 + local.get $16 f64.sub + local.get $17 local.get $18 - local.get $19 f64.mul f64.add - local.set $23 - local.get $24 - local.get $17 - f64.add local.set $22 - local.get $24 - local.get $22 - f64.sub - local.get $17 + local.get $23 + local.get $16 f64.add + local.set $21 local.get $23 + local.get $21 + f64.sub + local.get $16 f64.add - local.set $23 local.get $22 - local.get $23 f64.add - local.get $24 + local.set $22 + local.get $21 + local.get $22 + f64.add + local.get $23 f64.sub - local.set $17 - local.get $17 + local.set $16 + local.get $16 f64.const 0 f64.eq if @@ -5597,10 +5532,10 @@ i64.const -9223372036854775808 i64.and f64.reinterpret_i64 - local.set $17 + local.set $16 end end - local.get $17 + local.get $16 f64.const 2.2250738585072014e-308 f64.mul end @@ -5608,10 +5543,10 @@ end local.get $11 f64.reinterpret_i64 - local.set $27 - local.get $27 - local.get $27 - local.get $25 + local.set $26 + local.get $26 + local.get $26 + local.get $24 f64.mul f64.add end @@ -7323,14 +7258,13 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) + (local $7 f64) (local $8 f64) (local $9 f64) (local $10 f64) (local $11 f64) (local $12 f64) (local $13 f64) - (local $14 f64) block $~lib/util/math/logf_lut|inlined.0 (result f32) local.get $0 local.set $1 @@ -7400,7 +7334,7 @@ local.set $3 local.get $3 i32.const 23 - global.get $~lib/util/math/LOGF_TABLE_BITS + i32.const 4 i32.sub i32.shr_u i32.const 15 @@ -7418,10 +7352,7 @@ i32.and i32.sub local.set $6 - global.get $~lib/util/math/logf_data_tab - i32.load offset=4 - local.set $7 - local.get $7 + i32.const 12624 local.get $4 i32.const 1 i32.const 3 @@ -7429,8 +7360,8 @@ i32.shl i32.add f64.load - local.set $8 - local.get $7 + local.set $7 + i32.const 12624 local.get $4 i32.const 1 i32.const 3 @@ -7438,49 +7369,49 @@ i32.shl i32.add f64.load offset=8 - local.set $9 + local.set $8 local.get $6 f32.reinterpret_i32 f64.promote_f32 - local.set $10 - local.get $10 - local.get $8 - f64.mul + local.set $9 + local.get $9 + local.get $7 + f64.mul f64.const 1 f64.sub - local.set $11 - local.get $9 + local.set $10 + local.get $8 local.get $5 f64.convert_i32_s f64.const 0.6931471805599453 f64.mul f64.add - local.set $12 - local.get $11 - local.get $11 + local.set $11 + local.get $10 + local.get $10 f64.mul - local.set $13 + local.set $12 f64.const 0.333456765744066 - local.get $11 + local.get $10 f64.mul f64.const -0.4999997485802103 f64.add - local.set $14 - local.get $14 - f64.const -0.25089342214237154 + local.set $13 local.get $13 + f64.const -0.25089342214237154 + local.get $12 f64.mul f64.add - local.set $14 - local.get $14 + local.set $13 local.get $13 - f64.mul local.get $12 + f64.mul local.get $11 + local.get $10 f64.add f64.add - local.set $14 - local.get $14 + local.set $13 + local.get $13 f32.demote_f64 end return @@ -8441,20 +8372,19 @@ (local $11 i32) (local $12 f32) (local $13 i32) - (local $14 i32) - (local $15 i64) - (local $16 i32) + (local $14 i64) + (local $15 i32) + (local $16 i64) (local $17 i64) (local $18 i64) (local $19 i64) (local $20 i64) (local $21 i64) (local $22 i64) - (local $23 i64) + (local $23 i32) (local $24 i32) - (local $25 i32) - (local $26 f64) - (local $27 f32) + (local $25 f64) + (local $26 f32) local.get $0 i32.reinterpret_f32 local.set $1 @@ -8840,128 +8770,125 @@ local.set $12 local.get $9 local.set $11 - i32.const 13200 - i32.load offset=4 - local.set $13 local.get $11 i32.const 23 i32.shr_s i32.const 152 i32.sub - local.set $14 - local.get $14 + local.set $13 + local.get $13 i32.const 63 i32.and i64.extend_i32_s - local.set $15 + local.set $14 + i32.const 12896 local.get $13 - local.get $14 i32.const 6 i32.shr_s i32.const 3 i32.shl i32.add - local.set $16 - local.get $16 + local.set $15 + local.get $15 i64.load - local.set $17 - local.get $16 - i64.load offset=8 - local.set $18 + local.set $16 local.get $15 + i64.load offset=8 + local.set $17 + local.get $14 i64.const 32 i64.gt_u if - local.get $16 + local.get $15 i64.load offset=16 - local.set $20 - local.get $20 + local.set $19 + local.get $19 i64.const 96 - local.get $15 + local.get $14 i64.sub i64.shr_u - local.set $19 - local.get $19 + local.set $18 local.get $18 - local.get $15 + local.get $17 + local.get $14 i64.const 32 i64.sub i64.shl i64.or - local.set $19 + local.set $18 else - local.get $18 + local.get $17 i64.const 32 - local.get $15 + local.get $14 i64.sub i64.shr_u - local.set $19 + local.set $18 end - local.get $18 + local.get $17 i64.const 64 - local.get $15 + local.get $14 i64.sub i64.shr_u - local.get $17 - local.get $15 + local.get $16 + local.get $14 i64.shl i64.or - local.set $20 + local.set $19 local.get $11 i32.const 8388607 i32.and i32.const 8388608 i32.or i64.extend_i32_s - local.set $21 - local.get $21 + local.set $20 local.get $20 - i64.mul - local.get $21 local.get $19 i64.mul + local.get $20 + local.get $18 + i64.mul i64.const 32 i64.shr_u i64.add - local.set $22 - local.get $22 + local.set $21 + local.get $21 i64.const 2 i64.shl - local.set $23 - local.get $22 + local.set $22 + local.get $21 i64.const 62 i64.shr_u - local.get $23 + local.get $22 i64.const 63 i64.shr_u i64.add i32.wrap_i64 - local.set $24 + local.set $23 f64.const 8.515303950216386e-20 local.get $12 f64.promote_f32 f64.copysign - local.get $23 + local.get $22 f64.convert_i64_s f64.mul global.set $~lib/math/rempio2f_y - local.get $24 - local.set $24 + local.get $23 + local.set $23 i32.const 0 - local.get $24 + local.get $23 i32.sub - local.get $24 + local.get $23 local.get $8 select end - local.set $25 + local.set $24 global.get $~lib/math/rempio2f_y - local.set $26 - local.get $25 + local.set $25 + local.get $24 i32.const 1 i32.and if (result f32) - local.get $26 + local.get $25 local.set $7 local.get $7 local.get $7 @@ -8998,7 +8925,7 @@ f64.add f32.demote_f64 else - local.get $26 + local.get $25 local.set $7 local.get $7 local.get $7 @@ -9032,17 +8959,17 @@ f64.add f32.demote_f64 end - local.set $27 - local.get $25 + local.set $26 + local.get $24 i32.const 1 i32.add i32.const 2 i32.and if (result f32) - local.get $27 + local.get $26 f32.neg else - local.get $27 + local.get $26 end ) (func $../../lib/libm/assembly/libmf/cos (; 86 ;) (param $0 f32) (result f32) @@ -9354,7 +9281,6 @@ (local $9 f64) (local $10 f64) (local $11 i64) - (local $12 i32) block $~lib/util/math/expf_lut|inlined.0 (result f32) local.get $0 local.set $1 @@ -9424,10 +9350,7 @@ f64.sub f64.sub local.set $8 - i32.const 13504 - i32.load offset=4 - local.set $12 - local.get $12 + i32.const 12944 local.get $7 i32.wrap_i64 i32.const 31 @@ -9440,8 +9363,7 @@ local.get $11 local.get $7 i64.const 52 - global.get $~lib/util/math/EXP2F_TABLE_BITS - i64.extend_i32_s + i64.const 5 i64.sub i64.shl i64.add @@ -9954,7 +9876,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) + (local $8 f64) (local $9 f64) (local $10 f64) (local $11 f64) @@ -9962,7 +9884,6 @@ (local $13 f64) (local $14 f64) (local $15 f64) - (local $16 f64) block $~lib/util/math/log2f_lut|inlined.0 (result f32) local.get $0 local.set $1 @@ -10032,7 +9953,7 @@ local.set $3 local.get $3 i32.const 23 - global.get $~lib/util/math/LOG2F_TABLE_BITS + i32.const 4 i32.sub i32.shr_u i32.const 15 @@ -10050,10 +9971,7 @@ i32.const 23 i32.shr_s local.set $7 - global.get $~lib/util/math/log2f_data_tab - i32.load offset=4 - local.set $8 - local.get $8 + i32.const 13216 local.get $4 i32.const 1 i32.const 3 @@ -10061,8 +9979,8 @@ i32.shl i32.add f64.load - local.set $9 - local.get $8 + local.set $8 + i32.const 13216 local.get $4 i32.const 1 i32.const 3 @@ -10070,51 +9988,51 @@ i32.shl i32.add f64.load offset=8 - local.set $10 + local.set $9 local.get $6 f32.reinterpret_i32 f64.promote_f32 - local.set $11 - local.get $11 - local.get $9 + local.set $10 + local.get $10 + local.get $8 f64.mul f64.const 1 f64.sub - local.set $12 - local.get $10 + local.set $11 + local.get $9 local.get $7 f64.convert_i32_s f64.add - local.set $13 + local.set $12 f64.const 0.4811247078767291 - local.get $12 + local.get $11 f64.mul f64.const -0.7213476299867769 f64.add - local.set $14 + local.set $13 f64.const 1.4426950186867042 - local.get $12 + local.get $11 f64.mul - local.get $13 - f64.add - local.set $15 local.get $12 - local.get $12 - f64.mul - local.set $16 - local.get $14 - f64.const -0.36051725506874704 - local.get $16 - f64.mul f64.add local.set $14 - local.get $14 - local.get $16 + local.get $11 + local.get $11 f64.mul + local.set $15 + local.get $13 + f64.const -0.36051725506874704 local.get $15 + f64.mul f64.add - local.set $14 + local.set $13 + local.get $13 + local.get $15 + f64.mul local.get $14 + f64.add + local.set $13 + local.get $13 f32.demote_f64 end return @@ -10159,7 +10077,7 @@ (local $12 i32) (local $13 i32) (local $14 i32) - (local $15 i32) + (local $15 f64) (local $16 f64) (local $17 f64) (local $18 f64) @@ -10167,9 +10085,8 @@ (local $20 f64) (local $21 f64) (local $22 f64) - (local $23 f64) + (local $23 i64) (local $24 i64) - (local $25 i64) local.get $1 f32.abs f32.const 2 @@ -10518,7 +10435,7 @@ local.set $10 local.get $10 i32.const 23 - global.get $~lib/util/math/LOG2F_TABLE_BITS + i32.const 4 i32.sub i32.shr_u i32.const 15 @@ -10536,10 +10453,7 @@ i32.const 23 i32.shr_s local.set $14 - i32.const 13808 - i32.load offset=4 - local.set $15 - local.get $15 + i32.const 13216 local.get $11 i32.const 1 i32.const 3 @@ -10547,8 +10461,8 @@ i32.shl i32.add f64.load - local.set $16 - local.get $15 + local.set $15 + i32.const 13216 local.get $11 i32.const 1 i32.const 3 @@ -10556,66 +10470,66 @@ i32.shl i32.add f64.load offset=8 - local.set $17 + local.set $16 local.get $13 f32.reinterpret_i32 f64.promote_f32 - local.set $18 - local.get $18 - local.get $16 + local.set $17 + local.get $17 + local.get $15 f64.mul f64.const 1 f64.sub - local.set $19 - local.get $17 + local.set $18 + local.get $16 local.get $14 f64.convert_i32_s f64.add - local.set $20 + local.set $19 f64.const 0.288457581109214 - local.get $19 + local.get $18 f64.mul f64.const -0.36092606229713164 f64.add - local.set $21 + local.set $20 f64.const 0.480898481472577 - local.get $19 + local.get $18 f64.mul f64.const -0.7213474675006291 f64.add - local.set $22 + local.set $21 f64.const 1.4426950408774342 - local.get $19 + local.get $18 f64.mul - local.get $20 - f64.add - local.set $23 - local.get $19 local.get $19 + f64.add + local.set $22 + local.get $18 + local.get $18 f64.mul - local.set $19 - local.get $23 + local.set $18 local.get $22 - local.get $19 + local.get $21 + local.get $18 f64.mul f64.add - local.set $23 - local.get $21 - local.get $19 - local.get $19 + local.set $22 + local.get $20 + local.get $18 + local.get $18 f64.mul f64.mul - local.get $23 + local.get $22 f64.add - local.set $21 - local.get $21 - local.set $23 + local.set $20 + local.get $20 + local.set $22 local.get $2 f64.promote_f32 - local.get $23 - f64.mul - local.set $22 local.get $22 + f64.mul + local.set $21 + local.get $21 i64.reinterpret_f64 i64.const 47 i64.shr_u @@ -10624,7 +10538,7 @@ i64.const 32959 i64.ge_u if - local.get $22 + local.get $21 f64.const 127.99999995700433 f64.gt if @@ -10644,7 +10558,7 @@ f32.mul br $~lib/util/math/powf_lut|inlined.0 end - local.get $22 + local.get $21 f64.const -150 f64.le if @@ -10665,28 +10579,25 @@ br $~lib/util/math/powf_lut|inlined.0 end end - local.get $22 - local.set $16 + local.get $21 + local.set $15 local.get $4 local.set $13 - local.get $16 + local.get $15 f64.const 211106232532992 f64.add - local.set $21 - local.get $21 + local.set $20 + local.get $20 i64.reinterpret_f64 - local.set $24 - local.get $16 - local.get $21 + local.set $23 + local.get $15 + local.get $20 f64.const 211106232532992 f64.sub f64.sub - local.set $20 - i32.const 13504 - i32.load offset=4 - local.set $11 - local.get $11 - local.get $24 + local.set $19 + i32.const 12944 + local.get $23 i32.wrap_i64 i32.const 31 i32.and @@ -10694,47 +10605,46 @@ i32.shl i32.add i64.load - local.set $25 - local.get $25 + local.set $24 local.get $24 + local.get $23 local.get $13 i64.extend_i32_u i64.add i64.const 52 - global.get $~lib/util/math/EXP2F_TABLE_BITS - i64.extend_i32_s + i64.const 5 i64.sub i64.shl i64.add - local.set $25 - local.get $25 + local.set $24 + local.get $24 f64.reinterpret_i64 - local.set $17 + local.set $16 f64.const 0.05550361559341535 - local.get $20 + local.get $19 f64.mul f64.const 0.2402284522445722 f64.add - local.set $19 + local.set $18 f64.const 0.6931471806916203 - local.get $20 + local.get $19 f64.mul f64.const 1 f64.add - local.set $18 + local.set $17 + local.get $17 local.get $18 local.get $19 - local.get $20 - local.get $20 + local.get $19 f64.mul f64.mul f64.add - local.set $18 - local.get $18 + local.set $17 local.get $17 + local.get $16 f64.mul - local.set $18 - local.get $18 + local.set $17 + local.get $17 f32.demote_f64 end ) @@ -10791,20 +10701,19 @@ (local $11 i32) (local $12 f32) (local $13 i32) - (local $14 i32) - (local $15 i64) - (local $16 i32) + (local $14 i64) + (local $15 i32) + (local $16 i64) (local $17 i64) (local $18 i64) (local $19 i64) (local $20 i64) (local $21 i64) (local $22 i64) - (local $23 i64) + (local $23 i32) (local $24 i32) - (local $25 i32) - (local $26 f64) - (local $27 f32) + (local $25 f64) + (local $26 f32) local.get $0 i32.reinterpret_f32 local.set $1 @@ -11184,128 +11093,125 @@ local.set $12 local.get $9 local.set $11 - i32.const 13200 - i32.load offset=4 - local.set $13 local.get $11 i32.const 23 i32.shr_s i32.const 152 i32.sub - local.set $14 - local.get $14 + local.set $13 + local.get $13 i32.const 63 i32.and i64.extend_i32_s - local.set $15 + local.set $14 + i32.const 12896 local.get $13 - local.get $14 i32.const 6 i32.shr_s i32.const 3 i32.shl i32.add - local.set $16 - local.get $16 + local.set $15 + local.get $15 i64.load - local.set $17 - local.get $16 - i64.load offset=8 - local.set $18 + local.set $16 local.get $15 + i64.load offset=8 + local.set $17 + local.get $14 i64.const 32 i64.gt_u if - local.get $16 + local.get $15 i64.load offset=16 - local.set $20 - local.get $20 + local.set $19 + local.get $19 i64.const 96 - local.get $15 + local.get $14 i64.sub i64.shr_u - local.set $19 - local.get $19 + local.set $18 local.get $18 - local.get $15 + local.get $17 + local.get $14 i64.const 32 i64.sub i64.shl i64.or - local.set $19 + local.set $18 else - local.get $18 + local.get $17 i64.const 32 - local.get $15 + local.get $14 i64.sub i64.shr_u - local.set $19 + local.set $18 end - local.get $18 + local.get $17 i64.const 64 - local.get $15 + local.get $14 i64.sub i64.shr_u - local.get $17 - local.get $15 + local.get $16 + local.get $14 i64.shl i64.or - local.set $20 + local.set $19 local.get $11 i32.const 8388607 i32.and i32.const 8388608 i32.or i64.extend_i32_s - local.set $21 - local.get $21 + local.set $20 local.get $20 - i64.mul - local.get $21 local.get $19 i64.mul + local.get $20 + local.get $18 + i64.mul i64.const 32 i64.shr_u i64.add - local.set $22 - local.get $22 + local.set $21 + local.get $21 i64.const 2 i64.shl - local.set $23 - local.get $22 + local.set $22 + local.get $21 i64.const 62 i64.shr_u - local.get $23 + local.get $22 i64.const 63 i64.shr_u i64.add i32.wrap_i64 - local.set $24 + local.set $23 f64.const 8.515303950216386e-20 local.get $12 f64.promote_f32 f64.copysign - local.get $23 + local.get $22 f64.convert_i64_s f64.mul global.set $~lib/math/rempio2f_y - local.get $24 - local.set $24 + local.get $23 + local.set $23 i32.const 0 - local.get $24 + local.get $23 i32.sub - local.get $24 + local.get $23 local.get $8 select end - local.set $25 + local.set $24 global.get $~lib/math/rempio2f_y - local.set $26 - local.get $25 + local.set $25 + local.get $24 i32.const 1 i32.and if (result f32) - local.get $26 + local.get $25 local.set $3 local.get $3 local.get $3 @@ -11339,7 +11245,7 @@ f64.add f32.demote_f64 else - local.get $26 + local.get $25 local.set $4 local.get $4 local.get $4 @@ -11376,15 +11282,15 @@ f64.add f32.demote_f64 end - local.set $27 - local.get $25 + local.set $26 + local.get $24 i32.const 2 i32.and if (result f32) - local.get $27 + local.get $26 f32.neg else - local.get $27 + local.get $26 end ) (func $../../lib/libm/assembly/libmf/sin (; 111 ;) (param $0 f32) (result f32) @@ -11507,19 +11413,18 @@ (local $13 i32) (local $14 f32) (local $15 i32) - (local $16 i32) - (local $17 i64) - (local $18 i32) + (local $16 i64) + (local $17 i32) + (local $18 i64) (local $19 i64) (local $20 i64) (local $21 i64) (local $22 i64) (local $23 i64) (local $24 i64) - (local $25 i64) + (local $25 i32) (local $26 i32) - (local $27 i32) - (local $28 f64) + (local $27 f64) local.get $0 i32.reinterpret_f32 local.set $1 @@ -11962,126 +11867,123 @@ local.set $14 local.get $11 local.set $13 - i32.const 13200 - i32.load offset=4 - local.set $15 local.get $13 i32.const 23 i32.shr_s i32.const 152 i32.sub - local.set $16 - local.get $16 + local.set $15 + local.get $15 i32.const 63 i32.and i64.extend_i32_s - local.set $17 + local.set $16 + i32.const 12896 local.get $15 - local.get $16 i32.const 6 i32.shr_s i32.const 3 i32.shl i32.add - local.set $18 - local.get $18 + local.set $17 + local.get $17 i64.load - local.set $19 - local.get $18 - i64.load offset=8 - local.set $20 + local.set $18 local.get $17 + i64.load offset=8 + local.set $19 + local.get $16 i64.const 32 i64.gt_u if - local.get $18 + local.get $17 i64.load offset=16 - local.set $22 - local.get $22 + local.set $21 + local.get $21 i64.const 96 - local.get $17 + local.get $16 i64.sub i64.shr_u - local.set $21 - local.get $21 + local.set $20 local.get $20 - local.get $17 + local.get $19 + local.get $16 i64.const 32 i64.sub i64.shl i64.or - local.set $21 + local.set $20 else - local.get $20 + local.get $19 i64.const 32 - local.get $17 + local.get $16 i64.sub i64.shr_u - local.set $21 + local.set $20 end - local.get $20 + local.get $19 i64.const 64 - local.get $17 + local.get $16 i64.sub i64.shr_u - local.get $19 - local.get $17 + local.get $18 + local.get $16 i64.shl i64.or - local.set $22 + local.set $21 local.get $13 i32.const 8388607 i32.and i32.const 8388608 i32.or i64.extend_i32_s - local.set $23 - local.get $23 + local.set $22 local.get $22 - i64.mul - local.get $23 local.get $21 i64.mul + local.get $22 + local.get $20 + i64.mul i64.const 32 i64.shr_u i64.add - local.set $24 - local.get $24 + local.set $23 + local.get $23 i64.const 2 i64.shl - local.set $25 - local.get $24 + local.set $24 + local.get $23 i64.const 62 i64.shr_u - local.get $25 + local.get $24 i64.const 63 i64.shr_u i64.add i32.wrap_i64 - local.set $26 + local.set $25 f64.const 8.515303950216386e-20 local.get $14 f64.promote_f32 f64.copysign - local.get $25 + local.get $24 f64.convert_i64_s f64.mul global.set $~lib/math/rempio2f_y - local.get $26 - local.set $26 + local.get $25 + local.set $25 i32.const 0 - local.get $26 + local.get $25 i32.sub - local.get $26 + local.get $25 local.get $3 select end - local.set $27 + local.set $26 global.get $~lib/math/rempio2f_y - local.set $28 - local.get $28 - local.set $4 + local.set $27 local.get $27 + local.set $4 + local.get $26 i32.const 1 i32.and local.set $13 diff --git a/tests/compiler/std/math.optimized.wat b/tests/compiler/std/math.optimized.wat index ff1ea500bc..b50f8038e5 100644 --- a/tests/compiler/std/math.optimized.wat +++ b/tests/compiler/std/math.optimized.wat @@ -69,19 +69,14 @@ (import "Math" "trunc" (func $~lib/bindings/Math/trunc (param f64) (result f64))) (memory $0 1) (data (i32.const 16) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00s\00t\00d\00/\00m\00a\00t\00h\00.\00t\00s") - (data (i32.const 64) "\c0\00\00\00\01\00\00\00\00\00\00\00\c0\00\00\00n\83\f9\a2\00\00\00\00\d1W\'\fc)\15DN\99\95b\db\c0\dd4\f5\abcQ\feA\90C<:n$\b7a\c5\bb\de\ea.I\06\e0\d2MB\1c\eb\1d\fe\1c\92\d1\t\f55\82\e8>\a7)\b1&p\9c\e9\84D\bb.9\d6\919A~_\b4\8b_\84\9c\f49S\83\ff\97\f8\1f;(\f9\bd\8b\11/\ef\0f\98\05\de\cf~6m\1fm\nZf?FO\b7\t\cb\'\c7\ba\'u-\ea_\9e\f79\07={\f1\e5\eb\b1_\fbk\ea\92R\8aF0\03V\08]\8d\1f \bc\cf\f0\abk{\fca\91\e3\a9\1d6\f4\9a_\85\99e\08\1b\e6^\80\d8\ff\8d@h\a0\14W\15\06\061\'sM") - (data (i32.const 272) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00P\00\00\00P\00\00\00\c0\00\00\00\18") - (data (i32.const 304) " \00\00\00\01\00\00\00\00\00\00\00 \00\00\00)\15DNn\83\f9\a2\c0\dd4\f5\d1W\'\fcA\90C<\99\95b\dba\c5\bb\de\abcQ\fe") - (data (i32.const 352) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00@\01\00\00@\01\00\00 \00\00\00\04") - (data (i32.const 385) "\08\00\00\01\00\00\00\00\00\00\00\00\08") - (data (i32.const 414) "\f0?n\bf\88\1aO;\9b<53\fb\a9=\f6\ef?]\dc\d8\9c\13`q\bca\80w>\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\0dG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") - (data (i32.const 2448) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00\90\01\00\00\90\01\00\00\00\08\00\00\00\01") - (data (i32.const 2481) "\01\00\00\01\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\f0?t\85\15\d3\b0\d9\ef?\0f\89\f9lX\b5\ef?Q[\12\d0\01\93\ef?{Q}<\b8r\ef?\aa\b9h1\87T\ef?8bunz8\ef?\e1\de\1f\f5\9d\1e\ef?\15\b71\n\fe\06\ef?\cb\a9:7\a7\f1\ee?\"4\12L\a6\de\ee?-\89a`\08\ce\ee?\'*6\d5\da\bf\ee?\82O\9dV+\b4\ee?)TH\dd\07\ab\ee?\85U:\b0~\a4\ee?\cd;\7ff\9e\a0\ee?t_\ec\e8u\9f\ee?\87\01\ebs\14\a1\ee?\13\ceL\99\89\a5\ee?\db\a0*B\e5\ac\ee?\e5\c5\cd\b07\b7\ee?\90\f0\a3\82\91\c4\ee?]%>\b2\03\d5\ee?\ad\d3Z\99\9f\e8\ee?G^\fb\f2v\ff\ee?\9cR\85\dd\9b\19\ef?i\90\ef\dc 7\ef?\87\a4\fb\dc\18X\ef?_\9b{3\97|\ef?\da\90\a4\a2\af\a4\ef?@En[v\d0\ef?") - (data (i32.const 2752) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00\c0\t\00\00\c0\t\00\00\00\01\00\00 ") - (data (i32.const 2785) "\01\00\00\01\00\00\00\00\00\00\00\00\01\00\00\be\f3\f8y\eca\f6?\190\96[\c6\fe\de\bf=\88\afJ\edq\f5?\a4\fc\d42h\0b\db\bf\b0\10\f0\f09\95\f4?{\b7\1f\n\8bA\d7\bf\85\03\b8\b0\95\c9\f3?{\cfm\1a\e9\9d\d3\bf\a5d\88\0c\19\0d\f3?1\b6\f2\f3\9b\1d\d0\bf\a0\8e\0b{\"^\f2?\f0z;\1b\1d|\c9\bf?4\1aJJ\bb\f1?\9f<\af\93\e3\f9\c2\bf\ba\e5\8a\f0X#\f1?\\\8dx\bf\cb`\b9\bf\a7\00\99A?\95\f0?\ce_G\b6\9do\aa\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?=\f5$\9f\ca8\b3?\a0j\02\1f\b3\a4\ec?\ba\918T\a9v\c4?\e6\fcjW6 \eb?\d2\e4\c4J\0b\84\ce?-\aa\a1c\d1\c2\e9?\1ce\c6\f0E\06\d4?\edAx\03\e6\86\e8?\f8\9f\1b,\9c\8e\d8?bHS\f5\dcg\e7?\cc{\b1N\a4\e0\dc?") - (data (i32.const 3056) "\10\00\00\00\01\00\00\00\04\00\00\00\10\00\00\00\f0\n\00\00\f0\n\00\00\00\01\00\00 ") - (data (i32.const 3088) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s") - (data (i32.const 3136) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00P\00R\00N\00G\00 \00m\00u\00s\00t\00 \00b\00e\00 \00s\00e\00e\00d\00e\00d\00.") + (data (i32.const 64) "\c0\00\00\00\01\00\00\00\03\00\00\00\c0\00\00\00n\83\f9\a2\00\00\00\00\d1W\'\fc)\15DN\99\95b\db\c0\dd4\f5\abcQ\feA\90C<:n$\b7a\c5\bb\de\ea.I\06\e0\d2MB\1c\eb\1d\fe\1c\92\d1\t\f55\82\e8>\a7)\b1&p\9c\e9\84D\bb.9\d6\919A~_\b4\8b_\84\9c\f49S\83\ff\97\f8\1f;(\f9\bd\8b\11/\ef\0f\98\05\de\cf~6m\1fm\nZf?FO\b7\t\cb\'\c7\ba\'u-\ea_\9e\f79\07={\f1\e5\eb\b1_\fbk\ea\92R\8aF0\03V\08]\8d\1f \bc\cf\f0\abk{\fca\91\e3\a9\1d6\f4\9a_\85\99e\08\1b\e6^\80\d8\ff\8d@h\a0\14W\15\06\061\'sM") + (data (i32.const 272) " \00\00\00\01\00\00\00\03\00\00\00 \00\00\00)\15DNn\83\f9\a2\c0\dd4\f5\d1W\'\fcA\90C<\99\95b\dba\c5\bb\de\abcQ\fe") + (data (i32.const 321) "\08\00\00\01\00\00\00\03\00\00\00\00\08") + (data (i32.const 350) "\f0?n\bf\88\1aO;\9b<53\fb\a9=\f6\ef?]\dc\d8\9c\13`q\bca\80w>\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\0dG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") + (data (i32.const 2385) "\01\00\00\01\00\00\00\03\00\00\00\00\01\00\00\00\00\00\00\00\00\f0?t\85\15\d3\b0\d9\ef?\0f\89\f9lX\b5\ef?Q[\12\d0\01\93\ef?{Q}<\b8r\ef?\aa\b9h1\87T\ef?8bunz8\ef?\e1\de\1f\f5\9d\1e\ef?\15\b71\n\fe\06\ef?\cb\a9:7\a7\f1\ee?\"4\12L\a6\de\ee?-\89a`\08\ce\ee?\'*6\d5\da\bf\ee?\82O\9dV+\b4\ee?)TH\dd\07\ab\ee?\85U:\b0~\a4\ee?\cd;\7ff\9e\a0\ee?t_\ec\e8u\9f\ee?\87\01\ebs\14\a1\ee?\13\ceL\99\89\a5\ee?\db\a0*B\e5\ac\ee?\e5\c5\cd\b07\b7\ee?\90\f0\a3\82\91\c4\ee?]%>\b2\03\d5\ee?\ad\d3Z\99\9f\e8\ee?G^\fb\f2v\ff\ee?\9cR\85\dd\9b\19\ef?i\90\ef\dc 7\ef?\87\a4\fb\dc\18X\ef?_\9b{3\97|\ef?\da\90\a4\a2\af\a4\ef?@En[v\d0\ef?") + (data (i32.const 2657) "\01\00\00\01\00\00\00\04\00\00\00\00\01\00\00\be\f3\f8y\eca\f6?\190\96[\c6\fe\de\bf=\88\afJ\edq\f5?\a4\fc\d42h\0b\db\bf\b0\10\f0\f09\95\f4?{\b7\1f\n\8bA\d7\bf\85\03\b8\b0\95\c9\f3?{\cfm\1a\e9\9d\d3\bf\a5d\88\0c\19\0d\f3?1\b6\f2\f3\9b\1d\d0\bf\a0\8e\0b{\"^\f2?\f0z;\1b\1d|\c9\bf?4\1aJJ\bb\f1?\9f<\af\93\e3\f9\c2\bf\ba\e5\8a\f0X#\f1?\\\8dx\bf\cb`\b9\bf\a7\00\99A?\95\f0?\ce_G\b6\9do\aa\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?=\f5$\9f\ca8\b3?\a0j\02\1f\b3\a4\ec?\ba\918T\a9v\c4?\e6\fcjW6 \eb?\d2\e4\c4J\0b\84\ce?-\aa\a1c\d1\c2\e9?\1ce\c6\f0E\06\d4?\edAx\03\e6\86\e8?\f8\9f\1b,\9c\8e\d8?bHS\f5\dcg\e7?\cc{\b1N\a4\e0\dc?") + (data (i32.const 2928) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00~\00l\00i\00b\00/\00m\00a\00t\00h\00.\00t\00s") + (data (i32.const 2976) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00P\00R\00N\00G\00 \00m\00u\00s\00t\00 \00b\00e\00 \00s\00e\00e\00d\00e\00d\00.") (global $~lib/math/rempio2_y0 (mut f64) (f64.const 0)) (global $~lib/math/rempio2_y1 (mut f64) (f64.const 0)) (global $~lib/math/res128_hi (mut i64) (i64.const 0)) @@ -3321,8 +3316,6 @@ (local $10 i64) (local $11 i64) (local $12 f64) - i32.const 292 - i32.load local.get $0 i64.const 9223372036854775807 i64.and @@ -3336,6 +3329,7 @@ i32.wrap_i64 i32.const 3 i32.shl + i32.const 80 i32.add local.tee $8 i64.load @@ -4046,8 +4040,6 @@ i32.trunc_f64_s br $~lib/math/rempio2f|inlined.0 end - i32.const 372 - i32.load local.get $2 i32.const 23 i32.shr_s @@ -4058,6 +4050,7 @@ i32.shr_s i32.const 3 i32.shl + i32.const 288 i32.add local.tee $6 i64.load @@ -5305,8 +5298,6 @@ f64.const 52776558133248 f64.sub local.set $4 - i32.const 2468 - i32.load local.get $1 i64.reinterpret_f64 local.tee $6 @@ -5317,6 +5308,7 @@ i32.wrap_i64 i32.const 3 i32.shl + i32.const 336 i32.add local.tee $7 i64.load @@ -5499,8 +5491,6 @@ br_if $~lib/util/math/exp2f_lut|inlined.0 drop end - i32.const 2772 - i32.load local.get $1 f64.const 211106232532992 f64.add @@ -5512,6 +5502,7 @@ i32.and i32.const 3 i32.shl + i32.const 2400 i32.add i64.load local.get $2 @@ -8170,10 +8161,10 @@ return end end - block $~lib/util/math/powf_lut|inlined.0 (result f32) + block $~lib/util/math/powf_lut|inlined.0 local.get $1 i32.reinterpret_f32 - local.tee $2 + local.tee $3 i32.const 1 i32.shl i32.const 1 @@ -8185,7 +8176,7 @@ local.tee $5 local.get $0 i32.reinterpret_f32 - local.tee $3 + local.tee $2 i32.const 8388608 i32.sub i32.const 2130706432 @@ -8194,63 +8185,74 @@ if local.get $5 if - f32.const 1 - local.get $2 + local.get $3 i32.const 1 i32.shl i32.eqz - br_if $~lib/util/math/powf_lut|inlined.0 - drop - f32.const nan:0x400000 - local.get $3 + if + f32.const 1 + local.set $0 + br $~lib/util/math/powf_lut|inlined.0 + end + local.get $2 i32.const 1065353216 i32.eq - br_if $~lib/util/math/powf_lut|inlined.0 - drop - local.get $0 - local.get $1 - f32.add + if + f32.const nan:0x400000 + local.set $0 + br $~lib/util/math/powf_lut|inlined.0 + end i32.const 1 - local.get $2 + local.get $3 i32.const 1 i32.shl i32.const -16777216 i32.gt_u - local.get $3 + local.get $2 i32.const 1 i32.shl i32.const -16777216 i32.gt_u select - br_if $~lib/util/math/powf_lut|inlined.0 - drop - f32.const nan:0x400000 - local.get $3 + if + local.get $0 + local.get $1 + f32.add + local.set $0 + br $~lib/util/math/powf_lut|inlined.0 + end + local.get $2 i32.const 1 i32.shl i32.const 2130706432 i32.eq - br_if $~lib/util/math/powf_lut|inlined.0 - drop - f32.const 0 - local.get $2 + if + f32.const nan:0x400000 + local.set $0 + br $~lib/util/math/powf_lut|inlined.0 + end + local.get $3 i32.const 31 i32.shr_u i32.eqz - local.get $3 + local.get $2 i32.const 1 i32.shl i32.const 2130706432 i32.lt_u i32.eq - br_if $~lib/util/math/powf_lut|inlined.0 - drop + if + f32.const 0 + local.set $0 + br $~lib/util/math/powf_lut|inlined.0 + end local.get $1 local.get $1 f32.mul + local.set $0 br $~lib/util/math/powf_lut|inlined.0 end - local.get $3 + local.get $2 i32.const 1 i32.shl i32.const 1 @@ -8262,38 +8264,38 @@ local.get $0 f32.mul local.set $0 - local.get $3 + local.get $2 i32.const 31 i32.shr_u if (result i32) block $~lib/util/math/checkintf|inlined.0 (result i32) i32.const 0 - local.get $2 + local.get $3 i32.const 23 i32.shr_u i32.const 255 i32.and - local.tee $3 + local.tee $2 i32.const 127 i32.lt_u br_if $~lib/util/math/checkintf|inlined.0 drop i32.const 2 - local.get $3 + local.get $2 i32.const 150 i32.gt_u br_if $~lib/util/math/checkintf|inlined.0 drop i32.const 0 + local.get $3 i32.const 1 i32.const 150 - local.get $3 + local.get $2 i32.sub i32.shl - local.tee $3 + local.tee $2 i32.const 1 i32.sub - local.get $2 i32.and br_if $~lib/util/math/checkintf|inlined.0 drop @@ -8315,61 +8317,61 @@ f32.neg local.set $0 end - f32.const 1 - local.get $0 - f32.div - local.get $0 - local.get $2 + local.get $3 i32.const 31 i32.shr_u - select + if + f32.const 1 + local.get $0 + f32.div + local.set $0 + end br $~lib/util/math/powf_lut|inlined.0 end - local.get $3 + local.get $2 i32.const 31 i32.shr_u if block $~lib/util/math/checkintf|inlined.1 (result i32) i32.const 0 - local.get $2 - local.tee $5 + local.get $3 i32.const 23 i32.shr_u i32.const 255 i32.and - local.tee $2 + local.tee $5 i32.const 127 i32.lt_u br_if $~lib/util/math/checkintf|inlined.1 drop i32.const 2 - local.get $2 + local.get $5 i32.const 150 i32.gt_u br_if $~lib/util/math/checkintf|inlined.1 drop i32.const 0 + local.get $3 i32.const 1 i32.const 150 - local.get $2 + local.get $5 i32.sub i32.shl - local.tee $2 + local.tee $5 i32.const 1 i32.sub - local.get $5 i32.and br_if $~lib/util/math/checkintf|inlined.1 drop i32.const 1 - local.get $2 + local.get $3 local.get $5 i32.and br_if $~lib/util/math/checkintf|inlined.1 drop i32.const 2 end - local.tee $2 + local.tee $3 i32.eqz if local.get $0 @@ -8378,21 +8380,22 @@ local.tee $0 local.get $0 f32.div + local.set $0 br $~lib/util/math/powf_lut|inlined.0 end - local.get $3 - i32.const 2147483647 - i32.and - local.set $3 i32.const 65536 i32.const 0 - local.get $2 + local.get $3 i32.const 1 i32.eq select local.set $7 + local.get $2 + i32.const 2147483647 + i32.and + local.set $2 end - local.get $3 + local.get $2 i32.const 8388608 i32.lt_u if @@ -8404,41 +8407,40 @@ i32.and i32.const 192937984 i32.sub - local.set $3 + local.set $2 end end f64.const 1.4426950408774342 - local.get $3 - local.get $3 + local.get $2 + local.get $2 i32.const 1060306944 i32.sub - local.tee $2 + local.tee $3 i32.const -8388608 i32.and - local.tee $5 + local.tee $2 i32.sub f32.reinterpret_i32 f64.promote_f32 - i32.const 3076 - i32.load - local.get $2 + local.get $3 i32.const 19 i32.shr_u i32.const 15 i32.and i32.const 4 i32.shl + i32.const 2672 i32.add - local.tee $2 + local.tee $3 f64.load f64.mul f64.const 1 f64.sub local.tee $4 f64.mul - local.get $2 + local.get $3 f64.load offset=8 - local.get $5 + local.get $2 i32.const 23 i32.shr_s f64.convert_i32_s @@ -8479,31 +8481,33 @@ i64.const 32959 i64.ge_u if - f32.const -1584563250285286751870879e5 - f32.const 1584563250285286751870879e5 - local.get $7 - select - f32.const 1584563250285286751870879e5 - f32.mul local.get $4 f64.const 127.99999995700433 f64.gt - br_if $~lib/util/math/powf_lut|inlined.0 - drop - f32.const -2.524354896707238e-29 - f32.const 2.524354896707238e-29 - local.get $7 - select - f32.const 2.524354896707238e-29 - f32.mul + if + f32.const -1584563250285286751870879e5 + f32.const 1584563250285286751870879e5 + local.get $7 + select + f32.const 1584563250285286751870879e5 + f32.mul + local.set $0 + br $~lib/util/math/powf_lut|inlined.0 + end local.get $4 f64.const -150 f64.le - br_if $~lib/util/math/powf_lut|inlined.0 - drop + if + f32.const -2.524354896707238e-29 + f32.const 2.524354896707238e-29 + local.get $7 + select + f32.const 2.524354896707238e-29 + f32.mul + local.set $0 + br $~lib/util/math/powf_lut|inlined.0 + end end - i32.const 2772 - i32.load local.get $4 f64.const 211106232532992 f64.add @@ -8515,11 +8519,12 @@ i32.and i32.const 3 i32.shl + i32.const 2400 i32.add i64.load + local.get $8 local.get $7 i64.extend_i32_u - local.get $8 i64.add i64.const 47 i64.shl @@ -8549,7 +8554,9 @@ f64.reinterpret_i64 f64.mul f32.demote_f64 + local.set $0 end + local.get $0 ) (func $std/math/test_powf (; 132 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (result i32) local.get $0 @@ -8649,7 +8656,7 @@ i32.eqz if i32.const 0 - i32.const 3104 + i32.const 2944 i32.const 1406 i32.const 4 call $~lib/builtins/abort @@ -8662,8 +8669,8 @@ global.get $~lib/math/random_seeded i32.eqz if - i32.const 3152 - i32.const 3104 + i32.const 2992 + i32.const 2944 i32.const 1413 i32.const 24 call $~lib/builtins/abort @@ -8706,8 +8713,8 @@ global.get $~lib/math/random_seeded i32.eqz if - i32.const 3152 - i32.const 3104 + i32.const 2992 + i32.const 2944 i32.const 2606 i32.const 24 call $~lib/builtins/abort @@ -9747,8 +9754,6 @@ i32.trunc_f64_s br $~lib/math/rempio2f|inlined.1 end - i32.const 372 - i32.load local.get $2 i32.const 23 i32.shr_s @@ -9759,6 +9764,7 @@ i32.shr_s i32.const 3 i32.shl + i32.const 288 i32.add local.tee $7 i64.load @@ -10604,8 +10610,6 @@ i32.trunc_f64_s br $~lib/math/rempio2f|inlined.2 end - i32.const 372 - i32.load local.get $2 i32.const 23 i32.shr_s @@ -10616,6 +10620,7 @@ i32.shr_s i32.const 3 i32.shl + i32.const 288 i32.add local.tee $7 i64.load diff --git a/tests/compiler/std/math.untouched.wat b/tests/compiler/std/math.untouched.wat index 1ac6a5d4d1..1d3bfff00f 100644 --- a/tests/compiler/std/math.untouched.wat +++ b/tests/compiler/std/math.untouched.wat @@ -68,30 +68,19 @@ (import "Math" "trunc" (func $~lib/bindings/Math/trunc (param f64) (result f64))) (memory $0 1) (data (i32.const 16) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00s\00t\00d\00/\00m\00a\00t\00h\00.\00t\00s\00") - (data (i32.const 64) "\00\08\00\00\01\00\00\00\00\00\00\00\00\08\00\00\9f\de\e0\c3\f04\f7?\00\90\e6y\7f\cc\d7\bf\1f\e9,jx\13\f7?\00\00\0d\c2\eeo\d7\bf\a0\b5\fa\08`\f2\f6?\00\e0Q\13\e3\13\d7\bf}\8c\13\1f\a6\d1\f6?\00x(8[\b8\d6\bf\d1\b4\c5\0bI\b1\f6?\00x\80\90U]\d6\bf\ba\0c/3G\91\f6?\00\00\18v\d0\02\d6\bf#B\"\18\9fq\f6?\00\90\90\86\ca\a8\d5\bf\d9\1e\a5\99OR\f6?\00P\03VCO\d5\bf\c4$\8f\aaV3\f6?\00@k\c37\f6\d4\bf\14\dc\9dk\b3\14\f6?\00P\a8\fd\a7\9d\d4\bfL\\\c6Rd\f6\f5?\00\a8\899\92E\d4\bfO,\91\b5g\d8\f5?\00\b8\b09\f4\ed\d3\bf\de\90[\cb\bc\ba\f5?\00p\8fD\ce\96\d3\bfx\1a\d9\f2a\9d\f5?\00\a0\bd\17\1e@\d3\bf\87VF\12V\80\f5?\00\80F\ef\e2\e9\d2\bf\d3k\e7\ce\97c\f5?\00\e008\1b\94\d2\bf\93\7f\a7\e2%G\f5?\00\88\da\8c\c5>\d2\bf\83E\06B\ff*\f5?\00\90\')\e1\e9\d1\bf\df\bd\b2\db\"\0f\f5?\00\f8H+m\95\d1\bf\d7\de4G\8f\f3\f4?\00\f8\b9\9agA\d1\bf@(\de\cfC\d8\f4?\00\98\ef\94\d0\ed\d0\bf\c8\a3x\c0>\bd\f4?\00\10\db\18\a5\9a\d0\bf\8a%\e0\c3\7f\a2\f4?\00\b8cR\e6G\d0\bf4\84\d4$\05\88\f4?\00\f0\86E\"\eb\cf\bf\0b-\19\1b\cem\f4?\00\b0\17uJG\cf\bfT\189\d3\d9S\f4?\000\10=D\a4\ce\bfZ\84\b4D\':\f4?\00\b0\e9D\0d\02\ce\bf\fb\f8\15A\b5 \f4?\00\f0w)\a2`\cd\bf\b1\f4>\da\82\07\f4?\00\90\95\04\01\c0\cc\bf\8f\feW]\8f\ee\f3?\00\10\89V) \cc\bf\e9L\0b\a0\d9\d5\f3?\00\10\81\8d\17\81\cb\bf+\c1\10\c0`\bd\f3?\00\d0\d3\cc\c9\e2\ca\bf\b8\dau+$\a5\f3?\00\90\12.@E\ca\bf\02\d0\9f\cd\"\8d\f3?\00\f0\1dhw\a8\c9\bf\1cz\84\c5[u\f3?\000Him\0c\c9\bf\e26\adI\ce]\f3?\00\c0E\a6 q\c8\bf@\d4M\98yF\f3?\000\14\b4\8f\d6\c7\bf$\cb\ff\ce\\/\f3?\00pb<\b8<\c7\bfI\0d\a1uw\18\f3?\00`7\9b\9a\a3\c6\bf\909>7\c8\01\f3?\00\a0\b7T1\0b\c6\bfA\f8\95\bbN\eb\f2?\000$v}s\c5\bf\d1\a9\19\02\n\d5\f2?\000\c2\8f{\dc\c4\bf*\fd\b7\a8\f9\be\f2?\00\00\d2Q,F\c4\bf\ab\1b\0cz\1c\a9\f2?\00\00\83\bc\8a\b0\c3\bf0\b5\14`r\93\f2?\00\00Ik\99\1b\c3\bf\f5\a1WW\fa}\f2?\00@\a4\90T\87\c2\bf\bf;\1d\9b\b3h\f2?\00\a0y\f8\b9\f3\c1\bf\bd\f5\8f\83\9dS\f2?\00\a0,%\c8`\c1\bf;\08\c9\aa\b7>\f2?\00 \f7W\7f\ce\c0\bf\b6@\a9+\01*\f2?\00\a0\feI\dc<\c0\bf2A\cc\96y\15\f2?\00\80K\bc\bdW\bf\bf\9b\fc\d2\1d \01\f2?\00@@\96\087\be\bf\0bHMI\f4\ec\f1?\00@\f9>\98\17\bd\bfie\8fR\f5\d8\f1?\00\a0\d8Ng\f9\bb\bf|~W\11#\c5\f1?\00`/ y\dc\ba\bf\e9&\cbt|\b1\f1?\00\80(\e7\c3\c0\b9\bf\b6\1a,\0c\01\9e\f1?\00\c0r\b3F\a6\b8\bf\bdp\b6{\b0\8a\f1?\00\00\ac\b3\01\8d\b7\bf\b6\bc\ef%\8aw\f1?\00\008E\f1t\b6\bf\da1L5\8dd\f1?\00\80\87m\0e^\b5\bf\dd_\'\90\b9Q\f1?\00\e0\a1\de\\H\b4\bfL\d22\a4\0e?\f1?\00\a0jM\d93\b3\bf\da\f9\10r\8b,\f1?\00`\c5\f8y \b2\bf1\b5\ec(0\1a\f1?\00 b\98F\0e\b1\bf\af4\84\da\fb\07\f1?\00\00\d2jl\fa\af\bf\b3kN\0f\ee\f5\f0?\00@wJ\8d\da\ad\bf\ce\9f*]\06\e4\f0?\00\00\85\e4\ec\bc\ab\bf!\a5,cD\d2\f0?\00\c0\12@\89\a1\a9\bf\1a\98\e2|\a7\c0\f0?\00\c0\023X\88\a7\bf\d16\c6\83/\af\f0?\00\80\d6g^q\a5\bf9\13\a0\98\db\9d\f0?\00\80eI\8a\\\a3\bf\df\e7R\af\ab\8c\f0?\00@\15d\e3I\a1\bf\fb(N/\9f{\f0?\00\80\eb\82\c0r\9e\bf\19\8f5\8c\b5j\f0?\00\80RR\f1U\9a\bf,\f9\ec\a5\eeY\f0?\00\80\81\cfb=\96\bf\90,\d1\cdII\f0?\00\00\aa\8c\fb(\92\bf\a9\ad\f0\c6\c68\f0?\00\00\f9 {1\8c\bf\a92y\13e(\f0?\00\00\aa]5\19\84\bfHs\ea\'$\18\f0?\00\00\ec\c2\03\12x\bf\95\b1\14\06\04\08\f0?\00\00$y\t\04`\bf\1a\fa&\f7\1f\e0\ef?\00\00\90\84\f3\efo?t\eaa\c2\1c\a1\ef?\00\00=5A\dc\87?.\99\81\b0\10c\ef?\00\80\c2\c4\a3\ce\93?\cd\ad\ee<\f6%\ef?\00\00\89\14\c1\9f\9b?\e7\13\91\03\c8\e9\ee?\00\00\11\ce\d8\b0\a1?\ab\b1\cbx\80\ae\ee?\00\c0\01\d0[\8a\a5?\9b\0c\9d\a2\1at\ee?\00\80\d8@\83\\\a9?\b5\99\n\83\91:\ee?\00\80W\efj\'\ad?V\9a`\t\e0\01\ee?\00\c0\98\e5\98u\b0?\98\bbw\e5\01\ca\ed?\00 \0d\e3\f5S\b2?\03\91|\0b\f2\92\ed?\00\008\8b\dd.\b4?\ce\\\fbf\ac\\\ed?\00\c0W\87Y\06\b6?\9d\de^\aa,\'\ed?\00\00j5v\da\b7?\cd,k>n\f2\ec?\00`\1cNC\ab\b9?\02y\a7\a2m\be\ec?\00`\0d\bb\c7x\bb?m\087m&\8b\ec?\00 \e72\13C\bd?\04X]\bd\94X\ec?\00`\deq1\n\bf?\8c\9f\bb3\b5&\ec?\00@\91+\15g\c0??\e7\ec\ee\83\f5\eb?\00\b0\92\82\85G\c1?\c1\96\dbu\fd\c4\eb?\000\ca\cdn&\c2?(J\86\0c\1e\95\eb?\00P\c5\a6\d7\03\c3?,>\ef\c5\e2e\eb?\00\103<\c3\df\c3?\8b\88\c9gH7\eb?\00\80zk6\ba\c4?J0\1d!K\t\eb?\00\f0\d1(9\93\c5?~\ef\f2\85\e8\db\ea?\00\f0\18$\cdj\c6?\a2=`1\1d\af\ea?\00\90f\ec\f8@\c7?\a7X\d3?\e6\82\ea?\00\f0\1a\f5\c0\15\c8?\8bs\t\ef@W\ea?\00\80\f6T)\e9\c8?\'K\ab\90*,\ea?\00@\f8\026\bb\c9?\d1\f2\93\13\a0\01\ea?\00\00,\1c\ed\8b\ca?\1b<\db$\9f\d7\e9?\00\d0\01\\Q[\cb?\90\b1\c7\05%\ae\e9?\00\c0\bc\ccg)\cc?/\ce\97\f2.\85\e9?\00`H\d55\f6\cc?uK\a4\ee\ba\\\e9?\00\c0F4\bd\c1\cd?8H\e7\9d\c64\e9?\00\e0\cf\b8\01\8c\ce?\e6Rg/O\0d\e9?\00\90\17\c0\tU\cf?\9d\d7\ff\8eR\e6\e8?\00\b8\1f\12l\0e\d0?|\00\cc\9f\ce\bf\e8?\00\d0\93\0e\b8q\d0?\0e\c3\be\da\c0\99\e8?\00p\86\9ek\d4\d0?\fb\17#\aa\'t\e8?\00\d0K3\876\d1?\08\9a\b3\ac\00O\e8?\00H#g\0d\98\d1?U>e\e8I*\e8?\00\80\cc\e0\ff\f8\d1?`\02\f4\95\01\06\e8?\00hc\d7_Y\d2?)\a3\e0c%\e2\e7?\00\a8\14\t0\b9\d2?\ad\b5\dcw\b3\be\e7?\00`C\10r\18\d3?\c2%\97g\aa\9b\e7?\00\18\ecm&w\d3?W\06\17\f2\07y\e7?\000\af\fbO\d5\d3?\0c\13\d6\db\caV\e7?\00\e0/\e3\ee2\d4?") - (data (i32.const 2128) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00P\00\00\00P\00\00\00\00\08\00\00\00\01\00\00") - (data (i32.const 2160) "\00\08\00\00\01\00\00\00\00\00\00\00\00\08\00\00k\b6O\01\00\10\e6?<[B\91l\02~<\95\b4M\03\000\e6?A]\00H\ea\bf\8d\f6\05\eb\ff\ef\e6?S-\e2\1a\04\80~\bc\80\97\86\0e\00\10\e7?Ry\tqf\ff{<\12\e9g\fc\ff/\e7?$\87\bd&\e2\00\8c\89<\b9{F\13\000\e9?v\02\98KN\80\7f.\98\dd\ff\af\e9?7\93Z\8a\e0@\87\bcf\fbI\ed\ff\cf\e9?\00\e0\9b\c1\08\ce?O*\00\b0\ea?_?\ff<\04\fdi\bc\d1\1e\ae\d7\ff\cf\ea?\b4p\90\12\e7>\82\bcx\04Q\ee\ff\ef\ea?\a3\de\0e\e0>\06j<[\0de\db\ff\0f\eb?\b9\n\1f8\c8\06ZO\86\d0E\ff\8a<@\16\87\f9\ff\8f\eb?\f9\c3\c2\96w\fe|\f0\0f\00\f0\f4?\1cS\85\0b\89\7f\97<\d1K\dc\12\00\10\f5?6\a4fqe\04`\c9\03\00\b0\f5?\c0\0c\bf\n\08A\9f\bc\bc\19I\1d\00\d0\f5?)G%\fb*\81\98\bc\89z\b8\e7\ff\ef\f5?\04i\ed\80\b7~\94\bc") - (data (i32.const 4224) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00\80\08\00\00\80\08\00\00\00\08\00\00\00\01\00\00") - (data (i32.const 4256) "\00\01\00\00\01\00\00\00\00\00\00\00\00\01\00\00\be\f3\f8y\eca\f6?\de\aa\8c\80\f7{\d5\bf=\88\afJ\edq\f5?\dbm\c0\a7\f0\be\d2\bf\b0\10\f0\f09\95\f4?g:Q\7f\ae\1e\d0\bf\85\03\b8\b0\95\c9\f3?\e9$\82\a6\d81\cb\bf\a5d\88\0c\19\0d\f3?Xw\c0\nOW\c6\bf\a0\8e\0b{\"^\f2?\00\81\9c\c7+\aa\c1\bf?4\1aJJ\bb\f1?^\0e\8c\cevN\ba\bf\ba\e5\8a\f0X#\f1?\cc\1caZ<\97\b1\bf\a7\00\99A?\95\f0?\1e\0c\e18\f4R\a2\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?\84Y\f2]\aa\a5\aa?\a0j\02\1f\b3\a4\ec?\b4.6\aaS^\bc?\e6\fcjW6 \eb?\08\db w\e5&\c5?-\aa\a1c\d1\c2\e9?pG\"\0d\86\c2\cb?\edAx\03\e6\86\e8?\e1~\a0\c8\8b\05\d1?bHS\f5\dcg\e7?\t\ee\b6W0\04\d4?") - (data (i32.const 4528) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00\b0\10\00\00\b0\10\00\00\00\01\00\00 \00\00\00") - (data (i32.const 4560) "\c0\00\00\00\01\00\00\00\00\00\00\00\c0\00\00\00n\83\f9\a2\00\00\00\00\d1W\'\fc)\15DN\99\95b\db\c0\dd4\f5\abcQ\feA\90C<:n$\b7a\c5\bb\de\ea.I\06\e0\d2MB\1c\eb\1d\fe\1c\92\d1\t\f55\82\e8>\a7)\b1&p\9c\e9\84D\bb.9\d6\919A~_\b4\8b_\84\9c\f49S\83\ff\97\f8\1f;(\f9\bd\8b\11/\ef\0f\98\05\de\cf~6m\1fm\nZf?FO\b7\t\cb\'\c7\ba\'u-\ea_\9e\f79\07={\f1\e5\eb\b1_\fbk\ea\92R\8aF0\03V\08]\8d\1f \bc\cf\f0\abk{\fca\91\e3\a9\1d6\f4\9a_\85\99e\08\1b\e6^\80\d8\ff\8d@h\a0\14W\15\06\061\'sM") - (data (i32.const 4768) "\10\00\00\00\01\00\00\00\04\00\00\00\10\00\00\00\e0\11\00\00\e0\11\00\00\c0\00\00\00\18\00\00\00") - (data (i32.const 4800) " \00\00\00\01\00\00\00\00\00\00\00 \00\00\00)\15DNn\83\f9\a2\c0\dd4\f5\d1W\'\fcA\90C<\99\95b\dba\c5\bb\de\abcQ\fe") - (data (i32.const 4848) "\10\00\00\00\01\00\00\00\04\00\00\00\10\00\00\00\d0\12\00\00\d0\12\00\00 \00\00\00\04\00\00\00") - (data (i32.const 4880) "\00\08\00\00\01\00\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?n\bf\88\1aO;\9b<53\fb\a9=\f6\ef?]\dc\d8\9c\13`q\bca\80w>\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\0dG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") - (data (i32.const 6944) "\10\00\00\00\01\00\00\00\04\00\00\00\10\00\00\00 \13\00\00 \13\00\00\00\08\00\00\00\01\00\00") - (data (i32.const 6976) "\00\01\00\00\01\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\f0?t\85\15\d3\b0\d9\ef?\0f\89\f9lX\b5\ef?Q[\12\d0\01\93\ef?{Q}<\b8r\ef?\aa\b9h1\87T\ef?8bunz8\ef?\e1\de\1f\f5\9d\1e\ef?\15\b71\n\fe\06\ef?\cb\a9:7\a7\f1\ee?\"4\12L\a6\de\ee?-\89a`\08\ce\ee?\'*6\d5\da\bf\ee?\82O\9dV+\b4\ee?)TH\dd\07\ab\ee?\85U:\b0~\a4\ee?\cd;\7ff\9e\a0\ee?t_\ec\e8u\9f\ee?\87\01\ebs\14\a1\ee?\13\ceL\99\89\a5\ee?\db\a0*B\e5\ac\ee?\e5\c5\cd\b07\b7\ee?\90\f0\a3\82\91\c4\ee?]%>\b2\03\d5\ee?\ad\d3Z\99\9f\e8\ee?G^\fb\f2v\ff\ee?\9cR\85\dd\9b\19\ef?i\90\ef\dc 7\ef?\87\a4\fb\dc\18X\ef?_\9b{3\97|\ef?\da\90\a4\a2\af\a4\ef?@En[v\d0\ef?") - (data (i32.const 7248) "\10\00\00\00\01\00\00\00\04\00\00\00\10\00\00\00P\1b\00\00P\1b\00\00\00\01\00\00 \00\00\00") - (data (i32.const 7280) "\00\04\00\00\01\00\00\00\00\00\00\00\00\04\00\00\f8\ac\b1k($\f7?\00\b0\cd\ee_\t\e1\bf\a1\cc\d2f\f7\e1\f6?\00\d0v\bd\94\84\e0\bf\8a\d40\0e=\a1\f6?\00\f8\e8\aeC\01\e0\bf\85l\d02\eca\f6?\00@\0b6\c5\fe\de\bf\f8\98\11\95\fa#\f6?\00\e0\b7\1a\d9\fd\dd\bfl\02\cf\a4[\e7\f5?\00\90\c7\0c\ae\ff\dc\bf\b8O!Z\05\ac\f5?\00\a0\fd\118\04\dc\bf\1en\16\0f\edq\f5?\00\e0:2g\0b\db\bf5\f8\0bY\t9\f5?\00\b0-Z/\15\da\bf\dd\ada\edO\01\f5?\00`\f8Z\7f!\d9\bf\d0{H\8e\b8\ca\f4?\00\90q\b0M0\d8\bf\eeO3\b49\95\f4?\00\e0\a9\f9\89A\d7\bfi\d5\af\df\cb`\f4?\00\90\19\b5+U\d6\bfS\b9\e4Nf-\f4?\00\10\9b\a2#k\d5\bf\a6\d8\1d\11\01\fb\f3?\00\a0_\0fe\83\d4\bf6X\0c\b7\95\c9\f3?\00\a0\f67\e9\9d\d3\bfJ\fd\b6J\1c\99\f3?\00`\8dS\a1\ba\d2\bf\b5\99\e0\0c\8ei\f3?\00@\ca@\83\d9\d1\bf\b2\e7\13\82\e4:\f3?\00\e0@:\85\fa\d0\bf\b1\bd\85\19\19\0d\f3?\000\e72\9c\1d\d0\bf\d7q\b2\ca%\e0\f2?\00`\fa\a2}\85\ce\bf\82\cd\13\cf\04\b4\f2?\00\80=c\c8\d3\cc\bfP\cb|,\b0\88\f2?\00\a0\14L\03&\cb\bf\e5M\94c\"^\f2?\00\e0O/\1c|\c9\bf\b1\15\86=V4\f2?\00\00\80?\02\d6\c7\bf8\af>\e3F\0b\f2?\00\e0\05\1a\a73\c6\bf\dd\a3\cd\fd\ee\e2\f1?\00\00W\e9\f5\94\c4\bf09\0bXJ\bb\f1?\00\a0\e0$\e4\f9\c2\bf\00\"\7f\84S\94\f1?\00\c0\fdZYb\c1\bf<\d7\d5\c0\06n\f1?\00\80\bdu\9a\9c\bf\bf\c2\e4\b7G_H\f1?\00\c0\f9[W{\bc\bf\d1\85\00\adX#\f1?\00\80\f4\0f\c6`\b9\bf\'\"S\0f\f0\fe\f0?\00\00\b6G\e2L\b6\bf\8f:\d0w \db\f0?\00@\01\b2x?\b3\bf\d9\80Y\d6\e6\b7\f0?\00\c0B\1a}8\b0\bf\8d@{\fe>\95\f0?\00\00\b5\08\92o\aa\bf\83;\c5\ca%s\f0?\00\00wO\95z\a4\bf\\\1b\0d\e4\97Q\f0?\00\00\0c\c5\a8#\9d\bf\a2\8e \c1\910\f0?\00\00x)&j\91\bf!~\b3%\10\10\f0?\00\00\e8\d8\f8 w\bfk\a7\ca\f9~\c0\ef?\00\00P\b1S\fe\86?\84\f1\f6\d3eD\ef?\00\80\0f\e1\cc\1c\a1?\7f\10\84\9f\07\cc\ee?\00\80\8b\8c\fcM\ac?\e8Z\97\99:W\ee?\00@W\1e2\aa\b3?\e6=\bd\f0\d6\e5\ed?\00\80\8b\d0\a0\18\b9?\b38\ff\81\b6w\ed?\00@\04\da\e9r\be?C\e9Mr\b5\0c\ed?\00`\7fP\d2\dc\c1?cu\0e\dc\b2\a4\ec?\00\a0\de\03\abv\c4?Q\cb\d6\e8\8e?\ec?\00 \e2wC\07\c7?L\0c\02O+\dd\eb?\00@\a9\8b\de\8e\c9?\ca\15`\00l}\eb?\00\e0\d2j\b8\0d\cc?\8f3.n6 \eb?\00\e0\ce\af\n\84\ce?9P)&p\c5\ea?\00\80g\b4\ny\d0?\dd1\'\bc\01m\ea?\00\c0\01h\05\ac\d1?\8b\f1?\bc\d3\16\ea?\00\e0\fe\d4\11\db\d2?\ad\fegI\d1\c2\e9?\00\80\c5NF\06\d4?\02\99|\f4\e4p\e9?\00\f0:\t\be-\d5?\f2\bc\829\fb \e9?\00\d0P \90Q\d6?\f1Y\f7\87\01\d3\e8?\00\f0\ea\cd\d2q\d7?m\f6\b9\eb\e5\86\e8?\00\90}\85\9c\8e\d8?\94\b9X\b6\97<\e8?\00`\e1U\01\a8\d9?\"\10\c6\ff\05\f4\e7?\00\d0\d3n\18\be\da?\ca\15\14\18\"\ad\e7?\00\e0\a0\ae\f2\d0\db?\8c\ff\9e\f9\dcg\e7?\00@\bf=\a4\e0\dc?") - (data (i32.const 8320) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00\80\1c\00\00\80\1c\00\00\00\04\00\00\80\00\00\00") - (data (i32.const 8352) "\00\04\00\00\01\00\00\00\00\00\00\00\00\04\00\00\8e\n\b9\12\00 \e6?\05\b6D\06\ab\04\89<\a64W\04\00`\e6?\a9\f7b\ea\9b\ffa<\c5\f2%\c3\ff\9f\e6?\ba\90<\cb\cf~\82<\04Z\b98\00\e0\e6?&\93sV\88\ff\88<\e3\94\99\e0\ff\1f\e7?\b1\82_\'@\fd\8a<\10\0eY\15\00`\e7?A\83#\b4u\fdr\bc\d5[e\12\00\a0\e7?v+$|\e6\08x<\a6\e9Y2\00\e0\e7?\b7\"\f6&\e4\08b\bc\d2\b2\b4\ed\ff\1f\e8?/\c9\a5\1eF\02\84\bc\c3\fc\fa-\00`\e8?\1f\9a\f2\a2\f4\f7m)\e0\ff\df\f2?\f9\a6\b2\da9|\9b<\82\f0\dc\f7\ff\1f\f3?TR\dcn3\f1}<`\8bZ\f0\ff_\f3?\eb1\cdLV\03\9e\bc\cc\ae\0e.\00\a0\f3?w\a4\d3K\e7\f0u<6\b2;\04\00\e0\f3?3\88\9d\14\cb}\9c<\ff\87\d1\02\00 \f4?(=-\cf\af\08~<\b1|8\0d\00`\f4?\a6\99e\857\08\82<\89\9fV\04\00\a0\f4?\d2\bcO\90\\\fa\89\bc\f3C5\04\00\e0\f4?)S\17\ed%\11x\bc\0f\7f\02\cc\ff\1f\f5?\dcTw\84\d8\83\98\e90.\90\80\91\bc") - (data (i32.const 9392) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00\b0 \00\00\b0 \00\00\00\04\00\00\80\00\00\00") - (data (i32.const 9424) "\00\01\00\00\01\00\00\00\00\00\00\00\00\01\00\00\be\f3\f8y\eca\f6?\190\96[\c6\fe\de\bf=\88\afJ\edq\f5?\a4\fc\d42h\0b\db\bf\b0\10\f0\f09\95\f4?{\b7\1f\n\8bA\d7\bf\85\03\b8\b0\95\c9\f3?{\cfm\1a\e9\9d\d3\bf\a5d\88\0c\19\0d\f3?1\b6\f2\f3\9b\1d\d0\bf\a0\8e\0b{\"^\f2?\f0z;\1b\1d|\c9\bf?4\1aJJ\bb\f1?\9f<\af\93\e3\f9\c2\bf\ba\e5\8a\f0X#\f1?\\\8dx\bf\cb`\b9\bf\a7\00\99A?\95\f0?\ce_G\b6\9do\aa\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?=\f5$\9f\ca8\b3?\a0j\02\1f\b3\a4\ec?\ba\918T\a9v\c4?\e6\fcjW6 \eb?\d2\e4\c4J\0b\84\ce?-\aa\a1c\d1\c2\e9?\1ce\c6\f0E\06\d4?\edAx\03\e6\86\e8?\f8\9f\1b,\9c\8e\d8?bHS\f5\dcg\e7?\cc{\b1N\a4\e0\dc?") - (data (i32.const 9696) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00\e0$\00\00\e0$\00\00\00\01\00\00 \00\00\00") - (data (i32.const 9728) "\00\10\00\00\01\00\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\a0\f6?\00\00\00\00\00\00\00\00\00\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?\00\00\00\00\00\00\00\00\00\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?\00\00\00\00\00\00\00\00\00XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?\00\00\00\00\00\00\00\00\00\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?\00\00\00\00\00\00\00\00\00xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?\00\00\00\00\00\00\00\00\00`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?\00\00\00\00\00\00\00\00\00\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?\00\00\00\00\00\00\00\00\00HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?\00\00\00\00\00\00\00\00\00\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?\00\00\00\00\00\00\00\00\00 \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?\00\00\00\00\00\00\00\00\00x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?\00\00\00\00\00\00\00\00\00\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?\00\00\00\00\00\00\00\00\00\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?\00\00\00\00\00\00\00\00\00H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?\00\00\00\00\00\00\00\00\00\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?\00\00\00\00\00\00\00\00\00@^m\18\b9\cf\bf\87<\99\ab*W\0d=\00\00\00\00\00`\f4?\00\00\00\00\00\00\00\00\00`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?\00\00\00\00\00\00\00\00\00\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?\00\00\00\00\00\00\00\00\00\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?\00\00\00\00\00\00\00\00\00\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?\00\00\00\00\00\00\00\00\00\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?\00\00\00\00\00\00\00\00\00P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?\00\00\00\00\00\00\00\00\00\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?\00\00\00\00\00\00\00\00\00\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?\00\00\00\00\00\00\00\00\00\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?\00\00\00\00\00\00\00\00\00\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?\00\00\00\00\00\00\00\00\00`F\d1;\97\b1?\9b\9e\0dV]2%\bd\00\00\00\00\00\a0\ed?\00\00\00\00\00\00\00\00\00\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?\00\00\00\00\00\00\00\00\00\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?\00\00\00\00\00\00\00\00\00\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?\00\00\00\00\00\00\00\00\00@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?\00\00\00\00\00\00\00\00\00`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?\00\00\00\00\00\00\00\00\00@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?\00\00\00\00\00\00\00\00\00 \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?\00\00\00\00\00\00\00\00\00\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?\00\00\00\00\00\00\00\00\00\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?\00\00\00\00\00\00\00\00\00\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?\00\00\00\00\00\00\00\00\00\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?\00\00\00\00\00\00\00\00\00\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?\00\00\00\00\00\00\00\00\00\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?\00\00\00\00\00\00\00\00\00\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?\00\00\00\00\00\00\00\00\00\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?\00\00\00\00\00\00\00\00\00pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?\00\00\00\00\00\00\00\00\00PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?\00\00\00\00\00\00\00\00\00\009\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?\00\00\00\00\00\00\00\00\00\00\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?\00\00\00\00\00\00\00\00\00\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?\00\00\00\00\00\00\00\00\00\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?\00\00\00\00\00\00\00\00\00\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?\00\00\00\00\00\00\00\00\00\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?\00\00\00\00\00\00\00\00\00\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?\00\00\00\00\00\00\00\00\00\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?\00\00\00\00\00\00\00\00\00\00\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?\00\00\00\00\00\00\00\00\00\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?\00\00\00\00\00\00\00\00\00XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?\00\00\00\00\00\00\00\00\00`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?\00\00\00\00\00\00\00\00\00\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?\00\00\00\00\00\00\00\00\00\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?\00\00\00\00\00\00\00\00\00hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?\00\00\00\00\00\00\00\00\00\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?\00\00\00\00\00\00\00\00\00\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?\00\00\00\00\00\00\00\00\00`\d3\e1\f1\14\d3?\b8\d2\bf\83E\06B\ff*\f5?\00\90\')\e1\e9\d1\bf\df\bd\b2\db\"\0f\f5?\00\f8H+m\95\d1\bf\d7\de4G\8f\f3\f4?\00\f8\b9\9agA\d1\bf@(\de\cfC\d8\f4?\00\98\ef\94\d0\ed\d0\bf\c8\a3x\c0>\bd\f4?\00\10\db\18\a5\9a\d0\bf\8a%\e0\c3\7f\a2\f4?\00\b8cR\e6G\d0\bf4\84\d4$\05\88\f4?\00\f0\86E\"\eb\cf\bf\0b-\19\1b\cem\f4?\00\b0\17uJG\cf\bfT\189\d3\d9S\f4?\000\10=D\a4\ce\bfZ\84\b4D\':\f4?\00\b0\e9D\0d\02\ce\bf\fb\f8\15A\b5 \f4?\00\f0w)\a2`\cd\bf\b1\f4>\da\82\07\f4?\00\90\95\04\01\c0\cc\bf\8f\feW]\8f\ee\f3?\00\10\89V) \cc\bf\e9L\0b\a0\d9\d5\f3?\00\10\81\8d\17\81\cb\bf+\c1\10\c0`\bd\f3?\00\d0\d3\cc\c9\e2\ca\bf\b8\dau+$\a5\f3?\00\90\12.@E\ca\bf\02\d0\9f\cd\"\8d\f3?\00\f0\1dhw\a8\c9\bf\1cz\84\c5[u\f3?\000Him\0c\c9\bf\e26\adI\ce]\f3?\00\c0E\a6 q\c8\bf@\d4M\98yF\f3?\000\14\b4\8f\d6\c7\bf$\cb\ff\ce\\/\f3?\00pb<\b8<\c7\bfI\0d\a1uw\18\f3?\00`7\9b\9a\a3\c6\bf\909>7\c8\01\f3?\00\a0\b7T1\0b\c6\bfA\f8\95\bbN\eb\f2?\000$v}s\c5\bf\d1\a9\19\02\n\d5\f2?\000\c2\8f{\dc\c4\bf*\fd\b7\a8\f9\be\f2?\00\00\d2Q,F\c4\bf\ab\1b\0cz\1c\a9\f2?\00\00\83\bc\8a\b0\c3\bf0\b5\14`r\93\f2?\00\00Ik\99\1b\c3\bf\f5\a1WW\fa}\f2?\00@\a4\90T\87\c2\bf\bf;\1d\9b\b3h\f2?\00\a0y\f8\b9\f3\c1\bf\bd\f5\8f\83\9dS\f2?\00\a0,%\c8`\c1\bf;\08\c9\aa\b7>\f2?\00 \f7W\7f\ce\c0\bf\b6@\a9+\01*\f2?\00\a0\feI\dc<\c0\bf2A\cc\96y\15\f2?\00\80K\bc\bdW\bf\bf\9b\fc\d2\1d \01\f2?\00@@\96\087\be\bf\0bHMI\f4\ec\f1?\00@\f9>\98\17\bd\bfie\8fR\f5\d8\f1?\00\a0\d8Ng\f9\bb\bf|~W\11#\c5\f1?\00`/ y\dc\ba\bf\e9&\cbt|\b1\f1?\00\80(\e7\c3\c0\b9\bf\b6\1a,\0c\01\9e\f1?\00\c0r\b3F\a6\b8\bf\bdp\b6{\b0\8a\f1?\00\00\ac\b3\01\8d\b7\bf\b6\bc\ef%\8aw\f1?\00\008E\f1t\b6\bf\da1L5\8dd\f1?\00\80\87m\0e^\b5\bf\dd_\'\90\b9Q\f1?\00\e0\a1\de\\H\b4\bfL\d22\a4\0e?\f1?\00\a0jM\d93\b3\bf\da\f9\10r\8b,\f1?\00`\c5\f8y \b2\bf1\b5\ec(0\1a\f1?\00 b\98F\0e\b1\bf\af4\84\da\fb\07\f1?\00\00\d2jl\fa\af\bf\b3kN\0f\ee\f5\f0?\00@wJ\8d\da\ad\bf\ce\9f*]\06\e4\f0?\00\00\85\e4\ec\bc\ab\bf!\a5,cD\d2\f0?\00\c0\12@\89\a1\a9\bf\1a\98\e2|\a7\c0\f0?\00\c0\023X\88\a7\bf\d16\c6\83/\af\f0?\00\80\d6g^q\a5\bf9\13\a0\98\db\9d\f0?\00\80eI\8a\\\a3\bf\df\e7R\af\ab\8c\f0?\00@\15d\e3I\a1\bf\fb(N/\9f{\f0?\00\80\eb\82\c0r\9e\bf\19\8f5\8c\b5j\f0?\00\80RR\f1U\9a\bf,\f9\ec\a5\eeY\f0?\00\80\81\cfb=\96\bf\90,\d1\cdII\f0?\00\00\aa\8c\fb(\92\bf\a9\ad\f0\c6\c68\f0?\00\00\f9 {1\8c\bf\a92y\13e(\f0?\00\00\aa]5\19\84\bfHs\ea\'$\18\f0?\00\00\ec\c2\03\12x\bf\95\b1\14\06\04\08\f0?\00\00$y\t\04`\bf\1a\fa&\f7\1f\e0\ef?\00\00\90\84\f3\efo?t\eaa\c2\1c\a1\ef?\00\00=5A\dc\87?.\99\81\b0\10c\ef?\00\80\c2\c4\a3\ce\93?\cd\ad\ee<\f6%\ef?\00\00\89\14\c1\9f\9b?\e7\13\91\03\c8\e9\ee?\00\00\11\ce\d8\b0\a1?\ab\b1\cbx\80\ae\ee?\00\c0\01\d0[\8a\a5?\9b\0c\9d\a2\1at\ee?\00\80\d8@\83\\\a9?\b5\99\n\83\91:\ee?\00\80W\efj\'\ad?V\9a`\t\e0\01\ee?\00\c0\98\e5\98u\b0?\98\bbw\e5\01\ca\ed?\00 \0d\e3\f5S\b2?\03\91|\0b\f2\92\ed?\00\008\8b\dd.\b4?\ce\\\fbf\ac\\\ed?\00\c0W\87Y\06\b6?\9d\de^\aa,\'\ed?\00\00j5v\da\b7?\cd,k>n\f2\ec?\00`\1cNC\ab\b9?\02y\a7\a2m\be\ec?\00`\0d\bb\c7x\bb?m\087m&\8b\ec?\00 \e72\13C\bd?\04X]\bd\94X\ec?\00`\deq1\n\bf?\8c\9f\bb3\b5&\ec?\00@\91+\15g\c0??\e7\ec\ee\83\f5\eb?\00\b0\92\82\85G\c1?\c1\96\dbu\fd\c4\eb?\000\ca\cdn&\c2?(J\86\0c\1e\95\eb?\00P\c5\a6\d7\03\c3?,>\ef\c5\e2e\eb?\00\103<\c3\df\c3?\8b\88\c9gH7\eb?\00\80zk6\ba\c4?J0\1d!K\t\eb?\00\f0\d1(9\93\c5?~\ef\f2\85\e8\db\ea?\00\f0\18$\cdj\c6?\a2=`1\1d\af\ea?\00\90f\ec\f8@\c7?\a7X\d3?\e6\82\ea?\00\f0\1a\f5\c0\15\c8?\8bs\t\ef@W\ea?\00\80\f6T)\e9\c8?\'K\ab\90*,\ea?\00@\f8\026\bb\c9?\d1\f2\93\13\a0\01\ea?\00\00,\1c\ed\8b\ca?\1b<\db$\9f\d7\e9?\00\d0\01\\Q[\cb?\90\b1\c7\05%\ae\e9?\00\c0\bc\ccg)\cc?/\ce\97\f2.\85\e9?\00`H\d55\f6\cc?uK\a4\ee\ba\\\e9?\00\c0F4\bd\c1\cd?8H\e7\9d\c64\e9?\00\e0\cf\b8\01\8c\ce?\e6Rg/O\0d\e9?\00\90\17\c0\tU\cf?\9d\d7\ff\8eR\e6\e8?\00\b8\1f\12l\0e\d0?|\00\cc\9f\ce\bf\e8?\00\d0\93\0e\b8q\d0?\0e\c3\be\da\c0\99\e8?\00p\86\9ek\d4\d0?\fb\17#\aa\'t\e8?\00\d0K3\876\d1?\08\9a\b3\ac\00O\e8?\00H#g\0d\98\d1?U>e\e8I*\e8?\00\80\cc\e0\ff\f8\d1?`\02\f4\95\01\06\e8?\00hc\d7_Y\d2?)\a3\e0c%\e2\e7?\00\a8\14\t0\b9\d2?\ad\b5\dcw\b3\be\e7?\00`C\10r\18\d3?\c2%\97g\aa\9b\e7?\00\18\ecm&w\d3?W\06\17\f2\07y\e7?\000\af\fbO\d5\d3?\0c\13\d6\db\caV\e7?\00\e0/\e3\ee2\d4?") + (data (i32.const 2128) "\00\08\00\00\01\00\00\00\03\00\00\00\00\08\00\00k\b6O\01\00\10\e6?<[B\91l\02~<\95\b4M\03\000\e6?A]\00H\ea\bf\8d\f6\05\eb\ff\ef\e6?S-\e2\1a\04\80~\bc\80\97\86\0e\00\10\e7?Ry\tqf\ff{<\12\e9g\fc\ff/\e7?$\87\bd&\e2\00\8c\89<\b9{F\13\000\e9?v\02\98KN\80\7f.\98\dd\ff\af\e9?7\93Z\8a\e0@\87\bcf\fbI\ed\ff\cf\e9?\00\e0\9b\c1\08\ce?O*\00\b0\ea?_?\ff<\04\fdi\bc\d1\1e\ae\d7\ff\cf\ea?\b4p\90\12\e7>\82\bcx\04Q\ee\ff\ef\ea?\a3\de\0e\e0>\06j<[\0de\db\ff\0f\eb?\b9\n\1f8\c8\06ZO\86\d0E\ff\8a<@\16\87\f9\ff\8f\eb?\f9\c3\c2\96w\fe|\f0\0f\00\f0\f4?\1cS\85\0b\89\7f\97<\d1K\dc\12\00\10\f5?6\a4fqe\04`\c9\03\00\b0\f5?\c0\0c\bf\n\08A\9f\bc\bc\19I\1d\00\d0\f5?)G%\fb*\81\98\bc\89z\b8\e7\ff\ef\f5?\04i\ed\80\b7~\94\bc") + (data (i32.const 4192) "\00\01\00\00\01\00\00\00\03\00\00\00\00\01\00\00\be\f3\f8y\eca\f6?\de\aa\8c\80\f7{\d5\bf=\88\afJ\edq\f5?\dbm\c0\a7\f0\be\d2\bf\b0\10\f0\f09\95\f4?g:Q\7f\ae\1e\d0\bf\85\03\b8\b0\95\c9\f3?\e9$\82\a6\d81\cb\bf\a5d\88\0c\19\0d\f3?Xw\c0\nOW\c6\bf\a0\8e\0b{\"^\f2?\00\81\9c\c7+\aa\c1\bf?4\1aJJ\bb\f1?^\0e\8c\cevN\ba\bf\ba\e5\8a\f0X#\f1?\cc\1caZ<\97\b1\bf\a7\00\99A?\95\f0?\1e\0c\e18\f4R\a2\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?\84Y\f2]\aa\a5\aa?\a0j\02\1f\b3\a4\ec?\b4.6\aaS^\bc?\e6\fcjW6 \eb?\08\db w\e5&\c5?-\aa\a1c\d1\c2\e9?pG\"\0d\86\c2\cb?\edAx\03\e6\86\e8?\e1~\a0\c8\8b\05\d1?bHS\f5\dcg\e7?\t\ee\b6W0\04\d4?") + (data (i32.const 4464) "\c0\00\00\00\01\00\00\00\04\00\00\00\c0\00\00\00n\83\f9\a2\00\00\00\00\d1W\'\fc)\15DN\99\95b\db\c0\dd4\f5\abcQ\feA\90C<:n$\b7a\c5\bb\de\ea.I\06\e0\d2MB\1c\eb\1d\fe\1c\92\d1\t\f55\82\e8>\a7)\b1&p\9c\e9\84D\bb.9\d6\919A~_\b4\8b_\84\9c\f49S\83\ff\97\f8\1f;(\f9\bd\8b\11/\ef\0f\98\05\de\cf~6m\1fm\nZf?FO\b7\t\cb\'\c7\ba\'u-\ea_\9e\f79\07={\f1\e5\eb\b1_\fbk\ea\92R\8aF0\03V\08]\8d\1f \bc\cf\f0\abk{\fca\91\e3\a9\1d6\f4\9a_\85\99e\08\1b\e6^\80\d8\ff\8d@h\a0\14W\15\06\061\'sM") + (data (i32.const 4672) " \00\00\00\01\00\00\00\04\00\00\00 \00\00\00)\15DNn\83\f9\a2\c0\dd4\f5\d1W\'\fcA\90C<\99\95b\dba\c5\bb\de\abcQ\fe") + (data (i32.const 4720) "\00\08\00\00\01\00\00\00\04\00\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?n\bf\88\1aO;\9b<53\fb\a9=\f6\ef?]\dc\d8\9c\13`q\bca\80w>\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\0dG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") + (data (i32.const 6784) "\00\01\00\00\01\00\00\00\04\00\00\00\00\01\00\00\00\00\00\00\00\00\f0?t\85\15\d3\b0\d9\ef?\0f\89\f9lX\b5\ef?Q[\12\d0\01\93\ef?{Q}<\b8r\ef?\aa\b9h1\87T\ef?8bunz8\ef?\e1\de\1f\f5\9d\1e\ef?\15\b71\n\fe\06\ef?\cb\a9:7\a7\f1\ee?\"4\12L\a6\de\ee?-\89a`\08\ce\ee?\'*6\d5\da\bf\ee?\82O\9dV+\b4\ee?)TH\dd\07\ab\ee?\85U:\b0~\a4\ee?\cd;\7ff\9e\a0\ee?t_\ec\e8u\9f\ee?\87\01\ebs\14\a1\ee?\13\ceL\99\89\a5\ee?\db\a0*B\e5\ac\ee?\e5\c5\cd\b07\b7\ee?\90\f0\a3\82\91\c4\ee?]%>\b2\03\d5\ee?\ad\d3Z\99\9f\e8\ee?G^\fb\f2v\ff\ee?\9cR\85\dd\9b\19\ef?i\90\ef\dc 7\ef?\87\a4\fb\dc\18X\ef?_\9b{3\97|\ef?\da\90\a4\a2\af\a4\ef?@En[v\d0\ef?") + (data (i32.const 7056) "\00\04\00\00\01\00\00\00\03\00\00\00\00\04\00\00\f8\ac\b1k($\f7?\00\b0\cd\ee_\t\e1\bf\a1\cc\d2f\f7\e1\f6?\00\d0v\bd\94\84\e0\bf\8a\d40\0e=\a1\f6?\00\f8\e8\aeC\01\e0\bf\85l\d02\eca\f6?\00@\0b6\c5\fe\de\bf\f8\98\11\95\fa#\f6?\00\e0\b7\1a\d9\fd\dd\bfl\02\cf\a4[\e7\f5?\00\90\c7\0c\ae\ff\dc\bf\b8O!Z\05\ac\f5?\00\a0\fd\118\04\dc\bf\1en\16\0f\edq\f5?\00\e0:2g\0b\db\bf5\f8\0bY\t9\f5?\00\b0-Z/\15\da\bf\dd\ada\edO\01\f5?\00`\f8Z\7f!\d9\bf\d0{H\8e\b8\ca\f4?\00\90q\b0M0\d8\bf\eeO3\b49\95\f4?\00\e0\a9\f9\89A\d7\bfi\d5\af\df\cb`\f4?\00\90\19\b5+U\d6\bfS\b9\e4Nf-\f4?\00\10\9b\a2#k\d5\bf\a6\d8\1d\11\01\fb\f3?\00\a0_\0fe\83\d4\bf6X\0c\b7\95\c9\f3?\00\a0\f67\e9\9d\d3\bfJ\fd\b6J\1c\99\f3?\00`\8dS\a1\ba\d2\bf\b5\99\e0\0c\8ei\f3?\00@\ca@\83\d9\d1\bf\b2\e7\13\82\e4:\f3?\00\e0@:\85\fa\d0\bf\b1\bd\85\19\19\0d\f3?\000\e72\9c\1d\d0\bf\d7q\b2\ca%\e0\f2?\00`\fa\a2}\85\ce\bf\82\cd\13\cf\04\b4\f2?\00\80=c\c8\d3\cc\bfP\cb|,\b0\88\f2?\00\a0\14L\03&\cb\bf\e5M\94c\"^\f2?\00\e0O/\1c|\c9\bf\b1\15\86=V4\f2?\00\00\80?\02\d6\c7\bf8\af>\e3F\0b\f2?\00\e0\05\1a\a73\c6\bf\dd\a3\cd\fd\ee\e2\f1?\00\00W\e9\f5\94\c4\bf09\0bXJ\bb\f1?\00\a0\e0$\e4\f9\c2\bf\00\"\7f\84S\94\f1?\00\c0\fdZYb\c1\bf<\d7\d5\c0\06n\f1?\00\80\bdu\9a\9c\bf\bf\c2\e4\b7G_H\f1?\00\c0\f9[W{\bc\bf\d1\85\00\adX#\f1?\00\80\f4\0f\c6`\b9\bf\'\"S\0f\f0\fe\f0?\00\00\b6G\e2L\b6\bf\8f:\d0w \db\f0?\00@\01\b2x?\b3\bf\d9\80Y\d6\e6\b7\f0?\00\c0B\1a}8\b0\bf\8d@{\fe>\95\f0?\00\00\b5\08\92o\aa\bf\83;\c5\ca%s\f0?\00\00wO\95z\a4\bf\\\1b\0d\e4\97Q\f0?\00\00\0c\c5\a8#\9d\bf\a2\8e \c1\910\f0?\00\00x)&j\91\bf!~\b3%\10\10\f0?\00\00\e8\d8\f8 w\bfk\a7\ca\f9~\c0\ef?\00\00P\b1S\fe\86?\84\f1\f6\d3eD\ef?\00\80\0f\e1\cc\1c\a1?\7f\10\84\9f\07\cc\ee?\00\80\8b\8c\fcM\ac?\e8Z\97\99:W\ee?\00@W\1e2\aa\b3?\e6=\bd\f0\d6\e5\ed?\00\80\8b\d0\a0\18\b9?\b38\ff\81\b6w\ed?\00@\04\da\e9r\be?C\e9Mr\b5\0c\ed?\00`\7fP\d2\dc\c1?cu\0e\dc\b2\a4\ec?\00\a0\de\03\abv\c4?Q\cb\d6\e8\8e?\ec?\00 \e2wC\07\c7?L\0c\02O+\dd\eb?\00@\a9\8b\de\8e\c9?\ca\15`\00l}\eb?\00\e0\d2j\b8\0d\cc?\8f3.n6 \eb?\00\e0\ce\af\n\84\ce?9P)&p\c5\ea?\00\80g\b4\ny\d0?\dd1\'\bc\01m\ea?\00\c0\01h\05\ac\d1?\8b\f1?\bc\d3\16\ea?\00\e0\fe\d4\11\db\d2?\ad\fegI\d1\c2\e9?\00\80\c5NF\06\d4?\02\99|\f4\e4p\e9?\00\f0:\t\be-\d5?\f2\bc\829\fb \e9?\00\d0P \90Q\d6?\f1Y\f7\87\01\d3\e8?\00\f0\ea\cd\d2q\d7?m\f6\b9\eb\e5\86\e8?\00\90}\85\9c\8e\d8?\94\b9X\b6\97<\e8?\00`\e1U\01\a8\d9?\"\10\c6\ff\05\f4\e7?\00\d0\d3n\18\be\da?\ca\15\14\18\"\ad\e7?\00\e0\a0\ae\f2\d0\db?\8c\ff\9e\f9\dcg\e7?\00@\bf=\a4\e0\dc?") + (data (i32.const 8096) "\00\04\00\00\01\00\00\00\03\00\00\00\00\04\00\00\8e\n\b9\12\00 \e6?\05\b6D\06\ab\04\89<\a64W\04\00`\e6?\a9\f7b\ea\9b\ffa<\c5\f2%\c3\ff\9f\e6?\ba\90<\cb\cf~\82<\04Z\b98\00\e0\e6?&\93sV\88\ff\88<\e3\94\99\e0\ff\1f\e7?\b1\82_\'@\fd\8a<\10\0eY\15\00`\e7?A\83#\b4u\fdr\bc\d5[e\12\00\a0\e7?v+$|\e6\08x<\a6\e9Y2\00\e0\e7?\b7\"\f6&\e4\08b\bc\d2\b2\b4\ed\ff\1f\e8?/\c9\a5\1eF\02\84\bc\c3\fc\fa-\00`\e8?\1f\9a\f2\a2\f4\f7m)\e0\ff\df\f2?\f9\a6\b2\da9|\9b<\82\f0\dc\f7\ff\1f\f3?TR\dcn3\f1}<`\8bZ\f0\ff_\f3?\eb1\cdLV\03\9e\bc\cc\ae\0e.\00\a0\f3?w\a4\d3K\e7\f0u<6\b2;\04\00\e0\f3?3\88\9d\14\cb}\9c<\ff\87\d1\02\00 \f4?(=-\cf\af\08~<\b1|8\0d\00`\f4?\a6\99e\857\08\82<\89\9fV\04\00\a0\f4?\d2\bcO\90\\\fa\89\bc\f3C5\04\00\e0\f4?)S\17\ed%\11x\bc\0f\7f\02\cc\ff\1f\f5?\dcTw\84\d8\83\98\e90.\90\80\91\bc") + (data (i32.const 9136) "\00\01\00\00\01\00\00\00\03\00\00\00\00\01\00\00\be\f3\f8y\eca\f6?\190\96[\c6\fe\de\bf=\88\afJ\edq\f5?\a4\fc\d42h\0b\db\bf\b0\10\f0\f09\95\f4?{\b7\1f\n\8bA\d7\bf\85\03\b8\b0\95\c9\f3?{\cfm\1a\e9\9d\d3\bf\a5d\88\0c\19\0d\f3?1\b6\f2\f3\9b\1d\d0\bf\a0\8e\0b{\"^\f2?\f0z;\1b\1d|\c9\bf?4\1aJJ\bb\f1?\9f<\af\93\e3\f9\c2\bf\ba\e5\8a\f0X#\f1?\\\8dx\bf\cb`\b9\bf\a7\00\99A?\95\f0?\ce_G\b6\9do\aa\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?=\f5$\9f\ca8\b3?\a0j\02\1f\b3\a4\ec?\ba\918T\a9v\c4?\e6\fcjW6 \eb?\d2\e4\c4J\0b\84\ce?-\aa\a1c\d1\c2\e9?\1ce\c6\f0E\06\d4?\edAx\03\e6\86\e8?\f8\9f\1b,\9c\8e\d8?bHS\f5\dcg\e7?\cc{\b1N\a4\e0\dc?") + (data (i32.const 9408) "\00\10\00\00\01\00\00\00\03\00\00\00\00\10\00\00\00\00\00\00\00\a0\f6?\00\00\00\00\00\00\00\00\00\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?\00\00\00\00\00\00\00\00\00\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?\00\00\00\00\00\00\00\00\00XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?\00\00\00\00\00\00\00\00\00\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?\00\00\00\00\00\00\00\00\00xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?\00\00\00\00\00\00\00\00\00`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?\00\00\00\00\00\00\00\00\00\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?\00\00\00\00\00\00\00\00\00HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?\00\00\00\00\00\00\00\00\00\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?\00\00\00\00\00\00\00\00\00 \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?\00\00\00\00\00\00\00\00\00x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?\00\00\00\00\00\00\00\00\00\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?\00\00\00\00\00\00\00\00\00\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?\00\00\00\00\00\00\00\00\00H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?\00\00\00\00\00\00\00\00\00\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?\00\00\00\00\00\00\00\00\00@^m\18\b9\cf\bf\87<\99\ab*W\0d=\00\00\00\00\00`\f4?\00\00\00\00\00\00\00\00\00`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?\00\00\00\00\00\00\00\00\00\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?\00\00\00\00\00\00\00\00\00\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?\00\00\00\00\00\00\00\00\00\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?\00\00\00\00\00\00\00\00\00\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?\00\00\00\00\00\00\00\00\00P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?\00\00\00\00\00\00\00\00\00\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?\00\00\00\00\00\00\00\00\00\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?\00\00\00\00\00\00\00\00\00\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?\00\00\00\00\00\00\00\00\00\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?\00\00\00\00\00\00\00\00\00`F\d1;\97\b1?\9b\9e\0dV]2%\bd\00\00\00\00\00\a0\ed?\00\00\00\00\00\00\00\00\00\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?\00\00\00\00\00\00\00\00\00\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?\00\00\00\00\00\00\00\00\00\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?\00\00\00\00\00\00\00\00\00@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?\00\00\00\00\00\00\00\00\00`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?\00\00\00\00\00\00\00\00\00@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?\00\00\00\00\00\00\00\00\00 \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?\00\00\00\00\00\00\00\00\00\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?\00\00\00\00\00\00\00\00\00\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?\00\00\00\00\00\00\00\00\00\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?\00\00\00\00\00\00\00\00\00\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?\00\00\00\00\00\00\00\00\00\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?\00\00\00\00\00\00\00\00\00\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?\00\00\00\00\00\00\00\00\00\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?\00\00\00\00\00\00\00\00\00\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?\00\00\00\00\00\00\00\00\00pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?\00\00\00\00\00\00\00\00\00PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?\00\00\00\00\00\00\00\00\00\009\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?\00\00\00\00\00\00\00\00\00\00\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?\00\00\00\00\00\00\00\00\00\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?\00\00\00\00\00\00\00\00\00\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?\00\00\00\00\00\00\00\00\00\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?\00\00\00\00\00\00\00\00\00\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?\00\00\00\00\00\00\00\00\00\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?\00\00\00\00\00\00\00\00\00\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?\00\00\00\00\00\00\00\00\00\00\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?\00\00\00\00\00\00\00\00\00\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?\00\00\00\00\00\00\00\00\00XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?\00\00\00\00\00\00\00\00\00`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?\00\00\00\00\00\00\00\00\00\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?\00\00\00\00\00\00\00\00\00\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?\00\00\00\00\00\00\00\00\00hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?\00\00\00\00\00\00\00\00\00\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?\00\00\00\00\00\00\00\00\00\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?\00\00\00\00\00\00\00\00\00`\d3\e1\f1\14\d3?\b8 ) (func $~lib/math/pio2_large_quot (; 84 ;) (param $0 f64) (param $1 i64) (result i32) - (local $2 i32) + (local $2 i64) (local $3 i64) (local $4 i64) - (local $5 i64) - (local $6 i32) + (local $5 i32) + (local $6 i64) (local $7 i64) (local $8 i64) (local $9 i64) @@ -4258,371 +4215,367 @@ (local $33 i64) (local $34 i64) (local $35 i64) - (local $36 i64) - (local $37 f64) - i32.const 4784 - i32.load offset=4 - local.set $2 + (local $36 f64) local.get $1 i64.const 9223372036854775807 i64.and - local.set $3 - local.get $3 + local.set $2 + local.get $2 i64.const 52 i64.shr_s i64.const 1045 i64.sub - local.set $4 - local.get $4 + local.set $3 + local.get $3 i64.const 63 i64.and - local.set $5 - local.get $2 - local.get $4 + local.set $4 + i32.const 4480 + local.get $3 i64.const 6 i64.shr_s i32.wrap_i64 i32.const 3 i32.shl i32.add - local.set $6 - local.get $6 + local.set $5 + local.get $5 i64.load - local.set $10 - local.get $6 + local.set $9 + local.get $5 i64.load offset=8 - local.set $11 - local.get $6 - i64.load offset=16 - local.set $12 + local.set $10 local.get $5 + i64.load offset=16 + local.set $11 + local.get $4 i64.const 0 i64.ne if i32.const 64 i64.extend_i32_s - local.get $5 + local.get $4 i64.sub - local.set $13 - local.get $6 + local.set $12 + local.get $5 i64.load offset=24 - local.set $14 + local.set $13 + local.get $10 + local.get $12 + i64.shr_u + local.get $9 + local.get $4 + i64.shl + i64.or + local.set $6 local.get $11 - local.get $13 + local.get $12 i64.shr_u local.get $10 - local.get $5 + local.get $4 i64.shl i64.or local.set $7 - local.get $12 local.get $13 + local.get $12 i64.shr_u local.get $11 - local.get $5 + local.get $4 i64.shl i64.or local.set $8 - local.get $14 - local.get $13 - i64.shr_u - local.get $12 - local.get $5 - i64.shl - i64.or - local.set $9 else + local.get $9 + local.set $6 local.get $10 local.set $7 local.get $11 local.set $8 - local.get $12 - local.set $9 end local.get $1 i64.const 4503599627370495 i64.and i64.const 4503599627370496 i64.or - local.set $15 - local.get $8 local.set $14 - local.get $15 + local.get $7 local.set $13 local.get $14 + local.set $12 + local.get $13 i64.const 4294967295 i64.and - local.set $16 - local.get $13 + local.set $15 + local.get $12 i64.const 4294967295 i64.and - local.set $17 - local.get $14 - i64.const 32 - i64.shr_u - local.set $14 + local.set $16 local.get $13 i64.const 32 i64.shr_u local.set $13 + local.get $12 + i64.const 32 + i64.shr_u + local.set $12 + local.get $15 local.get $16 - local.get $17 i64.mul - local.set $20 - local.get $20 + local.set $19 + local.get $19 i64.const 4294967295 i64.and - local.set $18 - local.get $14 - local.get $17 + local.set $17 + local.get $13 + local.get $16 i64.mul - local.get $20 + local.get $19 i64.const 32 i64.shr_u i64.add - local.set $20 - local.get $20 + local.set $19 + local.get $19 i64.const 32 i64.shr_u - local.set $19 - local.get $16 - local.get $13 + local.set $18 + local.get $15 + local.get $12 i64.mul - local.get $20 + local.get $19 i64.const 4294967295 i64.and i64.add - local.set $20 - local.get $14 + local.set $19 local.get $13 + local.get $12 i64.mul - local.get $19 + local.get $18 i64.add - local.get $20 + local.get $19 i64.const 32 i64.shr_u i64.add global.set $~lib/math/res128_hi - local.get $20 + local.get $19 i64.const 32 i64.shl - local.get $18 + local.get $17 i64.add - local.set $21 + local.set $20 global.get $~lib/math/res128_hi - local.set $22 - local.get $7 - local.get $15 + local.set $21 + local.get $6 + local.get $14 i64.mul - local.set $23 - local.get $9 + local.set $22 + local.get $8 i64.const 32 i64.shr_u - local.get $15 + local.get $14 i64.const 32 i64.shr_s i64.mul - local.set $24 - local.get $21 - local.get $24 - i64.add - local.set $25 + local.set $23 + local.get $20 local.get $23 + i64.add + local.set $24 local.get $22 + local.get $21 i64.add - local.get $25 local.get $24 + local.get $23 i64.lt_u i64.extend_i32_u i64.add - local.set $26 - local.get $25 + local.set $25 + local.get $24 i64.const 2 i64.shl - local.set $27 - local.get $26 + local.set $26 + local.get $25 i64.const 2 i64.shl - local.get $25 + local.get $24 i64.const 62 i64.shr_u i64.or - local.set $28 - local.get $28 + local.set $27 + local.get $27 i64.const 63 i64.shr_s - local.set $29 - local.get $29 + local.set $28 + local.get $28 i64.const 1 i64.shr_s - local.set $30 - local.get $26 + local.set $29 + local.get $25 i64.const 62 i64.shr_s - local.get $29 + local.get $28 i64.sub - local.set $31 + local.set $30 i64.const 4372995238176751616 - local.get $27 - local.get $29 - i64.xor - local.set $14 + local.get $26 local.get $28 - local.get $30 i64.xor local.set $13 - local.get $13 + local.get $27 + local.get $29 + i64.xor + local.set $12 + local.get $12 i64.clz - local.set $20 - local.get $13 - local.get $20 + local.set $19 + local.get $12 + local.get $19 i64.shl - local.get $14 + local.get $13 i64.const 64 - local.get $20 + local.get $19 i64.sub i64.shr_u i64.or - local.set $13 - local.get $14 - local.get $20 + local.set $12 + local.get $13 + local.get $19 i64.shl - local.set $14 + local.set $13 i64.const -3958705157555305932 - local.set $17 - local.get $13 local.set $16 - local.get $17 - i64.const 4294967295 - i64.and - local.set $19 + local.get $12 + local.set $15 local.get $16 i64.const 4294967295 i64.and local.set $18 - local.get $17 - i64.const 32 - i64.shr_u + local.get $15 + i64.const 4294967295 + i64.and local.set $17 local.get $16 i64.const 32 i64.shr_u local.set $16 - local.get $19 + local.get $15 + i64.const 32 + i64.shr_u + local.set $15 local.get $18 + local.get $17 i64.mul - local.set $34 - local.get $34 + local.set $33 + local.get $33 i64.const 4294967295 i64.and - local.set $32 + local.set $31 + local.get $16 local.get $17 - local.get $18 i64.mul - local.get $34 + local.get $33 i64.const 32 i64.shr_u i64.add - local.set $34 - local.get $34 + local.set $33 + local.get $33 i64.const 32 i64.shr_u - local.set $33 - local.get $19 - local.get $16 + local.set $32 + local.get $18 + local.get $15 i64.mul - local.get $34 + local.get $33 i64.const 4294967295 i64.and i64.add - local.set $34 - local.get $17 + local.set $33 local.get $16 + local.get $15 i64.mul - local.get $33 + local.get $32 i64.add - local.get $34 + local.get $33 i64.const 32 i64.shr_u i64.add global.set $~lib/math/res128_hi - local.get $34 + local.get $33 i64.const 32 i64.shl - local.get $32 + local.get $31 i64.add - local.set $34 - global.get $~lib/math/res128_hi local.set $33 - local.get $33 - i64.const 11 - i64.shr_u + global.get $~lib/math/res128_hi local.set $32 - local.get $34 + local.get $32 i64.const 11 i64.shr_u + local.set $31 local.get $33 + i64.const 11 + i64.shr_u + local.get $32 i64.const 53 i64.shl i64.or - local.set $18 + local.set $17 f64.const 2.6469779601696886e-23 i64.const -4267615245585081135 f64.convert_i64_u f64.mul - local.get $13 + local.get $12 f64.convert_i64_u f64.mul f64.const 2.6469779601696886e-23 i64.const -3958705157555305932 f64.convert_i64_u f64.mul - local.get $14 + local.get $13 f64.convert_i64_u f64.mul f64.add i64.trunc_f64_u - local.set $19 - local.get $32 - local.get $34 - local.get $19 + local.set $18 + local.get $31 + local.get $33 + local.get $18 i64.lt_u i64.extend_i32_u i64.add f64.convert_i64_u global.set $~lib/math/rempio2_y0 f64.const 5.421010862427522e-20 + local.get $17 local.get $18 - local.get $19 i64.add f64.convert_i64_u f64.mul global.set $~lib/math/rempio2_y1 - local.get $20 + local.get $19 i64.const 52 i64.shl i64.sub - local.set $35 + local.set $34 local.get $1 - local.get $28 + local.get $27 i64.xor i64.const -9223372036854775808 i64.and - local.set $36 + local.set $35 + local.get $34 local.get $35 - local.get $36 i64.or f64.reinterpret_i64 - local.set $37 + local.set $36 global.get $~lib/math/rempio2_y0 - local.get $37 + local.get $36 f64.mul global.set $~lib/math/rempio2_y0 global.get $~lib/math/rempio2_y1 - local.get $37 + local.get $36 f64.mul global.set $~lib/math/rempio2_y1 - local.get $31 + local.get $30 i32.wrap_i64 ) (func $~lib/math/NativeMath.cos (; 85 ;) (param $0 f64) (result f64) @@ -5181,20 +5134,19 @@ (local $11 i32) (local $12 f32) (local $13 i32) - (local $14 i32) - (local $15 i64) - (local $16 i32) + (local $14 i64) + (local $15 i32) + (local $16 i64) (local $17 i64) (local $18 i64) (local $19 i64) (local $20 i64) (local $21 i64) (local $22 i64) - (local $23 i64) + (local $23 i32) (local $24 i32) - (local $25 i32) - (local $26 f64) - (local $27 f32) + (local $25 f64) + (local $26 f32) local.get $0 i32.reinterpret_f32 local.set $1 @@ -5580,128 +5532,125 @@ local.set $12 local.get $9 local.set $11 - i32.const 4864 - i32.load offset=4 - local.set $13 local.get $11 i32.const 23 i32.shr_s i32.const 152 i32.sub - local.set $14 - local.get $14 + local.set $13 + local.get $13 i32.const 63 i32.and i64.extend_i32_s - local.set $15 + local.set $14 + i32.const 4688 local.get $13 - local.get $14 i32.const 6 i32.shr_s i32.const 3 i32.shl i32.add - local.set $16 - local.get $16 + local.set $15 + local.get $15 i64.load - local.set $17 - local.get $16 - i64.load offset=8 - local.set $18 + local.set $16 local.get $15 + i64.load offset=8 + local.set $17 + local.get $14 i64.const 32 i64.gt_u if - local.get $16 + local.get $15 i64.load offset=16 - local.set $20 - local.get $20 + local.set $19 + local.get $19 i64.const 96 - local.get $15 + local.get $14 i64.sub i64.shr_u - local.set $19 - local.get $19 + local.set $18 local.get $18 - local.get $15 + local.get $17 + local.get $14 i64.const 32 i64.sub i64.shl i64.or - local.set $19 + local.set $18 else - local.get $18 + local.get $17 i64.const 32 - local.get $15 + local.get $14 i64.sub i64.shr_u - local.set $19 + local.set $18 end - local.get $18 + local.get $17 i64.const 64 - local.get $15 + local.get $14 i64.sub i64.shr_u - local.get $17 - local.get $15 + local.get $16 + local.get $14 i64.shl i64.or - local.set $20 + local.set $19 local.get $11 i32.const 8388607 i32.and i32.const 8388608 i32.or i64.extend_i32_s - local.set $21 - local.get $21 + local.set $20 local.get $20 - i64.mul - local.get $21 local.get $19 i64.mul + local.get $20 + local.get $18 + i64.mul i64.const 32 i64.shr_u i64.add - local.set $22 - local.get $22 + local.set $21 + local.get $21 i64.const 2 i64.shl - local.set $23 - local.get $22 + local.set $22 + local.get $21 i64.const 62 i64.shr_u - local.get $23 + local.get $22 i64.const 63 i64.shr_u i64.add i32.wrap_i64 - local.set $24 + local.set $23 f64.const 8.515303950216386e-20 local.get $12 f64.promote_f32 f64.copysign - local.get $23 + local.get $22 f64.convert_i64_s f64.mul global.set $~lib/math/rempio2f_y - local.get $24 - local.set $24 + local.get $23 + local.set $23 i32.const 0 - local.get $24 + local.get $23 i32.sub - local.get $24 + local.get $23 local.get $8 select end - local.set $25 + local.set $24 global.get $~lib/math/rempio2f_y - local.set $26 - local.get $25 + local.set $25 + local.get $24 i32.const 1 i32.and if (result f32) - local.get $26 + local.get $25 local.set $7 local.get $7 local.get $7 @@ -5738,7 +5687,7 @@ f64.add f32.demote_f64 else - local.get $26 + local.get $25 local.set $7 local.get $7 local.get $7 @@ -5772,17 +5721,17 @@ f64.add f32.demote_f64 end - local.set $27 - local.get $25 + local.set $26 + local.get $24 i32.const 1 i32.add i32.const 2 i32.and if (result f32) - local.get $27 + local.get $26 f32.neg else - local.get $27 + local.get $26 end ) (func $std/math/test_cosf (; 88 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) @@ -6116,19 +6065,18 @@ (local $7 f64) (local $8 i32) (local $9 i64) - (local $10 i32) - (local $11 f64) - (local $12 i64) + (local $10 f64) + (local $11 i64) + (local $12 f64) (local $13 f64) - (local $14 f64) + (local $14 i64) (local $15 i64) - (local $16 i64) + (local $16 f64) (local $17 f64) (local $18 f64) (local $19 f64) (local $20 f64) (local $21 f64) - (local $22 f64) block $~lib/util/math/exp_lut|inlined.0 (result f64) local.get $0 local.set $1 @@ -6224,23 +6172,19 @@ local.set $8 local.get $6 i64.const 52 - global.get $~lib/util/math/EXP_TABLE_BITS - i64.extend_i32_s + i64.const 7 i64.sub i64.shl local.set $9 - i32.const 6960 - i32.load offset=4 - local.set $10 - local.get $10 + i32.const 4736 local.get $8 i32.const 3 i32.shl i32.add i64.load f64.reinterpret_i64 - local.set $11 - local.get $10 + local.set $10 + i32.const 4736 local.get $8 i32.const 3 i32.shl @@ -6248,15 +6192,15 @@ i64.load offset=8 local.get $9 i64.add - local.set $12 + local.set $11 local.get $7 local.get $7 f64.mul - local.set $13 - local.get $11 + local.set $12 + local.get $10 local.get $7 f64.add - local.get $13 + local.get $12 f64.const 0.49999999999996786 local.get $7 f64.const 0.16666666666665886 @@ -6264,8 +6208,8 @@ f64.add f64.mul f64.add - local.get $13 - local.get $13 + local.get $12 + local.get $12 f64.mul f64.const 0.0416666808410674 local.get $7 @@ -6274,116 +6218,116 @@ f64.add f64.mul f64.add - local.set $14 + local.set $13 local.get $3 i32.const 0 i32.eq if block $~lib/util/math/specialcase|inlined.0 (result f64) - local.get $14 - local.set $17 - local.get $12 + local.get $13 local.set $16 - local.get $6 + local.get $11 local.set $15 - local.get $15 + local.get $6 + local.set $14 + local.get $14 i64.const 2147483648 i64.and i64.const 0 i64.ne i32.eqz if - local.get $16 + local.get $15 i64.const 1009 i64.const 52 i64.shl i64.sub - local.set $16 - local.get $16 + local.set $15 + local.get $15 f64.reinterpret_i64 - local.set $18 + local.set $17 f64.const 5486124068793688683255936e279 - local.get $18 - local.get $18 local.get $17 + local.get $17 + local.get $16 f64.mul f64.add f64.mul br $~lib/util/math/specialcase|inlined.0 end - local.get $16 + local.get $15 i64.const 1022 i64.const 52 i64.shl i64.add - local.set $16 - local.get $16 + local.set $15 + local.get $15 f64.reinterpret_i64 - local.set $18 - local.get $18 - local.get $18 + local.set $17 local.get $17 + local.get $17 + local.get $16 f64.mul f64.add - local.set $19 - local.get $19 + local.set $18 + local.get $18 f64.abs f64.const 1 f64.lt if f64.const 1 - local.get $19 + local.get $18 f64.copysign - local.set $20 + local.set $19 + local.get $17 local.get $18 - local.get $19 f64.sub - local.get $18 local.get $17 + local.get $16 f64.mul f64.add - local.set $21 - local.get $20 + local.set $20 local.get $19 + local.get $18 f64.add - local.set $22 - local.get $20 - local.get $22 - f64.sub + local.set $21 local.get $19 - f64.add local.get $21 + f64.sub + local.get $18 f64.add - local.set $21 - local.get $22 - local.get $21 + local.get $20 f64.add + local.set $20 + local.get $21 local.get $20 - f64.sub - local.set $19 + f64.add local.get $19 + f64.sub + local.set $18 + local.get $18 f64.const 0 f64.eq if - local.get $16 + local.get $15 i64.const -9223372036854775808 i64.and f64.reinterpret_i64 - local.set $19 + local.set $18 end end - local.get $19 + local.get $18 f64.const 2.2250738585072014e-308 f64.mul end br $~lib/util/math/exp_lut|inlined.0 end - local.get $12 + local.get $11 f64.reinterpret_i64 - local.set $19 - local.get $19 - local.get $19 - local.get $14 + local.set $18 + local.get $18 + local.get $18 + local.get $13 f64.mul f64.add end @@ -6807,7 +6751,6 @@ (local $9 f64) (local $10 f64) (local $11 i64) - (local $12 i32) block $~lib/util/math/expf_lut|inlined.0 (result f32) local.get $0 local.set $1 @@ -6877,10 +6820,7 @@ f64.sub f64.sub local.set $8 - i32.const 7264 - i32.load offset=4 - local.set $12 - local.get $12 + i32.const 6800 local.get $7 i32.wrap_i64 i32.const 31 @@ -6893,8 +6833,7 @@ local.get $11 local.get $7 i64.const 52 - global.get $~lib/util/math/EXP2F_TABLE_BITS - i64.extend_i32_s + i64.const 5 i64.sub i64.shl i64.add @@ -7089,18 +7028,17 @@ (local $6 f64) (local $7 i32) (local $8 i64) - (local $9 i32) - (local $10 f64) - (local $11 i64) + (local $9 f64) + (local $10 i64) + (local $11 f64) (local $12 f64) - (local $13 f64) + (local $13 i64) (local $14 i64) - (local $15 i64) + (local $15 f64) (local $16 f64) (local $17 f64) (local $18 f64) (local $19 f64) - (local $20 f64) block $~lib/util/math/exp2_lut|inlined.0 (result f64) local.get $0 local.set $1 @@ -7202,23 +7140,19 @@ local.set $7 local.get $5 i64.const 52 - global.get $~lib/util/math/EXP_TABLE_BITS - i64.extend_i32_s + i64.const 7 i64.sub i64.shl local.set $8 - i32.const 6960 - i32.load offset=4 - local.set $9 - local.get $9 + i32.const 4736 local.get $7 i32.const 3 i32.shl i32.add i64.load f64.reinterpret_i64 - local.set $10 - local.get $9 + local.set $9 + i32.const 4736 local.get $7 i32.const 3 i32.shl @@ -7226,17 +7160,17 @@ i64.load offset=8 local.get $8 i64.add - local.set $11 + local.set $10 local.get $6 local.get $6 f64.mul - local.set $12 - local.get $10 + local.set $11 + local.get $9 local.get $6 f64.const 0.6931471805599453 f64.mul f64.add - local.get $12 + local.get $11 f64.const 0.24022650695909065 local.get $6 f64.const 0.0555041086686087 @@ -7244,8 +7178,8 @@ f64.add f64.mul f64.add - local.get $12 - local.get $12 + local.get $11 + local.get $11 f64.mul f64.const 0.009618131975721055 local.get $6 @@ -7254,101 +7188,101 @@ f64.add f64.mul f64.add - local.set $13 + local.set $12 local.get $3 i32.const 0 i32.eq if block $~lib/util/math/specialcase2|inlined.0 (result f64) - local.get $13 - local.set $16 - local.get $11 + local.get $12 local.set $15 - local.get $5 + local.get $10 local.set $14 - local.get $14 + local.get $5 + local.set $13 + local.get $13 i64.const 2147483648 i64.and i64.const 0 i64.eq if - local.get $15 + local.get $14 i64.const 1 i64.const 52 i64.shl i64.sub - local.set $15 - local.get $15 + local.set $14 + local.get $14 f64.reinterpret_i64 - local.set $17 + local.set $16 f64.const 2 - local.get $17 local.get $16 + local.get $15 f64.mul - local.get $17 + local.get $16 f64.add f64.mul br $~lib/util/math/specialcase2|inlined.0 end - local.get $15 + local.get $14 i64.const 1022 i64.const 52 i64.shl i64.add - local.set $15 - local.get $15 + local.set $14 + local.get $14 f64.reinterpret_i64 - local.set $17 - local.get $17 + local.set $16 local.get $16 + local.get $15 f64.mul - local.get $17 + local.get $16 f64.add - local.set $18 - local.get $18 + local.set $17 + local.get $17 f64.const 1 f64.lt if + local.get $16 local.get $17 - local.get $18 f64.sub - local.get $17 local.get $16 + local.get $15 f64.mul f64.add - local.set $20 + local.set $19 f64.const 1 - local.get $18 + local.get $17 f64.add - local.set $19 + local.set $18 f64.const 1 - local.get $19 - f64.sub local.get $18 + f64.sub + local.get $17 f64.add - local.get $20 + local.get $19 f64.add - local.set $20 + local.set $19 + local.get $18 local.get $19 - local.get $20 f64.add f64.const 1 f64.sub - local.set $18 + local.set $17 end - local.get $18 + local.get $17 f64.const 2.2250738585072014e-308 f64.mul end br $~lib/util/math/exp2_lut|inlined.0 end - local.get $11 + local.get $10 f64.reinterpret_i64 - local.set $18 - local.get $18 - local.get $13 + local.set $17 + local.get $17 + local.get $12 f64.mul - local.get $18 + local.get $17 f64.add end ) @@ -7388,7 +7322,6 @@ (local $8 i64) (local $9 f64) (local $10 f64) - (local $11 i32) block $~lib/util/math/exp2f_lut|inlined.0 (result f32) local.get $0 local.set $1 @@ -7454,10 +7387,7 @@ f64.sub f64.sub local.set $7 - i32.const 7264 - i32.load offset=4 - local.set $11 - local.get $11 + i32.const 6800 local.get $6 i32.wrap_i64 i32.const 31 @@ -7470,8 +7400,7 @@ local.get $8 local.get $6 i64.const 52 - global.get $~lib/util/math/EXP2F_TABLE_BITS - i64.extend_i32_s + i64.const 5 i64.sub i64.shl i64.add @@ -8454,15 +8383,13 @@ (local $14 i32) (local $15 i64) (local $16 i64) - (local $17 i32) - (local $18 i32) + (local $17 f64) + (local $18 f64) (local $19 f64) (local $20 f64) (local $21 f64) (local $22 f64) (local $23 f64) - (local $24 f64) - (local $25 f64) block $~lib/util/math/log2_lut|inlined.0 (result f64) local.get $0 local.set $1 @@ -8639,8 +8566,7 @@ local.set $13 local.get $13 i64.const 52 - global.get $~lib/util/math/LOG2_TABLE_BITS - i64.extend_i32_s + i64.const 6 i64.sub i64.shr_u i64.const 63 @@ -8657,13 +8583,7 @@ i64.and i64.sub local.set $16 - i32.const 8336 - i32.load offset=4 - local.set $17 - i32.const 9408 - i32.load offset=4 - local.set $18 - local.get $17 + i32.const 7072 local.get $14 i32.const 1 i32.const 3 @@ -8672,7 +8592,7 @@ i32.add f64.load local.set $11 - local.get $17 + i32.const 7072 local.get $14 i32.const 1 i32.const 3 @@ -8687,7 +8607,7 @@ local.get $15 f64.convert_i64_s local.set $8 - local.get $18 + i32.const 8112 local.get $14 i32.const 1 i32.const 3 @@ -8696,7 +8616,7 @@ i32.add f64.load local.set $7 - local.get $18 + i32.const 8112 local.get $14 i32.const 1 i32.const 3 @@ -8726,7 +8646,7 @@ local.get $4 f64.const 1.4426950407214463 f64.mul - local.set $19 + local.set $17 local.get $3 f64.const 1.4426950407214463 f64.mul @@ -8734,33 +8654,33 @@ f64.const 1.6751713164886512e-10 f64.mul f64.add - local.set $20 + local.set $18 local.get $8 local.get $10 f64.add - local.set $21 - local.get $21 + local.set $19 local.get $19 + local.get $17 f64.add - local.set $22 - local.get $21 - local.get $22 - f64.sub + local.set $20 local.get $19 - f64.add local.get $20 + f64.sub + local.get $17 f64.add - local.set $23 + local.get $18 + f64.add + local.set $21 local.get $5 local.get $5 f64.mul - local.set $24 + local.set $22 f64.const -0.7213475204444882 local.get $5 f64.const 0.4808983469629985 f64.mul f64.add - local.get $24 + local.get $22 f64.const -0.36067375954075914 local.get $5 f64.const 0.2885390073180969 @@ -8768,8 +8688,8 @@ f64.add f64.mul f64.add - local.get $24 - local.get $24 + local.get $22 + local.get $22 f64.mul f64.const -0.2404693555628422 local.get $5 @@ -8778,13 +8698,13 @@ f64.add f64.mul f64.add - local.set $25 + local.set $23 + local.get $21 + local.get $22 local.get $23 - local.get $24 - local.get $25 f64.mul f64.add - local.get $22 + local.get $20 f64.add end return @@ -8821,7 +8741,7 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) + (local $8 f64) (local $9 f64) (local $10 f64) (local $11 f64) @@ -8829,7 +8749,6 @@ (local $13 f64) (local $14 f64) (local $15 f64) - (local $16 f64) block $~lib/util/math/log2f_lut|inlined.0 (result f32) local.get $0 local.set $1 @@ -8899,7 +8818,7 @@ local.set $3 local.get $3 i32.const 23 - global.get $~lib/util/math/LOG2F_TABLE_BITS + i32.const 4 i32.sub i32.shr_u i32.const 15 @@ -8917,10 +8836,7 @@ i32.const 23 i32.shr_s local.set $7 - global.get $~lib/util/math/log2f_data_tab - i32.load offset=4 - local.set $8 - local.get $8 + i32.const 9152 local.get $4 i32.const 1 i32.const 3 @@ -8928,8 +8844,8 @@ i32.shl i32.add f64.load - local.set $9 - local.get $8 + local.set $8 + i32.const 9152 local.get $4 i32.const 1 i32.const 3 @@ -8937,51 +8853,51 @@ i32.shl i32.add f64.load offset=8 - local.set $10 + local.set $9 local.get $6 f32.reinterpret_i32 f64.promote_f32 - local.set $11 - local.get $11 - local.get $9 + local.set $10 + local.get $10 + local.get $8 f64.mul f64.const 1 f64.sub - local.set $12 - local.get $10 + local.set $11 + local.get $9 local.get $7 f64.convert_i32_s f64.add - local.set $13 + local.set $12 f64.const 0.4811247078767291 - local.get $12 + local.get $11 f64.mul f64.const -0.7213476299867769 f64.add - local.set $14 + local.set $13 f64.const 1.4426950186867042 - local.get $12 + local.get $11 f64.mul - local.get $13 - f64.add - local.set $15 - local.get $12 local.get $12 - f64.mul - local.set $16 - local.get $14 - f64.const -0.36051725506874704 - local.get $16 - f64.mul f64.add local.set $14 - local.get $14 - local.get $16 + local.get $11 + local.get $11 f64.mul + local.set $15 + local.get $13 + f64.const -0.36051725506874704 local.get $15 + f64.mul f64.add - local.set $14 + local.set $13 + local.get $13 + local.get $15 + f64.mul local.get $14 + f64.add + local.set $13 + local.get $13 f32.demote_f64 end return @@ -9640,7 +9556,7 @@ (local $13 i64) (local $14 i64) (local $15 f64) - (local $16 i32) + (local $16 f64) (local $17 f64) (local $18 f64) (local $19 f64) @@ -9663,7 +9579,7 @@ (local $36 f64) (local $37 f64) (local $38 f64) - (local $39 f64) + (local $39 i32) (local $40 i32) (local $41 i32) (local $42 i32) @@ -10007,7 +9923,7 @@ i32.const 1 i32.eq if - global.get $~lib/util/math/SIGN_BIAS + i32.const 262144 local.set $4 end local.get $5 @@ -10086,8 +10002,7 @@ local.set $11 local.get $11 i64.const 52 - global.get $~lib/util/math/POW_LOG_TABLE_BITS - i64.extend_i32_s + i64.const 7 i64.sub i64.shr_u i64.const 127 @@ -10112,10 +10027,7 @@ local.get $13 f64.convert_i64_s local.set $15 - i32.const 13856 - i32.load offset=4 - local.set $16 - local.get $16 + i32.const 9424 local.get $12 i32.const 2 i32.const 3 @@ -10123,8 +10035,8 @@ i32.shl i32.add f64.load - local.set $17 - local.get $16 + local.set $16 + i32.const 9424 local.get $12 i32.const 2 i32.const 3 @@ -10132,8 +10044,8 @@ i32.shl i32.add f64.load offset=16 - local.set $18 - local.get $16 + local.set $17 + i32.const 9424 local.get $12 i32.const 2 i32.const 3 @@ -10141,105 +10053,105 @@ i32.shl i32.add f64.load offset=24 - local.set $19 + local.set $18 local.get $14 i64.const 2147483648 i64.add i64.const -4294967296 i64.and f64.reinterpret_i64 - local.set $20 + local.set $19 local.get $10 - local.get $20 + local.get $19 f64.sub - local.set $21 - local.get $20 - local.get $17 + local.set $20 + local.get $19 + local.get $16 f64.mul f64.const 1 f64.sub + local.set $21 + local.get $20 + local.get $16 + f64.mul local.set $22 local.get $21 - local.get $17 - f64.mul - local.set $23 local.get $22 - local.get $23 f64.add - local.set $24 + local.set $23 local.get $15 f64.const 0.6931471805598903 f64.mul - local.get $18 + local.get $17 f64.add - local.set $25 - local.get $25 + local.set $24 local.get $24 + local.get $23 f64.add - local.set $26 + local.set $25 local.get $15 f64.const 5.497923018708371e-14 f64.mul - local.get $19 + local.get $18 f64.add - local.set $27 + local.set $26 + local.get $24 local.get $25 - local.get $26 f64.sub - local.get $24 + local.get $23 f64.add - local.set $28 + local.set $27 f64.const -0.5 - local.get $24 + local.get $23 + f64.mul + local.set $28 + local.get $23 + local.get $28 f64.mul local.set $29 - local.get $24 + local.get $23 local.get $29 f64.mul local.set $30 - local.get $24 - local.get $30 + f64.const -0.5 + local.get $21 f64.mul local.set $31 - f64.const -0.5 - local.get $22 + local.get $21 + local.get $31 f64.mul local.set $32 - local.get $22 + local.get $25 local.get $32 - f64.mul + f64.add local.set $33 - local.get $26 - local.get $33 + local.get $22 + local.get $28 + local.get $31 f64.add + f64.mul local.set $34 - local.get $23 - local.get $29 + local.get $25 + local.get $33 + f64.sub local.get $32 f64.add - f64.mul local.set $35 - local.get $26 - local.get $34 - f64.sub - local.get $33 - f64.add - local.set $36 - local.get $31 + local.get $30 f64.const -0.6666666666666679 - local.get $24 + local.get $23 f64.const 0.5000000000000007 f64.mul f64.add - local.get $30 + local.get $29 f64.const 0.7999999995323976 - local.get $24 + local.get $23 f64.const -0.6666666663487739 f64.mul f64.add - local.get $30 + local.get $29 f64.const -1.142909628459501 - local.get $24 + local.get $23 f64.const 1.0000415263675542 f64.mul f64.add @@ -10248,68 +10160,68 @@ f64.mul f64.add f64.mul - local.set $37 + local.set $36 + local.get $26 local.get $27 - local.get $28 + f64.add + local.get $34 f64.add local.get $35 f64.add local.get $36 f64.add + local.set $37 + local.get $33 local.get $37 f64.add local.set $38 - local.get $34 + local.get $33 local.get $38 - f64.add - local.set $39 - local.get $34 - local.get $39 f64.sub - local.get $38 + local.get $37 f64.add global.set $~lib/util/math/log_tail - local.get $39 - local.set $39 - global.get $~lib/util/math/log_tail + local.get $38 local.set $38 + global.get $~lib/util/math/log_tail + local.set $37 local.get $6 i64.const -134217728 i64.and f64.reinterpret_i64 - local.set $35 + local.set $34 local.get $2 - local.get $35 + local.get $34 f64.sub - local.set $34 - local.get $39 + local.set $33 + local.get $38 i64.reinterpret_f64 i64.const -134217728 i64.and f64.reinterpret_i64 - local.set $33 - local.get $39 - local.get $33 - f64.sub + local.set $32 local.get $38 + local.get $32 + f64.sub + local.get $37 f64.add - local.set $32 - local.get $35 - local.get $33 - f64.mul - local.set $37 + local.set $31 local.get $34 + local.get $32 + f64.mul + local.set $36 local.get $33 + local.get $32 f64.mul local.get $2 - local.get $32 + local.get $31 f64.mul f64.add - local.set $36 + local.set $35 block $~lib/util/math/exp_inline|inlined.0 (result f64) - local.get $37 - local.set $15 local.get $36 + local.set $15 + local.get $35 local.set $10 local.get $4 local.set $12 @@ -10322,14 +10234,14 @@ i32.wrap_i64 i32.const 2047 i32.and - local.set $16 - local.get $16 + local.set $39 + local.get $39 i32.const 969 i32.sub i32.const 63 i32.ge_u if - local.get $16 + local.get $39 i32.const 969 i32.sub i32.const -2147483648 @@ -10341,7 +10253,7 @@ select br $~lib/util/math/exp_inline|inlined.0 end - local.get $16 + local.get $39 i32.const 1033 i32.ge_u if @@ -10357,13 +10269,13 @@ local.set $42 i64.const 1152921504606846976 f64.reinterpret_i64 - local.set $17 - local.get $17 + local.set $16 + local.get $16 f64.neg - local.get $17 + local.get $16 local.get $42 select - local.get $17 + local.get $16 f64.mul else local.get $12 @@ -10372,49 +10284,49 @@ local.set $41 i64.const 8070450532247928832 f64.reinterpret_i64 - local.set $18 - local.get $18 + local.set $17 + local.get $17 f64.neg - local.get $18 + local.get $17 local.get $41 select - local.get $18 + local.get $17 f64.mul end br $~lib/util/math/exp_inline|inlined.0 end i32.const 0 - local.set $16 + local.set $39 end f64.const 184.6649652337873 local.get $15 f64.mul - local.set $30 - local.get $30 + local.set $29 + local.get $29 f64.const 6755399441055744 f64.add - local.set $31 - local.get $31 + local.set $30 + local.get $30 i64.reinterpret_f64 local.set $14 - local.get $31 + local.get $30 f64.const 6755399441055744 f64.sub - local.set $31 + local.set $30 local.get $15 - local.get $31 + local.get $30 f64.const -0.005415212348111709 f64.mul f64.add - local.get $31 + local.get $30 f64.const -1.2864023111638346e-14 f64.mul f64.add - local.set $29 - local.get $29 + local.set $28 + local.get $28 local.get $10 f64.add - local.set $29 + local.set $28 local.get $14 i64.const 127 i64.and @@ -10427,23 +10339,19 @@ i64.extend_i32_u i64.add i64.const 52 - global.get $~lib/util/math/EXP_TABLE_BITS - i64.extend_i32_s + i64.const 7 i64.sub i64.shl local.set $13 - i32.const 6960 - i32.load offset=4 - local.set $42 - local.get $42 + i32.const 4736 local.get $40 i32.const 3 i32.shl i32.add i64.load f64.reinterpret_i64 - local.set $26 - local.get $42 + local.set $25 + i32.const 4736 local.get $40 i32.const 3 i32.shl @@ -10452,39 +10360,39 @@ local.get $13 i64.add local.set $11 - local.get $29 - local.get $29 + local.get $28 + local.get $28 f64.mul - local.set $28 - local.get $26 - local.get $29 - f64.add + local.set $27 + local.get $25 local.get $28 + f64.add + local.get $27 f64.const 0.49999999999996786 - local.get $29 + local.get $28 f64.const 0.16666666666665886 f64.mul f64.add f64.mul f64.add - local.get $28 - local.get $28 + local.get $27 + local.get $27 f64.mul f64.const 0.0416666808410674 - local.get $29 + local.get $28 f64.const 0.008333335853059549 f64.mul f64.add f64.mul f64.add - local.set $25 - local.get $16 + local.set $24 + local.get $39 i32.const 0 i32.eq if block $~lib/util/math/specialcase|inlined.1 (result f64) - local.get $25 - local.set $19 + local.get $24 + local.set $18 local.get $11 local.set $44 local.get $14 @@ -10504,11 +10412,11 @@ local.set $44 local.get $44 f64.reinterpret_i64 - local.set $18 + local.set $17 f64.const 5486124068793688683255936e279 + local.get $17 + local.get $17 local.get $18 - local.get $18 - local.get $19 f64.mul f64.add f64.mul @@ -10522,49 +10430,49 @@ local.set $44 local.get $44 f64.reinterpret_i64 - local.set $18 - local.get $18 + local.set $17 + local.get $17 + local.get $17 local.get $18 - local.get $19 f64.mul f64.add - local.set $17 - local.get $17 + local.set $16 + local.get $16 f64.abs f64.const 1 f64.lt if f64.const 1 - local.get $17 + local.get $16 f64.copysign - local.set $24 - local.get $18 + local.set $23 local.get $17 + local.get $16 f64.sub + local.get $17 local.get $18 - local.get $19 f64.mul f64.add - local.set $23 - local.get $24 - local.get $17 - f64.add local.set $22 - local.get $24 - local.get $22 - f64.sub - local.get $17 + local.get $23 + local.get $16 f64.add + local.set $21 local.get $23 + local.get $21 + f64.sub + local.get $16 f64.add - local.set $23 local.get $22 - local.get $23 f64.add - local.get $24 + local.set $22 + local.get $21 + local.get $22 + f64.add + local.get $23 f64.sub - local.set $17 - local.get $17 + local.set $16 + local.get $16 f64.const 0 f64.eq if @@ -10572,10 +10480,10 @@ i64.const -9223372036854775808 i64.and f64.reinterpret_i64 - local.set $17 + local.set $16 end end - local.get $17 + local.get $16 f64.const 2.2250738585072014e-308 f64.mul end @@ -10583,10 +10491,10 @@ end local.get $11 f64.reinterpret_i64 - local.set $27 - local.get $27 - local.get $27 - local.get $25 + local.set $26 + local.get $26 + local.get $26 + local.get $24 f64.mul f64.add end @@ -10633,7 +10541,7 @@ (local $12 i32) (local $13 i32) (local $14 i32) - (local $15 i32) + (local $15 f64) (local $16 f64) (local $17 f64) (local $18 f64) @@ -10641,9 +10549,8 @@ (local $20 f64) (local $21 f64) (local $22 f64) - (local $23 f64) + (local $23 i64) (local $24 i64) - (local $25 i64) local.get $1 f32.abs f32.const 2 @@ -10992,7 +10899,7 @@ local.set $10 local.get $10 i32.const 23 - global.get $~lib/util/math/LOG2F_TABLE_BITS + i32.const 4 i32.sub i32.shr_u i32.const 15 @@ -11010,10 +10917,7 @@ i32.const 23 i32.shr_s local.set $14 - i32.const 9712 - i32.load offset=4 - local.set $15 - local.get $15 + i32.const 9152 local.get $11 i32.const 1 i32.const 3 @@ -11021,8 +10925,8 @@ i32.shl i32.add f64.load - local.set $16 - local.get $15 + local.set $15 + i32.const 9152 local.get $11 i32.const 1 i32.const 3 @@ -11030,66 +10934,66 @@ i32.shl i32.add f64.load offset=8 - local.set $17 + local.set $16 local.get $13 f32.reinterpret_i32 f64.promote_f32 - local.set $18 - local.get $18 - local.get $16 + local.set $17 + local.get $17 + local.get $15 f64.mul f64.const 1 f64.sub - local.set $19 - local.get $17 + local.set $18 + local.get $16 local.get $14 f64.convert_i32_s f64.add - local.set $20 + local.set $19 f64.const 0.288457581109214 - local.get $19 + local.get $18 f64.mul f64.const -0.36092606229713164 f64.add - local.set $21 + local.set $20 f64.const 0.480898481472577 - local.get $19 + local.get $18 f64.mul f64.const -0.7213474675006291 f64.add - local.set $22 + local.set $21 f64.const 1.4426950408774342 - local.get $19 + local.get $18 f64.mul - local.get $20 - f64.add - local.set $23 - local.get $19 local.get $19 + f64.add + local.set $22 + local.get $18 + local.get $18 f64.mul - local.set $19 - local.get $23 + local.set $18 local.get $22 - local.get $19 + local.get $21 + local.get $18 f64.mul f64.add - local.set $23 - local.get $21 - local.get $19 - local.get $19 + local.set $22 + local.get $20 + local.get $18 + local.get $18 f64.mul f64.mul - local.get $23 + local.get $22 f64.add - local.set $21 - local.get $21 - local.set $23 + local.set $20 + local.get $20 + local.set $22 local.get $2 f64.promote_f32 - local.get $23 - f64.mul - local.set $22 local.get $22 + f64.mul + local.set $21 + local.get $21 i64.reinterpret_f64 i64.const 47 i64.shr_u @@ -11098,7 +11002,7 @@ i64.const 32959 i64.ge_u if - local.get $22 + local.get $21 f64.const 127.99999995700433 f64.gt if @@ -11118,7 +11022,7 @@ f32.mul br $~lib/util/math/powf_lut|inlined.0 end - local.get $22 + local.get $21 f64.const -150 f64.le if @@ -11139,28 +11043,25 @@ br $~lib/util/math/powf_lut|inlined.0 end end - local.get $22 - local.set $16 + local.get $21 + local.set $15 local.get $4 local.set $13 - local.get $16 + local.get $15 f64.const 211106232532992 f64.add - local.set $21 - local.get $21 + local.set $20 + local.get $20 i64.reinterpret_f64 - local.set $24 - local.get $16 - local.get $21 + local.set $23 + local.get $15 + local.get $20 f64.const 211106232532992 f64.sub f64.sub - local.set $20 - i32.const 7264 - i32.load offset=4 - local.set $11 - local.get $11 - local.get $24 + local.set $19 + i32.const 6800 + local.get $23 i32.wrap_i64 i32.const 31 i32.and @@ -11168,47 +11069,46 @@ i32.shl i32.add i64.load - local.set $25 - local.get $25 + local.set $24 local.get $24 + local.get $23 local.get $13 i64.extend_i32_u i64.add i64.const 52 - global.get $~lib/util/math/EXP2F_TABLE_BITS - i64.extend_i32_s + i64.const 5 i64.sub i64.shl i64.add - local.set $25 - local.get $25 + local.set $24 + local.get $24 f64.reinterpret_i64 - local.set $17 + local.set $16 f64.const 0.05550361559341535 - local.get $20 + local.get $19 f64.mul f64.const 0.2402284522445722 f64.add - local.set $19 + local.set $18 f64.const 0.6931471806916203 - local.get $20 + local.get $19 f64.mul f64.const 1 f64.add - local.set $18 + local.set $17 + local.get $17 local.get $18 local.get $19 - local.get $20 - local.get $20 + local.get $19 f64.mul f64.mul f64.add - local.set $18 - local.get $18 + local.set $17 local.get $17 + local.get $16 f64.mul - local.set $18 - local.get $18 + local.set $17 + local.get $17 f32.demote_f64 end ) @@ -11330,7 +11230,7 @@ i32.eqz if i32.const 0 - i32.const 13888 + i32.const 13536 i32.const 1406 i32.const 4 call $~lib/builtins/abort @@ -11344,8 +11244,8 @@ global.get $~lib/math/random_seeded i32.eqz if - i32.const 13936 - i32.const 13888 + i32.const 13584 + i32.const 13536 i32.const 1413 i32.const 24 call $~lib/builtins/abort @@ -11399,8 +11299,8 @@ global.get $~lib/math/random_seeded i32.eqz if - i32.const 13936 - i32.const 13888 + i32.const 13584 + i32.const 13536 i32.const 2606 i32.const 24 call $~lib/builtins/abort @@ -12761,20 +12661,19 @@ (local $11 i32) (local $12 f32) (local $13 i32) - (local $14 i32) - (local $15 i64) - (local $16 i32) + (local $14 i64) + (local $15 i32) + (local $16 i64) (local $17 i64) (local $18 i64) (local $19 i64) (local $20 i64) (local $21 i64) (local $22 i64) - (local $23 i64) + (local $23 i32) (local $24 i32) - (local $25 i32) - (local $26 f64) - (local $27 f32) + (local $25 f64) + (local $26 f32) local.get $0 i32.reinterpret_f32 local.set $1 @@ -13154,128 +13053,125 @@ local.set $12 local.get $9 local.set $11 - i32.const 4864 - i32.load offset=4 - local.set $13 local.get $11 i32.const 23 i32.shr_s i32.const 152 i32.sub - local.set $14 - local.get $14 + local.set $13 + local.get $13 i32.const 63 i32.and i64.extend_i32_s - local.set $15 + local.set $14 + i32.const 4688 local.get $13 - local.get $14 i32.const 6 i32.shr_s i32.const 3 i32.shl i32.add - local.set $16 - local.get $16 + local.set $15 + local.get $15 i64.load - local.set $17 - local.get $16 - i64.load offset=8 - local.set $18 + local.set $16 local.get $15 + i64.load offset=8 + local.set $17 + local.get $14 i64.const 32 i64.gt_u if - local.get $16 + local.get $15 i64.load offset=16 - local.set $20 - local.get $20 + local.set $19 + local.get $19 i64.const 96 - local.get $15 + local.get $14 i64.sub i64.shr_u - local.set $19 - local.get $19 + local.set $18 local.get $18 - local.get $15 + local.get $17 + local.get $14 i64.const 32 i64.sub i64.shl i64.or - local.set $19 + local.set $18 else - local.get $18 + local.get $17 i64.const 32 - local.get $15 + local.get $14 i64.sub i64.shr_u - local.set $19 + local.set $18 end - local.get $18 + local.get $17 i64.const 64 - local.get $15 + local.get $14 i64.sub i64.shr_u - local.get $17 - local.get $15 + local.get $16 + local.get $14 i64.shl i64.or - local.set $20 + local.set $19 local.get $11 i32.const 8388607 i32.and i32.const 8388608 i32.or i64.extend_i32_s - local.set $21 - local.get $21 + local.set $20 local.get $20 - i64.mul - local.get $21 local.get $19 i64.mul + local.get $20 + local.get $18 + i64.mul i64.const 32 i64.shr_u i64.add - local.set $22 - local.get $22 + local.set $21 + local.get $21 i64.const 2 i64.shl - local.set $23 - local.get $22 + local.set $22 + local.get $21 i64.const 62 i64.shr_u - local.get $23 + local.get $22 i64.const 63 i64.shr_u i64.add i32.wrap_i64 - local.set $24 + local.set $23 f64.const 8.515303950216386e-20 local.get $12 f64.promote_f32 f64.copysign - local.get $23 + local.get $22 f64.convert_i64_s f64.mul global.set $~lib/math/rempio2f_y - local.get $24 - local.set $24 + local.get $23 + local.set $23 i32.const 0 - local.get $24 + local.get $23 i32.sub - local.get $24 + local.get $23 local.get $8 select end - local.set $25 + local.set $24 global.get $~lib/math/rempio2f_y - local.set $26 - local.get $25 + local.set $25 + local.get $24 i32.const 1 i32.and if (result f32) - local.get $26 + local.get $25 local.set $3 local.get $3 local.get $3 @@ -13309,7 +13205,7 @@ f64.add f32.demote_f64 else - local.get $26 + local.get $25 local.set $4 local.get $4 local.get $4 @@ -13346,15 +13242,15 @@ f64.add f32.demote_f64 end - local.set $27 - local.get $25 + local.set $26 + local.get $24 i32.const 2 i32.and if (result f32) - local.get $27 + local.get $26 f32.neg else - local.get $27 + local.get $26 end ) (func $std/math/test_sinf (; 151 ;) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 i32) (result i32) @@ -14187,19 +14083,18 @@ (local $13 i32) (local $14 f32) (local $15 i32) - (local $16 i32) - (local $17 i64) - (local $18 i32) + (local $16 i64) + (local $17 i32) + (local $18 i64) (local $19 i64) (local $20 i64) (local $21 i64) (local $22 i64) (local $23 i64) (local $24 i64) - (local $25 i64) + (local $25 i32) (local $26 i32) - (local $27 i32) - (local $28 f64) + (local $27 f64) local.get $0 i32.reinterpret_f32 local.set $1 @@ -14642,126 +14537,123 @@ local.set $14 local.get $11 local.set $13 - i32.const 4864 - i32.load offset=4 - local.set $15 local.get $13 i32.const 23 i32.shr_s i32.const 152 i32.sub - local.set $16 - local.get $16 + local.set $15 + local.get $15 i32.const 63 i32.and i64.extend_i32_s - local.set $17 + local.set $16 + i32.const 4688 local.get $15 - local.get $16 i32.const 6 i32.shr_s i32.const 3 i32.shl i32.add - local.set $18 - local.get $18 + local.set $17 + local.get $17 i64.load - local.set $19 - local.get $18 - i64.load offset=8 - local.set $20 + local.set $18 local.get $17 + i64.load offset=8 + local.set $19 + local.get $16 i64.const 32 i64.gt_u if - local.get $18 + local.get $17 i64.load offset=16 - local.set $22 - local.get $22 + local.set $21 + local.get $21 i64.const 96 - local.get $17 + local.get $16 i64.sub i64.shr_u - local.set $21 - local.get $21 + local.set $20 local.get $20 - local.get $17 + local.get $19 + local.get $16 i64.const 32 i64.sub i64.shl i64.or - local.set $21 + local.set $20 else - local.get $20 + local.get $19 i64.const 32 - local.get $17 + local.get $16 i64.sub i64.shr_u - local.set $21 + local.set $20 end - local.get $20 + local.get $19 i64.const 64 - local.get $17 + local.get $16 i64.sub i64.shr_u - local.get $19 - local.get $17 + local.get $18 + local.get $16 i64.shl i64.or - local.set $22 + local.set $21 local.get $13 i32.const 8388607 i32.and i32.const 8388608 i32.or i64.extend_i32_s - local.set $23 - local.get $23 + local.set $22 local.get $22 - i64.mul - local.get $23 local.get $21 i64.mul + local.get $22 + local.get $20 + i64.mul i64.const 32 i64.shr_u i64.add - local.set $24 - local.get $24 + local.set $23 + local.get $23 i64.const 2 i64.shl - local.set $25 - local.get $24 + local.set $24 + local.get $23 i64.const 62 i64.shr_u - local.get $25 + local.get $24 i64.const 63 i64.shr_u i64.add i32.wrap_i64 - local.set $26 + local.set $25 f64.const 8.515303950216386e-20 local.get $14 f64.promote_f32 f64.copysign - local.get $25 + local.get $24 f64.convert_i64_s f64.mul global.set $~lib/math/rempio2f_y - local.get $26 - local.set $26 + local.get $25 + local.set $25 i32.const 0 - local.get $26 + local.get $25 i32.sub - local.get $26 + local.get $25 local.get $3 select end - local.set $27 + local.set $26 global.get $~lib/math/rempio2f_y - local.set $28 - local.get $28 - local.set $4 + local.set $27 local.get $27 + local.set $4 + local.get $26 i32.const 1 i32.and local.set $13 diff --git a/tests/compiler/std/operator-overloading.untouched.wat b/tests/compiler/std/operator-overloading.untouched.wat index fee85dc66b..dc0f890de4 100644 --- a/tests/compiler/std/operator-overloading.untouched.wat +++ b/tests/compiler/std/operator-overloading.untouched.wat @@ -9,10 +9,8 @@ (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) (data (i32.const 16) "6\00\00\00\01\00\00\00\01\00\00\006\00\00\00s\00t\00d\00/\00o\00p\00e\00r\00a\00t\00o\00r\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 96) "\00\10\00\00\01\00\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\a0\f6?\00\00\00\00\00\00\00\00\00\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?\00\00\00\00\00\00\00\00\00\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?\00\00\00\00\00\00\00\00\00XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?\00\00\00\00\00\00\00\00\00\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?\00\00\00\00\00\00\00\00\00xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?\00\00\00\00\00\00\00\00\00`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?\00\00\00\00\00\00\00\00\00\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?\00\00\00\00\00\00\00\00\00HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?\00\00\00\00\00\00\00\00\00\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?\00\00\00\00\00\00\00\00\00 \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?\00\00\00\00\00\00\00\00\00x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?\00\00\00\00\00\00\00\00\00\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?\00\00\00\00\00\00\00\00\00\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?\00\00\00\00\00\00\00\00\00H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?\00\00\00\00\00\00\00\00\00\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?\00\00\00\00\00\00\00\00\00@^m\18\b9\cf\bf\87<\99\ab*W\0d=\00\00\00\00\00`\f4?\00\00\00\00\00\00\00\00\00`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?\00\00\00\00\00\00\00\00\00\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?\00\00\00\00\00\00\00\00\00\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?\00\00\00\00\00\00\00\00\00\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?\00\00\00\00\00\00\00\00\00\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?\00\00\00\00\00\00\00\00\00P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?\00\00\00\00\00\00\00\00\00\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?\00\00\00\00\00\00\00\00\00\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?\00\00\00\00\00\00\00\00\00\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?\00\00\00\00\00\00\00\00\00\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?\00\00\00\00\00\00\00\00\00`F\d1;\97\b1?\9b\9e\0dV]2%\bd\00\00\00\00\00\a0\ed?\00\00\00\00\00\00\00\00\00\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?\00\00\00\00\00\00\00\00\00\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?\00\00\00\00\00\00\00\00\00\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?\00\00\00\00\00\00\00\00\00@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?\00\00\00\00\00\00\00\00\00`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?\00\00\00\00\00\00\00\00\00@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?\00\00\00\00\00\00\00\00\00 \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?\00\00\00\00\00\00\00\00\00\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?\00\00\00\00\00\00\00\00\00\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?\00\00\00\00\00\00\00\00\00\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?\00\00\00\00\00\00\00\00\00\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?\00\00\00\00\00\00\00\00\00\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?\00\00\00\00\00\00\00\00\00\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?\00\00\00\00\00\00\00\00\00\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?\00\00\00\00\00\00\00\00\00\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?\00\00\00\00\00\00\00\00\00pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?\00\00\00\00\00\00\00\00\00PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?\00\00\00\00\00\00\00\00\00\009\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?\00\00\00\00\00\00\00\00\00\00\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?\00\00\00\00\00\00\00\00\00\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?\00\00\00\00\00\00\00\00\00\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?\00\00\00\00\00\00\00\00\00\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?\00\00\00\00\00\00\00\00\00\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?\00\00\00\00\00\00\00\00\00\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?\00\00\00\00\00\00\00\00\00\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?\00\00\00\00\00\00\00\00\00\00\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?\00\00\00\00\00\00\00\00\00\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?\00\00\00\00\00\00\00\00\00XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?\00\00\00\00\00\00\00\00\00`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?\00\00\00\00\00\00\00\00\00\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?\00\00\00\00\00\00\00\00\00\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?\00\00\00\00\00\00\00\00\00hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?\00\00\00\00\00\00\00\00\00\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?\00\00\00\00\00\00\00\00\00\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?\00\00\00\00\00\00\00\00\00`\d3\e1\f1\14\d3?\b8\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\0dG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") - (data (i32.const 6304) "\10\00\00\00\01\00\00\00\05\00\00\00\10\00\00\00\a0\10\00\00\a0\10\00\00\00\08\00\00\00\01\00\00") + (data (i32.const 96) "\00\10\00\00\01\00\00\00\04\00\00\00\00\10\00\00\00\00\00\00\00\a0\f6?\00\00\00\00\00\00\00\00\00\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?\00\00\00\00\00\00\00\00\00\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?\00\00\00\00\00\00\00\00\00XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?\00\00\00\00\00\00\00\00\00\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?\00\00\00\00\00\00\00\00\00xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?\00\00\00\00\00\00\00\00\00`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?\00\00\00\00\00\00\00\00\00\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?\00\00\00\00\00\00\00\00\00HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?\00\00\00\00\00\00\00\00\00\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?\00\00\00\00\00\00\00\00\00 \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?\00\00\00\00\00\00\00\00\00x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?\00\00\00\00\00\00\00\00\00\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?\00\00\00\00\00\00\00\00\00\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?\00\00\00\00\00\00\00\00\00H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?\00\00\00\00\00\00\00\00\00\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?\00\00\00\00\00\00\00\00\00@^m\18\b9\cf\bf\87<\99\ab*W\0d=\00\00\00\00\00`\f4?\00\00\00\00\00\00\00\00\00`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?\00\00\00\00\00\00\00\00\00\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?\00\00\00\00\00\00\00\00\00\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?\00\00\00\00\00\00\00\00\00\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?\00\00\00\00\00\00\00\00\00\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?\00\00\00\00\00\00\00\00\00P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?\00\00\00\00\00\00\00\00\00\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?\00\00\00\00\00\00\00\00\00\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?\00\00\00\00\00\00\00\00\00\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?\00\00\00\00\00\00\00\00\00\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?\00\00\00\00\00\00\00\00\00`F\d1;\97\b1?\9b\9e\0dV]2%\bd\00\00\00\00\00\a0\ed?\00\00\00\00\00\00\00\00\00\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?\00\00\00\00\00\00\00\00\00\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?\00\00\00\00\00\00\00\00\00\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?\00\00\00\00\00\00\00\00\00@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?\00\00\00\00\00\00\00\00\00`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?\00\00\00\00\00\00\00\00\00@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?\00\00\00\00\00\00\00\00\00 \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?\00\00\00\00\00\00\00\00\00\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?\00\00\00\00\00\00\00\00\00\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?\00\00\00\00\00\00\00\00\00\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?\00\00\00\00\00\00\00\00\00\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?\00\00\00\00\00\00\00\00\00\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?\00\00\00\00\00\00\00\00\00\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?\00\00\00\00\00\00\00\00\00\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?\00\00\00\00\00\00\00\00\00\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?\00\00\00\00\00\00\00\00\00pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?\00\00\00\00\00\00\00\00\00PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?\00\00\00\00\00\00\00\00\00\009\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?\00\00\00\00\00\00\00\00\00\00\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?\00\00\00\00\00\00\00\00\00\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?\00\00\00\00\00\00\00\00\00\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?\00\00\00\00\00\00\00\00\00\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?\00\00\00\00\00\00\00\00\00\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?\00\00\00\00\00\00\00\00\00\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?\00\00\00\00\00\00\00\00\00\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?\00\00\00\00\00\00\00\00\00\00\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?\00\00\00\00\00\00\00\00\00\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?\00\00\00\00\00\00\00\00\00XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?\00\00\00\00\00\00\00\00\00`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?\00\00\00\00\00\00\00\00\00\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?\00\00\00\00\00\00\00\00\00\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?\00\00\00\00\00\00\00\00\00hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?\00\00\00\00\00\00\00\00\00\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?\00\00\00\00\00\00\00\00\00\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?\00\00\00\00\00\00\00\00\00`\d3\e1\f1\14\d3?\b8\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\0dG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") (table $0 1 funcref) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) @@ -34,12 +32,7 @@ (global $std/operator-overloading/p1 (mut i32) (i32.const 0)) (global $std/operator-overloading/p2 (mut i32) (i32.const 0)) (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) - (global $~lib/util/math/EXP_TABLE_BITS i32 (i32.const 7)) - (global $~lib/util/math/SIGN_BIAS i32 (i32.const 262144)) - (global $~lib/util/math/POW_LOG_TABLE_BITS i32 (i32.const 7)) - (global $~lib/util/math/pow_log_data_tab i32 (i32.const 4224)) (global $~lib/util/math/log_tail (mut f64) (f64.const 0)) - (global $~lib/util/math/exp_data_tab i32 (i32.const 6320)) (global $std/operator-overloading/p (mut i32) (i32.const 0)) (global $std/operator-overloading/n1 (mut i32) (i32.const 0)) (global $std/operator-overloading/n2 (mut i32) (i32.const 0)) @@ -90,7 +83,7 @@ (global $std/operator-overloading/aii1 (mut i32) (i32.const 0)) (global $std/operator-overloading/aii2 (mut i32) (i32.const 0)) (global $std/operator-overloading/aii (mut i32) (i32.const 0)) - (global $~lib/heap/__heap_base i32 (i32.const 6336)) + (global $~lib/heap/__heap_base i32 (i32.const 6272)) (export "memory" (memory $0)) (start $~start) (func $~lib/rt/stub/maybeGrowMemory (; 1 ;) (param $0 i32) @@ -374,7 +367,7 @@ (local $13 i64) (local $14 i64) (local $15 f64) - (local $16 i32) + (local $16 f64) (local $17 f64) (local $18 f64) (local $19 f64) @@ -397,7 +390,7 @@ (local $36 f64) (local $37 f64) (local $38 f64) - (local $39 f64) + (local $39 i32) (local $40 i32) (local $41 i32) (local $42 i32) @@ -741,7 +734,7 @@ i32.const 1 i32.eq if - global.get $~lib/util/math/SIGN_BIAS + i32.const 262144 local.set $4 end local.get $5 @@ -820,8 +813,7 @@ local.set $11 local.get $11 i64.const 52 - global.get $~lib/util/math/POW_LOG_TABLE_BITS - i64.extend_i32_s + i64.const 7 i64.sub i64.shr_u i64.const 127 @@ -846,10 +838,7 @@ local.get $13 f64.convert_i64_s local.set $15 - i32.const 4224 - i32.load offset=4 - local.set $16 - local.get $16 + i32.const 112 local.get $12 i32.const 2 i32.const 3 @@ -857,8 +846,8 @@ i32.shl i32.add f64.load - local.set $17 - local.get $16 + local.set $16 + i32.const 112 local.get $12 i32.const 2 i32.const 3 @@ -866,8 +855,8 @@ i32.shl i32.add f64.load offset=16 - local.set $18 - local.get $16 + local.set $17 + i32.const 112 local.get $12 i32.const 2 i32.const 3 @@ -875,105 +864,105 @@ i32.shl i32.add f64.load offset=24 - local.set $19 + local.set $18 local.get $14 i64.const 2147483648 i64.add i64.const -4294967296 i64.and f64.reinterpret_i64 - local.set $20 + local.set $19 local.get $10 - local.get $20 + local.get $19 f64.sub - local.set $21 - local.get $20 - local.get $17 + local.set $20 + local.get $19 + local.get $16 f64.mul f64.const 1 f64.sub + local.set $21 + local.get $20 + local.get $16 + f64.mul local.set $22 local.get $21 - local.get $17 - f64.mul - local.set $23 local.get $22 - local.get $23 f64.add - local.set $24 + local.set $23 local.get $15 f64.const 0.6931471805598903 f64.mul - local.get $18 + local.get $17 f64.add - local.set $25 - local.get $25 + local.set $24 local.get $24 + local.get $23 f64.add - local.set $26 + local.set $25 local.get $15 f64.const 5.497923018708371e-14 f64.mul - local.get $19 + local.get $18 f64.add - local.set $27 + local.set $26 + local.get $24 local.get $25 - local.get $26 f64.sub - local.get $24 + local.get $23 f64.add - local.set $28 + local.set $27 f64.const -0.5 - local.get $24 + local.get $23 + f64.mul + local.set $28 + local.get $23 + local.get $28 f64.mul local.set $29 - local.get $24 + local.get $23 local.get $29 f64.mul local.set $30 - local.get $24 - local.get $30 + f64.const -0.5 + local.get $21 f64.mul local.set $31 - f64.const -0.5 - local.get $22 + local.get $21 + local.get $31 f64.mul local.set $32 - local.get $22 + local.get $25 local.get $32 - f64.mul + f64.add local.set $33 - local.get $26 - local.get $33 + local.get $22 + local.get $28 + local.get $31 f64.add + f64.mul local.set $34 - local.get $23 - local.get $29 + local.get $25 + local.get $33 + f64.sub local.get $32 f64.add - f64.mul local.set $35 - local.get $26 - local.get $34 - f64.sub - local.get $33 - f64.add - local.set $36 - local.get $31 + local.get $30 f64.const -0.6666666666666679 - local.get $24 + local.get $23 f64.const 0.5000000000000007 f64.mul f64.add - local.get $30 + local.get $29 f64.const 0.7999999995323976 - local.get $24 + local.get $23 f64.const -0.6666666663487739 f64.mul f64.add - local.get $30 + local.get $29 f64.const -1.142909628459501 - local.get $24 + local.get $23 f64.const 1.0000415263675542 f64.mul f64.add @@ -982,68 +971,68 @@ f64.mul f64.add f64.mul - local.set $37 + local.set $36 + local.get $26 local.get $27 - local.get $28 + f64.add + local.get $34 f64.add local.get $35 f64.add local.get $36 f64.add + local.set $37 + local.get $33 local.get $37 f64.add local.set $38 - local.get $34 + local.get $33 local.get $38 - f64.add - local.set $39 - local.get $34 - local.get $39 f64.sub - local.get $38 + local.get $37 f64.add global.set $~lib/util/math/log_tail - local.get $39 - local.set $39 - global.get $~lib/util/math/log_tail + local.get $38 local.set $38 + global.get $~lib/util/math/log_tail + local.set $37 local.get $6 i64.const -134217728 i64.and f64.reinterpret_i64 - local.set $35 + local.set $34 local.get $2 - local.get $35 + local.get $34 f64.sub - local.set $34 - local.get $39 + local.set $33 + local.get $38 i64.reinterpret_f64 i64.const -134217728 i64.and f64.reinterpret_i64 - local.set $33 - local.get $39 - local.get $33 - f64.sub + local.set $32 local.get $38 + local.get $32 + f64.sub + local.get $37 f64.add - local.set $32 - local.get $35 - local.get $33 - f64.mul - local.set $37 + local.set $31 local.get $34 + local.get $32 + f64.mul + local.set $36 local.get $33 + local.get $32 f64.mul local.get $2 - local.get $32 + local.get $31 f64.mul f64.add - local.set $36 + local.set $35 block $~lib/util/math/exp_inline|inlined.0 (result f64) - local.get $37 - local.set $15 local.get $36 + local.set $15 + local.get $35 local.set $10 local.get $4 local.set $12 @@ -1056,14 +1045,14 @@ i32.wrap_i64 i32.const 2047 i32.and - local.set $16 - local.get $16 + local.set $39 + local.get $39 i32.const 969 i32.sub i32.const 63 i32.ge_u if - local.get $16 + local.get $39 i32.const 969 i32.sub i32.const -2147483648 @@ -1075,7 +1064,7 @@ select br $~lib/util/math/exp_inline|inlined.0 end - local.get $16 + local.get $39 i32.const 1033 i32.ge_u if @@ -1091,13 +1080,13 @@ local.set $42 i64.const 1152921504606846976 f64.reinterpret_i64 - local.set $17 - local.get $17 + local.set $16 + local.get $16 f64.neg - local.get $17 + local.get $16 local.get $42 select - local.get $17 + local.get $16 f64.mul else local.get $12 @@ -1106,49 +1095,49 @@ local.set $41 i64.const 8070450532247928832 f64.reinterpret_i64 - local.set $18 - local.get $18 + local.set $17 + local.get $17 f64.neg - local.get $18 + local.get $17 local.get $41 select - local.get $18 + local.get $17 f64.mul end br $~lib/util/math/exp_inline|inlined.0 end i32.const 0 - local.set $16 + local.set $39 end f64.const 184.6649652337873 local.get $15 f64.mul - local.set $30 - local.get $30 + local.set $29 + local.get $29 f64.const 6755399441055744 f64.add - local.set $31 - local.get $31 + local.set $30 + local.get $30 i64.reinterpret_f64 local.set $14 - local.get $31 + local.get $30 f64.const 6755399441055744 f64.sub - local.set $31 + local.set $30 local.get $15 - local.get $31 + local.get $30 f64.const -0.005415212348111709 f64.mul f64.add - local.get $31 + local.get $30 f64.const -1.2864023111638346e-14 f64.mul f64.add - local.set $29 - local.get $29 + local.set $28 + local.get $28 local.get $10 f64.add - local.set $29 + local.set $28 local.get $14 i64.const 127 i64.and @@ -1161,23 +1150,19 @@ i64.extend_i32_u i64.add i64.const 52 - global.get $~lib/util/math/EXP_TABLE_BITS - i64.extend_i32_s + i64.const 7 i64.sub i64.shl local.set $13 - i32.const 6320 - i32.load offset=4 - local.set $42 - local.get $42 + i32.const 4224 local.get $40 i32.const 3 i32.shl i32.add i64.load f64.reinterpret_i64 - local.set $26 - local.get $42 + local.set $25 + i32.const 4224 local.get $40 i32.const 3 i32.shl @@ -1186,39 +1171,39 @@ local.get $13 i64.add local.set $11 - local.get $29 - local.get $29 + local.get $28 + local.get $28 f64.mul - local.set $28 - local.get $26 - local.get $29 - f64.add + local.set $27 + local.get $25 local.get $28 + f64.add + local.get $27 f64.const 0.49999999999996786 - local.get $29 + local.get $28 f64.const 0.16666666666665886 f64.mul f64.add f64.mul f64.add - local.get $28 - local.get $28 + local.get $27 + local.get $27 f64.mul f64.const 0.0416666808410674 - local.get $29 + local.get $28 f64.const 0.008333335853059549 f64.mul f64.add f64.mul f64.add - local.set $25 - local.get $16 + local.set $24 + local.get $39 i32.const 0 i32.eq if block $~lib/util/math/specialcase|inlined.0 (result f64) - local.get $25 - local.set $19 + local.get $24 + local.set $18 local.get $11 local.set $44 local.get $14 @@ -1238,11 +1223,11 @@ local.set $44 local.get $44 f64.reinterpret_i64 - local.set $18 + local.set $17 f64.const 5486124068793688683255936e279 + local.get $17 + local.get $17 local.get $18 - local.get $18 - local.get $19 f64.mul f64.add f64.mul @@ -1256,49 +1241,49 @@ local.set $44 local.get $44 f64.reinterpret_i64 - local.set $18 - local.get $18 + local.set $17 + local.get $17 + local.get $17 local.get $18 - local.get $19 f64.mul f64.add - local.set $17 - local.get $17 + local.set $16 + local.get $16 f64.abs f64.const 1 f64.lt if f64.const 1 - local.get $17 + local.get $16 f64.copysign - local.set $24 - local.get $18 + local.set $23 local.get $17 + local.get $16 f64.sub + local.get $17 local.get $18 - local.get $19 f64.mul f64.add - local.set $23 - local.get $24 - local.get $17 - f64.add local.set $22 - local.get $24 - local.get $22 - f64.sub - local.get $17 + local.get $23 + local.get $16 f64.add + local.set $21 local.get $23 + local.get $21 + f64.sub + local.get $16 f64.add - local.set $23 local.get $22 - local.get $23 f64.add - local.get $24 + local.set $22 + local.get $21 + local.get $22 + f64.add + local.get $23 f64.sub - local.set $17 - local.get $17 + local.set $16 + local.get $16 f64.const 0 f64.eq if @@ -1306,10 +1291,10 @@ i64.const -9223372036854775808 i64.and f64.reinterpret_i64 - local.set $17 + local.set $16 end end - local.get $17 + local.get $16 f64.const 2.2250738585072014e-308 f64.mul end @@ -1317,10 +1302,10 @@ end local.get $11 f64.reinterpret_i64 - local.set $27 - local.get $27 - local.get $27 - local.get $25 + local.set $26 + local.get $26 + local.get $26 + local.get $24 f64.mul f64.add end diff --git a/tests/compiler/std/staticarray.json b/tests/compiler/std/staticarray.json new file mode 100644 index 0000000000..59c251c705 --- /dev/null +++ b/tests/compiler/std/staticarray.json @@ -0,0 +1,7 @@ +{ + "asc_flags": [ + "--runtime half", + "--explicitStart", + "--use ASC_RTRACE=1" + ] +} \ No newline at end of file diff --git a/tests/compiler/std/staticarray.optimized.wat b/tests/compiler/std/staticarray.optimized.wat new file mode 100644 index 0000000000..980c7019ff --- /dev/null +++ b/tests/compiler/std/staticarray.optimized.wat @@ -0,0 +1,1740 @@ +(module + (type $i32_=>_none (func (param i32))) + (type $i32_i32_=>_none (func (param i32 i32))) + (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + (type $none_=>_i32 (func (result i32))) + (type $i32_=>_i32 (func (param i32) (result i32))) + (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $none_=>_none (func)) + (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) + (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) + (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) + (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) + (memory $0 1) + (data (i32.const 16) "\0c\00\00\00\01\00\00\00\03\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 48) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 112) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 176) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00s\00t\00d\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 240) "\0c\00\00\00\01\00\00\00\03\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data (i32.const 272) "\0c\00\00\00\01\00\00\00\03\00\00\00\0c\00\00\00\05\00\00\00\06\00\00\00\07") + (data (i32.const 304) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data (i32.const 352) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00a\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e") + (data (i32.const 416) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s") + (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) + (global $~lib/rt/tlsf/collectLock (mut i32) (i32.const 0)) + (global $std/staticarray/arr3 (mut i32) (i32.const 0)) + (global $std/staticarray/arr4 (mut i32) (i32.const 0)) + (global $~started (mut i32) (i32.const 0)) + (export "_start" (func $~start)) + (export "memory" (memory $0)) + (func $~lib/staticarray/StaticArray#get:length (; 5 ;) (param $0 i32) (result i32) + local.get $0 + i32.const 16 + i32.sub + i32.load offset=12 + i32.const 2 + i32.shr_u + ) + (func $~lib/staticarray/StaticArray#__get (; 6 ;) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + local.get $0 + call $~lib/staticarray/StaticArray#get:length + i32.ge_u + if + i32.const 64 + i32.const 128 + i32.const 95 + i32.const 40 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + ) + (func $~lib/staticarray/StaticArray#__set (; 7 ;) (param $0 i32) (param $1 i32) + i32.const 1 + local.get $0 + call $~lib/staticarray/StaticArray#get:length + i32.ge_u + if + i32.const 64 + i32.const 128 + i32.const 110 + i32.const 40 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.store + ) + (func $~lib/rt/tlsf/removeBlock (; 8 ;) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $1 + i32.load + local.tee $3 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 277 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const -4 + i32.and + local.tee $2 + i32.const 16 + i32.ge_u + if (result i32) + local.get $2 + i32.const 1073741808 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 279 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 256 + i32.lt_u + if (result i32) + local.get $2 + i32.const 4 + i32.shr_u + local.set $2 + i32.const 0 + else + local.get $2 + i32.const 31 + local.get $2 + i32.clz + i32.sub + local.tee $3 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + local.set $2 + local.get $3 + i32.const 7 + i32.sub + end + local.tee $3 + i32.const 23 + i32.lt_u + if (result i32) + local.get $2 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 292 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=20 + local.set $4 + local.get $1 + i32.load offset=16 + local.tee $5 + if + local.get $5 + local.get $4 + i32.store offset=20 + end + local.get $4 + if + local.get $4 + local.get $5 + i32.store offset=16 + end + local.get $1 + local.get $0 + local.get $2 + local.get $3 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + i32.eq + if + local.get $0 + local.get $2 + local.get $3 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + i32.add + local.get $4 + i32.store offset=96 + local.get $4 + i32.eqz + if + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + i32.const 1 + local.get $2 + i32.shl + i32.const -1 + i32.xor + i32.and + local.tee $1 + i32.store offset=4 + local.get $1 + i32.eqz + if + local.get $0 + local.get $0 + i32.load + i32.const 1 + local.get $3 + i32.shl + i32.const -1 + i32.xor + i32.and + i32.store + end + end + end + ) + (func $~lib/rt/tlsf/insertBlock (; 9 ;) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + local.get $1 + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 205 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load + local.tee $3 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 207 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 16 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + local.tee $4 + i32.load + local.tee $5 + i32.const 1 + i32.and + if + local.get $3 + i32.const -4 + i32.and + i32.const 16 + i32.add + local.get $5 + i32.const -4 + i32.and + i32.add + local.tee $2 + i32.const 1073741808 + i32.lt_u + if + local.get $0 + local.get $4 + call $~lib/rt/tlsf/removeBlock + local.get $1 + local.get $2 + local.get $3 + i32.const 3 + i32.and + i32.or + local.tee $3 + i32.store + local.get $1 + i32.const 16 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + local.tee $4 + i32.load + local.set $5 + end + end + local.get $3 + i32.const 2 + i32.and + if + local.get $1 + i32.const 4 + i32.sub + i32.load + local.tee $2 + i32.load + local.tee $6 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 228 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const -4 + i32.and + i32.const 16 + i32.add + local.get $3 + i32.const -4 + i32.and + i32.add + local.tee $7 + i32.const 1073741808 + i32.lt_u + if + local.get $0 + local.get $2 + call $~lib/rt/tlsf/removeBlock + local.get $2 + local.get $7 + local.get $6 + i32.const 3 + i32.and + i32.or + local.tee $3 + i32.store + local.get $2 + local.set $1 + end + end + local.get $4 + local.get $5 + i32.const 2 + i32.or + i32.store + local.get $3 + i32.const -4 + i32.and + local.tee $2 + i32.const 16 + i32.ge_u + if (result i32) + local.get $2 + i32.const 1073741808 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 243 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $2 + local.get $1 + i32.const 16 + i32.add + i32.add + local.get $4 + i32.ne + if + i32.const 0 + i32.const 320 + i32.const 244 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 4 + i32.sub + local.get $1 + i32.store + local.get $2 + i32.const 256 + i32.lt_u + if (result i32) + local.get $2 + i32.const 4 + i32.shr_u + local.set $4 + i32.const 0 + else + local.get $2 + i32.const 31 + local.get $2 + i32.clz + i32.sub + local.tee $2 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + local.set $4 + local.get $2 + i32.const 7 + i32.sub + end + local.tee $3 + i32.const 23 + i32.lt_u + if (result i32) + local.get $4 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 260 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $4 + local.get $3 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + local.set $2 + local.get $1 + i32.const 0 + i32.store offset=16 + local.get $1 + local.get $2 + i32.store offset=20 + local.get $2 + if + local.get $2 + local.get $1 + i32.store offset=16 + end + local.get $0 + local.get $4 + local.get $3 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + i32.add + local.get $1 + i32.store offset=96 + local.get $0 + local.get $0 + i32.load + i32.const 1 + local.get $3 + i32.shl + i32.or + i32.store + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + i32.const 1 + local.get $4 + i32.shl + i32.or + i32.store offset=4 + ) + (func $~lib/rt/tlsf/addMemory (; 10 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + local.get $2 + i32.const 15 + i32.and + i32.eqz + i32.const 0 + local.get $1 + i32.const 15 + i32.and + i32.eqz + i32.const 0 + local.get $1 + local.get $2 + i32.le_u + select + select + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 386 + i32.const 4 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=1568 + local.tee $3 + if + local.get $1 + local.get $3 + i32.const 16 + i32.add + i32.lt_u + if + i32.const 0 + i32.const 320 + i32.const 396 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $3 + local.get $1 + i32.const 16 + i32.sub + i32.eq + if + local.get $3 + i32.load + local.set $4 + local.get $1 + i32.const 16 + i32.sub + local.set $1 + end + else + local.get $1 + local.get $0 + i32.const 1572 + i32.add + i32.lt_u + if + i32.const 0 + i32.const 320 + i32.const 408 + i32.const 4 + call $~lib/builtins/abort + unreachable + end + end + local.get $2 + local.get $1 + i32.sub + local.tee $2 + i32.const 48 + i32.lt_u + if + return + end + local.get $1 + local.get $4 + i32.const 2 + i32.and + local.get $2 + i32.const 32 + i32.sub + i32.const 1 + i32.or + i32.or + i32.store + local.get $1 + i32.const 0 + i32.store offset=16 + local.get $1 + i32.const 0 + i32.store offset=20 + local.get $1 + local.get $2 + i32.add + i32.const 16 + i32.sub + local.tee $2 + i32.const 2 + i32.store + local.get $0 + local.get $2 + i32.store offset=1568 + local.get $0 + local.get $1 + call $~lib/rt/tlsf/insertBlock + ) + (func $~lib/rt/tlsf/maybeInitialize (; 11 ;) (result i32) + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/rt/tlsf/ROOT + local.tee $0 + i32.eqz + if + i32.const 1 + memory.size + local.tee $0 + i32.gt_s + if (result i32) + i32.const 1 + local.get $0 + i32.sub + memory.grow + i32.const 0 + i32.lt_s + else + i32.const 0 + end + if + unreachable + end + i32.const 464 + local.tee $0 + i32.const 0 + i32.store + i32.const 2032 + i32.const 0 + i32.store + loop $for-loop|0 + local.get $1 + i32.const 23 + i32.lt_u + if + local.get $1 + i32.const 2 + i32.shl + i32.const 464 + i32.add + i32.const 0 + i32.store offset=4 + i32.const 0 + local.set $2 + loop $for-loop|1 + local.get $2 + i32.const 16 + i32.lt_u + if + local.get $1 + i32.const 4 + i32.shl + local.get $2 + i32.add + i32.const 2 + i32.shl + i32.const 464 + i32.add + i32.const 0 + i32.store offset=96 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 + end + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end + i32.const 464 + i32.const 2048 + memory.size + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + i32.const 464 + global.set $~lib/rt/tlsf/ROOT + end + local.get $0 + ) + (func $~lib/rt/tlsf/prepareSize (; 12 ;) (param $0 i32) (result i32) + local.get $0 + i32.const 1073741808 + i32.ge_u + if + i32.const 368 + i32.const 320 + i32.const 457 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 15 + i32.add + i32.const -16 + i32.and + local.tee $0 + i32.const 16 + local.get $0 + i32.const 16 + i32.gt_u + select + ) + (func $~lib/rt/tlsf/searchBlock (; 13 ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $1 + i32.const 256 + i32.lt_u + if (result i32) + local.get $1 + i32.const 4 + i32.shr_u + local.set $1 + i32.const 0 + else + local.get $1 + i32.const 536870904 + i32.lt_u + if + local.get $1 + i32.const 1 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + local.set $1 + end + local.get $1 + i32.const 31 + local.get $1 + i32.clz + i32.sub + local.tee $2 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + local.set $1 + local.get $2 + i32.const 7 + i32.sub + end + local.tee $2 + i32.const 23 + i32.lt_u + if (result i32) + local.get $1 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 338 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + i32.const -1 + local.get $1 + i32.shl + i32.and + local.tee $1 + if (result i32) + local.get $0 + local.get $1 + i32.ctz + local.get $2 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + else + local.get $0 + i32.load + i32.const -1 + local.get $2 + i32.const 1 + i32.add + i32.shl + i32.and + local.tee $1 + if (result i32) + local.get $0 + local.get $1 + i32.ctz + local.tee $1 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 351 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $2 + i32.ctz + local.get $1 + i32.const 4 + i32.shl + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + else + i32.const 0 + end + end + ) + (func $~lib/rt/tlsf/growMemory (; 14 ;) (param $0 i32) (param $1 i32) + (local $2 i32) + memory.size + local.tee $2 + i32.const 16 + local.get $0 + i32.load offset=1568 + local.get $2 + i32.const 16 + i32.shl + i32.const 16 + i32.sub + i32.ne + i32.shl + local.get $1 + i32.const 1 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl + i32.const 1 + i32.sub + i32.add + local.get $1 + local.get $1 + i32.const 536870904 + i32.lt_u + select + i32.add + i32.const 65535 + i32.add + i32.const -65536 + i32.and + i32.const 16 + i32.shr_u + local.tee $1 + local.get $2 + local.get $1 + i32.gt_s + select + memory.grow + i32.const 0 + i32.lt_s + if + local.get $1 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + local.get $0 + local.get $2 + i32.const 16 + i32.shl + memory.size + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + ) + (func $~lib/rt/tlsf/prepareBlock (; 15 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + i32.load + local.set $3 + local.get $2 + i32.const 15 + i32.and + if + i32.const 0 + i32.const 320 + i32.const 365 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const -4 + i32.and + local.get $2 + i32.sub + local.tee $4 + i32.const 32 + i32.ge_u + if + local.get $1 + local.get $2 + local.get $3 + i32.const 2 + i32.and + i32.or + i32.store + local.get $2 + local.get $1 + i32.const 16 + i32.add + i32.add + local.tee $1 + local.get $4 + i32.const 16 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $1 + call $~lib/rt/tlsf/insertBlock + else + local.get $1 + local.get $3 + i32.const -2 + i32.and + i32.store + local.get $1 + i32.const 16 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + local.get $1 + i32.const 16 + i32.add + local.get $1 + i32.load + i32.const -4 + i32.and + i32.add + i32.load + i32.const -3 + i32.and + i32.store + end + ) + (func $~lib/rt/tlsf/allocateBlock (; 16 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/rt/tlsf/collectLock + if + i32.const 0 + i32.const 320 + i32.const 490 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/rt/tlsf/prepareSize + local.tee $4 + call $~lib/rt/tlsf/searchBlock + local.tee $3 + i32.eqz + if + i32.const 1 + global.set $~lib/rt/tlsf/collectLock + i32.const 0 + global.set $~lib/rt/tlsf/collectLock + local.get $0 + local.get $4 + call $~lib/rt/tlsf/searchBlock + local.tee $3 + i32.eqz + if + local.get $0 + local.get $4 + call $~lib/rt/tlsf/growMemory + local.get $0 + local.get $4 + call $~lib/rt/tlsf/searchBlock + local.tee $3 + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 502 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + end + end + local.get $3 + i32.load + i32.const -4 + i32.and + local.get $4 + i32.lt_u + if + i32.const 0 + i32.const 320 + i32.const 510 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 0 + i32.store offset=4 + local.get $3 + local.get $2 + i32.store offset=8 + local.get $3 + local.get $1 + i32.store offset=12 + local.get $0 + local.get $3 + call $~lib/rt/tlsf/removeBlock + local.get $0 + local.get $3 + local.get $4 + call $~lib/rt/tlsf/prepareBlock + local.get $3 + call $~lib/rt/rtrace/onalloc + local.get $3 + ) + (func $~lib/rt/tlsf/__alloc (; 17 ;) (param $0 i32) (param $1 i32) (result i32) + call $~lib/rt/tlsf/maybeInitialize + local.get $0 + local.get $1 + call $~lib/rt/tlsf/allocateBlock + i32.const 16 + i32.add + ) + (func $~lib/memory/memory.copy (; 18 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + block $~lib/util/memory/memmove|inlined.0 + local.get $2 + local.set $3 + local.get $0 + local.get $1 + i32.eq + br_if $~lib/util/memory/memmove|inlined.0 + local.get $0 + local.get $1 + i32.lt_u + if + local.get $1 + i32.const 7 + i32.and + local.get $0 + i32.const 7 + i32.and + i32.eq + if + loop $while-continue|0 + local.get $0 + i32.const 7 + i32.and + if + local.get $3 + i32.eqz + br_if $~lib/util/memory/memmove|inlined.0 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + local.get $0 + local.tee $2 + i32.const 1 + i32.add + local.set $0 + local.get $1 + local.tee $4 + i32.const 1 + i32.add + local.set $1 + local.get $2 + local.get $4 + i32.load8_u + i32.store8 + br $while-continue|0 + end + end + loop $while-continue|1 + local.get $3 + i32.const 8 + i32.ge_u + if + local.get $0 + local.get $1 + i64.load + i64.store + local.get $3 + i32.const 8 + i32.sub + local.set $3 + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + br $while-continue|1 + end + end + end + loop $while-continue|2 + local.get $3 + if + local.get $0 + local.tee $2 + i32.const 1 + i32.add + local.set $0 + local.get $1 + local.tee $4 + i32.const 1 + i32.add + local.set $1 + local.get $2 + local.get $4 + i32.load8_u + i32.store8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $while-continue|2 + end + end + else + local.get $1 + i32.const 7 + i32.and + local.get $0 + i32.const 7 + i32.and + i32.eq + if + loop $while-continue|3 + local.get $0 + local.get $3 + i32.add + i32.const 7 + i32.and + if + local.get $3 + i32.eqz + br_if $~lib/util/memory/memmove|inlined.0 + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + local.get $0 + i32.add + local.get $1 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $3 + i32.const 8 + i32.ge_u + if + local.get $3 + i32.const 8 + i32.sub + local.tee $3 + local.get $0 + i32.add + local.get $1 + local.get $3 + i32.add + i64.load + i64.store + br $while-continue|4 + end + end + end + loop $while-continue|5 + local.get $3 + if + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + local.get $0 + i32.add + local.get $1 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $while-continue|5 + end + end + end + end + ) + (func $~lib/rt/__allocBuffer (; 19 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + local.get $1 + call $~lib/rt/tlsf/__alloc + local.set $1 + local.get $2 + if + local.get $1 + local.get $2 + local.get $0 + call $~lib/memory/memory.copy + end + local.get $1 + ) + (func $~lib/rt/pure/increment (; 20 ;) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load offset=4 + local.tee $1 + i32.const -268435456 + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const -268435456 + i32.and + i32.ne + if + i32.const 0 + i32.const 432 + i32.const 109 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.store offset=4 + local.get $0 + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 + i32.and + if + i32.const 0 + i32.const 432 + i32.const 112 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/rt/pure/__retain (; 21 ;) (param $0 i32) (result i32) + local.get $0 + i32.const 464 + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/increment + end + local.get $0 + ) + (func $std/staticarray/test (; 22 ;) (result i32) + i32.const 12 + i32.const 3 + i32.const 288 + call $~lib/rt/__allocBuffer + call $~lib/rt/pure/__retain + ) + (func $~lib/rt/pure/__release (; 23 ;) (param $0 i32) + local.get $0 + i32.const 464 + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/decrement + end + ) + (func $std/staticarray/Ref#constructor (; 24 ;) (result i32) + i32.const 0 + i32.const 4 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + ) + (func $start:std/staticarray (; 25 ;) + (local $0 i32) + (local $1 i32) + i32.const 32 + i32.const 1 + call $~lib/staticarray/StaticArray#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 192 + i32.const 3 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 32 + call $~lib/staticarray/StaticArray#get:length + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 192 + i32.const 4 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 32 + i32.const 4 + call $~lib/staticarray/StaticArray#__set + i32.const 32 + i32.const 1 + call $~lib/staticarray/StaticArray#__get + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 192 + i32.const 6 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 256 + i32.const 1 + call $~lib/staticarray/StaticArray#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 192 + i32.const 10 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 256 + call $~lib/staticarray/StaticArray#get:length + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 192 + i32.const 11 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 256 + i32.const 4 + call $~lib/staticarray/StaticArray#__set + i32.const 256 + i32.const 1 + call $~lib/staticarray/StaticArray#__get + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 192 + i32.const 13 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + call $std/staticarray/test + global.set $std/staticarray/arr3 + global.get $std/staticarray/arr3 + i32.const 0 + call $~lib/staticarray/StaticArray#__get + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 192 + i32.const 20 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/staticarray/arr3 + i32.const 1 + call $~lib/staticarray/StaticArray#__get + i32.const 6 + i32.ne + if + i32.const 0 + i32.const 192 + i32.const 21 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/staticarray/arr3 + i32.const 2 + call $~lib/staticarray/StaticArray#__get + i32.const 7 + i32.ne + if + i32.const 0 + i32.const 192 + i32.const 22 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/staticarray/arr3 + call $~lib/staticarray/StaticArray#get:length + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 192 + i32.const 23 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/staticarray/arr3 + i32.const 8 + call $~lib/staticarray/StaticArray#__set + global.get $std/staticarray/arr3 + i32.const 1 + call $~lib/staticarray/StaticArray#__get + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 192 + i32.const 25 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + call $std/staticarray/test + global.get $std/staticarray/arr3 + call $~lib/rt/pure/__release + global.set $std/staticarray/arr3 + global.get $std/staticarray/arr3 + i32.const 1 + call $~lib/staticarray/StaticArray#__get + i32.const 6 + i32.ne + if + i32.const 0 + i32.const 192 + i32.const 27 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 8 + i32.const 5 + i32.const 0 + call $~lib/rt/__allocBuffer + call $~lib/rt/pure/__retain + local.tee $0 + call $std/staticarray/Ref#constructor + i32.store + local.get $0 + call $std/staticarray/Ref#constructor + i32.store offset=4 + local.get $0 + global.set $std/staticarray/arr4 + i32.const 0 + local.tee $0 + global.get $std/staticarray/arr3 + local.tee $1 + i32.ne + if + local.get $1 + call $~lib/rt/pure/__release + end + i32.const 0 + global.set $std/staticarray/arr3 + global.get $std/staticarray/arr4 + local.tee $1 + if + local.get $1 + call $~lib/rt/pure/__release + end + i32.const 0 + global.set $std/staticarray/arr4 + ) + (func $~start (; 26 ;) + global.get $~started + if + return + else + i32.const 1 + global.set $~started + end + call $start:std/staticarray + ) + (func $~lib/rt/pure/decrement (; 27 ;) (param $0 i32) + (local $1 i32) + (local $2 i32) + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 268435455 + i32.and + local.set $1 + local.get $0 + call $~lib/rt/rtrace/ondecrement + local.get $0 + i32.load + i32.const 1 + i32.and + if + i32.const 0 + i32.const 432 + i32.const 122 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.eq + if + local.get $0 + i32.const 16 + i32.add + call $~lib/rt/__visit_members + local.get $2 + i32.const -2147483648 + i32.and + if + i32.const 0 + i32.const 432 + i32.const 126 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $0 + i32.load + i32.const 1 + i32.or + i32.store + global.get $~lib/rt/tlsf/ROOT + local.get $0 + call $~lib/rt/tlsf/insertBlock + local.get $0 + call $~lib/rt/rtrace/onfree + else + local.get $1 + i32.const 0 + i32.le_u + if + i32.const 0 + i32.const 432 + i32.const 136 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.sub + local.get $2 + i32.const -268435456 + i32.and + i32.or + i32.store offset=4 + end + ) + (func $~lib/rt/pure/__visit (; 28 ;) (param $0 i32) + local.get $0 + i32.const 464 + i32.lt_u + if + return + end + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/decrement + ) + (func $~lib/staticarray/StaticArray#__visit_impl (; 29 ;) (param $0 i32) + (local $1 i32) + (local $2 i32) + local.get $0 + local.get $0 + i32.const 16 + i32.sub + i32.load offset=12 + i32.add + local.set $1 + loop $while-continue|0 + local.get $0 + local.get $1 + i32.lt_u + if + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + call $~lib/rt/pure/__visit + end + local.get $0 + i32.const 4 + i32.add + local.set $0 + br $while-continue|0 + end + end + ) + (func $~lib/rt/__visit_members (; 30 ;) (param $0 i32) + block $switch$1$default + block $switch$1$case$7 + block $switch$1$case$5 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$2 $switch$1$case$7 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $0 + if + local.get $0 + call $~lib/rt/pure/__visit + end + return + end + return + end + local.get $0 + call $~lib/staticarray/StaticArray#__visit_impl + return + end + unreachable + ) +) diff --git a/tests/compiler/std/staticarray.ts b/tests/compiler/std/staticarray.ts new file mode 100644 index 0000000000..2844ac767c --- /dev/null +++ b/tests/compiler/std/staticarray.ts @@ -0,0 +1,34 @@ +// from contextual type +const arr1: StaticArray = [1,2,3]; +assert(arr1[1] == 2); +assert(arr1.length == 3); +arr1[1] = 4; +assert(arr1[1] == 4); + +// from assertion +const arr2 = [1,2,3] as StaticArray; +assert(arr2[1] == 2); +assert(arr2.length == 3); +arr2[1] = 4; +assert(arr2[1] == 4); + +// unique copy +function test(): StaticArray { + return [5,6,7]; +} +var arr3 = test(); +assert(arr3[0] == 5); +assert(arr3[1] == 6); +assert(arr3[2] == 7); +assert(arr3.length == 3); +arr3[1] = 8; +assert(arr3[1] == 8); +arr3 = test(); +assert(arr3[1] == 6); + +// non-static instantiation +class Ref {} +var arr4: StaticArray = [ new Ref(), new Ref() ]; + +arr3 = changetype>(0); // unleak +arr4 = changetype>(0); diff --git a/tests/compiler/std/staticarray.untouched.wat b/tests/compiler/std/staticarray.untouched.wat new file mode 100644 index 0000000000..8316920411 --- /dev/null +++ b/tests/compiler/std/staticarray.untouched.wat @@ -0,0 +1,3258 @@ +(module + (type $i32_i32_=>_none (func (param i32 i32))) + (type $i32_=>_none (func (param i32))) + (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + (type $i32_=>_i32 (func (param i32) (result i32))) + (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $none_=>_none (func)) + (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + (type $none_=>_i32 (func (result i32))) + (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (import "rtrace" "onalloc" (func $~lib/rt/rtrace/onalloc (param i32))) + (import "rtrace" "onincrement" (func $~lib/rt/rtrace/onincrement (param i32))) + (import "rtrace" "ondecrement" (func $~lib/rt/rtrace/ondecrement (param i32))) + (import "rtrace" "onfree" (func $~lib/rt/rtrace/onfree (param i32))) + (memory $0 1) + (data (i32.const 16) "\0c\00\00\00\01\00\00\00\03\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 48) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") + (data (i32.const 112) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s\00") + (data (i32.const 176) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00s\00t\00d\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s\00") + (data (i32.const 240) "\0c\00\00\00\01\00\00\00\03\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data (i32.const 272) "\0c\00\00\00\01\00\00\00\03\00\00\00\0c\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00") + (data (i32.const 304) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s\00") + (data (i32.const 352) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00a\00l\00l\00o\00c\00a\00t\00i\00o\00n\00 \00t\00o\00o\00 \00l\00a\00r\00g\00e\00") + (data (i32.const 416) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00p\00u\00r\00e\00.\00t\00s\00") + (table $0 1 funcref) + (global $std/staticarray/arr1 i32 (i32.const 32)) + (global $std/staticarray/arr2 i32 (i32.const 256)) + (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) + (global $~lib/rt/tlsf/collectLock (mut i32) (i32.const 0)) + (global $~lib/gc/gc.auto (mut i32) (i32.const 1)) + (global $~lib/ASC_SHRINK_LEVEL i32 (i32.const 0)) + (global $std/staticarray/arr3 (mut i32) (i32.const 0)) + (global $std/staticarray/arr4 (mut i32) (i32.const 0)) + (global $~started (mut i32) (i32.const 0)) + (global $~lib/heap/__heap_base i32 (i32.const 464)) + (export "_start" (func $~start)) + (export "memory" (memory $0)) + (func $~lib/staticarray/StaticArray#get:length (; 5 ;) (param $0 i32) (result i32) + local.get $0 + i32.const 16 + i32.sub + i32.load offset=12 + i32.const 2 + i32.shr_u + ) + (func $~lib/staticarray/StaticArray#__unchecked_get (; 6 ;) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + ) + (func $~lib/staticarray/StaticArray#__get (; 7 ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $1 + local.get $0 + call $~lib/staticarray/StaticArray#get:length + i32.ge_u + if + i32.const 64 + i32.const 128 + i32.const 95 + i32.const 40 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/staticarray/StaticArray#__unchecked_get + local.set $2 + local.get $2 + ) + (func $~lib/staticarray/StaticArray#__unchecked_set (; 8 ;) (param $0 i32) (param $1 i32) (param $2 i32) + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 + i32.store + ) + (func $~lib/staticarray/StaticArray#__set (; 9 ;) (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 + local.get $0 + call $~lib/staticarray/StaticArray#get:length + i32.ge_u + if + i32.const 64 + i32.const 128 + i32.const 110 + i32.const 40 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/staticarray/StaticArray#__unchecked_set + ) + (func $~lib/rt/tlsf/removeBlock (; 10 ;) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + local.get $1 + i32.load + local.set $2 + local.get $2 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 277 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $3 + local.get $3 + i32.const 16 + i32.ge_u + if (result i32) + local.get $3 + i32.const 1073741808 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 279 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $4 + local.get $3 + i32.const 4 + i32.shr_u + local.set $5 + else + i32.const 31 + local.get $3 + i32.clz + i32.sub + local.set $4 + local.get $3 + local.get $4 + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $5 + local.get $4 + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $4 + end + local.get $4 + i32.const 23 + i32.lt_u + if (result i32) + local.get $5 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 292 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=16 + local.set $6 + local.get $1 + i32.load offset=20 + local.set $7 + local.get $6 + if + local.get $6 + local.get $7 + i32.store offset=20 + end + local.get $7 + if + local.get $7 + local.get $6 + i32.store offset=16 + end + local.get $1 + local.get $0 + local.set $10 + local.get $4 + local.set $9 + local.get $5 + local.set $8 + local.get $10 + local.get $9 + i32.const 4 + i32.shl + local.get $8 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + i32.eq + if + local.get $0 + local.set $11 + local.get $4 + local.set $10 + local.get $5 + local.set $9 + local.get $7 + local.set $8 + local.get $11 + local.get $10 + i32.const 4 + i32.shl + local.get $9 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.store offset=96 + local.get $7 + i32.eqz + if + local.get $0 + local.set $9 + local.get $4 + local.set $8 + local.get $9 + local.get $8 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + local.set $9 + local.get $0 + local.set $8 + local.get $4 + local.set $11 + local.get $9 + i32.const 1 + local.get $5 + i32.shl + i32.const -1 + i32.xor + i32.and + local.tee $9 + local.set $10 + local.get $8 + local.get $11 + i32.const 2 + i32.shl + i32.add + local.get $10 + i32.store offset=4 + local.get $9 + i32.eqz + if + local.get $0 + local.get $0 + i32.load + i32.const 1 + local.get $4 + i32.shl + i32.const -1 + i32.xor + i32.and + i32.store + end + end + end + ) + (func $~lib/rt/tlsf/insertBlock (; 11 ;) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + local.get $1 + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 205 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load + local.set $2 + local.get $2 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 207 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.set $3 + local.get $3 + i32.const 16 + i32.add + local.get $3 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.set $4 + local.get $4 + i32.load + local.set $5 + local.get $5 + i32.const 1 + i32.and + if + local.get $2 + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.add + local.get $5 + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.set $3 + local.get $3 + i32.const 1073741808 + i32.lt_u + if + local.get $0 + local.get $4 + call $~lib/rt/tlsf/removeBlock + local.get $1 + local.get $2 + i32.const 3 + i32.and + local.get $3 + i32.or + local.tee $2 + i32.store + local.get $1 + local.set $6 + local.get $6 + i32.const 16 + i32.add + local.get $6 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.set $4 + local.get $4 + i32.load + local.set $5 + end + end + local.get $2 + i32.const 2 + i32.and + if + local.get $1 + local.set $6 + local.get $6 + i32.const 4 + i32.sub + i32.load + local.set $6 + local.get $6 + i32.load + local.set $3 + local.get $3 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 228 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.add + local.get $2 + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.set $7 + local.get $7 + i32.const 1073741808 + i32.lt_u + if + local.get $0 + local.get $6 + call $~lib/rt/tlsf/removeBlock + local.get $6 + local.get $3 + i32.const 3 + i32.and + local.get $7 + i32.or + local.tee $2 + i32.store + local.get $6 + local.set $1 + end + end + local.get $4 + local.get $5 + i32.const 2 + i32.or + i32.store + local.get $2 + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $8 + local.get $8 + i32.const 16 + i32.ge_u + if (result i32) + local.get $8 + i32.const 1073741808 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 243 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 16 + i32.add + local.get $8 + i32.add + local.get $4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 244 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 4 + i32.sub + local.get $1 + i32.store + local.get $8 + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $9 + local.get $8 + i32.const 4 + i32.shr_u + local.set $10 + else + i32.const 31 + local.get $8 + i32.clz + i32.sub + local.set $9 + local.get $8 + local.get $9 + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $10 + local.get $9 + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $9 + end + local.get $9 + i32.const 23 + i32.lt_u + if (result i32) + local.get $10 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 260 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.set $7 + local.get $9 + local.set $3 + local.get $10 + local.set $6 + local.get $7 + local.get $3 + i32.const 4 + i32.shl + local.get $6 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + local.set $11 + local.get $1 + i32.const 0 + i32.store offset=16 + local.get $1 + local.get $11 + i32.store offset=20 + local.get $11 + if + local.get $11 + local.get $1 + i32.store offset=16 + end + local.get $0 + local.set $12 + local.get $9 + local.set $7 + local.get $10 + local.set $3 + local.get $1 + local.set $6 + local.get $12 + local.get $7 + i32.const 4 + i32.shl + local.get $3 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $6 + i32.store offset=96 + local.get $0 + local.get $0 + i32.load + i32.const 1 + local.get $9 + i32.shl + i32.or + i32.store + local.get $0 + local.set $13 + local.get $9 + local.set $12 + local.get $0 + local.set $3 + local.get $9 + local.set $6 + local.get $3 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + i32.const 1 + local.get $10 + i32.shl + i32.or + local.set $7 + local.get $13 + local.get $12 + i32.const 2 + i32.shl + i32.add + local.get $7 + i32.store offset=4 + ) + (func $~lib/rt/tlsf/addMemory (; 12 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + local.get $1 + local.get $2 + i32.le_u + if (result i32) + local.get $1 + i32.const 15 + i32.and + i32.eqz + else + i32.const 0 + end + if (result i32) + local.get $2 + i32.const 15 + i32.and + i32.eqz + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 386 + i32.const 4 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.set $3 + local.get $3 + i32.load offset=1568 + local.set $4 + i32.const 0 + local.set $5 + local.get $4 + if + local.get $1 + local.get $4 + i32.const 16 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 396 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 16 + i32.sub + local.get $4 + i32.eq + if + local.get $1 + i32.const 16 + i32.sub + local.set $1 + local.get $4 + i32.load + local.set $5 + else + nop + end + else + local.get $1 + local.get $0 + i32.const 1572 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 408 + i32.const 4 + call $~lib/builtins/abort + unreachable + end + end + local.get $2 + local.get $1 + i32.sub + local.set $6 + local.get $6 + i32.const 48 + i32.lt_u + if + i32.const 0 + return + end + local.get $6 + i32.const 16 + i32.const 1 + i32.shl + i32.sub + local.set $7 + local.get $1 + local.set $8 + local.get $8 + local.get $7 + i32.const 1 + i32.or + local.get $5 + i32.const 2 + i32.and + i32.or + i32.store + local.get $8 + i32.const 0 + i32.store offset=16 + local.get $8 + i32.const 0 + i32.store offset=20 + local.get $1 + local.get $6 + i32.add + i32.const 16 + i32.sub + local.set $4 + local.get $4 + i32.const 0 + i32.const 2 + i32.or + i32.store + local.get $0 + local.set $9 + local.get $4 + local.set $3 + local.get $9 + local.get $3 + i32.store offset=1568 + local.get $0 + local.get $8 + call $~lib/rt/tlsf/insertBlock + i32.const 1 + ) + (func $~lib/rt/tlsf/maybeInitialize (; 13 ;) (result i32) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + global.get $~lib/rt/tlsf/ROOT + local.set $0 + local.get $0 + i32.eqz + if + global.get $~lib/heap/__heap_base + i32.const 15 + i32.add + i32.const -16 + i32.and + local.set $1 + memory.size + local.set $2 + local.get $1 + i32.const 1572 + i32.add + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $3 + local.get $3 + local.get $2 + i32.gt_s + if (result i32) + local.get $3 + local.get $2 + i32.sub + memory.grow + i32.const 0 + i32.lt_s + else + i32.const 0 + end + if + unreachable + end + local.get $1 + local.set $0 + local.get $0 + i32.const 0 + i32.store + local.get $0 + local.set $5 + i32.const 0 + local.set $4 + local.get $5 + local.get $4 + i32.store offset=1568 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + i32.const 23 + i32.lt_u + local.set $4 + local.get $4 + if + local.get $0 + local.set $8 + local.get $5 + local.set $7 + i32.const 0 + local.set $6 + local.get $8 + local.get $7 + i32.const 2 + i32.shl + i32.add + local.get $6 + i32.store offset=4 + i32.const 0 + local.set $8 + loop $for-loop|1 + local.get $8 + i32.const 16 + i32.lt_u + local.set $7 + local.get $7 + if + local.get $0 + local.set $11 + local.get $5 + local.set $10 + local.get $8 + local.set $9 + i32.const 0 + local.set $6 + local.get $11 + local.get $10 + i32.const 4 + i32.shl + local.get $9 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $6 + i32.store offset=96 + local.get $8 + i32.const 1 + i32.add + local.set $8 + br $for-loop|1 + end + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $0 + local.get $1 + i32.const 1572 + i32.add + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + memory.size + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + drop + local.get $0 + global.set $~lib/rt/tlsf/ROOT + end + local.get $0 + ) + (func $~lib/rt/tlsf/prepareSize (; 14 ;) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + local.get $0 + i32.const 1073741808 + i32.ge_u + if + i32.const 368 + i32.const 320 + i32.const 457 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 15 + i32.add + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.tee $1 + i32.const 16 + local.tee $2 + local.get $1 + local.get $2 + i32.gt_u + select + ) + (func $~lib/rt/tlsf/searchBlock (; 15 ;) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + local.get $1 + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $2 + local.get $1 + i32.const 4 + i32.shr_u + local.set $3 + else + local.get $1 + i32.const 536870904 + i32.lt_u + if (result i32) + local.get $1 + i32.const 1 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $1 + end + local.set $4 + i32.const 31 + local.get $4 + i32.clz + i32.sub + local.set $2 + local.get $4 + local.get $2 + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $3 + local.get $2 + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $2 + end + local.get $2 + i32.const 23 + i32.lt_u + if (result i32) + local.get $3 + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 338 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.set $5 + local.get $2 + local.set $4 + local.get $5 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + i32.const 0 + i32.const -1 + i32.xor + local.get $3 + i32.shl + i32.and + local.set $6 + i32.const 0 + local.set $7 + local.get $6 + i32.eqz + if + local.get $0 + i32.load + i32.const 0 + i32.const -1 + i32.xor + local.get $2 + i32.const 1 + i32.add + i32.shl + i32.and + local.set $5 + local.get $5 + i32.eqz + if + i32.const 0 + local.set $7 + else + local.get $5 + i32.ctz + local.set $2 + local.get $0 + local.set $8 + local.get $2 + local.set $4 + local.get $8 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + local.set $6 + local.get $6 + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 351 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.set $9 + local.get $2 + local.set $8 + local.get $6 + i32.ctz + local.set $4 + local.get $9 + local.get $8 + i32.const 4 + i32.shl + local.get $4 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + local.set $7 + end + else + local.get $0 + local.set $9 + local.get $2 + local.set $8 + local.get $6 + i32.ctz + local.set $4 + local.get $9 + local.get $8 + i32.const 4 + i32.shl + local.get $4 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + local.set $7 + end + local.get $7 + ) + (func $~lib/rt/tlsf/growMemory (; 16 ;) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + local.get $1 + i32.const 536870904 + i32.lt_u + if + local.get $1 + i32.const 1 + i32.const 27 + local.get $1 + i32.clz + i32.sub + i32.shl + i32.const 1 + i32.sub + i32.add + local.set $1 + end + memory.size + local.set $2 + local.get $1 + i32.const 16 + local.get $2 + i32.const 16 + i32.shl + i32.const 16 + i32.sub + local.get $0 + local.set $3 + local.get $3 + i32.load offset=1568 + i32.ne + i32.shl + i32.add + local.set $1 + local.get $1 + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $4 + local.get $2 + local.tee $3 + local.get $4 + local.tee $5 + local.get $3 + local.get $5 + i32.gt_s + select + local.set $6 + local.get $6 + memory.grow + i32.const 0 + i32.lt_s + if + local.get $4 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + memory.size + local.set $7 + local.get $0 + local.get $2 + i32.const 16 + i32.shl + local.get $7 + i32.const 16 + i32.shl + call $~lib/rt/tlsf/addMemory + drop + ) + (func $~lib/rt/tlsf/prepareBlock (; 17 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $1 + i32.load + local.set $3 + local.get $2 + i32.const 15 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 365 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $2 + i32.sub + local.set $4 + local.get $4 + i32.const 32 + i32.ge_u + if + local.get $1 + local.get $2 + local.get $3 + i32.const 2 + i32.and + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.get $2 + i32.add + local.set $5 + local.get $5 + local.get $4 + i32.const 16 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $5 + call $~lib/rt/tlsf/insertBlock + else + local.get $1 + local.get $3 + i32.const 1 + i32.const -1 + i32.xor + i32.and + i32.store + local.get $1 + local.set $5 + local.get $5 + i32.const 16 + i32.add + local.get $5 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.get $1 + local.set $5 + local.get $5 + i32.const 16 + i32.add + local.get $5 + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + i32.load + i32.const 2 + i32.const -1 + i32.xor + i32.and + i32.store + end + ) + (func $~lib/rt/tlsf/allocateBlock (; 18 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/rt/tlsf/collectLock + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 490 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $1 + call $~lib/rt/tlsf/prepareSize + local.set $3 + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 + i32.eqz + if + global.get $~lib/gc/gc.auto + if + i32.const 1 + global.set $~lib/rt/tlsf/collectLock + call $~lib/rt/pure/__collect + i32.const 0 + global.set $~lib/rt/tlsf/collectLock + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 + i32.eqz + if + local.get $0 + local.get $3 + call $~lib/rt/tlsf/growMemory + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 502 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + end + else + local.get $0 + local.get $3 + call $~lib/rt/tlsf/growMemory + local.get $0 + local.get $3 + call $~lib/rt/tlsf/searchBlock + local.set $4 + local.get $4 + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 507 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + end + end + local.get $4 + i32.load + i32.const -4 + i32.and + local.get $3 + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 320 + i32.const 510 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 0 + i32.store offset=4 + local.get $4 + local.get $2 + i32.store offset=8 + local.get $4 + local.get $1 + i32.store offset=12 + local.get $0 + local.get $4 + call $~lib/rt/tlsf/removeBlock + local.get $0 + local.get $4 + local.get $3 + call $~lib/rt/tlsf/prepareBlock + local.get $4 + call $~lib/rt/rtrace/onalloc + local.get $4 + ) + (func $~lib/rt/tlsf/__alloc (; 19 ;) (param $0 i32) (param $1 i32) (result i32) + call $~lib/rt/tlsf/maybeInitialize + local.get $0 + local.get $1 + call $~lib/rt/tlsf/allocateBlock + i32.const 16 + i32.add + ) + (func $~lib/util/memory/memcpy (; 20 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + loop $while-continue|0 + local.get $2 + if (result i32) + local.get $1 + i32.const 3 + i32.and + else + i32.const 0 + end + local.set $5 + local.get $5 + if + local.get $0 + local.tee $6 + i32.const 1 + i32.add + local.set $0 + local.get $6 + local.get $1 + local.tee $6 + i32.const 1 + i32.add + local.set $1 + local.get $6 + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $while-continue|0 + end + end + local.get $0 + i32.const 3 + i32.and + i32.const 0 + i32.eq + if + loop $while-continue|1 + local.get $2 + i32.const 16 + i32.ge_u + local.set $5 + local.get $5 + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.get $1 + i32.const 8 + i32.add + i32.load + i32.store + local.get $0 + i32.const 12 + i32.add + local.get $1 + i32.const 12 + i32.add + i32.load + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $while-continue|1 + end + end + local.get $2 + i32.const 8 + i32.and + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + end + local.get $2 + i32.const 4 + i32.and + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.set $0 + local.get $1 + i32.const 4 + i32.add + local.set $1 + end + local.get $2 + i32.const 2 + i32.and + if + local.get $0 + local.get $1 + i32.load16_u + i32.store16 + local.get $0 + i32.const 2 + i32.add + local.set $0 + local.get $1 + i32.const 2 + i32.add + local.set $1 + end + local.get $2 + i32.const 1 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + return + end + local.get $2 + i32.const 32 + i32.ge_u + if + block $break|2 + block $case2|2 + block $case1|2 + block $case0|2 + local.get $0 + i32.const 3 + i32.and + local.set $5 + local.get $5 + i32.const 1 + i32.eq + br_if $case0|2 + local.get $5 + i32.const 2 + i32.eq + br_if $case1|2 + local.get $5 + i32.const 3 + i32.eq + br_if $case2|2 + br $break|2 + end + local.get $1 + i32.load + local.set $3 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $2 + i32.const 3 + i32.sub + local.set $2 + loop $while-continue|3 + local.get $2 + i32.const 17 + i32.ge_u + local.set $5 + local.get $5 + if + local.get $1 + i32.const 1 + i32.add + i32.load + local.set $4 + local.get $0 + local.get $3 + i32.const 24 + i32.shr_u + local.get $4 + i32.const 8 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 5 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 4 + i32.add + local.get $4 + i32.const 24 + i32.shr_u + local.get $3 + i32.const 8 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 9 + i32.add + i32.load + local.set $4 + local.get $0 + i32.const 8 + i32.add + local.get $3 + i32.const 24 + i32.shr_u + local.get $4 + i32.const 8 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 13 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 12 + i32.add + local.get $4 + i32.const 24 + i32.shr_u + local.get $3 + i32.const 8 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $while-continue|3 + end + end + br $break|2 + end + local.get $1 + i32.load + local.set $3 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $2 + i32.const 2 + i32.sub + local.set $2 + loop $while-continue|4 + local.get $2 + i32.const 18 + i32.ge_u + local.set $5 + local.get $5 + if + local.get $1 + i32.const 2 + i32.add + i32.load + local.set $4 + local.get $0 + local.get $3 + i32.const 16 + i32.shr_u + local.get $4 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 6 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 4 + i32.add + local.get $4 + i32.const 16 + i32.shr_u + local.get $3 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 10 + i32.add + i32.load + local.set $4 + local.get $0 + i32.const 8 + i32.add + local.get $3 + i32.const 16 + i32.shr_u + local.get $4 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 14 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 12 + i32.add + local.get $4 + i32.const 16 + i32.shr_u + local.get $3 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $while-continue|4 + end + end + br $break|2 + end + local.get $1 + i32.load + local.set $3 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + loop $while-continue|5 + local.get $2 + i32.const 19 + i32.ge_u + local.set $5 + local.get $5 + if + local.get $1 + i32.const 3 + i32.add + i32.load + local.set $4 + local.get $0 + local.get $3 + i32.const 8 + i32.shr_u + local.get $4 + i32.const 24 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 7 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 4 + i32.add + local.get $4 + i32.const 8 + i32.shr_u + local.get $3 + i32.const 24 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 11 + i32.add + i32.load + local.set $4 + local.get $0 + i32.const 8 + i32.add + local.get $3 + i32.const 8 + i32.shr_u + local.get $4 + i32.const 24 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 15 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 12 + i32.add + local.get $4 + i32.const 8 + i32.shr_u + local.get $3 + i32.const 24 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $while-continue|5 + end + end + br $break|2 + end + end + local.get $2 + i32.const 16 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 8 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 4 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 2 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 1 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + ) + (func $~lib/memory/memory.copy (; 21 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/util/memory/memmove|inlined.0 + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + local.get $4 + i32.eq + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $4 + local.get $3 + i32.add + local.get $5 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $5 + local.get $3 + i32.add + local.get $4 + i32.le_u + end + if + local.get $5 + local.get $4 + local.get $3 + call $~lib/util/memory/memcpy + br $~lib/util/memory/memmove|inlined.0 + end + local.get $5 + local.get $4 + i32.lt_u + if + local.get $4 + i32.const 7 + i32.and + local.get $5 + i32.const 7 + i32.and + i32.eq + if + loop $while-continue|0 + local.get $5 + i32.const 7 + i32.and + local.set $6 + local.get $6 + if + local.get $3 + i32.eqz + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $3 + i32.const 1 + i32.sub + local.set $3 + local.get $5 + local.tee $7 + i32.const 1 + i32.add + local.set $5 + local.get $7 + local.get $4 + local.tee $7 + i32.const 1 + i32.add + local.set $4 + local.get $7 + i32.load8_u + i32.store8 + br $while-continue|0 + end + end + loop $while-continue|1 + local.get $3 + i32.const 8 + i32.ge_u + local.set $6 + local.get $6 + if + local.get $5 + local.get $4 + i64.load + i64.store + local.get $3 + i32.const 8 + i32.sub + local.set $3 + local.get $5 + i32.const 8 + i32.add + local.set $5 + local.get $4 + i32.const 8 + i32.add + local.set $4 + br $while-continue|1 + end + end + end + loop $while-continue|2 + local.get $3 + local.set $6 + local.get $6 + if + local.get $5 + local.tee $7 + i32.const 1 + i32.add + local.set $5 + local.get $7 + local.get $4 + local.tee $7 + i32.const 1 + i32.add + local.set $4 + local.get $7 + i32.load8_u + i32.store8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $while-continue|2 + end + end + else + local.get $4 + i32.const 7 + i32.and + local.get $5 + i32.const 7 + i32.and + i32.eq + if + loop $while-continue|3 + local.get $5 + local.get $3 + i32.add + i32.const 7 + i32.and + local.set $6 + local.get $6 + if + local.get $3 + i32.eqz + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $5 + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.add + local.get $4 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $3 + i32.const 8 + i32.ge_u + local.set $6 + local.get $6 + if + local.get $3 + i32.const 8 + i32.sub + local.set $3 + local.get $5 + local.get $3 + i32.add + local.get $4 + local.get $3 + i32.add + i64.load + i64.store + br $while-continue|4 + end + end + end + loop $while-continue|5 + local.get $3 + local.set $6 + local.get $6 + if + local.get $5 + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.add + local.get $4 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $while-continue|5 + end + end + end + end + ) + (func $~lib/rt/__allocBuffer (; 22 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + local.get $0 + local.get $1 + call $~lib/rt/tlsf/__alloc + local.set $3 + local.get $2 + if + local.get $3 + local.get $2 + local.get $0 + call $~lib/memory/memory.copy + end + local.get $3 + ) + (func $~lib/rt/pure/increment (; 23 ;) (param $0 i32) + (local $1 i32) + local.get $0 + i32.load offset=4 + local.set $1 + local.get $1 + i32.const -268435456 + i32.and + local.get $1 + i32.const 1 + i32.add + i32.const -268435456 + i32.and + i32.eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 109 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.store offset=4 + local.get $0 + call $~lib/rt/rtrace/onincrement + local.get $0 + i32.load + i32.const 1 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 112 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/rt/pure/__retain (; 24 ;) (param $0 i32) (result i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/increment + end + local.get $0 + ) + (func $std/staticarray/test (; 25 ;) (result i32) + (local $0 i32) + i32.const 12 + i32.const 3 + i32.const 288 + call $~lib/rt/__allocBuffer + call $~lib/rt/pure/__retain + ) + (func $~lib/rt/pure/__release (; 26 ;) (param $0 i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.gt_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/decrement + end + ) + (func $std/staticarray/Ref#constructor (; 27 ;) (param $0 i32) (result i32) + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 4 + call $~lib/rt/tlsf/__alloc + call $~lib/rt/pure/__retain + local.set $0 + end + local.get $0 + ) + (func $start:std/staticarray (; 28 ;) + (local $0 i32) + (local $1 i32) + i32.const 32 + i32.const 1 + call $~lib/staticarray/StaticArray#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 192 + i32.const 3 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 32 + call $~lib/staticarray/StaticArray#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 192 + i32.const 4 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/staticarray/arr1 + i32.const 1 + i32.const 4 + call $~lib/staticarray/StaticArray#__set + i32.const 32 + i32.const 1 + call $~lib/staticarray/StaticArray#__get + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 192 + i32.const 6 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 256 + i32.const 1 + call $~lib/staticarray/StaticArray#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 192 + i32.const 10 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 256 + call $~lib/staticarray/StaticArray#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 192 + i32.const 11 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/staticarray/arr2 + i32.const 1 + i32.const 4 + call $~lib/staticarray/StaticArray#__set + i32.const 256 + i32.const 1 + call $~lib/staticarray/StaticArray#__get + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 192 + i32.const 13 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + call $std/staticarray/test + global.set $std/staticarray/arr3 + global.get $std/staticarray/arr3 + i32.const 0 + call $~lib/staticarray/StaticArray#__get + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 192 + i32.const 20 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/staticarray/arr3 + i32.const 1 + call $~lib/staticarray/StaticArray#__get + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 192 + i32.const 21 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/staticarray/arr3 + i32.const 2 + call $~lib/staticarray/StaticArray#__get + i32.const 7 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 192 + i32.const 22 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/staticarray/arr3 + call $~lib/staticarray/StaticArray#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 192 + i32.const 23 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + global.get $std/staticarray/arr3 + i32.const 1 + i32.const 8 + call $~lib/staticarray/StaticArray#__set + global.get $std/staticarray/arr3 + i32.const 1 + call $~lib/staticarray/StaticArray#__get + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 192 + i32.const 25 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + call $std/staticarray/test + local.set $0 + global.get $std/staticarray/arr3 + call $~lib/rt/pure/__release + local.get $0 + global.set $std/staticarray/arr3 + global.get $std/staticarray/arr3 + i32.const 1 + call $~lib/staticarray/StaticArray#__get + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 192 + i32.const 27 + i32.const 0 + call $~lib/builtins/abort + unreachable + end + i32.const 8 + i32.const 5 + i32.const 0 + call $~lib/rt/__allocBuffer + call $~lib/rt/pure/__retain + local.set $0 + local.get $0 + i32.const 0 + call $std/staticarray/Ref#constructor + i32.store + local.get $0 + i32.const 0 + call $std/staticarray/Ref#constructor + i32.store offset=4 + local.get $0 + global.set $std/staticarray/arr4 + i32.const 0 + local.tee $0 + global.get $std/staticarray/arr3 + local.tee $1 + i32.ne + if + local.get $0 + call $~lib/rt/pure/__retain + local.set $0 + local.get $1 + call $~lib/rt/pure/__release + end + local.get $0 + global.set $std/staticarray/arr3 + i32.const 0 + local.tee $1 + global.get $std/staticarray/arr4 + local.tee $0 + i32.ne + if + local.get $1 + call $~lib/rt/pure/__retain + local.set $1 + local.get $0 + call $~lib/rt/pure/__release + end + local.get $1 + global.set $std/staticarray/arr4 + ) + (func $~start (; 29 ;) + global.get $~started + if + return + else + i32.const 1 + global.set $~started + end + call $start:std/staticarray + ) + (func $~lib/rt/pure/__collect (; 30 ;) + return + ) + (func $~lib/rt/tlsf/freeBlock (; 31 ;) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $1 + i32.load + local.set $2 + local.get $1 + local.get $2 + i32.const 1 + i32.or + i32.store + local.get $0 + local.get $1 + call $~lib/rt/tlsf/insertBlock + local.get $1 + call $~lib/rt/rtrace/onfree + ) + (func $~lib/rt/pure/decrement (; 32 ;) (param $0 i32) + (local $1 i32) + (local $2 i32) + local.get $0 + i32.load offset=4 + local.set $1 + local.get $1 + i32.const 268435455 + i32.and + local.set $2 + local.get $0 + call $~lib/rt/rtrace/ondecrement + local.get $0 + i32.load + i32.const 1 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 122 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.eq + if + local.get $0 + i32.const 16 + i32.add + i32.const 1 + call $~lib/rt/__visit_members + local.get $1 + i32.const -2147483648 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 126 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/tlsf/ROOT + local.get $0 + call $~lib/rt/tlsf/freeBlock + else + local.get $2 + i32.const 0 + i32.gt_u + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 136 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 268435455 + i32.const -1 + i32.xor + i32.and + local.get $2 + i32.const 1 + i32.sub + i32.or + i32.store offset=4 + end + ) + (func $~lib/rt/pure/__visit (; 33 ;) (param $0 i32) (param $1 i32) + local.get $0 + global.get $~lib/heap/__heap_base + i32.lt_u + if + return + end + local.get $1 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 69 + i32.const 15 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/decrement + ) + (func $~lib/staticarray/StaticArray#__visit_impl (; 34 ;) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/staticarray/StaticArray#__visit_impl (; 35 ;) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + local.set $2 + local.get $2 + local.get $0 + i32.const 16 + i32.sub + i32.load offset=12 + i32.add + local.set $3 + loop $while-continue|0 + local.get $2 + local.get $3 + i32.lt_u + local.set $4 + local.get $4 + if + local.get $2 + i32.load + local.set $5 + local.get $5 + if + local.get $5 + local.get $1 + call $~lib/rt/pure/__visit + end + local.get $2 + i32.const 4 + i32.add + local.set $2 + br $while-continue|0 + end + end + ) + (func $~lib/rt/__visit_members (; 36 ;) (param $0 i32) (param $1 i32) + (local $2 i32) + block $switch$1$default + block $switch$1$case$7 + block $switch$1$case$5 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$2 $switch$1$case$7 $switch$1$default + end + return + end + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/pure/__visit + end + return + end + local.get $0 + local.get $1 + call $~lib/staticarray/StaticArray#__visit_impl + return + end + local.get $0 + local.get $1 + call $~lib/staticarray/StaticArray#__visit_impl + return + end + unreachable + ) +) diff --git a/tests/compiler/std/string-encoding.optimized.wat b/tests/compiler/std/string-encoding.optimized.wat index cb8ad9bd81..399fa1dab2 100644 --- a/tests/compiler/std/string-encoding.optimized.wat +++ b/tests/compiler/std/string-encoding.optimized.wat @@ -2111,7 +2111,7 @@ if i32.const 0 i32.const 432 - i32.const 703 + i32.const 700 i32.const 6 call $~lib/builtins/abort unreachable @@ -2592,7 +2592,7 @@ if i32.const 0 i32.const 432 - i32.const 719 + i32.const 716 i32.const 6 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/string-encoding.untouched.wat b/tests/compiler/std/string-encoding.untouched.wat index f01ce1e805..d3aca02840 100644 --- a/tests/compiler/std/string-encoding.untouched.wat +++ b/tests/compiler/std/string-encoding.untouched.wat @@ -3745,7 +3745,7 @@ if i32.const 0 i32.const 432 - i32.const 703 + i32.const 700 i32.const 6 call $~lib/builtins/abort unreachable @@ -4300,7 +4300,7 @@ if i32.const 0 i32.const 432 - i32.const 719 + i32.const 716 i32.const 6 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/string.optimized.wat b/tests/compiler/std/string.optimized.wat index d2b157e0e1..272b5d04cf 100644 --- a/tests/compiler/std/string.optimized.wat +++ b/tests/compiler/std/string.optimized.wat @@ -85,412 +85,402 @@ (data (i32.const 1856) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00 \00\t\00\n\000\00x\000\002") (data (i32.const 1888) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\000\00x\007\00F\00F\00F\00F\00F\00F\00F") (data (i32.const 1936) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\000\00x\007\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F") - (data (i32.const 2000) "\b8\00\00\00\01\00\00\00\00\00\00\00\b8") + (data (i32.const 2000) "\b8\00\00\00\01\00\00\00\03\00\00\00\b8") (data (i32.const 2022) "\f0?\00\00\00\00\00\00$@\00\00\00\00\00\00Y@\00\00\00\00\00@\8f@\00\00\00\00\00\88\c3@\00\00\00\00\00j\f8@\00\00\00\00\80\84.A\00\00\00\00\d0\12cA\00\00\00\00\84\d7\97A\00\00\00\00e\cd\cdA\00\00\00 _\a0\02B\00\00\00\e8vH7B\00\00\00\a2\94\1amB\00\00@\e5\9c0\a2B\00\00\90\1e\c4\bc\d6B\00\004&\f5k\0cC\00\80\e07y\c3AC\00\a0\d8\85W4vC\00\c8Ngm\c1\abC\00=\91`\e4X\e1C@\8c\b5x\1d\af\15DP\ef\e2\d6\e4\1aKD\92\d5M\06\cf\f0\80D") - (data (i32.const 2208) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00\e0\07\00\00\e0\07\00\00\b8\00\00\00\17") - (data (i32.const 2240) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\001\00.") - (data (i32.const 2272) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00.\000\000") - (data (i32.const 2304) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\00-\005") - (data (i32.const 2336) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00-\001\00e\00-\005") - (data (i32.const 2368) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00-\000\00.\003\00e\00-\002\002") - (data (i32.const 2400) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\000\00.\003\00e\00+\002\002") - (data (i32.const 2432) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\00-\001") - (data (i32.const 2464) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\000\00.\001\00e\00-\000") - (data (i32.const 2496) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\001") - (data (i32.const 2528) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\002\005") - (data (i32.const 2560) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00.\00e\00+\003\00a") - (data (i32.const 2592) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\00.\000\00e\00-\001\000") - (data (i32.const 2624) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\00.\000\00e\00-\003\000") - (data (i32.const 2656) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\001\00.\000\00e\00-\003\002\003") - (data (i32.const 2688) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\001\00.\000\00e\00-\003\002\004") - (data (i32.const 2720) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00e\00+\003\000\008") - (data (i32.const 2752) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00e\00+\003\000\009") - (data (i32.const 2784) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\001\00.\000\00e\00-\001\00_\000") - (data (i32.const 2816) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\001\00.\000\00e\00-\001\000\00_\000") - (data (i32.const 2864) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\001\00.\000\00e\00+\001\00_\000") - (data (i32.const 2896) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\001\00_\000") - (data (i32.const 2928) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\001\00_\001") - (data (i32.const 2960) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\001\000\00.\000\000\00_\000\001\00e\002") - (data (i32.const 3008) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\001\002\003\004\005\006\007\008\009\00_\004") - (data (i32.const 3056) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\001\00_\000\001\002\003\004\005\006\007\008\009") - (data (i32.const 3104) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00e\00-\006\000") - (data (i32.const 3136) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\006\000") - (data (i32.const 3168) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00-\00.\000\000\000\000\000") - (data (i32.const 3200) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\001\00x") - (data (i32.const 3232) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00-\001\001\00e\00-\001\00s\00t\00r\00i\00n\00g") - (data (i32.const 3280) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\000\001\00e\001\00s\00t\00r\00i\00n\00g") - (data (i32.const 3328) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\000\001\000\00s\00t\00r\00i\00n\00g") - (data (i32.const 3376) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00+\00.\002\002\00e\00-\001") - (data (i32.const 3408) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\001\00.\00s\001") - (data (i32.const 3440) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00x\000") - (data (i32.const 3472) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00x\005") - (data (i32.const 3504) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00x\00D") - (data (i32.const 3536) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00\0b\001\00.\001") - (data (i32.const 3568) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00\0b\00\0b\00-\001\00.\001") - (data (i32.const 3600) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00\0c\00\0c\00-\001\00.\001") - (data (i32.const 3632) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00( ( -\001\00.\001") - (data (i32.const 3664) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00) ) -\001\00.\001") - (data (i32.const 3696) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\000\000\000\000") - (data (i32.const 3728) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\000\000\000\00a") - (data (i32.const 3760) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\000\000\000\001") - (data (i32.const 3792) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\000\00.\000\000") - (data (i32.const 3824) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\000\00.\000\00a") - (data (i32.const 3856) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\001\00e") - (data (i32.const 3888) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\00e\00+\000\000\000\001") - (data (i32.const 3920) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\000\00e\00+\001\000\000") - (data (i32.const 3952) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00.\00-\001\00.") - (data (i32.const 3984) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00e\00-\001\00.\002") - (data (i32.const 4016) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\001\00e\00x") - (data (i32.const 4048) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\001\00x") - (data (i32.const 4080) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\00-\00x") - (data (i32.const 4112) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00e\00-\001\00x") - (data (i32.const 4144) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\000\00.\001\00e\00-\001\00x") - (data (i32.const 4176) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\000\00.") - (data (i32.const 4208) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\000\000") - (data (i32.const 4240) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\000\00.") - (data (i32.const 4272) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\001\00.") - (data (i32.const 4304) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\00.") - (data (i32.const 4336) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\00a") - (data (i32.const 4368) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00.\00.\001") - (data (i32.const 4400) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\00.\001\00.\001") - (data (i32.const 4432) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\000\00.\00 \001") - (data (i32.const 4464) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00+\000\00.\000") - (data (i32.const 4496) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00-\000\00.\000") - (data (i32.const 4528) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00+\000") - (data (i32.const 4560) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00-\000") - (data (i32.const 4592) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00+") - (data (i32.const 4624) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00-") - (data (i32.const 4656) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00-\00-\000") - (data (i32.const 4688) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00+\00+\000") - (data (i32.const 4720) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00.\00a") - (data (i32.const 4752) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\00.\000") - (data (i32.const 4784) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00.") - (data (i32.const 4816) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00.\00.") - (data (i32.const 4848) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N") - (data (i32.const 4880) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\0b") - (data (i32.const 4912) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\0e\18") - (data (i32.const 4944) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00\0e\181\00.\001") - (data (i32.const 4976) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00\0e\18\0e\181\00.\001") - (data (i32.const 5008) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\0c") - (data (i32.const 5040) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00t\00r\00u\00e") - (data (i32.const 5072) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00f\00a\00l\00s\00e") - (data (i32.const 5104) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\002\002") - (data (i32.const 5136) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00e\00-\002\002") - (data (i32.const 5168) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\002\003") - (data (i32.const 5200) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00e\00-\002\003") - (data (i32.const 5232) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\003\007") - (data (i32.const 5264) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00e\00-\003\007") - (data (i32.const 5296) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\003\008") - (data (i32.const 5328) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00e\00-\003\008") - (data (i32.const 5360) "*\00\00\00\01\00\00\00\01\00\00\00*\00\00\002\00.\002\002\000\004\004\006\000\004\009\002\005\000\003\001\003\00e\00-\001\006") - (data (i32.const 5424) ".\00\00\00\01\00\00\00\01\00\00\00.\00\00\001\00.\007\009\007\006\009\003\001\003\004\008\006\002\003\001\005\007\00e\00+\003\000\008") - (data (i32.const 5488) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\005\00e\00-\003\002\004") - (data (i32.const 5520) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\000\00.\000\000\000\000\000\001\00e\00+\003\001\004") - (data (i32.const 5568) "|\00\00\00\01\00\00\00\01\00\00\00|\00\00\000\00.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\00e\00+\005\006") - (data (i32.const 5712) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00+\001\00E\00-\003\002\005") - (data (i32.const 5744) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00+\001\00E\00+\003\000\009") - (data (i32.const 5776) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00-\001\00E\00-\003\002\005") - (data (i32.const 5808) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00-\001\00E\00+\003\000\009") - (data (i32.const 5840) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\001\00e\00-\001\000\000\000\000\000\000") - (data (i32.const 5888) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\001\00e\00+\001\000\000\000\000\000\000") - (data (i32.const 5936) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00.\00e\003\006\000") - (data (i32.const 5968) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00 \00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 6016) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00+\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 6064) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 6112) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00x") - (data (i32.const 6160) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00+\001") - (data (i32.const 6208) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00I\00n\00f\00i") - (data (i32.const 6240) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00+\00I\00n\00f\00i\00n\00i\00t") - (data (i32.const 6272) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00i\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 6304) "\aa\00\00\00\01\00\00\00\01\00\00\00\aa\00\00\00.\002\004\007\000\003\002\008\002\002\009\002\000\006\002\003\002\007\002\000\008\008\002\008\004\003\009\006\004\003\004\001\001\000\006\008\006\001\008\002\005\002\009\009\000\001\003\000\007\001\006\002\003\008\002\002\001\002\007\009\002\008\004\001\002\005\000\003\003\007\007\005\003\006\003\005\001\000\004\003\00e\00-\003\002\003") - (data (i32.const 6496) "\aa\00\00\00\01\00\00\00\01\00\00\00\aa\00\00\00.\007\004\001\000\009\008\004\006\008\007\006\001\008\006\009\008\001\006\002\006\004\008\005\003\001\008\009\003\000\002\003\003\002\000\005\008\005\004\007\005\008\009\007\000\003\009\002\001\004\008\007\001\004\006\006\003\008\003\007\008\005\002\003\007\005\001\000\001\003\002\006\000\009\000\005\003\001\003\002\00e\00-\003\002\003") - (data (i32.const 6688) "\aa\00\00\00\01\00\00\00\01\00\00\00\aa\00\00\00.\002\002\002\005\000\007\003\008\005\008\005\000\007\002\000\001\006\003\000\001\002\003\000\005\005\006\003\007\009\005\005\006\007\006\001\005\002\005\000\003\006\001\002\004\001\004\005\007\003\000\001\008\000\001\003\000\008\003\002\002\008\007\002\004\000\004\009\005\008\006\006\004\007\006\000\006\007\006\000\00e\00-\003\000\007") - (data (i32.const 6880) "\88\00\00\00\01\00\00\00\01\00\00\00\88\00\00\001\007\009\007\006\009\003\001\003\004\008\006\002\003\001\005\008\000\007\009\003\007\002\008\009\007\001\004\000\005\003\000\003\004\001\005\000\007\009\009\003\004\001\003\002\007\001\000\000\003\007\008\002\006\009\003\006\001\007\003\007\007\008\009\008\000\004\004") - (data (i32.const 7040) "\88\00\00\00\01\00\00\00\01\00\00\00\88\00\00\004\009\006\008\002\009\002\007\006\004\007\005\000\009\004\006\006\004\009\000\001\007\009\007\007\005\008\007\002\000\007\000\009\006\003\003\000\002\008\006\004\001\006\006\009\002\008\008\007\009\001\000\009\004\006\005\005\005\005\004\007\008\005\001\009\004\000\004") - (data (i32.const 7200) "\88\00\00\00\01\00\00\00\01\00\00\00\88\00\00\000\002\006\003\000\006\005\007\004\008\008\006\007\001\005\000\005\008\002\000\006\008\001\009\000\008\009\000\002\000\000\000\007\000\008\003\008\003\006\007\006\002\007\003\008\005\004\008\004\005\008\001\007\007\001\001\005\003\001\007\006\004\004\007\005\007\003\000") - (data (i32.const 7360) "\88\00\00\00\01\00\00\00\01\00\00\00\88\00\00\002\007\000\000\006\009\008\005\005\005\007\001\003\006\006\009\005\009\006\002\002\008\004\002\009\001\004\008\001\009\008\006\000\008\003\004\009\003\006\004\007\005\002\009\002\007\001\009\000\007\004\001\006\008\004\004\004\003\006\005\005\001\000\007\000\004\003\004") - (data (i32.const 7520) "\88\00\00\00\01\00\00\00\01\00\00\00\88\00\00\002\007\001\001\005\005\009\006\009\009\005\000\008\000\009\003\000\004\002\008\008\000\001\007\007\009\000\004\001\007\004\004\009\007\007\009\001\00.\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009") - (data (i32.const 7680) "\\\00\00\00\01\00\00\00\01\00\00\00\\\00\00\000\00.\009\007\005\003\005\003\001\008\008\008\007\009\009\005\000\002\006\001\003\008\000\007\001\003\005\002\007\006\001\004\007\001\006\004\004\000\004\003\009\00e\00-\001\000\003") - (data (i32.const 7792) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\00.\005\009\006\001\008\006\000\003\004\008\001\003\001\008\000\007\000\009\001\008\006\001\000\000\002\002\006\006\004\005\003\009\004\001\009\005\000\004\002\008\00e\000\000") - (data (i32.const 7904) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\001\00.\008\001\005\000\001\003\001\006\009\002\001\008\000\003\008\007\002\009\008\008\007\004\006\000\008\009\008\007\003\003\005\002\006\009\005\007\004\004\002\00e\00-\001") - (data (i32.const 8016) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\004\002\00.\000\007\000\008\002\003\005\007\005\003\004\004\005\003\006\000\000\006\008\001\006\001\008\006\008\005\006\008\002\002\005\007\005\009\000\007\007\002\00e\00-\002") - (data (i32.const 8128) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\006\006\005\00.\004\006\008\006\003\000\006\005\001\006\002\006\001\004\005\006\003\002\008\009\007\003\002\002\005\005\007\009\008\003\003\004\007\000\008\001\006\00e\00-\003") - (data (i32.const 8240) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\006\001\000\001\00.\008\005\002\009\002\002\009\007\000\008\006\008\006\002\001\007\008\006\006\009\000\004\009\005\004\008\005\004\004\009\008\003\001\007\005\003\00e\00-\004") - (data (i32.const 8352) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\007\006\009\006\006\00.\009\005\002\000\008\002\003\006\009\006\008\000\007\007\008\004\009\004\006\004\003\004\008\008\007\005\004\007\001\001\005\008\005\004\009\00e\00-\005") - (data (i32.const 8464) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\002\005\000\005\000\006\00.\005\003\002\002\002\002\008\006\008\002\004\009\006\001\003\002\006\000\004\008\000\007\002\002\002\009\002\003\007\000\002\003\000\004\00e\00-\006") - (data (i32.const 8576) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\002\007\004\000\000\003\007\00.\002\003\000\002\002\008\000\000\005\003\002\005\008\005\002\004\002\004\006\009\007\006\009\008\003\003\001\001\007\007\003\007\007\00e\00-\007") - (data (i32.const 8688) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\002\000\007\002\003\000\009\003\00.\005\000\000\004\009\007\004\002\006\004\005\009\004\001\005\002\009\002\006\008\007\001\005\004\002\008\003\002\004\004\009\000\00e\00-\008") - (data (i32.const 8800) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\007\009\000\000\002\008\000\002\003\008\000\008\001\006\000\004\009\005\006\002\002\006\000\001\001\000\004\007\004\006\000\002\003\008\007\004\008\009\001\002\00e\001") - (data (i32.const 8912) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\009\008\002\002\008\006\000\006\005\003\007\003\007\002\009\006\008\004\008\001\009\000\005\005\008\004\004\008\007\006\000\004\006\005\008\006\003\005\009\007\00e\002") - (data (i32.const 9024) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\007\004\006\008\009\004\009\007\002\003\001\009\000\003\007\000\008\000\009\004\000\005\005\007\000\005\006\000\001\006\000\004\000\005\003\002\004\008\006\009\00e\003") - (data (i32.const 9136) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\001\006\003\000\002\006\008\003\002\000\002\008\002\007\002\008\004\007\005\009\008\000\004\005\009\008\004\004\002\007\001\000\003\001\007\005\001\006\006\005\00e\004") - (data (i32.const 9248) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\004\006\003\007\001\006\008\006\002\009\007\001\009\001\007\000\006\009\005\001\000\009\009\001\008\007\006\009\006\004\005\004\009\002\000\002\002\000\008\008\00e\005") - (data (i32.const 9360) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\006\005\003\007\008\000\005\009\004\004\004\009\007\007\001\001\005\005\004\002\000\009\004\006\001\006\008\006\004\001\005\008\007\002\000\006\007\005\002\003\00e\006") - (data (i32.const 9472) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\002\003\004\006\003\002\004\003\005\006\005\000\002\004\003\007\000\004\005\002\001\002\002\003\000\007\001\003\009\006\000\004\005\007\006\007\006\005\003\001\00e\006") - (data (i32.const 9584) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\009\007\000\009\004\008\001\007\001\006\004\002\000\000\004\008\003\004\001\008\009\007\002\005\008\009\008\000\004\005\004\002\009\008\002\000\005\002\007\008\00e\008") - (data (i32.const 9696) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\004\009\009\006\009\000\008\005\002\002\000\005\001\008\007\004\001\001\000\007\007\009\009\008\002\003\005\004\009\003\002\004\009\009\004\009\009\006\000\002\00e\009") - (data (i32.const 9808) "Z\00\00\00\01\00\00\00\01\00\00\00Z\00\00\000\00.\007\009\002\005\002\000\001\002\000\000\005\005\007\002\004\005\008\006\001\009\004\004\000\001\001\002\006\007\000\004\001\007\008\007\005\000\005\001\004\009\00e\002\002") - (data (i32.const 9920) "Z\00\00\00\01\00\00\00\01\00\00\00Z\00\00\000\00.\006\000\009\006\005\006\004\005\008\005\009\008\003\001\007\007\004\000\008\009\003\004\003\005\002\005\007\000\002\001\003\003\007\007\004\007\005\007\003\009\00e\003\000") - (data (i32.const 10032) "Z\00\00\00\01\00\00\00\01\00\00\00Z\00\00\000\00.\004\008\000\000\004\001\006\001\001\007\004\007\007\000\002\008\007\008\007\008\007\004\003\006\000\002\000\005\000\002\003\005\004\009\004\009\007\001\002\008\00e\006\007") - (data (i32.const 10144) "\\\00\00\00\01\00\00\00\01\00\00\00\\\00\00\000\00.\008\005\002\004\008\002\009\000\007\009\008\001\007\009\006\008\002\002\004\008\003\000\003\003\007\009\003\001\000\005\002\007\008\001\006\004\001\004\008\003\00e\001\000\005") - (data (i32.const 10256) "\\\00\00\00\01\00\00\00\01\00\00\00\\\00\00\000\00.\000\003\002\007\001\002\003\009\002\009\001\007\000\009\007\008\002\001\001\005\004\004\007\000\006\009\003\007\002\007\004\008\009\005\006\000\008\004\002\005\00e\002\006\009") - (data (i32.const 10368) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00 \00\t\00\n") - (data (i32.const 10400) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00 \00\t\00\n\00\0d\00.\001") - (data (i32.const 10432) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00b") - (data (i32.const 10464) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00b") - (data (i32.const 10496) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00k\00e\00y\001") - (data (i32.const 10528) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00k\00e\00y\002") - (data (i32.const 10560) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00k\00e\001") - (data (i32.const 10592) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00k\00e\002") - (data (i32.const 10624) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00k\00e\00y\001\002") - (data (i32.const 10656) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00k\00e\00y\001\001") - (data (i32.const 10688) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00\a40\ed0\cf0\cb0\db0\d80\c80") - (data (i32.const 10720) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00\a60\f00\ce0\aa0\af0\e40\de0") - (data (i32.const 10752) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00D\00\19 f\00h\00u\00a\00s\00c\00a\00i\00l") - (data (i32.const 10800) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00D\00\19 \1f\1eu\00a\00s\00c\00a\00i\00l") - (data (i32.const 10848) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00b\00a") - (data (i32.const 10880) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00a") - (data (i32.const 10912) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 10960) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00a\00a\00a") - (data (i32.const 10992) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00a\00b\00a\00b\00a\00b\00a\00b") - (data (i32.const 11024) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00a\00a\00a\00a") - (data (i32.const 11056) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00a\00a\00a\00a\00a\00a") - (data (i32.const 11088) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00a\00a\00a\00a\00a\00a\00a") - (data (i32.const 11120) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00-\00b\00-\00c") - (data (i32.const 11152) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00+\00b\00-\00c") - (data (i32.const 11184) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00+\00a\00b\00c") - (data (i32.const 11216) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00\n\00a\00b\00c") - (data (i32.const 11248) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\n") - (data (i32.const 11280) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00c") - (data (i32.const 11312) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00+\00+") - (data (i32.const 11344) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00a\00b\00+\00+") - (data (i32.const 11376) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00a\00b\00c\00a\00b\00c\00a\00b\00c") - (data (i32.const 11424) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00+\00+\00+") - (data (i32.const 11456) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00a\00b\00c\00a\00b\00c\00a") - (data (i32.const 11488) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00+\00+\00+\00b\00c\00+\00+\00+\00b\00c\00+\00+\00+") - (data (i32.const 11536) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00+\00+\00c\00+\00+\00c") - (data (i32.const 11568) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00c\00c\00c\00c") - (data (i32.const 11600) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00c\00c") - (data (i32.const 11632) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00+\00+\00+\00+") - (data (i32.const 11664) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00e") - (data (i32.const 11696) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00b\00c") - (data (i32.const 11728) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00+") - (data (i32.const 11760) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00+\00b\00+\00c") - (data (i32.const 11792) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00+\00a\00+\00b\00+\00c\00+") - (data (i32.const 11824) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n") - (data (i32.const 11872) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00n") - (data (i32.const 11904) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00j\00k\00l\00m\00n") - (data (i32.const 11936) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00c\00d\00e\00f\00g") - (data (i32.const 11968) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00d\00e\00f\00g\00h") - (data (i32.const 12000) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m") - (data (i32.const 12048) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00c\00d\00e\00f\00g\00h\00i") - (data (i32.const 12080) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00e\00f\00g") - (data (i32.const 12112) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00e\00f\00g\00h") - (data (i32.const 12144) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00d") - (data (i32.const 12176) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 12224) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") - (data (i32.const 12288) "^\00\00\00\01\00\00\00\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") - (data (i32.const 12400) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00,\00b\00,\00c") - (data (i32.const 12432) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00a\00,\00 \00b\00,\00 \00c") - (data (i32.const 12464) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00,\00 ") - (data (i32.const 12496) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00a\00,\00b\00,\00,\00c") - (data (i32.const 12528) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00,\00a\00,\00b\00,\00c") - (data (i32.const 12560) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00a\00,\00b\00,\00c\00,") - (data (i32.const 12592) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\008") - (data (i32.const 12624) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\001\002") - (data (i32.const 12656) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00-\001\000\000\000") - (data (i32.const 12688) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\002\003\004") - (data (i32.const 12720) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\002\003\004\005") - (data (i32.const 12752) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\002\003\004\005\006") - (data (i32.const 12784) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\001\001\001\001\001\001") - (data (i32.const 12816) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\002\003\004\005\006\007") - (data (i32.const 12848) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\001\002\003\004\005\006\007\008") - (data (i32.const 12880) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\001\002\003\004\005\006\007\008\009") - (data (i32.const 12928) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\006") - (data (i32.const 12976) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\007") - (data (i32.const 13024) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00-\002\001\004\007\004\008\003\006\004\008") - (data (i32.const 13072) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00-\001") - (data (i32.const 13104) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\000\000\000") - (data (i32.const 13136) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\008") - (data (i32.const 13184) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\005") - (data (i32.const 13232) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\009\009\009\009\009\009\009\009") - (data (i32.const 13264) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\001\000\000\000\000\000\000\000\000") - (data (i32.const 13312) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\007") - (data (i32.const 13360) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 13408) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 13456) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\008\006\008\007\001\009\004\007\006\007\003\005\000") - (data (i32.const 13504) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\008\006\008\007\001\009\004\007\006\007\003\005\000\001") - (data (i32.const 13552) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 13600) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 13648) "\"\00\00\00\01\00\00\00\01\00\00\00\"\00\00\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 13712) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\001\002\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 13776) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\001\002\003\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 13840) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005") - (data (i32.const 13904) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00-\001\002\003\004") - (data (i32.const 13936) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00-\004\002\009\004\009\006\007\002\009\005") - (data (i32.const 13984) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00-\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 14032) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00-\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 14080) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\00-\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 14128) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00-\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 14192) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007") - (data (i32.const 14256) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008") - (data (i32.const 14320) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\000") - (data (i32.const 14352) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 14384) "\b8\02\00\00\01\00\00\00\00\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a80?1@1C2D3E4P5Q6R7S8T9Y:[;\\e?f@hAiBj@kClDoBqErFuG}H\82I\87J\89K\8aL\8bL\8cM\92N\9dO\9ePEW{\1d|\1d}\1d\7fX\86Y\88Z\89Z\8aZ\8c[\8e\\\8f\\\ac]\ad^\ae^\af^\c2_\cc`\cda\cea\cfb\d0c\d1d\d5e\d6f\d7g\f0h\f1i\f2j\f3k\f4l\f5m\f9n\fd-\fe-\ff-PiQiRiSiTiUiViWiXiYiZi[i\\i]i^i_i\82\00\83\00\84\00\85\00\86\00\87\00\88\00\89\00\c0u\cfv\80\89\81\8a\82\8b\85\8c\86\8dp\9dq\9dv\9ew\9ex\9fy\9fz\a0{\a0|\a1}\a1\b3\a2\ba\a3\bb\a3\bc\a4\be\a5\c3\a2\cc\a4\da\a6\db\a6\e5j\ea\a7\eb\a7\ecn\f3\a2\f8\a8\f9\a8\fa\a9\fb\a9\fc\a4&\b0*\b1+\b2N\b3\84\08b\bac\bbd\bce\bdf\bem\bfn\c0o\c1p\c2~\c3\7f\c3}\cf\8d\d0\94\d1\ab\d2\ac\d3\ad\d4\b0\d5\b1\d6\b2\d7\c4\d8\c5\d9\c6\da") - (data (i32.const 22768) "\10\00\00\00\01\00\00\00\n\00\00\00\10\00\00\00`W\00\00`W\00\00\90\01\00\00\90\01") - (data (i32.const 22800) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00a\00z\00.\00!\00\n") - (data (i32.const 22848) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00A\00Z\00.\00!\00\n") - (data (i32.const 22896) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00a\00z\00.\00!\00\t") - (data (i32.const 22944) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\000\009\00_\00a\00z\00 \00a\00z\00.\00!\00\t") - (data (i32.const 22992) "J\00\00\00\01\00\00\00\01\00\00\00J\00\00\00D\00e\00r\00 \00W\00e\00c\00h\00s\00e\00l\00 \00a\00l\00l\00e\00i\00n\00 \00i\00s\00t\00 \00d\00a\00s\00 \00B\00e\00s\00t\00\e4\00n\00d\00i\00g\00e") - (data (i32.const 23088) "J\00\00\00\01\00\00\00\01\00\00\00J\00\00\00D\00E\00R\00 \00W\00E\00C\00H\00S\00E\00L\00 \00A\00L\00L\00E\00I\00N\00 \00I\00S\00T\00 \00D\00A\00S\00 \00B\00E\00S\00T\00\c4\00N\00D\00I\00G\00E") - (data (i32.const 23184) "J\00\00\00\01\00\00\00\01\00\00\00J\00\00\00d\00e\00r\00 \00w\00e\00c\00h\00s\00e\00l\00 \00a\00l\00l\00e\00i\00n\00 \00i\00s\00t\00 \00d\00a\00s\00 \00b\00e\00s\00t\00\e4\00n\00d\00i\00g\00e") - (data (i32.const 23280) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00@\00 \00\14 \00\14\04@\04C\043\04 \00G\045\04;\04>\042\045\04:\040\04!") - (data (i32.const 23344) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00@\00 \00\14 \00\14\04 \04#\04\13\04 \00\'\04\15\04\1b\04\1e\04\12\04\15\04\1a\04\10\04!") - (data (i32.const 23408) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00@\00 \00\14 \004\04@\04C\043\04 \00G\045\04;\04>\042\045\04:\040\04!") - (data (i32.const 23472) "D\00\00\00\01\00\00\00\01\00\00\00D\00\00\00.\" \00E\00\c5\"d\00a\00 \00=\00 \00Q\00,\00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)") - (data (i32.const 23568) "D\00\00\00\01\00\00\00\01\00\00\00D\00\00\00.\" \00E\00\c5\"D\00A\00 \00=\00 \00Q\00,\00 \00N\00 \00\92! \00\1e\",\00 \00\11\" \00F\00(\00I\00)\00 \00=\00 \00\0f\" \00G\00(\00I\00)") - (data (i32.const 23664) "D\00\00\00\01\00\00\00\01\00\00\00D\00\00\00.\" \00e\00\c5\"d\00a\00 \00=\00 \00q\00,\00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)") - (data (i32.const 23760) "H\00\00\00\01\00\00\00\01\00\00\00H\00\00\00\f0\00i\00 \001\01n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\001\01k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\001\01\83\02n") - (data (i32.const 23856) "H\00\00\00\01\00\00\00\01\00\00\00H\00\00\00\d0\00I\00 \00I\00N\00T\00\8f\01\c8\02N\00\c6\00\a9\01\8f\01N\00\8f\01L\00 \00F\00\8f\01\c8\02N\00\90\01T\00I\00K\00 \00\8f\01S\00O\00\b1\01S\00I\00\c8\02E\00I\00\a9\01N") - (data (i32.const 23952) "H\00\00\00\01\00\00\00\01\00\00\00H\00\00\00\f0\00i\00 \00i\00n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\00i\00k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\00i\00\83\02n") - (data (i32.const 24048) ".\00\00\00\01\00\00\00\01\00\00\00.\00\00\00\a3\03r\1f \00\b3\03\bd\03\c9\03\c1\03\af\03\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00\ba\03\cc\03\c8\03\b7\03") - (data (i32.const 24112) ".\00\00\00\01\00\00\00\01\00\00\00.\00\00\00\a3\03\c8\1f \00\93\03\9d\03\a9\03\a1\03\8a\03\96\03\a9\03 \00\08\1f\a0\03\f8\1f \00\a4\03\ca\1f\9d\03 \00\9a\03\8c\03\a8\03\97\03") - (data (i32.const 24176) "0\00\00\00\01\00\00\00\01\00\00\000\00\00\00\c4\03\bf\03\e6\1f \00\c3\03\c0\03\b1\03\b8\03\b9\03\bf\03\e6\1f \00\c4\03t\1f\bd\03 \00\c4\03\c1\03\bf\03\bc\03\b5\03\c1\03\ae\03,") - (data (i32.const 24240) "4\00\00\00\01\00\00\00\01\00\00\004\00\00\00\a4\03\9f\03\a5\03B\03 \00\a3\03\a0\03\91\03\98\03\99\03\9f\03\a5\03B\03 \00\a4\03\ca\1f\9d\03 \00\a4\03\a1\03\9f\03\9c\03\95\03\a1\03\89\03,") - (data (i32.const 24320) ",\00\00\00\01\00\00\00\01\00\00\00,\00\00\00\c3\03r\1f \00\b3\03\bd\03\c9\03\c1\03\af\03\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00D\1f\c8\03\b7\03") - (data (i32.const 24384) ",\00\00\00\01\00\00\00\01\00\00\00,\00\00\00\a3\03\c8\1f \00\93\03\9d\03\a9\03\a1\03\8a\03\96\03\a9\03 \00\08\1f\a0\03\f8\1f \00\a4\03\ca\1f\9d\03 \00L\1f\a8\03\97\03") - (data (i32.const 24448) "2\00\00\00\01\00\00\00\01\00\00\002\00\00\00\c0\03\bf\03z\1f \00\bc\03r\1f \00\b2\03\af\03\b1\03 \00\bc\03\b5\03\c4\03\c1\03\ac\03\b5\03\b9\03 \00\c4\03t\1f \00\b3\03\c6\1f.") - (data (i32.const 24528) "4\00\00\00\01\00\00\00\01\00\00\004\00\00\00\a0\03\9f\03\ea\1f \00\9c\03\c8\1f \00\92\03\8a\03\91\03 \00\9c\03\95\03\a4\03\a1\03\86\03\95\03\99\03 \00\a4\03\ca\1f \00\93\03\97\03B\03.") - (data (i32.const 24608) ".\00\00\00\01\00\00\00\01\00\00\00.\00\00\00\91\03\c0\03\bf\1f \00\c4\03p\1f \00\ba\03\cc\03\ba\03\ba\03\b1\03\bb\03\b1\03 \00\b2\03\b3\03\b1\03\bb\03\bc\03\ad\03\bd\03\b7\03") - (data (i32.const 24672) ".\00\00\00\01\00\00\00\01\00\00\00.\00\00\00\91\03\a0\03\bf\1f \00\a4\03\ba\1f \00\9a\03\8c\03\9a\03\9a\03\91\03\9b\03\91\03 \00\92\03\93\03\91\03\9b\03\9c\03\88\03\9d\03\97\03") - (data (i32.const 24736) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00\c4\03\f6\1f\bd\03 \00\fe\1f\95\03\bb\03\bb\03\ae\03\bd\03\c9\03\bd\03 \00\c4\03p\1f \001\1f\b5\03\c1\03\ac\03") - (data (i32.const 24800) "*\00\00\00\01\00\00\00\01\00\00\00*\00\00\00\a4\03\a9\03B\03\9d\03 \00\fe\1f\95\03\9b\03\9b\03\89\03\9d\03\a9\03\9d\03 \00\a4\03\ba\1f \009\1f\95\03\a1\03\86\03") - (data (i32.const 24864) "2\00\00\00\01\00\00\00\01\00\00\002\00\00\00\ba\03\b1\03v\1f \00\c3\03p\1f\bd\03 \00\c0\03\c1\03\f6\1f\c4\03\b1\03 \00\00\1f\bd\03\b4\03\c1\03\b5\03\b9\03\c9\03\bc\03\ad\03\bd\03\b7\03") - (data (i32.const 24944) "4\00\00\00\01\00\00\00\01\00\00\004\00\00\00\9a\03\91\03\da\1f \00\a3\03\ba\1f\9d\03 \00\a0\03\a1\03\a9\03B\03\a4\03\91\03 \00\08\1f\9d\03\94\03\a1\03\95\03\99\03\a9\03\9c\03\88\03\9d\03\97\03") - (data (i32.const 25024) "6\00\00\00\01\00\00\00\01\00\00\006\00\00\00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00f\1f \00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00\bf\1f\95\03\bb\03\b5\03\c5\03\b8\03\b5\03\c1\03\b9\03\ac\03!") - (data (i32.const 25104) ":\00\00\00\01\00\00\00\01\00\00\00:\00\00\00\a7\03\91\03\99\03B\03\a1\03\95\03,\00 \00n\1f \00\a7\03\91\03\99\03B\03\a1\03\95\03,\00 \00\bf\1f\95\03\9b\03\95\03\a5\03\98\03\95\03\a1\03\99\03\86\03!") - (data (i32.const 25184) "\80\00\00\00\01\00\00\00\01\00\00\00\80\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00 \00/\000\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z") - (data (i32.const 25328) "\80\00\00\00\01\00\00\00\01\00\00\00\80\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00 \00/\000\001\002\003\004\005\006\007\008\009\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z") - (data (i32.const 25472) "\80\00\00\00\01\00\00\00\01\00\00\00\80\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\00 \00/\000\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z") - (data (i32.const 25616) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00S\00S") - (data (i32.const 25648) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\000\01") - (data (i32.const 25680) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00i\00\07\03") - (data (i32.const 25712) "\ae\00\00\00\01\00\00\00\01\00\00\00\ae\00\00\00\a3\00\a9\00\b5\00\c0\00\c6\00\d6\00\de\00\df\00\e9\00\f6\00\ff\00\13 \14 \18 \1c \1d \1e \" & 0 \"!S\01`\01x\01~\01\ac \00\91\03\92\03\93\03\94\03\a9\03\b1\03\b2\03\b3\03\b4\03\c9\03 \00\10\04\11\04\12\04\13\04\14\040\041\042\043\044\04\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00\01\fb\fd\ff@$\82 \1f\02\1e\e5\04\84\1eP\02\d0\02N#\d0\051\05\d0\10") - (data (i32.const 25904) "\b2\00\00\00\01\00\00\00\01\00\00\00\b2\00\00\00\a3\00\a9\00\9c\03\c0\00\c6\00\d6\00\de\00S\00S\00\c9\00\d6\00x\01\13 \14 \18 \1c \1d \1e \" & 0 \"!R\01`\01x\01}\01\ac \00\91\03\92\03\93\03\94\03\a9\03\91\03\92\03\93\03\94\03\a9\03 \00\10\04\11\04\12\04\13\04\14\04\10\04\11\04\12\04\13\04\14\04\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00F\00I\00\fd\ff@$\82 (\1f\02\1e\e4\04\84\1eo,\d0\02N#\d0\051\05\90\1c") - (data (i32.const 26112) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00s\00s") - (data (i32.const 26144) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\01\fb") - (data (i32.const 26176) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00f\00i") - (data (i32.const 26208) "\b8\00\00\00\01\00\00\00\01\00\00\00\b8\00\00\00A\d8\0e\df \00A\d81\df \00A\d8y\df \00C\d8S\dc \00C\d8x\dc \00C\d8\96\dc \00C\d8\cf\dc \00C\d8\d5\dc \00C\d8\15\dd \00C\d8|\dd \00C\d8\7f\dd \00C\d8\0e\de \00C\d8\0f\de \00C\d8w\de \00C\d8\9d\de \00C\d8\a2\de \00C\d8\d7\de \00C\d8\f9\de \00C\d8\fa\de \00C\d8-\df \00C\d8.\df \00C\d8L\df \00C\d8\b4\df \00C\d8\bc\df \00C\d8\ea\df \00D\d8\\\dc \00D\d8o\dc \00D\d8u\dc \00D\d8v\dc \00D\d8{\dc \00D\d8\c1\dc") - (data (i32.const 26416) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\00\d8\00\dc") - (data (i32.const 26448) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\88\1f") - (data (i32.const 26480) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\80\1f") - (data (i32.const 26512) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\8f\1f") - (data (i32.const 26544) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\87\1f") - (data (i32.const 26576) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\fc\1f") - (data (i32.const 26608) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\f3\1f") - (data (i32.const 26640) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\00\fb") - (data (i32.const 26672) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00F\00F") - (data (i32.const 26704) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00F\00I") - (data (i32.const 26736) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\02\fb") - (data (i32.const 26768) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00F\00L") - (data (i32.const 26800) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\03\fb") - (data (i32.const 26832) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00F\00F\00I") - (data (i32.const 26864) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\04\fb") - (data (i32.const 26896) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00F\00F\00L") - (data (i32.const 26928) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\05\fb") - (data (i32.const 26960) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00S\00T") - (data (i32.const 26992) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\06\fb") - (data (i32.const 27024) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\f0\01") - (data (i32.const 27056) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00J\00\0c\03") - (data (i32.const 27088) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\96\1e") - (data (i32.const 27120) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00H\001\03") - (data (i32.const 27152) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\97\1e") - (data (i32.const 27184) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00T\00\08\03") - (data (i32.const 27216) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\98\1e") - (data (i32.const 27248) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00W\00\n\03") - (data (i32.const 27280) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\99\1e") - (data (i32.const 27312) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00Y\00\n\03") - (data (i32.const 27344) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\9a\1e") - (data (i32.const 27376) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00A\00\be\02") - (data (i32.const 27408) "@\00\00\00\01\00\00\00\01\00\00\00@\00\00\00o\00r\00i\00g\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00!\00=\00 \00e\00x\00p\00e\00c\00t\00L\00o\00w\00e\00r\00C\00o\00d\00e") - (data (i32.const 27488) "@\00\00\00\01\00\00\00\01\00\00\00@\00\00\00o\00r\00i\00g\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00!\00=\00 \00e\00x\00p\00e\00c\00t\00U\00p\00p\00e\00r\00C\00o\00d\00e") + (data (i32.const 2208) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\001\00.") + (data (i32.const 2240) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00.\000\000") + (data (i32.const 2272) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\00-\005") + (data (i32.const 2304) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00-\001\00e\00-\005") + (data (i32.const 2336) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00-\000\00.\003\00e\00-\002\002") + (data (i32.const 2368) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\000\00.\003\00e\00+\002\002") + (data (i32.const 2400) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\00-\001") + (data (i32.const 2432) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\000\00.\001\00e\00-\000") + (data (i32.const 2464) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\001") + (data (i32.const 2496) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\002\005") + (data (i32.const 2528) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00.\00e\00+\003\00a") + (data (i32.const 2560) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\00.\000\00e\00-\001\000") + (data (i32.const 2592) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\00.\000\00e\00-\003\000") + (data (i32.const 2624) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\001\00.\000\00e\00-\003\002\003") + (data (i32.const 2656) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\001\00.\000\00e\00-\003\002\004") + (data (i32.const 2688) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00e\00+\003\000\008") + (data (i32.const 2720) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00e\00+\003\000\009") + (data (i32.const 2752) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\001\00.\000\00e\00-\001\00_\000") + (data (i32.const 2784) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\001\00.\000\00e\00-\001\000\00_\000") + (data (i32.const 2832) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\001\00.\000\00e\00+\001\00_\000") + (data (i32.const 2864) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\001\00_\000") + (data (i32.const 2896) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\001\00_\001") + (data (i32.const 2928) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\001\000\00.\000\000\00_\000\001\00e\002") + (data (i32.const 2976) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\001\002\003\004\005\006\007\008\009\00_\004") + (data (i32.const 3024) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\001\00_\000\001\002\003\004\005\006\007\008\009") + (data (i32.const 3072) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00e\00-\006\000") + (data (i32.const 3104) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\006\000") + (data (i32.const 3136) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00-\00.\000\000\000\000\000") + (data (i32.const 3168) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\001\00x") + (data (i32.const 3200) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00-\001\001\00e\00-\001\00s\00t\00r\00i\00n\00g") + (data (i32.const 3248) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\000\001\00e\001\00s\00t\00r\00i\00n\00g") + (data (i32.const 3296) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\000\001\000\00s\00t\00r\00i\00n\00g") + (data (i32.const 3344) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00+\00.\002\002\00e\00-\001") + (data (i32.const 3376) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\001\00.\00s\001") + (data (i32.const 3408) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00x\000") + (data (i32.const 3440) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00x\005") + (data (i32.const 3472) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00x\00D") + (data (i32.const 3504) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00\0b\001\00.\001") + (data (i32.const 3536) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00\0b\00\0b\00-\001\00.\001") + (data (i32.const 3568) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00\0c\00\0c\00-\001\00.\001") + (data (i32.const 3600) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00( ( -\001\00.\001") + (data (i32.const 3632) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00) ) -\001\00.\001") + (data (i32.const 3664) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\000\000\000\000") + (data (i32.const 3696) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\000\000\000\00a") + (data (i32.const 3728) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\000\000\000\001") + (data (i32.const 3760) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\000\00.\000\000") + (data (i32.const 3792) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\000\00.\000\00a") + (data (i32.const 3824) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\001\00e") + (data (i32.const 3856) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\00e\00+\000\000\000\001") + (data (i32.const 3888) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\000\00e\00+\001\000\000") + (data (i32.const 3920) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00.\00-\001\00.") + (data (i32.const 3952) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00e\00-\001\00.\002") + (data (i32.const 3984) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\001\00e\00x") + (data (i32.const 4016) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\001\00x") + (data (i32.const 4048) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\00-\00x") + (data (i32.const 4080) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00e\00-\001\00x") + (data (i32.const 4112) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\000\00.\001\00e\00-\001\00x") + (data (i32.const 4144) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\000\00.") + (data (i32.const 4176) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\000\000") + (data (i32.const 4208) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\000\00.") + (data (i32.const 4240) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\001\00.") + (data (i32.const 4272) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\00.") + (data (i32.const 4304) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\00a") + (data (i32.const 4336) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00.\00.\001") + (data (i32.const 4368) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\00.\001\00.\001") + (data (i32.const 4400) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\000\00.\00 \001") + (data (i32.const 4432) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00+\000\00.\000") + (data (i32.const 4464) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00-\000\00.\000") + (data (i32.const 4496) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00+\000") + (data (i32.const 4528) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00-\000") + (data (i32.const 4560) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00+") + (data (i32.const 4592) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00-") + (data (i32.const 4624) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00-\00-\000") + (data (i32.const 4656) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00+\00+\000") + (data (i32.const 4688) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00.\00a") + (data (i32.const 4720) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\00.\000") + (data (i32.const 4752) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00.") + (data (i32.const 4784) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00.\00.") + (data (i32.const 4816) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N") + (data (i32.const 4848) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\0b") + (data (i32.const 4880) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\0e\18") + (data (i32.const 4912) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00\0e\181\00.\001") + (data (i32.const 4944) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00\0e\18\0e\181\00.\001") + (data (i32.const 4976) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\0c") + (data (i32.const 5008) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00t\00r\00u\00e") + (data (i32.const 5040) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00f\00a\00l\00s\00e") + (data (i32.const 5072) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\002\002") + (data (i32.const 5104) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00e\00-\002\002") + (data (i32.const 5136) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\002\003") + (data (i32.const 5168) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00e\00-\002\003") + (data (i32.const 5200) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\003\007") + (data (i32.const 5232) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00e\00-\003\007") + (data (i32.const 5264) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\003\008") + (data (i32.const 5296) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00e\00-\003\008") + (data (i32.const 5328) "*\00\00\00\01\00\00\00\01\00\00\00*\00\00\002\00.\002\002\000\004\004\006\000\004\009\002\005\000\003\001\003\00e\00-\001\006") + (data (i32.const 5392) ".\00\00\00\01\00\00\00\01\00\00\00.\00\00\001\00.\007\009\007\006\009\003\001\003\004\008\006\002\003\001\005\007\00e\00+\003\000\008") + (data (i32.const 5456) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\005\00e\00-\003\002\004") + (data (i32.const 5488) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\000\00.\000\000\000\000\000\001\00e\00+\003\001\004") + (data (i32.const 5536) "|\00\00\00\01\00\00\00\01\00\00\00|\00\00\000\00.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\00e\00+\005\006") + (data (i32.const 5680) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00+\001\00E\00-\003\002\005") + (data (i32.const 5712) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00+\001\00E\00+\003\000\009") + (data (i32.const 5744) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00-\001\00E\00-\003\002\005") + (data (i32.const 5776) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00-\001\00E\00+\003\000\009") + (data (i32.const 5808) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\001\00e\00-\001\000\000\000\000\000\000") + (data (i32.const 5856) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\001\00e\00+\001\000\000\000\000\000\000") + (data (i32.const 5904) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00.\00e\003\006\000") + (data (i32.const 5936) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00 \00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 5984) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00+\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 6032) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 6080) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00x") + (data (i32.const 6128) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00+\001") + (data (i32.const 6176) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00I\00n\00f\00i") + (data (i32.const 6208) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00+\00I\00n\00f\00i\00n\00i\00t") + (data (i32.const 6240) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00i\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 6272) "\aa\00\00\00\01\00\00\00\01\00\00\00\aa\00\00\00.\002\004\007\000\003\002\008\002\002\009\002\000\006\002\003\002\007\002\000\008\008\002\008\004\003\009\006\004\003\004\001\001\000\006\008\006\001\008\002\005\002\009\009\000\001\003\000\007\001\006\002\003\008\002\002\001\002\007\009\002\008\004\001\002\005\000\003\003\007\007\005\003\006\003\005\001\000\004\003\00e\00-\003\002\003") + (data (i32.const 6464) "\aa\00\00\00\01\00\00\00\01\00\00\00\aa\00\00\00.\007\004\001\000\009\008\004\006\008\007\006\001\008\006\009\008\001\006\002\006\004\008\005\003\001\008\009\003\000\002\003\003\002\000\005\008\005\004\007\005\008\009\007\000\003\009\002\001\004\008\007\001\004\006\006\003\008\003\007\008\005\002\003\007\005\001\000\001\003\002\006\000\009\000\005\003\001\003\002\00e\00-\003\002\003") + (data (i32.const 6656) "\aa\00\00\00\01\00\00\00\01\00\00\00\aa\00\00\00.\002\002\002\005\000\007\003\008\005\008\005\000\007\002\000\001\006\003\000\001\002\003\000\005\005\006\003\007\009\005\005\006\007\006\001\005\002\005\000\003\006\001\002\004\001\004\005\007\003\000\001\008\000\001\003\000\008\003\002\002\008\007\002\004\000\004\009\005\008\006\006\004\007\006\000\006\007\006\000\00e\00-\003\000\007") + (data (i32.const 6848) "\88\00\00\00\01\00\00\00\01\00\00\00\88\00\00\001\007\009\007\006\009\003\001\003\004\008\006\002\003\001\005\008\000\007\009\003\007\002\008\009\007\001\004\000\005\003\000\003\004\001\005\000\007\009\009\003\004\001\003\002\007\001\000\000\003\007\008\002\006\009\003\006\001\007\003\007\007\008\009\008\000\004\004") + (data (i32.const 7008) "\88\00\00\00\01\00\00\00\01\00\00\00\88\00\00\004\009\006\008\002\009\002\007\006\004\007\005\000\009\004\006\006\004\009\000\001\007\009\007\007\005\008\007\002\000\007\000\009\006\003\003\000\002\008\006\004\001\006\006\009\002\008\008\007\009\001\000\009\004\006\005\005\005\005\004\007\008\005\001\009\004\000\004") + (data (i32.const 7168) "\88\00\00\00\01\00\00\00\01\00\00\00\88\00\00\000\002\006\003\000\006\005\007\004\008\008\006\007\001\005\000\005\008\002\000\006\008\001\009\000\008\009\000\002\000\000\000\007\000\008\003\008\003\006\007\006\002\007\003\008\005\004\008\004\005\008\001\007\007\001\001\005\003\001\007\006\004\004\007\005\007\003\000") + (data (i32.const 7328) "\88\00\00\00\01\00\00\00\01\00\00\00\88\00\00\002\007\000\000\006\009\008\005\005\005\007\001\003\006\006\009\005\009\006\002\002\008\004\002\009\001\004\008\001\009\008\006\000\008\003\004\009\003\006\004\007\005\002\009\002\007\001\009\000\007\004\001\006\008\004\004\004\003\006\005\005\001\000\007\000\004\003\004") + (data (i32.const 7488) "\88\00\00\00\01\00\00\00\01\00\00\00\88\00\00\002\007\001\001\005\005\009\006\009\009\005\000\008\000\009\003\000\004\002\008\008\000\001\007\007\009\000\004\001\007\004\004\009\007\007\009\001\00.\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009") + (data (i32.const 7648) "\\\00\00\00\01\00\00\00\01\00\00\00\\\00\00\000\00.\009\007\005\003\005\003\001\008\008\008\007\009\009\005\000\002\006\001\003\008\000\007\001\003\005\002\007\006\001\004\007\001\006\004\004\000\004\003\009\00e\00-\001\000\003") + (data (i32.const 7760) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\00.\005\009\006\001\008\006\000\003\004\008\001\003\001\008\000\007\000\009\001\008\006\001\000\000\002\002\006\006\004\005\003\009\004\001\009\005\000\004\002\008\00e\000\000") + (data (i32.const 7872) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\001\00.\008\001\005\000\001\003\001\006\009\002\001\008\000\003\008\007\002\009\008\008\007\004\006\000\008\009\008\007\003\003\005\002\006\009\005\007\004\004\002\00e\00-\001") + (data (i32.const 7984) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\004\002\00.\000\007\000\008\002\003\005\007\005\003\004\004\005\003\006\000\000\006\008\001\006\001\008\006\008\005\006\008\002\002\005\007\005\009\000\007\007\002\00e\00-\002") + (data (i32.const 8096) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\006\006\005\00.\004\006\008\006\003\000\006\005\001\006\002\006\001\004\005\006\003\002\008\009\007\003\002\002\005\005\007\009\008\003\003\004\007\000\008\001\006\00e\00-\003") + (data (i32.const 8208) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\006\001\000\001\00.\008\005\002\009\002\002\009\007\000\008\006\008\006\002\001\007\008\006\006\009\000\004\009\005\004\008\005\004\004\009\008\003\001\007\005\003\00e\00-\004") + (data (i32.const 8320) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\007\006\009\006\006\00.\009\005\002\000\008\002\003\006\009\006\008\000\007\007\008\004\009\004\006\004\003\004\008\008\007\005\004\007\001\001\005\008\005\004\009\00e\00-\005") + (data (i32.const 8432) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\002\005\000\005\000\006\00.\005\003\002\002\002\002\008\006\008\002\004\009\006\001\003\002\006\000\004\008\000\007\002\002\002\009\002\003\007\000\002\003\000\004\00e\00-\006") + (data (i32.const 8544) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\002\007\004\000\000\003\007\00.\002\003\000\002\002\008\000\000\005\003\002\005\008\005\002\004\002\004\006\009\007\006\009\008\003\003\001\001\007\007\003\007\007\00e\00-\007") + (data (i32.const 8656) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\002\000\007\002\003\000\009\003\00.\005\000\000\004\009\007\004\002\006\004\005\009\004\001\005\002\009\002\006\008\007\001\005\004\002\008\003\002\004\004\009\000\00e\00-\008") + (data (i32.const 8768) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\007\009\000\000\002\008\000\002\003\008\000\008\001\006\000\004\009\005\006\002\002\006\000\001\001\000\004\007\004\006\000\002\003\008\007\004\008\009\001\002\00e\001") + (data (i32.const 8880) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\009\008\002\002\008\006\000\006\005\003\007\003\007\002\009\006\008\004\008\001\009\000\005\005\008\004\004\008\007\006\000\004\006\005\008\006\003\005\009\007\00e\002") + (data (i32.const 8992) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\007\004\006\008\009\004\009\007\002\003\001\009\000\003\007\000\008\000\009\004\000\005\005\007\000\005\006\000\001\006\000\004\000\005\003\002\004\008\006\009\00e\003") + (data (i32.const 9104) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\001\006\003\000\002\006\008\003\002\000\002\008\002\007\002\008\004\007\005\009\008\000\004\005\009\008\004\004\002\007\001\000\003\001\007\005\001\006\006\005\00e\004") + (data (i32.const 9216) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\004\006\003\007\001\006\008\006\002\009\007\001\009\001\007\000\006\009\005\001\000\009\009\001\008\007\006\009\006\004\005\004\009\002\000\002\002\000\008\008\00e\005") + (data (i32.const 9328) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\006\005\003\007\008\000\005\009\004\004\004\009\007\007\001\001\005\005\004\002\000\009\004\006\001\006\008\006\004\001\005\008\007\002\000\006\007\005\002\003\00e\006") + (data (i32.const 9440) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\002\003\004\006\003\002\004\003\005\006\005\000\002\004\003\007\000\004\005\002\001\002\002\003\000\007\001\003\009\006\000\004\005\007\006\007\006\005\003\001\00e\006") + (data (i32.const 9552) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\009\007\000\009\004\008\001\007\001\006\004\002\000\000\004\008\003\004\001\008\009\007\002\005\008\009\008\000\004\005\004\002\009\008\002\000\005\002\007\008\00e\008") + (data (i32.const 9664) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\004\009\009\006\009\000\008\005\002\002\000\005\001\008\007\004\001\001\000\007\007\009\009\008\002\003\005\004\009\003\002\004\009\009\004\009\009\006\000\002\00e\009") + (data (i32.const 9776) "Z\00\00\00\01\00\00\00\01\00\00\00Z\00\00\000\00.\007\009\002\005\002\000\001\002\000\000\005\005\007\002\004\005\008\006\001\009\004\004\000\001\001\002\006\007\000\004\001\007\008\007\005\000\005\001\004\009\00e\002\002") + (data (i32.const 9888) "Z\00\00\00\01\00\00\00\01\00\00\00Z\00\00\000\00.\006\000\009\006\005\006\004\005\008\005\009\008\003\001\007\007\004\000\008\009\003\004\003\005\002\005\007\000\002\001\003\003\007\007\004\007\005\007\003\009\00e\003\000") + (data (i32.const 10000) "Z\00\00\00\01\00\00\00\01\00\00\00Z\00\00\000\00.\004\008\000\000\004\001\006\001\001\007\004\007\007\000\002\008\007\008\007\008\007\004\003\006\000\002\000\005\000\002\003\005\004\009\004\009\007\001\002\008\00e\006\007") + (data (i32.const 10112) "\\\00\00\00\01\00\00\00\01\00\00\00\\\00\00\000\00.\008\005\002\004\008\002\009\000\007\009\008\001\007\009\006\008\002\002\004\008\003\000\003\003\007\009\003\001\000\005\002\007\008\001\006\004\001\004\008\003\00e\001\000\005") + (data (i32.const 10224) "\\\00\00\00\01\00\00\00\01\00\00\00\\\00\00\000\00.\000\003\002\007\001\002\003\009\002\009\001\007\000\009\007\008\002\001\001\005\004\004\007\000\006\009\003\007\002\007\004\008\009\005\006\000\008\004\002\005\00e\002\006\009") + (data (i32.const 10336) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00 \00\t\00\n") + (data (i32.const 10368) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00 \00\t\00\n\00\0d\00.\001") + (data (i32.const 10400) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00b") + (data (i32.const 10432) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00b") + (data (i32.const 10464) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00k\00e\00y\001") + (data (i32.const 10496) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00k\00e\00y\002") + (data (i32.const 10528) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00k\00e\001") + (data (i32.const 10560) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00k\00e\002") + (data (i32.const 10592) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00k\00e\00y\001\002") + (data (i32.const 10624) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00k\00e\00y\001\001") + (data (i32.const 10656) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00\a40\ed0\cf0\cb0\db0\d80\c80") + (data (i32.const 10688) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00\a60\f00\ce0\aa0\af0\e40\de0") + (data (i32.const 10720) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00D\00\19 f\00h\00u\00a\00s\00c\00a\00i\00l") + (data (i32.const 10768) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00D\00\19 \1f\1eu\00a\00s\00c\00a\00i\00l") + (data (i32.const 10816) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00b\00a") + (data (i32.const 10848) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00a") + (data (i32.const 10880) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data (i32.const 10928) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00a\00a\00a") + (data (i32.const 10960) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00a\00b\00a\00b\00a\00b\00a\00b") + (data (i32.const 10992) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00a\00a\00a\00a") + (data (i32.const 11024) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00a\00a\00a\00a\00a\00a") + (data (i32.const 11056) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00a\00a\00a\00a\00a\00a\00a") + (data (i32.const 11088) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00-\00b\00-\00c") + (data (i32.const 11120) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00+\00b\00-\00c") + (data (i32.const 11152) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00+\00a\00b\00c") + (data (i32.const 11184) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00\n\00a\00b\00c") + (data (i32.const 11216) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\n") + (data (i32.const 11248) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00c") + (data (i32.const 11280) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00+\00+") + (data (i32.const 11312) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00a\00b\00+\00+") + (data (i32.const 11344) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00a\00b\00c\00a\00b\00c\00a\00b\00c") + (data (i32.const 11392) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00+\00+\00+") + (data (i32.const 11424) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00a\00b\00c\00a\00b\00c\00a") + (data (i32.const 11456) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00+\00+\00+\00b\00c\00+\00+\00+\00b\00c\00+\00+\00+") + (data (i32.const 11504) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00+\00+\00c\00+\00+\00c") + (data (i32.const 11536) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00c\00c\00c\00c") + (data (i32.const 11568) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00c\00c") + (data (i32.const 11600) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00+\00+\00+\00+") + (data (i32.const 11632) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00e") + (data (i32.const 11664) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00b\00c") + (data (i32.const 11696) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00+") + (data (i32.const 11728) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00+\00b\00+\00c") + (data (i32.const 11760) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00+\00a\00+\00b\00+\00c\00+") + (data (i32.const 11792) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n") + (data (i32.const 11840) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00n") + (data (i32.const 11872) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00j\00k\00l\00m\00n") + (data (i32.const 11904) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00c\00d\00e\00f\00g") + (data (i32.const 11936) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00d\00e\00f\00g\00h") + (data (i32.const 11968) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m") + (data (i32.const 12016) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00c\00d\00e\00f\00g\00h\00i") + (data (i32.const 12048) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00e\00f\00g") + (data (i32.const 12080) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00e\00f\00g\00h") + (data (i32.const 12112) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00d") + (data (i32.const 12144) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data (i32.const 12192) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data (i32.const 12256) "^\00\00\00\01\00\00\00\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") + (data (i32.const 12368) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00,\00b\00,\00c") + (data (i32.const 12400) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00a\00,\00 \00b\00,\00 \00c") + (data (i32.const 12432) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00,\00 ") + (data (i32.const 12464) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00a\00,\00b\00,\00,\00c") + (data (i32.const 12496) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00,\00a\00,\00b\00,\00c") + (data (i32.const 12528) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00a\00,\00b\00,\00c\00,") + (data (i32.const 12560) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\008") + (data (i32.const 12592) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\001\002") + (data (i32.const 12624) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00-\001\000\000\000") + (data (i32.const 12656) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\002\003\004") + (data (i32.const 12688) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\002\003\004\005") + (data (i32.const 12720) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\002\003\004\005\006") + (data (i32.const 12752) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\001\001\001\001\001\001") + (data (i32.const 12784) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\002\003\004\005\006\007") + (data (i32.const 12816) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\001\002\003\004\005\006\007\008") + (data (i32.const 12848) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\001\002\003\004\005\006\007\008\009") + (data (i32.const 12896) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\006") + (data (i32.const 12944) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\007") + (data (i32.const 12992) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00-\002\001\004\007\004\008\003\006\004\008") + (data (i32.const 13040) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00-\001") + (data (i32.const 13072) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\000\000\000") + (data (i32.const 13104) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\008") + (data (i32.const 13152) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\005") + (data (i32.const 13200) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\009\009\009\009\009\009\009\009") + (data (i32.const 13232) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\001\000\000\000\000\000\000\000\000") + (data (i32.const 13280) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\007") + (data (i32.const 13328) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\006\008\007\001\009\004\007\006\007\003\005") + (data (i32.const 13376) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\008\006\008\007\001\009\004\007\006\007\003\005") + (data (i32.const 13424) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\008\006\008\007\001\009\004\007\006\007\003\005\000") + (data (i32.const 13472) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\008\006\008\007\001\009\004\007\006\007\003\005\000\001") + (data (i32.const 13520) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") + (data (i32.const 13568) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") + (data (i32.const 13616) "\"\00\00\00\01\00\00\00\01\00\00\00\"\00\00\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") + (data (i32.const 13680) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\001\002\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") + (data (i32.const 13744) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\001\002\003\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") + (data (i32.const 13808) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005") + (data (i32.const 13872) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00-\001\002\003\004") + (data (i32.const 13904) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00-\004\002\009\004\009\006\007\002\009\005") + (data (i32.const 13952) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00-\006\008\007\001\009\004\007\006\007\003\005") + (data (i32.const 14000) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00-\008\006\008\007\001\009\004\007\006\007\003\005") + (data (i32.const 14048) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\00-\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") + (data (i32.const 14096) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00-\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") + (data (i32.const 14160) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007") + (data (i32.const 14224) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008") + (data (i32.const 14288) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\000") + (data (i32.const 14320) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") + (data (i32.const 14352) "\b8\02\00\00\01\00\00\00\06\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a80?1@1C2D3E4P5Q6R7S8T9Y:[;\\e?f@hAiBj@kClDoBqErFuG}H\82I\87J\89K\8aL\8bL\8cM\92N\9dO\9ePEW{\1d|\1d}\1d\7fX\86Y\88Z\89Z\8aZ\8c[\8e\\\8f\\\ac]\ad^\ae^\af^\c2_\cc`\cda\cea\cfb\d0c\d1d\d5e\d6f\d7g\f0h\f1i\f2j\f3k\f4l\f5m\f9n\fd-\fe-\ff-PiQiRiSiTiUiViWiXiYiZi[i\\i]i^i_i\82\00\83\00\84\00\85\00\86\00\87\00\88\00\89\00\c0u\cfv\80\89\81\8a\82\8b\85\8c\86\8dp\9dq\9dv\9ew\9ex\9fy\9fz\a0{\a0|\a1}\a1\b3\a2\ba\a3\bb\a3\bc\a4\be\a5\c3\a2\cc\a4\da\a6\db\a6\e5j\ea\a7\eb\a7\ecn\f3\a2\f8\a8\f9\a8\fa\a9\fb\a9\fc\a4&\b0*\b1+\b2N\b3\84\08b\bac\bbd\bce\bdf\bem\bfn\c0o\c1p\c2~\c3\7f\c3}\cf\8d\d0\94\d1\ab\d2\ac\d3\ad\d4\b0\d5\b1\d6\b2\d7\c4\d8\c5\d9\c6\da") + (data (i32.const 22480) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00a\00z\00.\00!\00\n") + (data (i32.const 22528) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00A\00Z\00.\00!\00\n") + (data (i32.const 22576) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00a\00z\00.\00!\00\t") + (data (i32.const 22624) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\000\009\00_\00a\00z\00 \00a\00z\00.\00!\00\t") + (data (i32.const 22672) "J\00\00\00\01\00\00\00\01\00\00\00J\00\00\00D\00e\00r\00 \00W\00e\00c\00h\00s\00e\00l\00 \00a\00l\00l\00e\00i\00n\00 \00i\00s\00t\00 \00d\00a\00s\00 \00B\00e\00s\00t\00\e4\00n\00d\00i\00g\00e") + (data (i32.const 22768) "J\00\00\00\01\00\00\00\01\00\00\00J\00\00\00D\00E\00R\00 \00W\00E\00C\00H\00S\00E\00L\00 \00A\00L\00L\00E\00I\00N\00 \00I\00S\00T\00 \00D\00A\00S\00 \00B\00E\00S\00T\00\c4\00N\00D\00I\00G\00E") + (data (i32.const 22864) "J\00\00\00\01\00\00\00\01\00\00\00J\00\00\00d\00e\00r\00 \00w\00e\00c\00h\00s\00e\00l\00 \00a\00l\00l\00e\00i\00n\00 \00i\00s\00t\00 \00d\00a\00s\00 \00b\00e\00s\00t\00\e4\00n\00d\00i\00g\00e") + (data (i32.const 22960) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00@\00 \00\14 \00\14\04@\04C\043\04 \00G\045\04;\04>\042\045\04:\040\04!") + (data (i32.const 23024) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00@\00 \00\14 \00\14\04 \04#\04\13\04 \00\'\04\15\04\1b\04\1e\04\12\04\15\04\1a\04\10\04!") + (data (i32.const 23088) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00@\00 \00\14 \004\04@\04C\043\04 \00G\045\04;\04>\042\045\04:\040\04!") + (data (i32.const 23152) "D\00\00\00\01\00\00\00\01\00\00\00D\00\00\00.\" \00E\00\c5\"d\00a\00 \00=\00 \00Q\00,\00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)") + (data (i32.const 23248) "D\00\00\00\01\00\00\00\01\00\00\00D\00\00\00.\" \00E\00\c5\"D\00A\00 \00=\00 \00Q\00,\00 \00N\00 \00\92! \00\1e\",\00 \00\11\" \00F\00(\00I\00)\00 \00=\00 \00\0f\" \00G\00(\00I\00)") + (data (i32.const 23344) "D\00\00\00\01\00\00\00\01\00\00\00D\00\00\00.\" \00e\00\c5\"d\00a\00 \00=\00 \00q\00,\00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)") + (data (i32.const 23440) "H\00\00\00\01\00\00\00\01\00\00\00H\00\00\00\f0\00i\00 \001\01n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\001\01k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\001\01\83\02n") + (data (i32.const 23536) "H\00\00\00\01\00\00\00\01\00\00\00H\00\00\00\d0\00I\00 \00I\00N\00T\00\8f\01\c8\02N\00\c6\00\a9\01\8f\01N\00\8f\01L\00 \00F\00\8f\01\c8\02N\00\90\01T\00I\00K\00 \00\8f\01S\00O\00\b1\01S\00I\00\c8\02E\00I\00\a9\01N") + (data (i32.const 23632) "H\00\00\00\01\00\00\00\01\00\00\00H\00\00\00\f0\00i\00 \00i\00n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\00i\00k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\00i\00\83\02n") + (data (i32.const 23728) ".\00\00\00\01\00\00\00\01\00\00\00.\00\00\00\a3\03r\1f \00\b3\03\bd\03\c9\03\c1\03\af\03\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00\ba\03\cc\03\c8\03\b7\03") + (data (i32.const 23792) ".\00\00\00\01\00\00\00\01\00\00\00.\00\00\00\a3\03\c8\1f \00\93\03\9d\03\a9\03\a1\03\8a\03\96\03\a9\03 \00\08\1f\a0\03\f8\1f \00\a4\03\ca\1f\9d\03 \00\9a\03\8c\03\a8\03\97\03") + (data (i32.const 23856) "0\00\00\00\01\00\00\00\01\00\00\000\00\00\00\c4\03\bf\03\e6\1f \00\c3\03\c0\03\b1\03\b8\03\b9\03\bf\03\e6\1f \00\c4\03t\1f\bd\03 \00\c4\03\c1\03\bf\03\bc\03\b5\03\c1\03\ae\03,") + (data (i32.const 23920) "4\00\00\00\01\00\00\00\01\00\00\004\00\00\00\a4\03\9f\03\a5\03B\03 \00\a3\03\a0\03\91\03\98\03\99\03\9f\03\a5\03B\03 \00\a4\03\ca\1f\9d\03 \00\a4\03\a1\03\9f\03\9c\03\95\03\a1\03\89\03,") + (data (i32.const 24000) ",\00\00\00\01\00\00\00\01\00\00\00,\00\00\00\c3\03r\1f \00\b3\03\bd\03\c9\03\c1\03\af\03\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00D\1f\c8\03\b7\03") + (data (i32.const 24064) ",\00\00\00\01\00\00\00\01\00\00\00,\00\00\00\a3\03\c8\1f \00\93\03\9d\03\a9\03\a1\03\8a\03\96\03\a9\03 \00\08\1f\a0\03\f8\1f \00\a4\03\ca\1f\9d\03 \00L\1f\a8\03\97\03") + (data (i32.const 24128) "2\00\00\00\01\00\00\00\01\00\00\002\00\00\00\c0\03\bf\03z\1f \00\bc\03r\1f \00\b2\03\af\03\b1\03 \00\bc\03\b5\03\c4\03\c1\03\ac\03\b5\03\b9\03 \00\c4\03t\1f \00\b3\03\c6\1f.") + (data (i32.const 24208) "4\00\00\00\01\00\00\00\01\00\00\004\00\00\00\a0\03\9f\03\ea\1f \00\9c\03\c8\1f \00\92\03\8a\03\91\03 \00\9c\03\95\03\a4\03\a1\03\86\03\95\03\99\03 \00\a4\03\ca\1f \00\93\03\97\03B\03.") + (data (i32.const 24288) ".\00\00\00\01\00\00\00\01\00\00\00.\00\00\00\91\03\c0\03\bf\1f \00\c4\03p\1f \00\ba\03\cc\03\ba\03\ba\03\b1\03\bb\03\b1\03 \00\b2\03\b3\03\b1\03\bb\03\bc\03\ad\03\bd\03\b7\03") + (data (i32.const 24352) ".\00\00\00\01\00\00\00\01\00\00\00.\00\00\00\91\03\a0\03\bf\1f \00\a4\03\ba\1f \00\9a\03\8c\03\9a\03\9a\03\91\03\9b\03\91\03 \00\92\03\93\03\91\03\9b\03\9c\03\88\03\9d\03\97\03") + (data (i32.const 24416) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00\c4\03\f6\1f\bd\03 \00\fe\1f\95\03\bb\03\bb\03\ae\03\bd\03\c9\03\bd\03 \00\c4\03p\1f \001\1f\b5\03\c1\03\ac\03") + (data (i32.const 24480) "*\00\00\00\01\00\00\00\01\00\00\00*\00\00\00\a4\03\a9\03B\03\9d\03 \00\fe\1f\95\03\9b\03\9b\03\89\03\9d\03\a9\03\9d\03 \00\a4\03\ba\1f \009\1f\95\03\a1\03\86\03") + (data (i32.const 24544) "2\00\00\00\01\00\00\00\01\00\00\002\00\00\00\ba\03\b1\03v\1f \00\c3\03p\1f\bd\03 \00\c0\03\c1\03\f6\1f\c4\03\b1\03 \00\00\1f\bd\03\b4\03\c1\03\b5\03\b9\03\c9\03\bc\03\ad\03\bd\03\b7\03") + (data (i32.const 24624) "4\00\00\00\01\00\00\00\01\00\00\004\00\00\00\9a\03\91\03\da\1f \00\a3\03\ba\1f\9d\03 \00\a0\03\a1\03\a9\03B\03\a4\03\91\03 \00\08\1f\9d\03\94\03\a1\03\95\03\99\03\a9\03\9c\03\88\03\9d\03\97\03") + (data (i32.const 24704) "6\00\00\00\01\00\00\00\01\00\00\006\00\00\00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00f\1f \00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00\bf\1f\95\03\bb\03\b5\03\c5\03\b8\03\b5\03\c1\03\b9\03\ac\03!") + (data (i32.const 24784) ":\00\00\00\01\00\00\00\01\00\00\00:\00\00\00\a7\03\91\03\99\03B\03\a1\03\95\03,\00 \00n\1f \00\a7\03\91\03\99\03B\03\a1\03\95\03,\00 \00\bf\1f\95\03\9b\03\95\03\a5\03\98\03\95\03\a1\03\99\03\86\03!") + (data (i32.const 24864) "\80\00\00\00\01\00\00\00\01\00\00\00\80\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00 \00/\000\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z") + (data (i32.const 25008) "\80\00\00\00\01\00\00\00\01\00\00\00\80\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00 \00/\000\001\002\003\004\005\006\007\008\009\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z") + (data (i32.const 25152) "\80\00\00\00\01\00\00\00\01\00\00\00\80\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\00 \00/\000\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z") + (data (i32.const 25296) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00S\00S") + (data (i32.const 25328) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\000\01") + (data (i32.const 25360) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00i\00\07\03") + (data (i32.const 25392) "\ae\00\00\00\01\00\00\00\01\00\00\00\ae\00\00\00\a3\00\a9\00\b5\00\c0\00\c6\00\d6\00\de\00\df\00\e9\00\f6\00\ff\00\13 \14 \18 \1c \1d \1e \" & 0 \"!S\01`\01x\01~\01\ac \00\91\03\92\03\93\03\94\03\a9\03\b1\03\b2\03\b3\03\b4\03\c9\03 \00\10\04\11\04\12\04\13\04\14\040\041\042\043\044\04\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00\01\fb\fd\ff@$\82 \1f\02\1e\e5\04\84\1eP\02\d0\02N#\d0\051\05\d0\10") + (data (i32.const 25584) "\b2\00\00\00\01\00\00\00\01\00\00\00\b2\00\00\00\a3\00\a9\00\9c\03\c0\00\c6\00\d6\00\de\00S\00S\00\c9\00\d6\00x\01\13 \14 \18 \1c \1d \1e \" & 0 \"!R\01`\01x\01}\01\ac \00\91\03\92\03\93\03\94\03\a9\03\91\03\92\03\93\03\94\03\a9\03 \00\10\04\11\04\12\04\13\04\14\04\10\04\11\04\12\04\13\04\14\04\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00F\00I\00\fd\ff@$\82 (\1f\02\1e\e4\04\84\1eo,\d0\02N#\d0\051\05\90\1c") + (data (i32.const 25792) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00s\00s") + (data (i32.const 25824) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\01\fb") + (data (i32.const 25856) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00f\00i") + (data (i32.const 25888) "\b8\00\00\00\01\00\00\00\01\00\00\00\b8\00\00\00A\d8\0e\df \00A\d81\df \00A\d8y\df \00C\d8S\dc \00C\d8x\dc \00C\d8\96\dc \00C\d8\cf\dc \00C\d8\d5\dc \00C\d8\15\dd \00C\d8|\dd \00C\d8\7f\dd \00C\d8\0e\de \00C\d8\0f\de \00C\d8w\de \00C\d8\9d\de \00C\d8\a2\de \00C\d8\d7\de \00C\d8\f9\de \00C\d8\fa\de \00C\d8-\df \00C\d8.\df \00C\d8L\df \00C\d8\b4\df \00C\d8\bc\df \00C\d8\ea\df \00D\d8\\\dc \00D\d8o\dc \00D\d8u\dc \00D\d8v\dc \00D\d8{\dc \00D\d8\c1\dc") + (data (i32.const 26096) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\00\d8\00\dc") + (data (i32.const 26128) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\88\1f") + (data (i32.const 26160) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\80\1f") + (data (i32.const 26192) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\8f\1f") + (data (i32.const 26224) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\87\1f") + (data (i32.const 26256) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\fc\1f") + (data (i32.const 26288) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\f3\1f") + (data (i32.const 26320) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\00\fb") + (data (i32.const 26352) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00F\00F") + (data (i32.const 26384) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00F\00I") + (data (i32.const 26416) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\02\fb") + (data (i32.const 26448) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00F\00L") + (data (i32.const 26480) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\03\fb") + (data (i32.const 26512) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00F\00F\00I") + (data (i32.const 26544) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\04\fb") + (data (i32.const 26576) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00F\00F\00L") + (data (i32.const 26608) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\05\fb") + (data (i32.const 26640) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00S\00T") + (data (i32.const 26672) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\06\fb") + (data (i32.const 26704) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\f0\01") + (data (i32.const 26736) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00J\00\0c\03") + (data (i32.const 26768) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\96\1e") + (data (i32.const 26800) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00H\001\03") + (data (i32.const 26832) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\97\1e") + (data (i32.const 26864) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00T\00\08\03") + (data (i32.const 26896) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\98\1e") + (data (i32.const 26928) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00W\00\n\03") + (data (i32.const 26960) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\99\1e") + (data (i32.const 26992) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00Y\00\n\03") + (data (i32.const 27024) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\9a\1e") + (data (i32.const 27056) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00A\00\be\02") + (data (i32.const 27088) "@\00\00\00\01\00\00\00\01\00\00\00@\00\00\00o\00r\00i\00g\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00!\00=\00 \00e\00x\00p\00e\00c\00t\00L\00o\00w\00e\00r\00C\00o\00d\00e") + (data (i32.const 27168) "@\00\00\00\01\00\00\00\01\00\00\00@\00\00\00o\00r\00i\00g\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00!\00=\00 \00e\00x\00p\00e\00c\00t\00U\00p\00p\00e\00r\00C\00o\00d\00e") (global $std/string/str (mut i32) (i32.const 32)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/collectLock (mut i32) (i32.const 0)) @@ -550,7 +540,7 @@ ) (func $~lib/rt/pure/__retain (; 10 ;) (param $0 i32) (result i32) local.get $0 - i32.const 27568 + i32.const 27248 i32.gt_u if local.get $0 @@ -562,7 +552,7 @@ ) (func $~lib/rt/pure/__release (; 11 ;) (param $0 i32) local.get $0 - i32.const 27568 + i32.const 27248 i32.gt_u if local.get $0 @@ -1292,11 +1282,11 @@ if unreachable end - i32.const 27568 + i32.const 27248 local.tee $0 i32.const 0 i32.store - i32.const 29136 + i32.const 28816 i32.const 0 i32.store loop $for-loop|0 @@ -1307,7 +1297,7 @@ local.get $1 i32.const 2 i32.shl - i32.const 27568 + i32.const 27248 i32.add i32.const 0 i32.store offset=4 @@ -1325,7 +1315,7 @@ i32.add i32.const 2 i32.shl - i32.const 27568 + i32.const 27248 i32.add i32.const 0 i32.store offset=96 @@ -1343,13 +1333,13 @@ br $for-loop|0 end end - i32.const 27568 - i32.const 29152 + i32.const 27248 + i32.const 28832 memory.size i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 27568 + i32.const 27248 global.set $~lib/rt/tlsf/ROOT end local.get $0 @@ -1792,7 +1782,7 @@ if i32.const 0 i32.const 528 - i32.const 23 + i32.const 22 i32.const 4 call $~lib/builtins/abort unreachable @@ -3463,8 +3453,8 @@ (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i64) - (local $7 i32) + (local $6 i32) + (local $7 i64) (local $8 i64) (local $9 f64) (local $10 i64) @@ -3479,13 +3469,13 @@ br_if $folding-inner0 local.get $0 i32.load16_u - local.set $5 + local.set $6 f64.const 1 local.set $11 loop $while-continue|0 local.get $1 if (result i32) - local.get $5 + local.get $6 call $~lib/util/string/isSpace else i32.const 0 @@ -3496,7 +3486,7 @@ i32.add local.tee $0 i32.load16_u - local.set $5 + local.set $6 local.get $1 i32.const 1 i32.sub @@ -3507,7 +3497,7 @@ local.get $1 i32.eqz br_if $folding-inner0 - local.get $5 + local.get $6 i32.const 45 i32.eq if (result i32) @@ -3525,7 +3515,7 @@ local.tee $0 i32.load16_u else - local.get $5 + local.get $6 i32.const 43 i32.eq if (result i32) @@ -3541,10 +3531,10 @@ local.tee $0 i32.load16_u else - local.get $5 + local.get $6 end end - local.tee $5 + local.tee $6 i32.const 73 i32.eq i32.const 0 @@ -3573,13 +3563,13 @@ end br $folding-inner0 end - local.get $5 + local.get $6 i32.const 48 i32.sub i32.const 10 i32.ge_u i32.const 0 - local.get $5 + local.get $6 i32.const 46 i32.ne select @@ -3587,7 +3577,7 @@ local.get $0 local.set $3 loop $while-continue|1 - local.get $5 + local.get $6 i32.const 48 i32.eq if @@ -3596,7 +3586,7 @@ i32.add local.tee $0 i32.load16_u - local.set $5 + local.set $6 local.get $1 i32.const 1 i32.sub @@ -3611,7 +3601,7 @@ f64.const 0 return end - local.get $5 + local.get $6 i32.const 46 i32.eq if @@ -3639,7 +3629,7 @@ loop $for-loop|2 local.get $0 i32.load16_u - local.tee $5 + local.tee $6 i32.const 48 i32.eq if @@ -3647,10 +3637,10 @@ i32.const 1 i32.sub local.set $1 - local.get $7 + local.get $5 i32.const 1 i32.sub - local.set $7 + local.set $5 local.get $0 i32.const 2 i32.add @@ -3666,19 +3656,21 @@ return end local.get $5 + if + i32.const 0 + local.set $3 + end + local.get $6 i32.const 48 i32.sub i32.const 10 i32.ge_u i32.const 0 - i32.const 0 local.get $3 - local.get $7 - select select br_if $folding-inner0 end - local.get $5 + local.get $6 i32.const 48 i32.sub local.set $3 @@ -3687,7 +3679,7 @@ local.get $12 i32.eqz i32.const 0 - local.get $5 + local.get $6 i32.const 46 i32.eq select @@ -3707,11 +3699,11 @@ i64.const 10 i64.mul i64.add + local.get $2 local.get $3 i32.eqz i32.eqz i64.extend_i32_u - local.get $2 i64.or local.get $4 i32.const 19 @@ -3724,7 +3716,7 @@ local.set $4 else local.get $4 - local.set $7 + local.set $5 i32.const 1 local.set $12 end @@ -3739,7 +3731,7 @@ i32.add local.tee $0 i32.load16_u - local.tee $5 + local.tee $6 i32.const 48 i32.sub local.set $3 @@ -3747,10 +3739,9 @@ end end end - block $~lib/util/string/scientific|inlined.0 (result f64) - f64.const 0 + block $~lib/util/string/scientific|inlined.0 i32.const 1 - local.get $7 + local.get $5 local.get $4 local.get $12 select @@ -3762,13 +3753,14 @@ select i32.sub block $~lib/util/string/parseExp|inlined.0 (result i32) + local.get $0 + local.set $5 i32.const 1 - local.set $7 - i32.const 0 local.set $4 i32.const 0 - local.get $0 - local.tee $3 + local.set $0 + i32.const 0 + local.get $5 i32.load16_u i32.const 32 i32.or @@ -3776,12 +3768,12 @@ i32.ne br_if $~lib/util/string/parseExp|inlined.0 drop - local.get $3 + local.get $5 i32.const 2 i32.add local.tee $3 i32.load16_u - local.tee $0 + local.tee $5 i32.const 45 i32.eq if (result i32) @@ -3794,14 +3786,14 @@ br_if $~lib/util/string/parseExp|inlined.0 drop i32.const -1 - local.set $7 + local.set $4 local.get $3 i32.const 2 i32.add local.tee $3 i32.load16_u else - local.get $0 + local.get $5 i32.const 43 i32.eq if (result i32) @@ -3819,12 +3811,12 @@ local.tee $3 i32.load16_u else - local.get $0 + local.get $5 end end - local.set $0 + local.set $5 loop $while-continue|4 - local.get $0 + local.get $5 i32.const 48 i32.eq if @@ -3841,36 +3833,36 @@ i32.add local.tee $3 i32.load16_u - local.set $0 + local.set $5 br $while-continue|4 end end - local.get $0 + local.get $5 i32.const 48 i32.sub - local.set $0 + local.set $5 loop $for-loop|5 - local.get $0 + local.get $5 i32.const 10 i32.lt_u i32.const 0 local.get $1 select if - local.get $7 + local.get $4 i32.const 3200 i32.mul - local.get $4 + local.get $0 i32.const 3200 i32.ge_s br_if $~lib/util/string/parseExp|inlined.0 drop - local.get $4 + local.get $5 + local.get $0 i32.const 10 i32.mul - local.get $0 i32.add - local.set $4 + local.set $0 local.get $1 i32.const 1 i32.sub @@ -3882,12 +3874,12 @@ i32.load16_u i32.const 48 i32.sub - local.set $0 + local.set $5 br $for-loop|5 end end + local.get $0 local.get $4 - local.get $7 i32.mul end i32.add @@ -3898,20 +3890,20 @@ i64.eqz select br_if $~lib/util/string/scientific|inlined.0 - drop - f64.const inf local.get $0 i32.const 308 i32.gt_s - br_if $~lib/util/string/scientific|inlined.0 - drop + if + f64.const inf + local.set $9 + br $~lib/util/string/scientific|inlined.0 + end local.get $2 f64.convert_i64_u - local.tee $9 + local.set $9 local.get $0 i32.eqz br_if $~lib/util/string/scientific|inlined.0 - drop local.get $0 i32.const 37 i32.le_s @@ -3922,13 +3914,10 @@ select if local.get $9 - i32.const 2228 - i32.load local.get $0 - i32.const 22 - i32.sub i32.const 3 i32.shl + i32.const 1840 i32.add f64.load f64.mul @@ -3959,24 +3948,23 @@ i32.gt_s if local.get $9 - i32.const 2228 - i32.load local.get $0 i32.const 3 i32.shl + i32.const 2016 i32.add f64.load f64.mul + local.set $9 br $~lib/util/string/scientific|inlined.0 end local.get $9 - i32.const 2228 - i32.load i32.const 0 local.get $0 i32.sub i32.const 3 i32.shl + i32.const 2016 i32.add f64.load f64.div @@ -3988,17 +3976,17 @@ local.get $2 local.get $2 i64.clz - local.tee $6 + local.tee $7 i64.shl local.set $2 local.get $0 - local.tee $7 + local.tee $4 i64.extend_i32_s - local.get $6 + local.get $7 i64.sub - local.set $6 + local.set $7 loop $for-loop|6 - local.get $7 + local.get $4 i32.const -14 i32.le_s if @@ -4024,20 +4012,20 @@ i64.shl i64.add local.set $2 - local.get $6 + local.get $7 local.get $8 i64.sub - local.set $6 - local.get $7 + local.set $7 + local.get $4 i32.const 14 i32.add - local.set $7 + local.set $4 br $for-loop|6 end end local.get $2 i32.const 0 - local.get $7 + local.get $4 i32.sub call $~lib/math/ipow32 i64.extend_i32_s @@ -4065,7 +4053,7 @@ i64.shl i64.add f64.convert_i64_u - local.get $6 + local.get $7 local.get $8 i64.sub i32.wrap_i64 @@ -4074,17 +4062,16 @@ local.get $2 local.get $2 i64.ctz - local.tee $6 + local.tee $7 i64.shr_u local.set $2 + local.get $7 local.get $0 - local.tee $4 i64.extend_i32_s - local.get $6 i64.add global.set $~lib/util/string/__fixmulShift loop $for-loop|7 - local.get $4 + local.get $0 i32.const 13 i32.ge_s if @@ -4099,35 +4086,35 @@ i64.and i64.const 1220703125 i64.mul - local.tee $6 + local.tee $2 i64.const 32 i64.shr_u i64.add - local.tee $2 + local.tee $7 i64.const 32 i64.shr_u i32.wrap_i64 i32.clz - local.tee $0 + local.tee $4 i64.extend_i32_u i64.sub local.tee $8 global.get $~lib/util/string/__fixmulShift i64.add global.set $~lib/util/string/__fixmulShift - local.get $6 - local.get $0 + local.get $2 + local.get $4 i64.extend_i32_u i64.shl i64.const 31 i64.shr_u i64.const 1 i64.and - local.get $2 - local.get $0 + local.get $7 + local.get $4 i64.extend_i32_u i64.shl - local.get $6 + local.get $2 i64.const 4294967295 i64.and local.get $8 @@ -4135,14 +4122,14 @@ i64.or i64.add local.set $2 - local.get $4 + local.get $0 i32.const 13 i32.sub - local.set $4 + local.set $0 br $for-loop|7 end end - local.get $4 + local.get $0 call $~lib/math/ipow32 local.tee $0 i64.extend_i32_u @@ -4150,7 +4137,7 @@ i64.const 4294967295 i64.and i64.mul - local.set $6 + local.set $7 i64.const 32 local.get $0 i64.extend_i32_u @@ -4158,7 +4145,7 @@ i64.const 32 i64.shr_u i64.mul - local.get $6 + local.get $7 i64.const 32 i64.shr_u i64.add @@ -4174,7 +4161,7 @@ global.get $~lib/util/string/__fixmulShift i64.add global.set $~lib/util/string/__fixmulShift - local.get $6 + local.get $7 local.get $0 i64.extend_i32_u i64.shl @@ -4186,7 +4173,7 @@ local.get $0 i64.extend_i32_u i64.shl - local.get $6 + local.get $7 i64.const 4294967295 i64.and local.get $8 @@ -4199,7 +4186,9 @@ call $~lib/math/NativeMath.scalbn end end + local.set $9 end + local.get $9 local.get $11 f64.copysign return @@ -4403,9 +4392,9 @@ i32.lt_s select if - i32.const 10928 + i32.const 10896 i32.const 528 - i32.const 312 + i32.const 311 i32.const 6 call $~lib/builtins/abort unreachable @@ -4687,7 +4676,7 @@ local.get $2 call $~lib/memory/memory.copy local.get $1 - i32.const 27568 + i32.const 27248 i32.ge_u if local.get $1 @@ -5466,8 +5455,8 @@ i32.const 268435452 i32.gt_u if - i32.const 10928 - i32.const 12192 + i32.const 10896 + i32.const 12160 i32.const 14 i32.const 47 call $~lib/builtins/abort @@ -5746,8 +5735,8 @@ i32.load offset=12 i32.ge_u if - i32.const 12240 - i32.const 12192 + i32.const 12208 + i32.const 12160 i32.const 93 i32.const 41 call $~lib/builtins/abort @@ -5766,8 +5755,8 @@ if local.get $0 call $~lib/rt/pure/__release - i32.const 12304 - i32.const 12192 + i32.const 12272 + i32.const 12160 i32.const 97 i32.const 39 call $~lib/builtins/abort @@ -6106,8 +6095,7 @@ (local $10 i32) (local $11 i64) (local $12 i64) - (local $13 i32) - (local $14 i64) + (local $13 i64) local.get $3 local.get $1 i64.sub @@ -6123,7 +6111,7 @@ local.tee $11 i64.const 1 i64.sub - local.tee $14 + local.tee $13 i64.and local.set $12 local.get $3 @@ -6134,9 +6122,6 @@ local.tee $7 call $~lib/util/number/decimalCount32 local.set $4 - i32.const 15444 - i32.load - local.set $13 loop $while-continue|0 local.get $4 i32.const 0 @@ -6301,10 +6286,10 @@ global.get $~lib/util/number/_K i32.add global.set $~lib/util/number/_K - local.get $13 local.get $4 i32.const 2 i32.shl + i32.const 15280 i32.add i64.load32_u local.get $10 @@ -6413,7 +6398,7 @@ i32.sub local.set $4 local.get $3 - local.get $14 + local.get $13 i64.and local.tee $12 local.get $5 @@ -6426,12 +6411,12 @@ local.get $12 local.set $1 local.get $9 - local.get $13 i32.const 0 local.get $4 i32.sub i32.const 2 i32.shl + i32.const 15280 i32.add i64.load32_u i64.mul @@ -6742,26 +6727,33 @@ (local $2 i64) (local $3 i32) (local $4 i64) - (local $5 i64) - (local $6 i64) - (local $7 i32) + (local $5 i32) + (local $6 i32) + (local $7 i64) (local $8 i64) (local $9 i64) (local $10 i32) - (local $11 i32) + (local $11 i64) + (local $12 i64) + (local $13 i64) + (local $14 i64) + (local $15 i64) + (local $16 i64) + (local $17 i64) + (local $18 i64) local.get $1 f64.const 0 f64.lt local.tee $10 - if + if (result f64) local.get $0 i32.const 45 i32.store16 local.get $1 f64.neg - local.set $1 + else + local.get $1 end - local.get $1 i64.reinterpret_f64 local.tee $2 i64.const 9218868437227405312 @@ -6769,57 +6761,57 @@ i64.const 52 i64.shr_u i32.wrap_i64 - local.tee $11 - i32.const 0 - i32.ne - local.set $7 + local.set $5 local.get $2 i64.const 4503599627370495 i64.and - local.get $7 + local.get $5 + i32.const 0 + i32.ne + local.tee $6 i64.extend_i32_u i64.const 52 i64.shl i64.add - local.tee $5 + local.tee $2 i64.const 1 i64.shl i64.const 1 i64.add - local.tee $2 + local.tee $7 i64.clz i32.wrap_i64 local.set $3 - local.get $2 + local.get $7 local.get $3 i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_plus - local.get $11 + local.get $5 i32.const 1 - local.get $7 + local.get $6 select i32.const 1075 i32.sub - local.tee $7 + local.tee $5 i32.const 1 i32.sub local.get $3 i32.sub local.set $3 - local.get $5 - local.get $5 + local.get $2 + local.get $2 i64.const 4503599627370496 i64.eq i32.const 1 i32.add - local.tee $11 + local.tee $6 i64.extend_i32_s i64.shl i64.const 1 i64.sub - local.get $7 - local.get $11 + local.get $5 + local.get $6 i32.sub local.get $3 i32.sub @@ -6852,52 +6844,78 @@ local.tee $3 i32.const 3 i32.shl + local.tee $6 i32.sub global.set $~lib/util/number/_K - i32.const 15124 - i32.load - local.get $3 - i32.const 3 - i32.shl + local.get $6 + i32.const 14368 i32.add i64.load global.set $~lib/util/number/_frc_pow - i32.const 15348 - i32.load local.get $3 i32.const 1 i32.shl + i32.const 15088 i32.add i32.load16_s global.set $~lib/util/number/_exp_pow + local.get $2 + local.get $2 + i64.clz + i32.wrap_i64 + local.tee $3 + i64.extend_i32_s + i64.shl + local.tee $7 + i64.const 4294967295 + i64.and + local.tee $11 global.get $~lib/util/number/_frc_pow - local.tee $6 + local.tee $2 i64.const 4294967295 i64.and - local.set $2 + local.tee $13 + i64.mul + local.set $14 global.get $~lib/util/number/_frc_plus local.tee $8 i64.const 4294967295 i64.and local.tee $4 - local.get $6 - i64.const 32 - i64.shr_u - local.tee $6 - i64.mul - local.get $2 - local.get $8 - i64.const 32 - i64.shr_u - local.tee $8 - i64.mul local.get $2 - local.get $4 + i64.const 4294967295 + i64.and + local.tee $9 i64.mul + local.set $12 + global.get $~lib/util/number/_frc_minus + local.tee $15 + i64.const 4294967295 + i64.and + local.tee $16 + local.get $2 + i64.const 4294967295 + i64.and + local.tee $17 + i64.mul + local.set $18 + local.get $4 + local.get $2 i64.const 32 i64.shr_u - i64.add local.tee $4 + i64.mul + local.get $9 + local.get $8 + i64.const 32 + i64.shr_u + local.tee $8 + i64.mul + local.get $12 + i64.const 32 + i64.shr_u + i64.add + local.tee $9 i64.const 4294967295 i64.and i64.add @@ -6905,10 +6923,10 @@ i64.add i64.const 32 i64.shr_u - local.get $6 + local.get $4 local.get $8 i64.mul - local.get $4 + local.get $9 i64.const 32 i64.shr_u i64.add @@ -6916,26 +6934,23 @@ i64.const 1 i64.sub local.tee $8 - global.get $~lib/util/number/_frc_minus - local.tee $4 - i64.const 4294967295 - i64.and - local.tee $9 - local.get $6 - i64.mul + local.get $16 local.get $2 - local.get $4 i64.const 32 i64.shr_u local.tee $4 i64.mul - local.get $2 - local.get $9 + local.get $17 + local.get $15 + i64.const 32 + i64.shr_u + local.tee $9 i64.mul + local.get $18 i64.const 32 i64.shr_u i64.add - local.tee $9 + local.tee $12 i64.const 4294967295 i64.and i64.add @@ -6944,9 +6959,9 @@ i64.const 32 i64.shr_u local.get $4 - local.get $6 - i64.mul local.get $9 + i64.mul + local.get $12 i64.const 32 i64.shr_u i64.add @@ -6961,32 +6976,23 @@ i32.shl i32.add local.get $0 - local.get $5 - local.get $5 - i64.clz - i32.wrap_i64 - local.tee $0 - i64.extend_i32_s - i64.shl - local.tee $5 - i64.const 4294967295 - i64.and - local.tee $9 - local.get $6 - i64.mul + local.get $11 local.get $2 - local.get $5 i64.const 32 i64.shr_u - local.tee $5 + local.tee $2 i64.mul - local.get $2 - local.get $9 + local.get $13 + local.get $7 + i64.const 32 + i64.shr_u + local.tee $7 i64.mul + local.get $14 i64.const 32 i64.shr_u i64.add - local.tee $2 + local.tee $11 i64.const 4294967295 i64.and i64.add @@ -6994,24 +7000,24 @@ i64.add i64.const 32 i64.shr_u - local.get $5 - local.get $6 - i64.mul local.get $2 + local.get $7 + i64.mul + local.get $11 i64.const 32 i64.shr_u i64.add i64.add global.get $~lib/util/number/_exp_pow - local.tee $3 - local.get $7 - local.get $0 + local.tee $0 + local.get $5 + local.get $3 i32.sub i32.add i32.const -64 i32.sub local.get $8 - local.get $3 + local.get $0 global.get $~lib/util/number/_exp i32.add i32.const -64 @@ -7033,7 +7039,7 @@ f64.const 0 f64.eq if - i32.const 14336 + i32.const 14304 return end local.get $0 @@ -7046,11 +7052,11 @@ local.get $0 f64.ne if - i32.const 4864 + i32.const 4832 return end - i32.const 6080 - i32.const 14368 + i32.const 6048 + i32.const 14336 local.get $0 f64.const 0 f64.lt @@ -7087,23 +7093,16 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - i32.const 22340 - i32.load - local.tee $7 - i32.const 20772 - i32.load - local.tee $2 - local.get $2 local.get $0 i32.const 8 i32.shr_u - local.tee $3 + local.tee $2 + i32.const 17856 i32.add i32.load8_u i32.const 86 i32.mul + i32.const 17856 i32.add local.get $0 i32.const 255 @@ -7113,13 +7112,12 @@ i32.div_u i32.add i32.load8_u - i32.const 18052 - i32.load local.get $5 i32.const 3 i32.rem_u i32.const 2 i32.shl + i32.const 20544 i32.add i32.load i32.mul @@ -7127,14 +7125,14 @@ i32.shr_u i32.const 6 i32.rem_u - i32.const 21332 - i32.load - local.get $3 + local.get $2 + i32.const 21552 i32.add i32.load8_u i32.add i32.const 2 i32.shl + i32.const 20576 i32.add i32.load local.tee $2 @@ -7157,25 +7155,22 @@ i32.const 8 i32.shr_u local.set $4 - i32.const 22788 - i32.load - local.set $6 loop $while-continue|0 local.get $2 if - local.get $5 + local.get $4 local.get $2 i32.const 1 i32.shr_u local.tee $3 - local.get $4 i32.add i32.const 1 i32.shl - local.get $6 + i32.const 22080 i32.add i32.load8_u - local.tee $8 + local.tee $6 + local.get $5 i32.eq if (result i32) local.get $3 @@ -7183,12 +7178,12 @@ i32.add i32.const 1 i32.shl - local.get $6 + i32.const 22080 i32.add i32.load8_u offset=1 i32.const 2 i32.shl - local.get $7 + i32.const 20576 i32.add i32.load local.tee $2 @@ -7211,7 +7206,7 @@ i32.sub return else - local.get $8 + local.get $6 local.get $5 i32.gt_u if (result i32) @@ -7233,14 +7228,14 @@ local.get $0 return end + local.get $0 + local.get $3 i32.const 0 local.get $1 local.get $2 i32.xor i32.sub - local.get $3 i32.and - local.get $0 i32.add ) (func $~lib/string/String#toUpperCase (; 85 ;) (param $0 i32) (result i32) @@ -7254,7 +7249,6 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 i32) local.get $0 call $~lib/string/String#get:length local.tee $7 @@ -7272,24 +7266,21 @@ i32.const 1 call $~lib/rt/tlsf/__alloc local.set $5 - i32.const 17988 - i32.load + i32.const 17024 + call $~lib/string/String#get:length local.set $9 - i32.const 17996 - i32.load - local.set $10 loop $for-loop|0 local.get $6 local.get $7 i32.lt_u if - local.get $0 local.get $6 i32.const 1 i32.shl + local.get $0 i32.add i32.load16_u - local.tee $3 + local.tee $1 i32.const -128 i32.and if @@ -7300,17 +7291,17 @@ i32.sub i32.lt_u i32.const 0 - local.get $3 + local.get $1 i32.const 55295 i32.sub i32.const 1025 i32.lt_u select if - local.get $0 local.get $6 i32.const 1 i32.shl + local.get $0 i32.add i32.load16_u offset=2 local.tee $4 @@ -7326,8 +7317,8 @@ local.get $4 i32.const 1023 i32.and - local.get $3 - local.tee $1 + local.get $1 + local.tee $3 i32.const 1023 i32.and i32.const 10 @@ -7335,19 +7326,19 @@ i32.or i32.const 65536 i32.add - local.tee $3 + local.tee $1 i32.const 131072 i32.ge_u if - local.get $5 local.get $2 i32.const 1 i32.shl + local.get $5 i32.add - local.get $1 local.get $4 i32.const 16 i32.shl + local.get $3 i32.or i32.store local.get $2 @@ -7358,42 +7349,41 @@ end end end - local.get $3 + local.get $1 i32.const 9424 i32.sub i32.const 25 i32.le_u if - local.get $5 local.get $2 i32.const 1 i32.shl + local.get $5 i32.add - local.get $3 + local.get $1 i32.const 26 i32.sub i32.store16 else i32.const -1 - local.set $1 - local.get $3 + local.set $3 + local.get $1 i32.const 223 i32.sub i32.const 64056 i32.le_u if block $~lib/util/casemap/bsearch|inlined.0 (result i32) - local.get $10 - local.set $1 + local.get $9 + local.set $3 i32.const 0 local.set $8 loop $while-continue|1 local.get $8 - local.get $1 + local.get $3 i32.le_s if - local.get $9 - local.get $1 + local.get $3 local.get $8 i32.add i32.const 3 @@ -7403,13 +7393,14 @@ local.tee $4 i32.const 1 i32.shl + i32.const 17024 i32.add i32.load16_u - local.get $3 + local.get $1 i32.sub - local.tee $11 + local.tee $10 if - local.get $11 + local.get $10 i32.const 31 i32.shr_u if @@ -7421,7 +7412,7 @@ local.get $4 i32.const 4 i32.sub - local.set $1 + local.set $3 end else local.get $4 @@ -7432,42 +7423,46 @@ end i32.const -1 end - local.set $1 + local.set $3 end - local.get $1 + local.get $3 i32.const -1 i32.xor if - local.get $9 - local.get $1 + local.get $3 i32.const 1 i32.shl + local.tee $1 + i32.const 17024 + i32.add + i32.load offset=2 + local.set $3 + local.get $1 + i32.const 17024 i32.add - local.tee $3 i32.load16_u offset=6 local.set $1 - local.get $5 local.get $2 i32.const 1 i32.shl + local.get $5 i32.add local.tee $4 local.get $3 - i32.load offset=2 i32.store local.get $4 local.get $1 i32.store16 offset=4 - local.get $2 local.get $1 i32.const 0 i32.ne i32.const 1 i32.add + local.get $2 i32.add local.set $2 else - local.get $3 + local.get $1 i32.const 1 call $~lib/util/casemap/casemap i32.const 2097151 @@ -7476,18 +7471,18 @@ i32.const 65536 i32.lt_s if - local.get $5 local.get $2 i32.const 1 i32.shl + local.get $5 i32.add local.get $1 i32.store16 else - local.get $5 local.get $2 i32.const 1 i32.shl + local.get $5 i32.add local.get $1 i32.const 65536 @@ -7515,13 +7510,12 @@ end end else - local.get $5 local.get $2 i32.const 1 i32.shl + local.get $5 i32.add - local.get $3 - local.get $3 + local.get $1 i32.const 97 i32.sub i32.const 26 @@ -7532,6 +7526,7 @@ i32.shl i32.const -1 i32.xor + local.get $1 i32.and i32.store16 end @@ -9382,7 +9377,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2256 + i32.const 2224 call $~lib/util/string/strtod f64.const 1 f64.ne @@ -9394,7 +9389,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2288 + i32.const 2256 call $~lib/util/string/strtod f64.const 1 f64.ne @@ -9406,7 +9401,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2320 + i32.const 2288 call $~lib/util/string/strtod f64.const 1e-05 f64.ne @@ -9418,7 +9413,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2352 + i32.const 2320 call $~lib/util/string/strtod f64.const -1e-05 f64.ne @@ -9430,7 +9425,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2384 + i32.const 2352 call $~lib/util/string/strtod f64.const -3e-23 f64.ne @@ -9442,7 +9437,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2416 + i32.const 2384 call $~lib/util/string/strtod f64.const 3e21 f64.ne @@ -9454,7 +9449,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2448 + i32.const 2416 call $~lib/util/string/strtod f64.const 0.1 f64.ne @@ -9466,7 +9461,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2480 + i32.const 2448 call $~lib/util/string/strtod f64.const 0.1 f64.ne @@ -9478,7 +9473,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2512 + i32.const 2480 call $~lib/util/string/strtod f64.const 0.1 f64.ne @@ -9490,7 +9485,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2544 + i32.const 2512 call $~lib/util/string/strtod f64.const 0.25 f64.ne @@ -9502,7 +9497,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2576 + i32.const 2544 call $~lib/util/string/strtod f64.const 1e3 f64.ne @@ -9514,7 +9509,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2608 + i32.const 2576 call $~lib/util/string/strtod f64.const 1e-10 f64.ne @@ -9526,7 +9521,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2640 + i32.const 2608 call $~lib/util/string/strtod f64.const 1e-30 f64.ne @@ -9538,7 +9533,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2672 + i32.const 2640 call $~lib/util/string/strtod f64.const 1e-323 f64.ne @@ -9550,7 +9545,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2704 + i32.const 2672 call $~lib/util/string/strtod f64.const 0 f64.ne @@ -9562,7 +9557,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2736 + i32.const 2704 call $~lib/util/string/strtod f64.const 1.e+308 f64.ne @@ -9574,7 +9569,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2768 + i32.const 2736 call $~lib/util/string/strtod f64.const inf f64.ne @@ -9599,7 +9594,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2800 + i32.const 2768 call $~lib/util/string/strtod f64.const 0.1 f64.ne @@ -9611,7 +9606,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2832 + i32.const 2800 call $~lib/util/string/strtod f64.const 1e-10 f64.ne @@ -9623,7 +9618,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2880 + i32.const 2848 call $~lib/util/string/strtod f64.const 10 f64.ne @@ -9635,7 +9630,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2912 + i32.const 2880 call $~lib/util/string/strtod f64.const 1 f64.ne @@ -9647,7 +9642,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2944 + i32.const 2912 call $~lib/util/string/strtod f64.const 1 f64.ne @@ -9659,7 +9654,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2976 + i32.const 2944 call $~lib/util/string/strtod f64.const 10 f64.ne @@ -9671,7 +9666,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3024 + i32.const 2992 call $~lib/util/string/strtod f64.const 123456789 f64.ne @@ -9683,7 +9678,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3072 + i32.const 3040 call $~lib/util/string/strtod f64.const 1 f64.ne @@ -9695,7 +9690,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3120 + i32.const 3088 call $~lib/util/string/strtod f64.const 1e-60 f64.ne @@ -9707,7 +9702,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3152 + i32.const 3120 call $~lib/util/string/strtod f64.const 1.e+60 f64.ne @@ -9719,7 +9714,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3184 + i32.const 3152 call $~lib/util/string/strtod f64.const -0 f64.ne @@ -9731,7 +9726,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3216 + i32.const 3184 call $~lib/util/string/strtod f64.const 1 f64.ne @@ -9743,7 +9738,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3248 + i32.const 3216 call $~lib/util/string/strtod f64.const -1.1 f64.ne @@ -9755,7 +9750,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3296 + i32.const 3264 call $~lib/util/string/strtod f64.const 10 f64.ne @@ -9767,7 +9762,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3344 + i32.const 3312 call $~lib/util/string/strtod f64.const 10 f64.ne @@ -9779,7 +9774,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3392 + i32.const 3360 call $~lib/util/string/strtod f64.const 0.022 f64.ne @@ -9791,7 +9786,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3424 + i32.const 3392 call $~lib/util/string/strtod f64.const 11 f64.ne @@ -9803,7 +9798,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3456 + i32.const 3424 call $~lib/util/string/strtod f64.const 0 f64.ne @@ -9815,7 +9810,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3488 + i32.const 3456 call $~lib/util/string/strtod f64.const 0 f64.ne @@ -9827,7 +9822,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3520 + i32.const 3488 call $~lib/util/string/strtod f64.const 0 f64.ne @@ -9839,7 +9834,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3552 + i32.const 3520 call $~lib/util/string/strtod f64.const 1.1 f64.ne @@ -9851,7 +9846,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3584 + i32.const 3552 call $~lib/util/string/strtod f64.const -1.1 f64.ne @@ -9863,7 +9858,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3616 + i32.const 3584 call $~lib/util/string/strtod f64.const -1.1 f64.ne @@ -9875,7 +9870,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3648 + i32.const 3616 call $~lib/util/string/strtod f64.const -1.1 f64.ne @@ -9887,7 +9882,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3680 + i32.const 3648 call $~lib/util/string/strtod f64.const -1.1 f64.ne @@ -9899,7 +9894,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3712 + i32.const 3680 call $~lib/util/string/strtod f64.const 0 f64.ne @@ -9911,7 +9906,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3744 + i32.const 3712 call $~lib/util/string/strtod f64.const 0 f64.ne @@ -9923,7 +9918,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3776 + i32.const 3744 call $~lib/util/string/strtod f64.const 1 f64.ne @@ -9935,7 +9930,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3808 + i32.const 3776 call $~lib/util/string/strtod f64.const 0 f64.ne @@ -9947,7 +9942,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3840 + i32.const 3808 call $~lib/util/string/strtod f64.const 0 f64.ne @@ -9959,7 +9954,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3872 + i32.const 3840 call $~lib/util/string/strtod f64.const 10 f64.ne @@ -9971,7 +9966,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3904 + i32.const 3872 call $~lib/util/string/strtod f64.const 10 f64.ne @@ -9983,7 +9978,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3936 + i32.const 3904 call $~lib/util/string/strtod f64.const 0 f64.ne @@ -9995,7 +9990,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3968 + i32.const 3936 call $~lib/util/string/strtod f64.const 1 f64.ne @@ -10007,7 +10002,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4000 + i32.const 3968 call $~lib/util/string/strtod f64.const 0.1 f64.ne @@ -10019,7 +10014,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4032 + i32.const 4000 call $~lib/util/string/strtod f64.const 1 f64.ne @@ -10031,7 +10026,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4064 + i32.const 4032 call $~lib/util/string/strtod f64.const 10 f64.ne @@ -10043,7 +10038,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4096 + i32.const 4064 call $~lib/util/string/strtod f64.const 1 f64.ne @@ -10055,7 +10050,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4128 + i32.const 4096 call $~lib/util/string/strtod f64.const 0.1 f64.ne @@ -10067,7 +10062,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4160 + i32.const 4128 call $~lib/util/string/strtod f64.const 0.01 f64.ne @@ -10079,7 +10074,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4192 + i32.const 4160 call $~lib/util/string/strtod f64.const 0 f64.ne @@ -10091,7 +10086,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4224 + i32.const 4192 call $~lib/util/string/strtod f64.const 0 f64.ne @@ -10103,7 +10098,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4256 + i32.const 4224 call $~lib/util/string/strtod f64.const 0 f64.ne @@ -10115,7 +10110,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4288 + i32.const 4256 call $~lib/util/string/strtod f64.const 0.1 f64.ne @@ -10127,7 +10122,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4320 + i32.const 4288 call $~lib/util/string/strtod f64.const 0 f64.ne @@ -10139,7 +10134,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4352 + i32.const 4320 call $~lib/util/string/strtod f64.const 0 f64.ne @@ -10151,7 +10146,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4384 + i32.const 4352 call $~lib/util/string/strtod f64.const 1 f64.ne @@ -10163,7 +10158,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4416 + i32.const 4384 call $~lib/util/string/strtod f64.const 0.1 f64.ne @@ -10175,7 +10170,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4448 + i32.const 4416 call $~lib/util/string/strtod f64.const 0 f64.ne @@ -10187,7 +10182,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4480 + i32.const 4448 call $~lib/util/string/strtod f64.const 0 f64.ne @@ -10199,7 +10194,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4512 + i32.const 4480 call $~lib/util/string/strtod f64.const -0 f64.ne @@ -10211,7 +10206,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4544 + i32.const 4512 call $~lib/util/string/strtod f64.const 0 f64.ne @@ -10223,7 +10218,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4576 + i32.const 4544 call $~lib/util/string/strtod f64.const 0 f64.ne @@ -10235,7 +10230,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4608 + i32.const 4576 call $~lib/util/string/strtod local.tee $3 local.get $3 @@ -10248,7 +10243,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4640 + i32.const 4608 call $~lib/util/string/strtod local.tee $3 local.get $3 @@ -10261,7 +10256,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4672 + i32.const 4640 call $~lib/util/string/strtod local.tee $3 local.get $3 @@ -10274,7 +10269,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4704 + i32.const 4672 call $~lib/util/string/strtod local.tee $3 local.get $3 @@ -10287,7 +10282,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4736 + i32.const 4704 call $~lib/util/string/strtod local.tee $3 local.get $3 @@ -10300,7 +10295,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4768 + i32.const 4736 call $~lib/util/string/strtod local.tee $3 local.get $3 @@ -10313,7 +10308,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4800 + i32.const 4768 call $~lib/util/string/strtod local.tee $3 local.get $3 @@ -10326,7 +10321,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4832 + i32.const 4800 call $~lib/util/string/strtod local.tee $3 local.get $3 @@ -10339,7 +10334,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4864 + i32.const 4832 call $~lib/util/string/strtod local.tee $3 local.get $3 @@ -10352,7 +10347,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4896 + i32.const 4864 call $~lib/util/string/strtod local.tee $3 local.get $3 @@ -10365,7 +10360,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4928 + i32.const 4896 call $~lib/util/string/strtod local.tee $3 local.get $3 @@ -10378,7 +10373,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4960 + i32.const 4928 call $~lib/util/string/strtod local.tee $3 local.get $3 @@ -10391,7 +10386,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4992 + i32.const 4960 call $~lib/util/string/strtod local.tee $3 local.get $3 @@ -10404,7 +10399,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5024 + i32.const 4992 call $~lib/util/string/strtod local.tee $3 local.get $3 @@ -10417,7 +10412,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5056 + i32.const 5024 call $~lib/util/string/strtod local.tee $3 local.get $3 @@ -10430,7 +10425,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5088 + i32.const 5056 call $~lib/util/string/strtod local.tee $3 local.get $3 @@ -10443,7 +10438,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5120 + i32.const 5088 call $~lib/util/string/strtod f64.const 1e22 f64.ne @@ -10455,7 +10450,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5152 + i32.const 5120 call $~lib/util/string/strtod f64.const 1e-22 f64.ne @@ -10467,7 +10462,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5184 + i32.const 5152 call $~lib/util/string/strtod f64.const 1.e+23 f64.ne @@ -10479,7 +10474,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5216 + i32.const 5184 call $~lib/util/string/strtod f64.const 1e-23 f64.ne @@ -10491,7 +10486,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5248 + i32.const 5216 call $~lib/util/string/strtod f64.const 1.e+37 f64.ne @@ -10503,7 +10498,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5280 + i32.const 5248 call $~lib/util/string/strtod f64.const 1e-37 f64.ne @@ -10515,7 +10510,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5312 + i32.const 5280 call $~lib/util/string/strtod f64.const 1.e+38 f64.ne @@ -10527,7 +10522,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5344 + i32.const 5312 call $~lib/util/string/strtod f64.const 1e-38 f64.ne @@ -10539,7 +10534,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5376 + i32.const 5344 call $~lib/util/string/strtod f64.const 2.220446049250313e-16 f64.ne @@ -10551,7 +10546,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5440 + i32.const 5408 call $~lib/util/string/strtod f64.const 1797693134862315708145274e284 f64.ne @@ -10563,7 +10558,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5504 + i32.const 5472 call $~lib/util/string/strtod f64.const 5e-324 f64.ne @@ -10575,7 +10570,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5536 + i32.const 5504 call $~lib/util/string/strtod f64.const 1.e+308 f64.ne @@ -10587,7 +10582,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5584 + i32.const 5552 call $~lib/util/string/strtod f64.const 1 f64.ne @@ -10599,7 +10594,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5728 + i32.const 5696 call $~lib/util/string/strtod f64.const 0 f64.ne @@ -10611,7 +10606,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5760 + i32.const 5728 call $~lib/util/string/strtod f64.const inf f64.ne @@ -10623,7 +10618,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5792 + i32.const 5760 call $~lib/util/string/strtod f64.const 0 f64.ne @@ -10635,7 +10630,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5824 + i32.const 5792 call $~lib/util/string/strtod f64.const -inf f64.ne @@ -10647,7 +10642,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5856 + i32.const 5824 call $~lib/util/string/strtod f64.const 0 f64.ne @@ -10659,7 +10654,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5904 + i32.const 5872 call $~lib/util/string/strtod f64.const inf f64.ne @@ -10671,7 +10666,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5952 + i32.const 5920 call $~lib/util/string/strtod f64.const inf f64.ne @@ -10683,7 +10678,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5984 + i32.const 5952 call $~lib/util/string/strtod f64.const inf f64.ne @@ -10695,7 +10690,7 @@ call $~lib/builtins/abort unreachable end - i32.const 6032 + i32.const 6000 call $~lib/util/string/strtod f64.const inf f64.ne @@ -10707,7 +10702,7 @@ call $~lib/builtins/abort unreachable end - i32.const 6080 + i32.const 6048 call $~lib/util/string/strtod f64.const -inf f64.ne @@ -10719,7 +10714,7 @@ call $~lib/builtins/abort unreachable end - i32.const 6128 + i32.const 6096 call $~lib/util/string/strtod f64.const inf f64.ne @@ -10731,7 +10726,7 @@ call $~lib/builtins/abort unreachable end - i32.const 6176 + i32.const 6144 call $~lib/util/string/strtod f64.const inf f64.ne @@ -10743,7 +10738,7 @@ call $~lib/builtins/abort unreachable end - i32.const 6224 + i32.const 6192 call $~lib/util/string/strtod local.tee $3 local.get $3 @@ -10756,7 +10751,7 @@ call $~lib/builtins/abort unreachable end - i32.const 6256 + i32.const 6224 call $~lib/util/string/strtod local.tee $3 local.get $3 @@ -10769,7 +10764,7 @@ call $~lib/builtins/abort unreachable end - i32.const 6288 + i32.const 6256 call $~lib/util/string/strtod local.tee $3 local.get $3 @@ -10782,7 +10777,7 @@ call $~lib/builtins/abort unreachable end - i32.const 6320 + i32.const 6288 call $~lib/util/string/strtod f64.const 0 f64.ne @@ -10794,7 +10789,7 @@ call $~lib/builtins/abort unreachable end - i32.const 6512 + i32.const 6480 call $~lib/util/string/strtod f64.const 1e-323 f64.ne @@ -10806,7 +10801,7 @@ call $~lib/builtins/abort unreachable end - i32.const 6704 + i32.const 6672 call $~lib/util/string/strtod f64.const 2.225073858507202e-308 f64.ne @@ -10818,17 +10813,17 @@ call $~lib/builtins/abort unreachable end - i32.const 6896 - i32.const 7056 + i32.const 6864 + i32.const 7024 call $~lib/string/String.__concat local.tee $46 - i32.const 7216 + i32.const 7184 call $~lib/string/String.__concat local.tee $47 - i32.const 7376 + i32.const 7344 call $~lib/string/String.__concat local.tee $48 - i32.const 7536 + i32.const 7504 call $~lib/string/String.__concat local.tee $49 call $~lib/util/string/strtod @@ -10842,7 +10837,7 @@ call $~lib/builtins/abort unreachable end - i32.const 7696 + i32.const 7664 call $~lib/util/string/strtod f64.const 9.753531888799502e-104 f64.ne @@ -10854,7 +10849,7 @@ call $~lib/builtins/abort unreachable end - i32.const 7808 + i32.const 7776 call $~lib/util/string/strtod f64.const 0.5961860348131807 f64.ne @@ -10866,7 +10861,7 @@ call $~lib/builtins/abort unreachable end - i32.const 7920 + i32.const 7888 call $~lib/util/string/strtod f64.const 0.18150131692180388 f64.ne @@ -10878,7 +10873,7 @@ call $~lib/builtins/abort unreachable end - i32.const 8032 + i32.const 8000 call $~lib/util/string/strtod f64.const 0.42070823575344535 f64.ne @@ -10890,7 +10885,7 @@ call $~lib/builtins/abort unreachable end - i32.const 8144 + i32.const 8112 call $~lib/util/string/strtod f64.const 0.6654686306516261 f64.ne @@ -10902,7 +10897,7 @@ call $~lib/builtins/abort unreachable end - i32.const 8256 + i32.const 8224 call $~lib/util/string/strtod f64.const 0.6101852922970868 f64.ne @@ -10914,7 +10909,7 @@ call $~lib/builtins/abort unreachable end - i32.const 8368 + i32.const 8336 call $~lib/util/string/strtod f64.const 0.7696695208236968 f64.ne @@ -10926,7 +10921,7 @@ call $~lib/builtins/abort unreachable end - i32.const 8480 + i32.const 8448 call $~lib/util/string/strtod f64.const 0.25050653222286823 f64.ne @@ -10938,7 +10933,7 @@ call $~lib/builtins/abort unreachable end - i32.const 8592 + i32.const 8560 call $~lib/util/string/strtod f64.const 0.2740037230228005 f64.ne @@ -10950,7 +10945,7 @@ call $~lib/builtins/abort unreachable end - i32.const 8704 + i32.const 8672 call $~lib/util/string/strtod f64.const 0.20723093500497428 f64.ne @@ -10962,7 +10957,7 @@ call $~lib/builtins/abort unreachable end - i32.const 8816 + i32.const 8784 call $~lib/util/string/strtod f64.const 7.900280238081605 f64.ne @@ -10974,7 +10969,7 @@ call $~lib/builtins/abort unreachable end - i32.const 8928 + i32.const 8896 call $~lib/util/string/strtod f64.const 98.22860653737297 f64.ne @@ -10986,7 +10981,7 @@ call $~lib/builtins/abort unreachable end - i32.const 9040 + i32.const 9008 call $~lib/util/string/strtod f64.const 746.894972319037 f64.ne @@ -10998,7 +10993,7 @@ call $~lib/builtins/abort unreachable end - i32.const 9152 + i32.const 9120 call $~lib/util/string/strtod f64.const 1630.2683202827284 f64.ne @@ -11010,7 +11005,7 @@ call $~lib/builtins/abort unreachable end - i32.const 9264 + i32.const 9232 call $~lib/util/string/strtod f64.const 46371.68629719171 f64.ne @@ -11022,7 +11017,7 @@ call $~lib/builtins/abort unreachable end - i32.const 9376 + i32.const 9344 call $~lib/util/string/strtod f64.const 653780.5944497711 f64.ne @@ -11034,7 +11029,7 @@ call $~lib/builtins/abort unreachable end - i32.const 9488 + i32.const 9456 call $~lib/util/string/strtod f64.const 234632.43565024371 f64.ne @@ -11046,7 +11041,7 @@ call $~lib/builtins/abort unreachable end - i32.const 9600 + i32.const 9568 call $~lib/util/string/strtod f64.const 97094817.16420048 f64.ne @@ -11058,7 +11053,7 @@ call $~lib/builtins/abort unreachable end - i32.const 9712 + i32.const 9680 call $~lib/util/string/strtod f64.const 499690852.20518744 f64.ne @@ -11070,7 +11065,7 @@ call $~lib/builtins/abort unreachable end - i32.const 9824 + i32.const 9792 call $~lib/util/string/strtod f64.const 7925201200557245595648 f64.ne @@ -11082,7 +11077,7 @@ call $~lib/builtins/abort unreachable end - i32.const 9936 + i32.const 9904 call $~lib/util/string/strtod f64.const 6096564585983177528398588e5 f64.ne @@ -11094,7 +11089,7 @@ call $~lib/builtins/abort unreachable end - i32.const 10048 + i32.const 10016 call $~lib/util/string/strtod f64.const 4800416117477028695992383e42 f64.ne @@ -11106,7 +11101,7 @@ call $~lib/builtins/abort unreachable end - i32.const 10160 + i32.const 10128 call $~lib/util/string/strtod f64.const 8524829079817968137287277e80 f64.ne @@ -11118,7 +11113,7 @@ call $~lib/builtins/abort unreachable end - i32.const 10272 + i32.const 10240 call $~lib/util/string/strtod f64.const 3271239291709782092398754e243 f64.ne @@ -11130,7 +11125,7 @@ call $~lib/builtins/abort unreachable end - i32.const 10384 + i32.const 10352 call $~lib/util/string/strtod local.tee $3 local.get $3 @@ -11143,7 +11138,7 @@ call $~lib/builtins/abort unreachable end - i32.const 10416 + i32.const 10384 call $~lib/util/string/strtod f64.const 0.1 f64.ne @@ -11156,11 +11151,11 @@ unreachable end i32.const 320 - i32.const 10448 + i32.const 10416 call $~lib/string/String.__concat local.tee $2 local.get $2 - i32.const 10480 + i32.const 10448 call $~lib/string/String.__eq i32.eqz if @@ -11221,7 +11216,7 @@ unreachable end i32.const 320 - i32.const 10448 + i32.const 10416 call $~lib/string/String.__ne i32.eqz if @@ -11244,8 +11239,8 @@ call $~lib/builtins/abort unreachable end + i32.const 10480 i32.const 10512 - i32.const 10544 call $~lib/string/String.__ne i32.eqz if @@ -11256,8 +11251,8 @@ call $~lib/builtins/abort unreachable end - i32.const 10512 - i32.const 10512 + i32.const 10480 + i32.const 10480 call $~lib/string/String.__eq i32.eqz if @@ -11268,8 +11263,8 @@ call $~lib/builtins/abort unreachable end + i32.const 10544 i32.const 10576 - i32.const 10608 call $~lib/string/String.__ne i32.eqz if @@ -11280,8 +11275,8 @@ call $~lib/builtins/abort unreachable end + i32.const 10608 i32.const 10640 - i32.const 10672 call $~lib/string/String.__ne i32.eqz if @@ -11292,8 +11287,8 @@ call $~lib/builtins/abort unreachable end - i32.const 10704 - i32.const 10704 + i32.const 10672 + i32.const 10672 call $~lib/string/String.__eq i32.eqz if @@ -11304,8 +11299,8 @@ call $~lib/builtins/abort unreachable end + i32.const 10672 i32.const 10704 - i32.const 10736 call $~lib/string/String.__ne i32.eqz if @@ -11316,8 +11311,8 @@ call $~lib/builtins/abort unreachable end - i32.const 10768 - i32.const 10816 + i32.const 10736 + i32.const 10784 call $~lib/string/String.__ne i32.eqz if @@ -11328,7 +11323,7 @@ call $~lib/builtins/abort unreachable end - i32.const 10448 + i32.const 10416 i32.const 320 call $~lib/string/String.__gt i32.eqz @@ -11340,7 +11335,7 @@ call $~lib/builtins/abort unreachable end - i32.const 10864 + i32.const 10832 i32.const 320 call $~lib/string/String.__gt i32.eqz @@ -11352,8 +11347,8 @@ call $~lib/builtins/abort unreachable end + i32.const 10832 i32.const 10864 - i32.const 10896 call $~lib/string/String.__gte i32.eqz if @@ -11364,8 +11359,8 @@ call $~lib/builtins/abort unreachable end - i32.const 10864 - i32.const 10480 + i32.const 10832 + i32.const 10448 call $~lib/string/String.__gt i32.eqz if @@ -11376,8 +11371,8 @@ call $~lib/builtins/abort unreachable end - i32.const 10864 - i32.const 10480 + i32.const 10832 + i32.const 10448 call $~lib/string/String.__lt if i32.const 0 @@ -11387,7 +11382,7 @@ call $~lib/builtins/abort unreachable end - i32.const 10448 + i32.const 10416 i32.const 0 call $~lib/string/String.__lt if @@ -11399,7 +11394,7 @@ unreachable end i32.const 0 - i32.const 10448 + i32.const 10416 call $~lib/string/String.__lt if i32.const 0 @@ -11613,7 +11608,7 @@ i32.const 2 call $~lib/string/String#repeat local.tee $53 - i32.const 10896 + i32.const 10864 call $~lib/string/String.__eq i32.eqz if @@ -11628,7 +11623,7 @@ i32.const 3 call $~lib/string/String#repeat local.tee $54 - i32.const 10976 + i32.const 10944 call $~lib/string/String.__eq i32.eqz if @@ -11639,11 +11634,11 @@ call $~lib/builtins/abort unreachable end - i32.const 10480 + i32.const 10448 i32.const 4 call $~lib/string/String#repeat local.tee $55 - i32.const 11008 + i32.const 10976 call $~lib/string/String.__eq i32.eqz if @@ -11658,7 +11653,7 @@ i32.const 5 call $~lib/string/String#repeat local.tee $56 - i32.const 11040 + i32.const 11008 call $~lib/string/String.__eq i32.eqz if @@ -11673,7 +11668,7 @@ i32.const 6 call $~lib/string/String#repeat local.tee $57 - i32.const 11072 + i32.const 11040 call $~lib/string/String.__eq i32.eqz if @@ -11688,7 +11683,7 @@ i32.const 7 call $~lib/string/String#repeat local.tee $58 - i32.const 11104 + i32.const 11072 call $~lib/string/String.__eq i32.eqz if @@ -11717,10 +11712,10 @@ end i32.const 272 i32.const 272 - i32.const 4608 + i32.const 4576 call $~lib/string/String#replace local.tee $60 - i32.const 4608 + i32.const 4576 call $~lib/string/String.__eq i32.eqz if @@ -11731,8 +11726,8 @@ call $~lib/builtins/abort unreachable end - i32.const 4608 - i32.const 4608 + i32.const 4576 + i32.const 4576 i32.const 272 call $~lib/string/String#replace local.tee $61 @@ -11747,12 +11742,12 @@ call $~lib/builtins/abort unreachable end - i32.const 4608 + i32.const 4576 i32.const 272 i32.const 272 call $~lib/string/String#replace local.tee $62 - i32.const 4608 + i32.const 4576 call $~lib/string/String.__eq i32.eqz if @@ -11764,8 +11759,8 @@ unreachable end i32.const 800 - i32.const 4640 i32.const 4608 + i32.const 4576 call $~lib/string/String#replace local.tee $63 i32.const 800 @@ -11781,10 +11776,10 @@ end i32.const 800 i32.const 800 - i32.const 4608 + i32.const 4576 call $~lib/string/String#replace local.tee $64 - i32.const 4608 + i32.const 4576 call $~lib/string/String.__eq i32.eqz if @@ -11797,7 +11792,7 @@ end i32.const 800 i32.const 1248 - i32.const 4608 + i32.const 4576 call $~lib/string/String#replace local.tee $65 i32.const 800 @@ -11812,8 +11807,8 @@ unreachable end i32.const 800 - i32.const 10480 - i32.const 10480 + i32.const 10448 + i32.const 10448 call $~lib/string/String#replace local.tee $66 i32.const 800 @@ -11827,12 +11822,12 @@ call $~lib/builtins/abort unreachable end - i32.const 11136 - i32.const 4640 + i32.const 11104 i32.const 4608 + i32.const 4576 call $~lib/string/String#replace local.tee $67 - i32.const 11168 + i32.const 11136 call $~lib/string/String.__eq i32.eqz if @@ -11845,10 +11840,10 @@ end i32.const 800 i32.const 272 - i32.const 4608 + i32.const 4576 call $~lib/string/String#replace local.tee $68 - i32.const 11200 + i32.const 11168 call $~lib/string/String.__eq i32.eqz if @@ -11859,12 +11854,12 @@ call $~lib/builtins/abort unreachable end + i32.const 11200 i32.const 11232 - i32.const 11264 - i32.const 4608 + i32.const 4576 call $~lib/string/String#replace local.tee $69 - i32.const 11200 + i32.const 11168 call $~lib/string/String.__eq i32.eqz if @@ -11876,11 +11871,11 @@ unreachable end i32.const 800 + i32.const 11264 i32.const 11296 - i32.const 11328 call $~lib/string/String#replace local.tee $70 - i32.const 11360 + i32.const 11328 call $~lib/string/String.__eq i32.eqz if @@ -11892,11 +11887,11 @@ unreachable end i32.const 800 - i32.const 11296 + i32.const 11264 i32.const 272 call $~lib/string/String#replace local.tee $71 - i32.const 10480 + i32.const 10448 call $~lib/string/String.__eq i32.eqz if @@ -11924,8 +11919,8 @@ unreachable end i32.const 800 - i32.const 4640 i32.const 4608 + i32.const 4576 call $~lib/string/String#replaceAll local.tee $73 i32.const 800 @@ -11941,10 +11936,10 @@ end i32.const 992 i32.const 800 - i32.const 4608 + i32.const 4576 call $~lib/string/String#replaceAll local.tee $74 - i32.const 11328 + i32.const 11296 call $~lib/string/String.__eq i32.eqz if @@ -11955,12 +11950,12 @@ call $~lib/builtins/abort unreachable end - i32.const 11392 + i32.const 11360 i32.const 800 - i32.const 4608 + i32.const 4576 call $~lib/string/String#replaceAll local.tee $75 - i32.const 11440 + i32.const 11408 call $~lib/string/String.__eq i32.eqz if @@ -11972,8 +11967,8 @@ unreachable end i32.const 992 - i32.const 10480 - i32.const 10480 + i32.const 10448 + i32.const 10448 call $~lib/string/String#replaceAll local.tee $76 i32.const 992 @@ -11987,12 +11982,12 @@ call $~lib/builtins/abort unreachable end - i32.const 11472 - i32.const 320 i32.const 11440 + i32.const 320 + i32.const 11408 call $~lib/string/String#replaceAll local.tee $77 - i32.const 11504 + i32.const 11472 call $~lib/string/String.__eq i32.eqz if @@ -12004,11 +11999,11 @@ unreachable end i32.const 992 - i32.const 10480 - i32.const 11328 + i32.const 10448 + i32.const 11296 call $~lib/string/String#replaceAll local.tee $78 - i32.const 11552 + i32.const 11520 call $~lib/string/String.__eq i32.eqz if @@ -12019,12 +12014,12 @@ call $~lib/builtins/abort unreachable end + i32.const 11552 i32.const 11584 - i32.const 11616 - i32.const 11328 + i32.const 11296 call $~lib/string/String#replaceAll local.tee $79 - i32.const 11648 + i32.const 11616 call $~lib/string/String.__eq i32.eqz if @@ -12037,7 +12032,7 @@ end i32.const 800 i32.const 1248 - i32.const 4608 + i32.const 4576 call $~lib/string/String#replaceAll local.tee $80 i32.const 800 @@ -12051,9 +12046,9 @@ call $~lib/builtins/abort unreachable end - i32.const 1248 - i32.const 11680 - i32.const 11328 + i32.const 1248 + i32.const 11648 + i32.const 11296 call $~lib/string/String#replaceAll local.tee $81 i32.const 1248 @@ -12068,11 +12063,11 @@ unreachable end i32.const 800 - i32.const 11712 - i32.const 4608 + i32.const 11680 + i32.const 4576 call $~lib/string/String#replaceAll local.tee $82 - i32.const 11744 + i32.const 11712 call $~lib/string/String.__eq i32.eqz if @@ -12083,12 +12078,12 @@ call $~lib/builtins/abort unreachable end - i32.const 10480 - i32.const 10480 - i32.const 4608 + i32.const 10448 + i32.const 10448 + i32.const 4576 call $~lib/string/String#replaceAll local.tee $83 - i32.const 4608 + i32.const 4576 call $~lib/string/String.__eq i32.eqz if @@ -12099,12 +12094,12 @@ call $~lib/builtins/abort unreachable end - i32.const 11136 - i32.const 4640 + i32.const 11104 i32.const 4608 + i32.const 4576 call $~lib/string/String#replaceAll local.tee $84 - i32.const 11776 + i32.const 11744 call $~lib/string/String.__eq i32.eqz if @@ -12133,10 +12128,10 @@ end i32.const 272 i32.const 272 - i32.const 4608 + i32.const 4576 call $~lib/string/String#replaceAll local.tee $86 - i32.const 4608 + i32.const 4576 call $~lib/string/String.__eq i32.eqz if @@ -12147,8 +12142,8 @@ call $~lib/builtins/abort unreachable end - i32.const 4608 - i32.const 4608 + i32.const 4576 + i32.const 4576 i32.const 272 call $~lib/string/String#replaceAll local.tee $87 @@ -12163,12 +12158,12 @@ call $~lib/builtins/abort unreachable end - i32.const 4608 + i32.const 4576 i32.const 272 i32.const 272 call $~lib/string/String#replaceAll local.tee $88 - i32.const 4608 + i32.const 4576 call $~lib/string/String.__eq i32.eqz if @@ -12181,10 +12176,10 @@ end i32.const 800 i32.const 800 - i32.const 4640 + i32.const 4608 call $~lib/string/String#replaceAll local.tee $89 - i32.const 4640 + i32.const 4608 call $~lib/string/String.__eq i32.eqz if @@ -12197,7 +12192,7 @@ end i32.const 800 i32.const 1216 - i32.const 4640 + i32.const 4608 call $~lib/string/String#replaceAll local.tee $90 i32.const 800 @@ -12213,10 +12208,10 @@ end i32.const 800 i32.const 272 - i32.const 4608 + i32.const 4576 call $~lib/string/String#replaceAll local.tee $91 - i32.const 11808 + i32.const 11776 call $~lib/string/String.__eq i32.eqz if @@ -12245,14 +12240,14 @@ end global.get $std/string/str call $~lib/rt/pure/__release - i32.const 11840 + i32.const 11808 global.set $std/string/str - i32.const 11840 + i32.const 11808 i32.const 0 i32.const 2147483647 call $~lib/string/String#slice local.tee $93 - i32.const 11840 + i32.const 11808 call $~lib/string/String.__eq i32.eqz if @@ -12268,7 +12263,7 @@ i32.const 2147483647 call $~lib/string/String#slice local.tee $94 - i32.const 11888 + i32.const 11856 call $~lib/string/String.__eq i32.eqz if @@ -12284,7 +12279,7 @@ i32.const 2147483647 call $~lib/string/String#slice local.tee $95 - i32.const 11920 + i32.const 11888 call $~lib/string/String.__eq i32.eqz if @@ -12300,7 +12295,7 @@ i32.const 7 call $~lib/string/String#slice local.tee $96 - i32.const 11952 + i32.const 11920 call $~lib/string/String.__eq i32.eqz if @@ -12316,7 +12311,7 @@ i32.const -6 call $~lib/string/String#slice local.tee $97 - i32.const 11984 + i32.const 11952 call $~lib/string/String.__eq i32.eqz if @@ -12348,7 +12343,7 @@ i32.const -1 call $~lib/string/String#slice local.tee $99 - i32.const 12016 + i32.const 11984 call $~lib/string/String.__eq i32.eqz if @@ -12364,7 +12359,7 @@ i32.const 2147483647 call $~lib/string/String#substr local.tee $100 - i32.const 11840 + i32.const 11808 call $~lib/string/String.__eq i32.eqz if @@ -12380,7 +12375,7 @@ i32.const 2147483647 call $~lib/string/String#substr local.tee $101 - i32.const 11888 + i32.const 11856 call $~lib/string/String.__eq i32.eqz if @@ -12396,7 +12391,7 @@ i32.const 2147483647 call $~lib/string/String#substr local.tee $102 - i32.const 11920 + i32.const 11888 call $~lib/string/String.__eq i32.eqz if @@ -12412,7 +12407,7 @@ i32.const 7 call $~lib/string/String#substr local.tee $103 - i32.const 12064 + i32.const 12032 call $~lib/string/String.__eq i32.eqz if @@ -12444,7 +12439,7 @@ i32.const 3 call $~lib/string/String#substr local.tee $105 - i32.const 12096 + i32.const 12064 call $~lib/string/String.__eq i32.eqz if @@ -12476,7 +12471,7 @@ i32.const 100 call $~lib/string/String#substr local.tee $107 - i32.const 11840 + i32.const 11808 call $~lib/string/String.__eq i32.eqz if @@ -12492,7 +12487,7 @@ i32.const 4 call $~lib/string/String#substr local.tee $108 - i32.const 12128 + i32.const 12096 call $~lib/string/String.__eq i32.eqz if @@ -12524,7 +12519,7 @@ i32.const 2147483647 call $~lib/string/String#substring local.tee $110 - i32.const 11840 + i32.const 11808 call $~lib/string/String.__eq i32.eqz if @@ -12540,7 +12535,7 @@ i32.const 2147483647 call $~lib/string/String#substring local.tee $111 - i32.const 11840 + i32.const 11808 call $~lib/string/String.__eq i32.eqz if @@ -12556,7 +12551,7 @@ i32.const 2147483647 call $~lib/string/String#substring local.tee $112 - i32.const 11840 + i32.const 11808 call $~lib/string/String.__eq i32.eqz if @@ -12572,7 +12567,7 @@ i32.const 7 call $~lib/string/String#substring local.tee $113 - i32.const 11952 + i32.const 11920 call $~lib/string/String.__eq i32.eqz if @@ -12604,7 +12599,7 @@ i32.const 3 call $~lib/string/String#substring local.tee $115 - i32.const 12160 + i32.const 12128 call $~lib/string/String.__eq i32.eqz if @@ -12636,7 +12631,7 @@ i32.const 100 call $~lib/string/String#substring local.tee $117 - i32.const 11840 + i32.const 11808 call $~lib/string/String.__eq i32.eqz if @@ -12762,8 +12757,8 @@ call $~lib/builtins/abort unreachable end - i32.const 12416 - i32.const 4800 + i32.const 12384 + i32.const 4768 i32.const 2147483647 call $~lib/string/String#split local.get $2 @@ -12777,7 +12772,7 @@ i32.const 0 call $~lib/array/Array<~lib/string/String>#__get local.tee $1 - i32.const 12416 + i32.const 12384 call $~lib/string/String.__eq local.set $0 local.get $1 @@ -12796,7 +12791,7 @@ call $~lib/builtins/abort unreachable end - i32.const 12416 + i32.const 12384 i32.const 1056 i32.const 2147483647 call $~lib/string/String#split @@ -12826,7 +12821,7 @@ i32.const 1 call $~lib/array/Array<~lib/string/String>#__get local.tee $1 - i32.const 10448 + i32.const 10416 call $~lib/string/String.__eq local.set $0 local.get $1 @@ -12841,7 +12836,7 @@ i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.tee $1 - i32.const 11296 + i32.const 11264 call $~lib/string/String.__eq local.set $0 local.get $1 @@ -12860,8 +12855,8 @@ call $~lib/builtins/abort unreachable end + i32.const 12416 i32.const 12448 - i32.const 12480 i32.const 2147483647 call $~lib/string/String#split local.get $2 @@ -12890,7 +12885,7 @@ i32.const 1 call $~lib/array/Array<~lib/string/String>#__get local.tee $1 - i32.const 10448 + i32.const 10416 call $~lib/string/String.__eq local.set $0 local.get $1 @@ -12905,7 +12900,7 @@ i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.tee $1 - i32.const 11296 + i32.const 11264 call $~lib/string/String.__eq local.set $0 local.get $1 @@ -12924,7 +12919,7 @@ call $~lib/builtins/abort unreachable end - i32.const 12512 + i32.const 12480 i32.const 1056 i32.const 2147483647 call $~lib/string/String#split @@ -12954,7 +12949,7 @@ i32.const 1 call $~lib/array/Array<~lib/string/String>#__get local.tee $1 - i32.const 10448 + i32.const 10416 call $~lib/string/String.__eq local.set $0 local.get $1 @@ -12984,7 +12979,7 @@ i32.const 3 call $~lib/array/Array<~lib/string/String>#__get local.tee $1 - i32.const 11296 + i32.const 11264 call $~lib/string/String.__eq local.set $0 local.get $1 @@ -13003,7 +12998,7 @@ call $~lib/builtins/abort unreachable end - i32.const 12544 + i32.const 12512 i32.const 1056 i32.const 2147483647 call $~lib/string/String#split @@ -13048,7 +13043,7 @@ i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.tee $1 - i32.const 10448 + i32.const 10416 call $~lib/string/String.__eq local.set $0 local.get $1 @@ -13063,7 +13058,7 @@ i32.const 3 call $~lib/array/Array<~lib/string/String>#__get local.tee $1 - i32.const 11296 + i32.const 11264 call $~lib/string/String.__eq local.set $0 local.get $1 @@ -13082,7 +13077,7 @@ call $~lib/builtins/abort unreachable end - i32.const 12576 + i32.const 12544 i32.const 1056 i32.const 2147483647 call $~lib/string/String#split @@ -13112,7 +13107,7 @@ i32.const 1 call $~lib/array/Array<~lib/string/String>#__get local.tee $1 - i32.const 10448 + i32.const 10416 call $~lib/string/String.__eq local.set $0 local.get $1 @@ -13127,7 +13122,7 @@ i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.tee $1 - i32.const 11296 + i32.const 11264 call $~lib/string/String.__eq local.set $0 local.get $1 @@ -13192,7 +13187,7 @@ i32.const 1 call $~lib/array/Array<~lib/string/String>#__get local.tee $2 - i32.const 10448 + i32.const 10416 call $~lib/string/String.__eq local.set $0 local.get $2 @@ -13207,7 +13202,7 @@ i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.tee $2 - i32.const 11296 + i32.const 11264 call $~lib/string/String.__eq local.set $0 local.get $2 @@ -13277,7 +13272,7 @@ call $~lib/builtins/abort unreachable end - i32.const 12416 + i32.const 12384 i32.const 1056 i32.const 1 call $~lib/string/String#split @@ -13341,7 +13336,7 @@ i32.const 1 call $~lib/array/Array<~lib/string/String>#__get local.tee $1 - i32.const 10448 + i32.const 10416 call $~lib/string/String.__eq local.set $0 local.get $1 @@ -13356,7 +13351,7 @@ i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.tee $1 - i32.const 11296 + i32.const 11264 call $~lib/string/String.__eq local.set $0 local.get $1 @@ -13405,7 +13400,7 @@ i32.const 1 call $~lib/array/Array<~lib/string/String>#__get local.tee $1 - i32.const 10448 + i32.const 10416 call $~lib/string/String.__eq local.set $0 local.get $1 @@ -13420,7 +13415,7 @@ i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.tee $1 - i32.const 11296 + i32.const 11264 call $~lib/string/String.__eq local.set $0 local.get $1 @@ -13439,7 +13434,7 @@ call $~lib/builtins/abort unreachable end - i32.const 12416 + i32.const 12384 i32.const 1056 i32.const -1 call $~lib/string/String#split @@ -13470,7 +13465,7 @@ i32.const 1 call $~lib/array/Array<~lib/string/String>#__get local.tee $2 - i32.const 10448 + i32.const 10416 call $~lib/string/String.__eq local.set $0 local.get $2 @@ -13485,7 +13480,7 @@ i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.tee $2 - i32.const 11296 + i32.const 11264 call $~lib/string/String.__eq local.set $0 local.get $2 @@ -13537,7 +13532,7 @@ i32.const 8 call $~lib/util/number/itoa32 local.tee $122 - i32.const 12608 + i32.const 12576 call $~lib/string/String.__eq i32.eqz if @@ -13551,7 +13546,7 @@ i32.const 12 call $~lib/util/number/itoa32 local.tee $123 - i32.const 12640 + i32.const 12608 call $~lib/string/String.__eq i32.eqz if @@ -13579,7 +13574,7 @@ i32.const -1000 call $~lib/util/number/itoa32 local.tee $125 - i32.const 12672 + i32.const 12640 call $~lib/string/String.__eq i32.eqz if @@ -13593,7 +13588,7 @@ i32.const 1234 call $~lib/util/number/itoa32 local.tee $126 - i32.const 12704 + i32.const 12672 call $~lib/string/String.__eq i32.eqz if @@ -13607,7 +13602,7 @@ i32.const 12345 call $~lib/util/number/itoa32 local.tee $127 - i32.const 12736 + i32.const 12704 call $~lib/string/String.__eq i32.eqz if @@ -13621,7 +13616,7 @@ i32.const 123456 call $~lib/util/number/itoa32 local.tee $128 - i32.const 12768 + i32.const 12736 call $~lib/string/String.__eq i32.eqz if @@ -13635,7 +13630,7 @@ i32.const 1111111 call $~lib/util/number/itoa32 local.tee $129 - i32.const 12800 + i32.const 12768 call $~lib/string/String.__eq i32.eqz if @@ -13649,7 +13644,7 @@ i32.const 1234567 call $~lib/util/number/itoa32 local.tee $130 - i32.const 12832 + i32.const 12800 call $~lib/string/String.__eq i32.eqz if @@ -13663,7 +13658,7 @@ i32.const 12345678 call $~lib/util/number/itoa32 local.tee $131 - i32.const 12864 + i32.const 12832 call $~lib/string/String.__eq i32.eqz if @@ -13677,7 +13672,7 @@ i32.const 123456789 call $~lib/util/number/itoa32 local.tee $132 - i32.const 12896 + i32.const 12864 call $~lib/string/String.__eq i32.eqz if @@ -13691,7 +13686,7 @@ i32.const 2147483646 call $~lib/util/number/itoa32 local.tee $133 - i32.const 12944 + i32.const 12912 call $~lib/string/String.__eq i32.eqz if @@ -13705,7 +13700,7 @@ i32.const 2147483647 call $~lib/util/number/itoa32 local.tee $134 - i32.const 12992 + i32.const 12960 call $~lib/string/String.__eq i32.eqz if @@ -13719,7 +13714,7 @@ i32.const -2147483648 call $~lib/util/number/itoa32 local.tee $135 - i32.const 13040 + i32.const 13008 call $~lib/string/String.__eq i32.eqz if @@ -13733,7 +13728,7 @@ i32.const -1 call $~lib/util/number/itoa32 local.tee $136 - i32.const 13088 + i32.const 13056 call $~lib/string/String.__eq i32.eqz if @@ -13761,7 +13756,7 @@ i32.const 1000 call $~lib/util/number/utoa32 local.tee $138 - i32.const 13120 + i32.const 13088 call $~lib/string/String.__eq i32.eqz if @@ -13775,7 +13770,7 @@ i32.const 2147483647 call $~lib/util/number/utoa32 local.tee $139 - i32.const 12992 + i32.const 12960 call $~lib/string/String.__eq i32.eqz if @@ -13789,7 +13784,7 @@ i32.const -2147483648 call $~lib/util/number/utoa32 local.tee $140 - i32.const 13152 + i32.const 13120 call $~lib/string/String.__eq i32.eqz if @@ -13803,7 +13798,7 @@ i32.const -1 call $~lib/util/number/utoa32 local.tee $141 - i32.const 13200 + i32.const 13168 call $~lib/string/String.__eq i32.eqz if @@ -13831,7 +13826,7 @@ i64.const 12 call $~lib/util/number/utoa64 local.tee $143 - i32.const 12640 + i32.const 12608 call $~lib/string/String.__eq i32.eqz if @@ -13859,7 +13854,7 @@ i64.const 1234 call $~lib/util/number/utoa64 local.tee $145 - i32.const 12704 + i32.const 12672 call $~lib/string/String.__eq i32.eqz if @@ -13873,7 +13868,7 @@ i64.const 12345 call $~lib/util/number/utoa64 local.tee $146 - i32.const 12736 + i32.const 12704 call $~lib/string/String.__eq i32.eqz if @@ -13887,7 +13882,7 @@ i64.const 123456 call $~lib/util/number/utoa64 local.tee $147 - i32.const 12768 + i32.const 12736 call $~lib/string/String.__eq i32.eqz if @@ -13901,7 +13896,7 @@ i64.const 1234567 call $~lib/util/number/utoa64 local.tee $148 - i32.const 12832 + i32.const 12800 call $~lib/string/String.__eq i32.eqz if @@ -13915,7 +13910,7 @@ i64.const 99999999 call $~lib/util/number/utoa64 local.tee $149 - i32.const 13248 + i32.const 13216 call $~lib/string/String.__eq i32.eqz if @@ -13929,7 +13924,7 @@ i64.const 100000000 call $~lib/util/number/utoa64 local.tee $150 - i32.const 13280 + i32.const 13248 call $~lib/string/String.__eq i32.eqz if @@ -13943,7 +13938,7 @@ i64.const 4294967295 call $~lib/util/number/utoa64 local.tee $151 - i32.const 13200 + i32.const 13168 call $~lib/string/String.__eq i32.eqz if @@ -13957,7 +13952,7 @@ i64.const 4294967297 call $~lib/util/number/utoa64 local.tee $152 - i32.const 13328 + i32.const 13296 call $~lib/string/String.__eq i32.eqz if @@ -13971,7 +13966,7 @@ i64.const 68719476735 call $~lib/util/number/utoa64 local.tee $153 - i32.const 13376 + i32.const 13344 call $~lib/string/String.__eq i32.eqz if @@ -13985,7 +13980,7 @@ i64.const 868719476735 call $~lib/util/number/utoa64 local.tee $154 - i32.const 13424 + i32.const 13392 call $~lib/string/String.__eq i32.eqz if @@ -13999,7 +13994,7 @@ i64.const 8687194767350 call $~lib/util/number/utoa64 local.tee $155 - i32.const 13472 + i32.const 13440 call $~lib/string/String.__eq i32.eqz if @@ -14013,7 +14008,7 @@ i64.const 86871947673501 call $~lib/util/number/utoa64 local.tee $156 - i32.const 13520 + i32.const 13488 call $~lib/string/String.__eq i32.eqz if @@ -14027,7 +14022,7 @@ i64.const 999868719476735 call $~lib/util/number/utoa64 local.tee $157 - i32.const 13568 + i32.const 13536 call $~lib/string/String.__eq i32.eqz if @@ -14041,7 +14036,7 @@ i64.const 9999868719476735 call $~lib/util/number/utoa64 local.tee $158 - i32.const 13616 + i32.const 13584 call $~lib/string/String.__eq i32.eqz if @@ -14055,7 +14050,7 @@ i64.const 19999868719476735 call $~lib/util/number/utoa64 local.tee $159 - i32.const 13664 + i32.const 13632 call $~lib/string/String.__eq i32.eqz if @@ -14069,7 +14064,7 @@ i64.const 129999868719476735 call $~lib/util/number/utoa64 local.tee $160 - i32.const 13728 + i32.const 13696 call $~lib/string/String.__eq i32.eqz if @@ -14083,7 +14078,7 @@ i64.const 1239999868719476735 call $~lib/util/number/utoa64 local.tee $161 - i32.const 13792 + i32.const 13760 call $~lib/string/String.__eq i32.eqz if @@ -14097,7 +14092,7 @@ i64.const -1 call $~lib/util/number/utoa64 local.tee $162 - i32.const 13856 + i32.const 13824 call $~lib/string/String.__eq i32.eqz if @@ -14125,7 +14120,7 @@ i64.const -1234 call $~lib/util/number/itoa64 local.tee $164 - i32.const 13920 + i32.const 13888 call $~lib/string/String.__eq i32.eqz if @@ -14139,7 +14134,7 @@ i64.const 4294967295 call $~lib/util/number/itoa64 local.tee $165 - i32.const 13200 + i32.const 13168 call $~lib/string/String.__eq i32.eqz if @@ -14153,7 +14148,7 @@ i64.const 4294967297 call $~lib/util/number/itoa64 local.tee $166 - i32.const 13328 + i32.const 13296 call $~lib/string/String.__eq i32.eqz if @@ -14167,7 +14162,7 @@ i64.const -4294967295 call $~lib/util/number/itoa64 local.tee $167 - i32.const 13952 + i32.const 13920 call $~lib/string/String.__eq i32.eqz if @@ -14181,7 +14176,7 @@ i64.const 68719476735 call $~lib/util/number/itoa64 local.tee $168 - i32.const 13376 + i32.const 13344 call $~lib/string/String.__eq i32.eqz if @@ -14195,7 +14190,7 @@ i64.const -68719476735 call $~lib/util/number/itoa64 local.tee $169 - i32.const 14000 + i32.const 13968 call $~lib/string/String.__eq i32.eqz if @@ -14209,7 +14204,7 @@ i64.const -868719476735 call $~lib/util/number/itoa64 local.tee $170 - i32.const 14048 + i32.const 14016 call $~lib/string/String.__eq i32.eqz if @@ -14223,7 +14218,7 @@ i64.const -999868719476735 call $~lib/util/number/itoa64 local.tee $171 - i32.const 14096 + i32.const 14064 call $~lib/string/String.__eq i32.eqz if @@ -14237,7 +14232,7 @@ i64.const -19999868719476735 call $~lib/util/number/itoa64 local.tee $172 - i32.const 14144 + i32.const 14112 call $~lib/string/String.__eq i32.eqz if @@ -14251,7 +14246,7 @@ i64.const 9223372036854775807 call $~lib/util/number/itoa64 local.tee $173 - i32.const 14208 + i32.const 14176 call $~lib/string/String.__eq i32.eqz if @@ -14265,7 +14260,7 @@ i64.const -9223372036854775808 call $~lib/util/number/itoa64 local.tee $174 - i32.const 14272 + i32.const 14240 call $~lib/string/String.__eq i32.eqz if @@ -14279,7 +14274,7 @@ f64.const 0 call $~lib/util/number/dtoa local.tee $175 - i32.const 14336 + i32.const 14304 call $~lib/string/String.__eq i32.eqz if @@ -14293,7 +14288,7 @@ f64.const -0 call $~lib/util/number/dtoa local.tee $176 - i32.const 14336 + i32.const 14304 call $~lib/string/String.__eq i32.eqz if @@ -14307,7 +14302,7 @@ f64.const nan:0x8000000000000 call $~lib/util/number/dtoa local.tee $177 - i32.const 4864 + i32.const 4832 call $~lib/string/String.__eq i32.eqz if @@ -14321,7 +14316,7 @@ f64.const inf call $~lib/util/number/dtoa local.tee $178 - i32.const 14368 + i32.const 14336 call $~lib/string/String.__eq i32.eqz if @@ -14335,7 +14330,7 @@ f64.const -inf call $~lib/util/number/dtoa local.tee $179 - i32.const 6080 + i32.const 6048 call $~lib/string/String.__eq i32.eqz if @@ -14349,7 +14344,7 @@ f64.const 2.220446049250313e-16 call $~lib/util/number/dtoa local.tee $180 - i32.const 5376 + i32.const 5344 call $~lib/string/String.__eq i32.eqz if @@ -14363,7 +14358,7 @@ f64.const -2.220446049250313e-16 call $~lib/util/number/dtoa local.tee $181 - i32.const 15472 + i32.const 15344 call $~lib/string/String.__eq i32.eqz if @@ -14377,7 +14372,7 @@ f64.const 1797693134862315708145274e284 call $~lib/util/number/dtoa local.tee $182 - i32.const 5440 + i32.const 5408 call $~lib/string/String.__eq i32.eqz if @@ -14391,7 +14386,7 @@ f64.const -1797693134862315708145274e284 call $~lib/util/number/dtoa local.tee $183 - i32.const 15536 + i32.const 15408 call $~lib/string/String.__eq i32.eqz if @@ -14405,7 +14400,7 @@ f64.const 4185580496821356722454785e274 call $~lib/util/number/dtoa local.tee $184 - i32.const 15600 + i32.const 15472 call $~lib/string/String.__eq i32.eqz if @@ -14419,7 +14414,7 @@ f64.const 2.2250738585072014e-308 call $~lib/util/number/dtoa local.tee $185 - i32.const 15664 + i32.const 15536 call $~lib/string/String.__eq i32.eqz if @@ -14433,7 +14428,7 @@ f64.const 4.940656e-318 call $~lib/util/number/dtoa local.tee $186 - i32.const 15728 + i32.const 15600 call $~lib/string/String.__eq i32.eqz if @@ -14447,7 +14442,7 @@ f64.const 9060801153433600 call $~lib/util/number/dtoa local.tee $187 - i32.const 15776 + i32.const 15648 call $~lib/string/String.__eq i32.eqz if @@ -14461,7 +14456,7 @@ f64.const 4708356024711512064 call $~lib/util/number/dtoa local.tee $188 - i32.const 15840 + i32.const 15712 call $~lib/string/String.__eq i32.eqz if @@ -14475,7 +14470,7 @@ f64.const 9409340012568248320 call $~lib/util/number/dtoa local.tee $189 - i32.const 15904 + i32.const 15776 call $~lib/string/String.__eq i32.eqz if @@ -14489,7 +14484,7 @@ f64.const 5e-324 call $~lib/util/number/dtoa local.tee $190 - i32.const 5504 + i32.const 5472 call $~lib/string/String.__eq i32.eqz if @@ -14503,7 +14498,7 @@ f64.const 1 call $~lib/util/number/dtoa local.tee $191 - i32.const 15968 + i32.const 15840 call $~lib/string/String.__eq i32.eqz if @@ -14517,7 +14512,7 @@ f64.const 0.1 call $~lib/util/number/dtoa local.tee $192 - i32.const 2512 + i32.const 2480 call $~lib/string/String.__eq i32.eqz if @@ -14531,7 +14526,7 @@ f64.const -1 call $~lib/util/number/dtoa local.tee $193 - i32.const 16000 + i32.const 15872 call $~lib/string/String.__eq i32.eqz if @@ -14545,7 +14540,7 @@ f64.const -0.1 call $~lib/util/number/dtoa local.tee $194 - i32.const 16032 + i32.const 15904 call $~lib/string/String.__eq i32.eqz if @@ -14559,7 +14554,7 @@ f64.const 1e6 call $~lib/util/number/dtoa local.tee $195 - i32.const 16064 + i32.const 15936 call $~lib/string/String.__eq i32.eqz if @@ -14573,7 +14568,7 @@ f64.const 1e-06 call $~lib/util/number/dtoa local.tee $196 - i32.const 16112 + i32.const 15984 call $~lib/string/String.__eq i32.eqz if @@ -14587,7 +14582,7 @@ f64.const -1e6 call $~lib/util/number/dtoa local.tee $197 - i32.const 16144 + i32.const 16016 call $~lib/string/String.__eq i32.eqz if @@ -14601,7 +14596,7 @@ f64.const -1e-06 call $~lib/util/number/dtoa local.tee $198 - i32.const 16192 + i32.const 16064 call $~lib/string/String.__eq i32.eqz if @@ -14615,7 +14610,7 @@ f64.const 1e7 call $~lib/util/number/dtoa local.tee $199 - i32.const 16240 + i32.const 16112 call $~lib/string/String.__eq i32.eqz if @@ -14629,7 +14624,7 @@ f64.const 1e-07 call $~lib/util/number/dtoa local.tee $200 - i32.const 16288 + i32.const 16160 call $~lib/string/String.__eq i32.eqz if @@ -14643,7 +14638,7 @@ f64.const 1.e+308 call $~lib/util/number/dtoa local.tee $201 - i32.const 2736 + i32.const 2704 call $~lib/string/String.__eq i32.eqz if @@ -14657,7 +14652,7 @@ f64.const -1.e+308 call $~lib/util/number/dtoa local.tee $202 - i32.const 16320 + i32.const 16192 call $~lib/string/String.__eq i32.eqz if @@ -14671,7 +14666,7 @@ f64.const inf call $~lib/util/number/dtoa local.tee $203 - i32.const 14368 + i32.const 14336 call $~lib/string/String.__eq i32.eqz if @@ -14685,7 +14680,7 @@ f64.const -inf call $~lib/util/number/dtoa local.tee $204 - i32.const 6080 + i32.const 6048 call $~lib/string/String.__eq i32.eqz if @@ -14699,7 +14694,7 @@ f64.const 1e-308 call $~lib/util/number/dtoa local.tee $205 - i32.const 16352 + i32.const 16224 call $~lib/string/String.__eq i32.eqz if @@ -14713,7 +14708,7 @@ f64.const -1e-308 call $~lib/util/number/dtoa local.tee $206 - i32.const 16384 + i32.const 16256 call $~lib/string/String.__eq i32.eqz if @@ -14727,7 +14722,7 @@ f64.const 1e-323 call $~lib/util/number/dtoa local.tee $207 - i32.const 16416 + i32.const 16288 call $~lib/string/String.__eq i32.eqz if @@ -14741,7 +14736,7 @@ f64.const -1e-323 call $~lib/util/number/dtoa local.tee $208 - i32.const 16448 + i32.const 16320 call $~lib/string/String.__eq i32.eqz if @@ -14755,7 +14750,7 @@ f64.const 0 call $~lib/util/number/dtoa local.tee $209 - i32.const 14336 + i32.const 14304 call $~lib/string/String.__eq i32.eqz if @@ -14769,7 +14764,7 @@ f64.const 4294967272 call $~lib/util/number/dtoa local.tee $210 - i32.const 16480 + i32.const 16352 call $~lib/string/String.__eq i32.eqz if @@ -14783,7 +14778,7 @@ f64.const 1.2312145673456234e-08 call $~lib/util/number/dtoa local.tee $211 - i32.const 16528 + i32.const 16400 call $~lib/string/String.__eq i32.eqz if @@ -14797,7 +14792,7 @@ f64.const 555555555.5555556 call $~lib/util/number/dtoa local.tee $212 - i32.const 16592 + i32.const 16464 call $~lib/string/String.__eq i32.eqz if @@ -14811,7 +14806,7 @@ f64.const 0.9999999999999999 call $~lib/util/number/dtoa local.tee $213 - i32.const 16656 + i32.const 16528 call $~lib/string/String.__eq i32.eqz if @@ -14825,7 +14820,7 @@ f64.const 1 call $~lib/util/number/dtoa local.tee $214 - i32.const 15968 + i32.const 15840 call $~lib/string/String.__eq i32.eqz if @@ -14839,7 +14834,7 @@ f64.const 12.34 call $~lib/util/number/dtoa local.tee $215 - i32.const 16720 + i32.const 16592 call $~lib/string/String.__eq i32.eqz if @@ -14853,7 +14848,7 @@ f64.const 0.3333333333333333 call $~lib/util/number/dtoa local.tee $216 - i32.const 16752 + i32.const 16624 call $~lib/string/String.__eq i32.eqz if @@ -14867,7 +14862,7 @@ f64.const 1234e17 call $~lib/util/number/dtoa local.tee $217 - i32.const 16816 + i32.const 16688 call $~lib/string/String.__eq i32.eqz if @@ -14881,7 +14876,7 @@ f64.const 1234e18 call $~lib/util/number/dtoa local.tee $218 - i32.const 16880 + i32.const 16752 call $~lib/string/String.__eq i32.eqz if @@ -14895,7 +14890,7 @@ f64.const 2.71828 call $~lib/util/number/dtoa local.tee $219 - i32.const 16928 + i32.const 16800 call $~lib/string/String.__eq i32.eqz if @@ -14909,7 +14904,7 @@ f64.const 0.0271828 call $~lib/util/number/dtoa local.tee $220 - i32.const 16960 + i32.const 16832 call $~lib/string/String.__eq i32.eqz if @@ -14923,7 +14918,7 @@ f64.const 271.828 call $~lib/util/number/dtoa local.tee $221 - i32.const 17008 + i32.const 16880 call $~lib/string/String.__eq i32.eqz if @@ -14937,7 +14932,7 @@ f64.const 1.1e+128 call $~lib/util/number/dtoa local.tee $222 - i32.const 17040 + i32.const 16912 call $~lib/string/String.__eq i32.eqz if @@ -14951,7 +14946,7 @@ f64.const 1.1e-64 call $~lib/util/number/dtoa local.tee $223 - i32.const 17072 + i32.const 16944 call $~lib/string/String.__eq i32.eqz if @@ -14965,7 +14960,7 @@ f64.const 0.000035689 call $~lib/util/number/dtoa local.tee $224 - i32.const 17104 + i32.const 16976 call $~lib/string/String.__eq i32.eqz if @@ -15004,10 +14999,10 @@ call $~lib/builtins/abort unreachable end - i32.const 22816 + i32.const 22496 call $~lib/string/String#toUpperCase local.tee $227 - i32.const 22864 + i32.const 22544 call $~lib/string/String.__eq i32.eqz if @@ -15018,10 +15013,10 @@ call $~lib/builtins/abort unreachable end - i32.const 22912 + i32.const 22592 call $~lib/string/String#toLowerCase local.tee $228 - i32.const 22960 + i32.const 22640 call $~lib/string/String.__eq i32.eqz if @@ -15032,10 +15027,10 @@ call $~lib/builtins/abort unreachable end - i32.const 23008 + i32.const 22688 call $~lib/string/String#toUpperCase local.tee $229 - i32.const 23104 + i32.const 22784 call $~lib/string/String.__eq i32.eqz if @@ -15046,10 +15041,10 @@ call $~lib/builtins/abort unreachable end - i32.const 23104 + i32.const 22784 call $~lib/string/String#toLowerCase local.tee $230 - i32.const 23200 + i32.const 22880 call $~lib/string/String.__eq i32.eqz if @@ -15060,10 +15055,10 @@ call $~lib/builtins/abort unreachable end - i32.const 23296 + i32.const 22976 call $~lib/string/String#toUpperCase local.tee $231 - i32.const 23360 + i32.const 23040 call $~lib/string/String.__eq i32.eqz if @@ -15074,10 +15069,10 @@ call $~lib/builtins/abort unreachable end - i32.const 23360 + i32.const 23040 call $~lib/string/String#toLowerCase local.tee $232 - i32.const 23424 + i32.const 23104 call $~lib/string/String.__eq i32.eqz if @@ -15088,10 +15083,10 @@ call $~lib/builtins/abort unreachable end - i32.const 23488 + i32.const 23168 call $~lib/string/String#toUpperCase local.tee $233 - i32.const 23584 + i32.const 23264 call $~lib/string/String.__eq i32.eqz if @@ -15102,10 +15097,10 @@ call $~lib/builtins/abort unreachable end - i32.const 23584 + i32.const 23264 call $~lib/string/String#toLowerCase local.tee $234 - i32.const 23680 + i32.const 23360 call $~lib/string/String.__eq i32.eqz if @@ -15116,10 +15111,10 @@ call $~lib/builtins/abort unreachable end - i32.const 23776 + i32.const 23456 call $~lib/string/String#toUpperCase local.tee $235 - i32.const 23872 + i32.const 23552 call $~lib/string/String.__eq i32.eqz if @@ -15130,10 +15125,10 @@ call $~lib/builtins/abort unreachable end - i32.const 23872 + i32.const 23552 call $~lib/string/String#toLowerCase local.tee $236 - i32.const 23968 + i32.const 23648 call $~lib/string/String.__eq i32.eqz if @@ -15144,10 +15139,10 @@ call $~lib/builtins/abort unreachable end - i32.const 24064 + i32.const 23744 call $~lib/string/String#toUpperCase local.tee $237 - i32.const 24128 + i32.const 23808 call $~lib/string/String.__eq i32.eqz if @@ -15158,10 +15153,10 @@ call $~lib/builtins/abort unreachable end - i32.const 24192 + i32.const 23872 call $~lib/string/String#toUpperCase local.tee $238 - i32.const 24256 + i32.const 23936 call $~lib/string/String.__eq i32.eqz if @@ -15172,10 +15167,10 @@ call $~lib/builtins/abort unreachable end - i32.const 24336 + i32.const 24016 call $~lib/string/String#toUpperCase local.tee $239 - i32.const 24400 + i32.const 24080 call $~lib/string/String.__eq i32.eqz if @@ -15186,10 +15181,10 @@ call $~lib/builtins/abort unreachable end - i32.const 24464 + i32.const 24144 call $~lib/string/String#toUpperCase local.tee $240 - i32.const 24544 + i32.const 24224 call $~lib/string/String.__eq i32.eqz if @@ -15200,10 +15195,10 @@ call $~lib/builtins/abort unreachable end - i32.const 24624 + i32.const 24304 call $~lib/string/String#toUpperCase local.tee $241 - i32.const 24688 + i32.const 24368 call $~lib/string/String.__eq i32.eqz if @@ -15214,10 +15209,10 @@ call $~lib/builtins/abort unreachable end - i32.const 24752 + i32.const 24432 call $~lib/string/String#toUpperCase local.tee $242 - i32.const 24816 + i32.const 24496 call $~lib/string/String.__eq i32.eqz if @@ -15228,10 +15223,10 @@ call $~lib/builtins/abort unreachable end - i32.const 24880 + i32.const 24560 call $~lib/string/String#toUpperCase local.tee $243 - i32.const 24960 + i32.const 24640 call $~lib/string/String.__eq i32.eqz if @@ -15242,10 +15237,10 @@ call $~lib/builtins/abort unreachable end - i32.const 25040 + i32.const 24720 call $~lib/string/String#toUpperCase local.tee $244 - i32.const 25120 + i32.const 24800 call $~lib/string/String.__eq i32.eqz if @@ -15256,10 +15251,10 @@ call $~lib/builtins/abort unreachable end - i32.const 25200 + i32.const 24880 call $~lib/string/String#toUpperCase local.tee $245 - i32.const 25344 + i32.const 25024 call $~lib/string/String.__eq i32.eqz if @@ -15270,10 +15265,10 @@ call $~lib/builtins/abort unreachable end - i32.const 25200 + i32.const 24880 call $~lib/string/String#toLowerCase local.tee $246 - i32.const 25488 + i32.const 25168 call $~lib/string/String.__eq i32.eqz if @@ -15287,7 +15282,7 @@ i32.const 128 call $~lib/string/String#toUpperCase local.tee $247 - i32.const 25632 + i32.const 25312 call $~lib/string/String.__eq i32.eqz if @@ -15298,10 +15293,10 @@ call $~lib/builtins/abort unreachable end - i32.const 25664 + i32.const 25344 call $~lib/string/String#toLowerCase local.tee $248 - i32.const 25696 + i32.const 25376 call $~lib/string/String.__eq i32.eqz if @@ -15312,10 +15307,10 @@ call $~lib/builtins/abort unreachable end - i32.const 25728 + i32.const 25408 call $~lib/string/String#toUpperCase local.tee $249 - i32.const 25920 + i32.const 25600 call $~lib/string/String.__eq i32.eqz if @@ -15331,7 +15326,7 @@ local.tee $250 call $~lib/string/String#toLowerCase local.tee $251 - i32.const 26128 + i32.const 25808 call $~lib/string/String.__eq i32.eqz if @@ -15342,12 +15337,12 @@ call $~lib/builtins/abort unreachable end - i32.const 26160 + i32.const 25840 call $~lib/string/String#toUpperCase local.tee $252 call $~lib/string/String#toLowerCase local.tee $253 - i32.const 26192 + i32.const 25872 call $~lib/string/String.__eq i32.eqz if @@ -15358,12 +15353,12 @@ call $~lib/builtins/abort unreachable end - i32.const 26224 + i32.const 25904 call $~lib/string/String#toUpperCase local.tee $254 call $~lib/string/String#toLowerCase local.tee $255 - i32.const 26224 + i32.const 25904 call $~lib/string/String.__eq i32.eqz if @@ -15379,7 +15374,7 @@ local.tee $256 call $~lib/string/String#toLowerCase local.tee $257 - i32.const 26432 + i32.const 26112 call $~lib/string/String.__eq i32.eqz if @@ -15395,7 +15390,7 @@ local.tee $258 call $~lib/string/String#toUpperCase local.tee $259 - i32.const 26432 + i32.const 26112 call $~lib/string/String.__eq i32.eqz if @@ -15406,10 +15401,10 @@ call $~lib/builtins/abort unreachable end - i32.const 26464 + i32.const 26144 call $~lib/string/String#toLowerCase local.tee $260 - i32.const 26496 + i32.const 26176 call $~lib/string/String.__eq i32.eqz if @@ -15420,10 +15415,10 @@ call $~lib/builtins/abort unreachable end - i32.const 26528 + i32.const 26208 call $~lib/string/String#toLowerCase local.tee $261 - i32.const 26560 + i32.const 26240 call $~lib/string/String.__eq i32.eqz if @@ -15434,10 +15429,10 @@ call $~lib/builtins/abort unreachable end - i32.const 26592 + i32.const 26272 call $~lib/string/String#toLowerCase local.tee $262 - i32.const 26624 + i32.const 26304 call $~lib/string/String.__eq i32.eqz if @@ -15448,10 +15443,10 @@ call $~lib/builtins/abort unreachable end - i32.const 26656 + i32.const 26336 call $~lib/string/String#toUpperCase local.tee $263 - i32.const 26688 + i32.const 26368 call $~lib/string/String.__eq i32.eqz if @@ -15462,10 +15457,10 @@ call $~lib/builtins/abort unreachable end - i32.const 26160 + i32.const 25840 call $~lib/string/String#toUpperCase local.tee $264 - i32.const 26720 + i32.const 26400 call $~lib/string/String.__eq i32.eqz if @@ -15476,10 +15471,10 @@ call $~lib/builtins/abort unreachable end - i32.const 26752 + i32.const 26432 call $~lib/string/String#toUpperCase local.tee $265 - i32.const 26784 + i32.const 26464 call $~lib/string/String.__eq i32.eqz if @@ -15490,10 +15485,10 @@ call $~lib/builtins/abort unreachable end - i32.const 26816 + i32.const 26496 call $~lib/string/String#toUpperCase local.tee $266 - i32.const 26848 + i32.const 26528 call $~lib/string/String.__eq i32.eqz if @@ -15504,10 +15499,10 @@ call $~lib/builtins/abort unreachable end - i32.const 26880 + i32.const 26560 call $~lib/string/String#toUpperCase local.tee $267 - i32.const 26912 + i32.const 26592 call $~lib/string/String.__eq i32.eqz if @@ -15518,10 +15513,10 @@ call $~lib/builtins/abort unreachable end - i32.const 26944 + i32.const 26624 call $~lib/string/String#toUpperCase local.tee $268 - i32.const 26976 + i32.const 26656 call $~lib/string/String.__eq i32.eqz if @@ -15532,10 +15527,10 @@ call $~lib/builtins/abort unreachable end - i32.const 27008 + i32.const 26688 call $~lib/string/String#toUpperCase local.tee $269 - i32.const 26976 + i32.const 26656 call $~lib/string/String.__eq i32.eqz if @@ -15546,10 +15541,10 @@ call $~lib/builtins/abort unreachable end - i32.const 27040 + i32.const 26720 call $~lib/string/String#toUpperCase local.tee $270 - i32.const 27072 + i32.const 26752 call $~lib/string/String.__eq i32.eqz if @@ -15560,10 +15555,10 @@ call $~lib/builtins/abort unreachable end - i32.const 27104 + i32.const 26784 call $~lib/string/String#toUpperCase local.tee $271 - i32.const 27136 + i32.const 26816 call $~lib/string/String.__eq i32.eqz if @@ -15574,10 +15569,10 @@ call $~lib/builtins/abort unreachable end - i32.const 27168 + i32.const 26848 call $~lib/string/String#toUpperCase local.tee $0 - i32.const 27200 + i32.const 26880 call $~lib/string/String.__eq i32.eqz if @@ -15588,10 +15583,10 @@ call $~lib/builtins/abort unreachable end - i32.const 27232 + i32.const 26912 call $~lib/string/String#toUpperCase local.tee $10 - i32.const 27264 + i32.const 26944 call $~lib/string/String.__eq i32.eqz if @@ -15602,10 +15597,10 @@ call $~lib/builtins/abort unreachable end - i32.const 27296 + i32.const 26976 call $~lib/string/String#toUpperCase local.tee $2 - i32.const 27328 + i32.const 27008 call $~lib/string/String.__eq i32.eqz if @@ -15616,10 +15611,10 @@ call $~lib/builtins/abort unreachable end - i32.const 27360 + i32.const 27040 call $~lib/string/String#toUpperCase local.tee $1 - i32.const 27392 + i32.const 27072 call $~lib/string/String.__eq i32.eqz if @@ -15787,7 +15782,7 @@ local.get $8 i64.ne if - i32.const 27424 + i32.const 27104 i32.const 3 local.get $5 f64.convert_i32_s @@ -15803,7 +15798,7 @@ local.get $9 i64.ne if - i32.const 27504 + i32.const 27184 i32.const 3 local.get $5 f64.convert_i32_s @@ -16461,7 +16456,7 @@ ) (func $~lib/rt/pure/__visit (; 92 ;) (param $0 i32) local.get $0 - i32.const 27568 + i32.const 27248 i32.lt_u if return @@ -16504,30 +16499,32 @@ end ) (func $~lib/rt/__visit_members (; 94 ;) (param $0 i32) - block $block$4$break - block $switch$1$default - block $switch$1$case$6 - block $switch$1$case$2 - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $block$4$break $block$4$break $switch$1$case$6 $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $switch$1$default + block $folding-inner0 + block $block$4$break + block $switch$1$default + block $switch$1$case$6 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $block$4$break $folding-inner0 $switch$1$case$6 $block$4$break $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $switch$1$default + end + return end - return + local.get $0 + call $~lib/array/Array<~lib/string/String>#__visit_impl + br $block$4$break end - local.get $0 - call $~lib/array/Array<~lib/string/String>#__visit_impl - br $block$4$break + unreachable end - unreachable - end - local.get $0 - i32.load - local.tee $0 - if local.get $0 - call $~lib/rt/pure/__visit + i32.load + local.tee $0 + if + local.get $0 + call $~lib/rt/pure/__visit + end end ) ) diff --git a/tests/compiler/std/string.untouched.wat b/tests/compiler/std/string.untouched.wat index 1c6b1d32d8..fa78101e02 100644 --- a/tests/compiler/std/string.untouched.wat +++ b/tests/compiler/std/string.untouched.wat @@ -1,15 +1,15 @@ (module (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + (type $i32_=>_i32 (func (param i32) (result i32))) (type $i32_i32_=>_none (func (param i32 i32))) (type $i32_=>_none (func (param i32))) (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) (type $none_=>_none (func)) (type $i64_=>_i32 (func (param i64) (result i32))) - (type $i32_i32_=>_i64 (func (param i32 i32) (result i64))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) (type $none_=>_i32 (func (result i32))) + (type $i32_i32_=>_i64 (func (param i32 i32) (result i64))) (type $i32_=>_f64 (func (param i32) (result f64))) (type $i32_i32_=>_f64 (func (param i32 i32) (result f64))) (type $i32_i32_f64_f64_f64_f64_f64_=>_none (func (param i32 i32 f64 f64 f64 f64 f64))) @@ -87,393 +87,380 @@ (data (i32.const 1856) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00 \00\t\00\n\000\00x\000\002\00") (data (i32.const 1888) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\000\00x\007\00F\00F\00F\00F\00F\00F\00F\00") (data (i32.const 1936) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\000\00x\007\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00") - (data (i32.const 2000) "\b8\00\00\00\01\00\00\00\00\00\00\00\b8\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00$@\00\00\00\00\00\00Y@\00\00\00\00\00@\8f@\00\00\00\00\00\88\c3@\00\00\00\00\00j\f8@\00\00\00\00\80\84.A\00\00\00\00\d0\12cA\00\00\00\00\84\d7\97A\00\00\00\00e\cd\cdA\00\00\00 _\a0\02B\00\00\00\e8vH7B\00\00\00\a2\94\1amB\00\00@\e5\9c0\a2B\00\00\90\1e\c4\bc\d6B\00\004&\f5k\0cC\00\80\e07y\c3AC\00\a0\d8\85W4vC\00\c8Ngm\c1\abC\00=\91`\e4X\e1C@\8c\b5x\1d\af\15DP\ef\e2\d6\e4\1aKD\92\d5M\06\cf\f0\80D") - (data (i32.const 2208) "\10\00\00\00\01\00\00\00\03\00\00\00\10\00\00\00\e0\07\00\00\e0\07\00\00\b8\00\00\00\17\00\00\00") - (data (i32.const 2240) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\001\00.\00") - (data (i32.const 2272) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00.\000\000\00") - (data (i32.const 2304) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\00-\005\00") - (data (i32.const 2336) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00-\001\00e\00-\005\00") - (data (i32.const 2368) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00-\000\00.\003\00e\00-\002\002\00") - (data (i32.const 2400) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\000\00.\003\00e\00+\002\002\00") - (data (i32.const 2432) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\00-\001\00") - (data (i32.const 2464) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\000\00.\001\00e\00-\000\00") - (data (i32.const 2496) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\001\00") - (data (i32.const 2528) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\002\005\00") - (data (i32.const 2560) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00.\00e\00+\003\00a\00") - (data (i32.const 2592) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\00.\000\00e\00-\001\000\00") - (data (i32.const 2624) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\00.\000\00e\00-\003\000\00") - (data (i32.const 2656) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\001\00.\000\00e\00-\003\002\003\00") - (data (i32.const 2688) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\001\00.\000\00e\00-\003\002\004\00") - (data (i32.const 2720) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00e\00+\003\000\008\00") - (data (i32.const 2752) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00e\00+\003\000\009\00") - (data (i32.const 2784) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\001\00.\000\00e\00-\001\00_\000\00") - (data (i32.const 2816) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\001\00.\000\00e\00-\001\000\00_\000\00") - (data (i32.const 2864) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\001\00.\000\00e\00+\001\00_\000\00") - (data (i32.const 2896) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\001\00_\000\00") - (data (i32.const 2928) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\001\00_\001\00") - (data (i32.const 2960) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\001\000\00.\000\000\00_\000\001\00e\002\00") - (data (i32.const 3008) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\001\002\003\004\005\006\007\008\009\00_\004\00") - (data (i32.const 3056) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\001\00_\000\001\002\003\004\005\006\007\008\009\00") - (data (i32.const 3104) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00e\00-\006\000\00") - (data (i32.const 3136) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\006\000\00") - (data (i32.const 3168) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00-\00.\000\000\000\000\000\00") - (data (i32.const 3200) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\001\00x\00") - (data (i32.const 3232) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00-\001\001\00e\00-\001\00s\00t\00r\00i\00n\00g\00") - (data (i32.const 3280) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\000\001\00e\001\00s\00t\00r\00i\00n\00g\00") - (data (i32.const 3328) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\000\001\000\00s\00t\00r\00i\00n\00g\00") - (data (i32.const 3376) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00+\00.\002\002\00e\00-\001\00") - (data (i32.const 3408) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\001\00.\00s\001\00") - (data (i32.const 3440) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00x\000\00") - (data (i32.const 3472) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00x\005\00") - (data (i32.const 3504) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00x\00D\00") - (data (i32.const 3536) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00\0b\001\00.\001\00") - (data (i32.const 3568) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00\0b\00\0b\00-\001\00.\001\00") - (data (i32.const 3600) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00\0c\00\0c\00-\001\00.\001\00") - (data (i32.const 3632) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00( ( -\001\00.\001\00") - (data (i32.const 3664) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00) ) -\001\00.\001\00") - (data (i32.const 3696) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\000\000\000\000\00") - (data (i32.const 3728) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\000\000\000\00a\00") - (data (i32.const 3760) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\000\000\000\001\00") - (data (i32.const 3792) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\000\00.\000\000\00") - (data (i32.const 3824) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\000\00.\000\00a\00") - (data (i32.const 3856) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\001\00e\00") - (data (i32.const 3888) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\00e\00+\000\000\000\001\00") - (data (i32.const 3920) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\000\00e\00+\001\000\000\00") - (data (i32.const 3952) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00.\00-\001\00.\00") - (data (i32.const 3984) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00e\00-\001\00.\002\00") - (data (i32.const 4016) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\001\00e\00x\00") - (data (i32.const 4048) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\001\00x\00") - (data (i32.const 4080) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\00-\00x\00") - (data (i32.const 4112) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00e\00-\001\00x\00") - (data (i32.const 4144) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\000\00.\001\00e\00-\001\00x\00") - (data (i32.const 4176) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\000\00.\00") - (data (i32.const 4208) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\000\000\00") - (data (i32.const 4240) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\000\00.\00") - (data (i32.const 4272) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\001\00.\00") - (data (i32.const 4304) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\00.\00") - (data (i32.const 4336) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\00a\00") - (data (i32.const 4368) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00.\00.\001\00") - (data (i32.const 4400) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\00.\001\00.\001\00") - (data (i32.const 4432) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\000\00.\00 \001\00") - (data (i32.const 4464) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00+\000\00.\000\00") - (data (i32.const 4496) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00-\000\00.\000\00") - (data (i32.const 4528) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00+\000\00") - (data (i32.const 4560) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00-\000\00") - (data (i32.const 4592) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00+\00") - (data (i32.const 4624) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00-\00") - (data (i32.const 4656) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00-\00-\000\00") - (data (i32.const 4688) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00+\00+\000\00") - (data (i32.const 4720) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00.\00a\00") - (data (i32.const 4752) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\00.\000\00") - (data (i32.const 4784) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00.\00") - (data (i32.const 4816) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00.\00.\00") - (data (i32.const 4848) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N\00") - (data (i32.const 4880) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\0b\00") - (data (i32.const 4912) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\0e\18") - (data (i32.const 4944) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00\0e\181\00.\001\00") - (data (i32.const 4976) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00\0e\18\0e\181\00.\001\00") - (data (i32.const 5008) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\0c\00") - (data (i32.const 5040) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00t\00r\00u\00e\00") - (data (i32.const 5072) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00f\00a\00l\00s\00e\00") - (data (i32.const 5104) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\002\002\00") - (data (i32.const 5136) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00e\00-\002\002\00") - (data (i32.const 5168) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\002\003\00") - (data (i32.const 5200) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00e\00-\002\003\00") - (data (i32.const 5232) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\003\007\00") - (data (i32.const 5264) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00e\00-\003\007\00") - (data (i32.const 5296) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\003\008\00") - (data (i32.const 5328) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00e\00-\003\008\00") - (data (i32.const 5360) "*\00\00\00\01\00\00\00\01\00\00\00*\00\00\002\00.\002\002\000\004\004\006\000\004\009\002\005\000\003\001\003\00e\00-\001\006\00") - (data (i32.const 5424) ".\00\00\00\01\00\00\00\01\00\00\00.\00\00\001\00.\007\009\007\006\009\003\001\003\004\008\006\002\003\001\005\007\00e\00+\003\000\008\00") - (data (i32.const 5488) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\005\00e\00-\003\002\004\00") - (data (i32.const 5520) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\000\00.\000\000\000\000\000\001\00e\00+\003\001\004\00") - (data (i32.const 5568) "|\00\00\00\01\00\00\00\01\00\00\00|\00\00\000\00.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\00e\00+\005\006\00") - (data (i32.const 5712) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00+\001\00E\00-\003\002\005\00") - (data (i32.const 5744) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00+\001\00E\00+\003\000\009\00") - (data (i32.const 5776) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00-\001\00E\00-\003\002\005\00") - (data (i32.const 5808) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00-\001\00E\00+\003\000\009\00") - (data (i32.const 5840) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\001\00e\00-\001\000\000\000\000\000\000\00") - (data (i32.const 5888) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\001\00e\00+\001\000\000\000\000\000\000\00") - (data (i32.const 5936) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00.\00e\003\006\000\00") - (data (i32.const 5968) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00 \00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 6016) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00+\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 6064) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 6112) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00x\00") - (data (i32.const 6160) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00+\001\00") - (data (i32.const 6208) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00I\00n\00f\00i\00") - (data (i32.const 6240) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00+\00I\00n\00f\00i\00n\00i\00t\00") - (data (i32.const 6272) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00i\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 6304) "\aa\00\00\00\01\00\00\00\01\00\00\00\aa\00\00\00.\002\004\007\000\003\002\008\002\002\009\002\000\006\002\003\002\007\002\000\008\008\002\008\004\003\009\006\004\003\004\001\001\000\006\008\006\001\008\002\005\002\009\009\000\001\003\000\007\001\006\002\003\008\002\002\001\002\007\009\002\008\004\001\002\005\000\003\003\007\007\005\003\006\003\005\001\000\004\003\00e\00-\003\002\003\00") - (data (i32.const 6496) "\aa\00\00\00\01\00\00\00\01\00\00\00\aa\00\00\00.\007\004\001\000\009\008\004\006\008\007\006\001\008\006\009\008\001\006\002\006\004\008\005\003\001\008\009\003\000\002\003\003\002\000\005\008\005\004\007\005\008\009\007\000\003\009\002\001\004\008\007\001\004\006\006\003\008\003\007\008\005\002\003\007\005\001\000\001\003\002\006\000\009\000\005\003\001\003\002\00e\00-\003\002\003\00") - (data (i32.const 6688) "\aa\00\00\00\01\00\00\00\01\00\00\00\aa\00\00\00.\002\002\002\005\000\007\003\008\005\008\005\000\007\002\000\001\006\003\000\001\002\003\000\005\005\006\003\007\009\005\005\006\007\006\001\005\002\005\000\003\006\001\002\004\001\004\005\007\003\000\001\008\000\001\003\000\008\003\002\002\008\007\002\004\000\004\009\005\008\006\006\004\007\006\000\006\007\006\000\00e\00-\003\000\007\00") - (data (i32.const 6880) "\88\00\00\00\01\00\00\00\01\00\00\00\88\00\00\001\007\009\007\006\009\003\001\003\004\008\006\002\003\001\005\008\000\007\009\003\007\002\008\009\007\001\004\000\005\003\000\003\004\001\005\000\007\009\009\003\004\001\003\002\007\001\000\000\003\007\008\002\006\009\003\006\001\007\003\007\007\008\009\008\000\004\004\00") - (data (i32.const 7040) "\88\00\00\00\01\00\00\00\01\00\00\00\88\00\00\004\009\006\008\002\009\002\007\006\004\007\005\000\009\004\006\006\004\009\000\001\007\009\007\007\005\008\007\002\000\007\000\009\006\003\003\000\002\008\006\004\001\006\006\009\002\008\008\007\009\001\000\009\004\006\005\005\005\005\004\007\008\005\001\009\004\000\004\00") - (data (i32.const 7200) "\88\00\00\00\01\00\00\00\01\00\00\00\88\00\00\000\002\006\003\000\006\005\007\004\008\008\006\007\001\005\000\005\008\002\000\006\008\001\009\000\008\009\000\002\000\000\000\007\000\008\003\008\003\006\007\006\002\007\003\008\005\004\008\004\005\008\001\007\007\001\001\005\003\001\007\006\004\004\007\005\007\003\000\00") - (data (i32.const 7360) "\88\00\00\00\01\00\00\00\01\00\00\00\88\00\00\002\007\000\000\006\009\008\005\005\005\007\001\003\006\006\009\005\009\006\002\002\008\004\002\009\001\004\008\001\009\008\006\000\008\003\004\009\003\006\004\007\005\002\009\002\007\001\009\000\007\004\001\006\008\004\004\004\003\006\005\005\001\000\007\000\004\003\004\00") - (data (i32.const 7520) "\88\00\00\00\01\00\00\00\01\00\00\00\88\00\00\002\007\001\001\005\005\009\006\009\009\005\000\008\000\009\003\000\004\002\008\008\000\001\007\007\009\000\004\001\007\004\004\009\007\007\009\001\00.\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\00") - (data (i32.const 7680) "\\\00\00\00\01\00\00\00\01\00\00\00\\\00\00\000\00.\009\007\005\003\005\003\001\008\008\008\007\009\009\005\000\002\006\001\003\008\000\007\001\003\005\002\007\006\001\004\007\001\006\004\004\000\004\003\009\00e\00-\001\000\003\00") - (data (i32.const 7792) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\00.\005\009\006\001\008\006\000\003\004\008\001\003\001\008\000\007\000\009\001\008\006\001\000\000\002\002\006\006\004\005\003\009\004\001\009\005\000\004\002\008\00e\000\000\00") - (data (i32.const 7904) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\001\00.\008\001\005\000\001\003\001\006\009\002\001\008\000\003\008\007\002\009\008\008\007\004\006\000\008\009\008\007\003\003\005\002\006\009\005\007\004\004\002\00e\00-\001\00") - (data (i32.const 8016) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\004\002\00.\000\007\000\008\002\003\005\007\005\003\004\004\005\003\006\000\000\006\008\001\006\001\008\006\008\005\006\008\002\002\005\007\005\009\000\007\007\002\00e\00-\002\00") - (data (i32.const 8128) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\006\006\005\00.\004\006\008\006\003\000\006\005\001\006\002\006\001\004\005\006\003\002\008\009\007\003\002\002\005\005\007\009\008\003\003\004\007\000\008\001\006\00e\00-\003\00") - (data (i32.const 8240) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\006\001\000\001\00.\008\005\002\009\002\002\009\007\000\008\006\008\006\002\001\007\008\006\006\009\000\004\009\005\004\008\005\004\004\009\008\003\001\007\005\003\00e\00-\004\00") - (data (i32.const 8352) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\007\006\009\006\006\00.\009\005\002\000\008\002\003\006\009\006\008\000\007\007\008\004\009\004\006\004\003\004\008\008\007\005\004\007\001\001\005\008\005\004\009\00e\00-\005\00") - (data (i32.const 8464) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\002\005\000\005\000\006\00.\005\003\002\002\002\002\008\006\008\002\004\009\006\001\003\002\006\000\004\008\000\007\002\002\002\009\002\003\007\000\002\003\000\004\00e\00-\006\00") - (data (i32.const 8576) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\002\007\004\000\000\003\007\00.\002\003\000\002\002\008\000\000\005\003\002\005\008\005\002\004\002\004\006\009\007\006\009\008\003\003\001\001\007\007\003\007\007\00e\00-\007\00") - (data (i32.const 8688) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\002\000\007\002\003\000\009\003\00.\005\000\000\004\009\007\004\002\006\004\005\009\004\001\005\002\009\002\006\008\007\001\005\004\002\008\003\002\004\004\009\000\00e\00-\008\00") - (data (i32.const 8800) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\007\009\000\000\002\008\000\002\003\008\000\008\001\006\000\004\009\005\006\002\002\006\000\001\001\000\004\007\004\006\000\002\003\008\007\004\008\009\001\002\00e\001\00") - (data (i32.const 8912) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\009\008\002\002\008\006\000\006\005\003\007\003\007\002\009\006\008\004\008\001\009\000\005\005\008\004\004\008\007\006\000\004\006\005\008\006\003\005\009\007\00e\002\00") - (data (i32.const 9024) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\007\004\006\008\009\004\009\007\002\003\001\009\000\003\007\000\008\000\009\004\000\005\005\007\000\005\006\000\001\006\000\004\000\005\003\002\004\008\006\009\00e\003\00") - (data (i32.const 9136) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\001\006\003\000\002\006\008\003\002\000\002\008\002\007\002\008\004\007\005\009\008\000\004\005\009\008\004\004\002\007\001\000\003\001\007\005\001\006\006\005\00e\004\00") - (data (i32.const 9248) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\004\006\003\007\001\006\008\006\002\009\007\001\009\001\007\000\006\009\005\001\000\009\009\001\008\007\006\009\006\004\005\004\009\002\000\002\002\000\008\008\00e\005\00") - (data (i32.const 9360) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\006\005\003\007\008\000\005\009\004\004\004\009\007\007\001\001\005\005\004\002\000\009\004\006\001\006\008\006\004\001\005\008\007\002\000\006\007\005\002\003\00e\006\00") - (data (i32.const 9472) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\002\003\004\006\003\002\004\003\005\006\005\000\002\004\003\007\000\004\005\002\001\002\002\003\000\007\001\003\009\006\000\004\005\007\006\007\006\005\003\001\00e\006\00") - (data (i32.const 9584) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\009\007\000\009\004\008\001\007\001\006\004\002\000\000\004\008\003\004\001\008\009\007\002\005\008\009\008\000\004\005\004\002\009\008\002\000\005\002\007\008\00e\008\00") - (data (i32.const 9696) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\004\009\009\006\009\000\008\005\002\002\000\005\001\008\007\004\001\001\000\007\007\009\009\008\002\003\005\004\009\003\002\004\009\009\004\009\009\006\000\002\00e\009\00") - (data (i32.const 9808) "Z\00\00\00\01\00\00\00\01\00\00\00Z\00\00\000\00.\007\009\002\005\002\000\001\002\000\000\005\005\007\002\004\005\008\006\001\009\004\004\000\001\001\002\006\007\000\004\001\007\008\007\005\000\005\001\004\009\00e\002\002\00") - (data (i32.const 9920) "Z\00\00\00\01\00\00\00\01\00\00\00Z\00\00\000\00.\006\000\009\006\005\006\004\005\008\005\009\008\003\001\007\007\004\000\008\009\003\004\003\005\002\005\007\000\002\001\003\003\007\007\004\007\005\007\003\009\00e\003\000\00") - (data (i32.const 10032) "Z\00\00\00\01\00\00\00\01\00\00\00Z\00\00\000\00.\004\008\000\000\004\001\006\001\001\007\004\007\007\000\002\008\007\008\007\008\007\004\003\006\000\002\000\005\000\002\003\005\004\009\004\009\007\001\002\008\00e\006\007\00") - (data (i32.const 10144) "\\\00\00\00\01\00\00\00\01\00\00\00\\\00\00\000\00.\008\005\002\004\008\002\009\000\007\009\008\001\007\009\006\008\002\002\004\008\003\000\003\003\007\009\003\001\000\005\002\007\008\001\006\004\001\004\008\003\00e\001\000\005\00") - (data (i32.const 10256) "\\\00\00\00\01\00\00\00\01\00\00\00\\\00\00\000\00.\000\003\002\007\001\002\003\009\002\009\001\007\000\009\007\008\002\001\001\005\004\004\007\000\006\009\003\007\002\007\004\008\009\005\006\000\008\004\002\005\00e\002\006\009\00") - (data (i32.const 10368) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00 \00\t\00\n\00") - (data (i32.const 10400) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00 \00\t\00\n\00\0d\00.\001\00") - (data (i32.const 10432) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00b\00") - (data (i32.const 10464) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00b\00") - (data (i32.const 10496) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00k\00e\00y\001\00") - (data (i32.const 10528) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00k\00e\00y\002\00") - (data (i32.const 10560) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00k\00e\001\00") - (data (i32.const 10592) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00k\00e\002\00") - (data (i32.const 10624) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00k\00e\00y\001\002\00") - (data (i32.const 10656) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00k\00e\00y\001\001\00") - (data (i32.const 10688) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00\a40\ed0\cf0\cb0\db0\d80\c80") - (data (i32.const 10720) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00\a60\f00\ce0\aa0\af0\e40\de0") - (data (i32.const 10752) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00D\00\19 f\00h\00u\00a\00s\00c\00a\00i\00l\00") - (data (i32.const 10800) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00D\00\19 \1f\1eu\00a\00s\00c\00a\00i\00l\00") - (data (i32.const 10848) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00b\00a\00") - (data (i32.const 10880) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00a\00") - (data (i32.const 10912) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 10960) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00a\00a\00a\00") - (data (i32.const 10992) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00a\00b\00a\00b\00a\00b\00a\00b\00") - (data (i32.const 11024) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00a\00a\00a\00a\00") - (data (i32.const 11056) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00a\00a\00a\00a\00a\00a\00") - (data (i32.const 11088) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00a\00a\00a\00a\00a\00a\00a\00") - (data (i32.const 11120) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00-\00b\00-\00c\00") - (data (i32.const 11152) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00+\00b\00-\00c\00") - (data (i32.const 11184) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00+\00a\00b\00c\00") - (data (i32.const 11216) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00\n\00a\00b\00c\00") - (data (i32.const 11248) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\n\00") - (data (i32.const 11280) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00c\00") - (data (i32.const 11312) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00+\00+\00") - (data (i32.const 11344) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00a\00b\00+\00+\00") - (data (i32.const 11376) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00a\00b\00c\00a\00b\00c\00a\00b\00c\00") - (data (i32.const 11424) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00+\00+\00+\00") - (data (i32.const 11456) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00a\00b\00c\00a\00b\00c\00a\00") - (data (i32.const 11488) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00+\00+\00+\00b\00c\00+\00+\00+\00b\00c\00+\00+\00+\00") - (data (i32.const 11536) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00+\00+\00c\00+\00+\00c\00") - (data (i32.const 11568) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00c\00c\00c\00c\00") - (data (i32.const 11600) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00c\00c\00") - (data (i32.const 11632) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00+\00+\00+\00+\00") - (data (i32.const 11664) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00e\00") - (data (i32.const 11696) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00b\00c\00") - (data (i32.const 11728) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00+\00") - (data (i32.const 11760) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00+\00b\00+\00c\00") - (data (i32.const 11792) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00+\00a\00+\00b\00+\00c\00+\00") - (data (i32.const 11824) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00") - (data (i32.const 11872) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00n\00") - (data (i32.const 11904) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00j\00k\00l\00m\00n\00") - (data (i32.const 11936) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00c\00d\00e\00f\00g\00") - (data (i32.const 11968) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00d\00e\00f\00g\00h\00") - (data (i32.const 12000) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00") - (data (i32.const 12048) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00c\00d\00e\00f\00g\00h\00i\00") - (data (i32.const 12080) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00e\00f\00g\00") - (data (i32.const 12112) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00e\00f\00g\00h\00") - (data (i32.const 12144) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00d\00") - (data (i32.const 12176) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 12224) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") - (data (i32.const 12288) "^\00\00\00\01\00\00\00\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00") - (data (i32.const 12400) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00,\00b\00,\00c\00") - (data (i32.const 12432) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00a\00,\00 \00b\00,\00 \00c\00") - (data (i32.const 12464) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00,\00 \00") - (data (i32.const 12496) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00a\00,\00b\00,\00,\00c\00") - (data (i32.const 12528) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00,\00a\00,\00b\00,\00c\00") - (data (i32.const 12560) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00a\00,\00b\00,\00c\00,\00") - (data (i32.const 12592) "\90\01\00\00\01\00\00\00\00\00\00\00\90\01\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 13008) "\10\00\00\00\01\00\00\00\06\00\00\00\10\00\00\00@1\00\00@1\00\00\90\01\00\00d\00\00\00") - (data (i32.const 13040) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\008\00") - (data (i32.const 13072) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\001\002\00") - (data (i32.const 13104) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00-\001\000\000\000\00") - (data (i32.const 13136) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\002\003\004\00") - (data (i32.const 13168) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\002\003\004\005\00") - (data (i32.const 13200) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\002\003\004\005\006\00") - (data (i32.const 13232) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\001\001\001\001\001\001\00") - (data (i32.const 13264) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\002\003\004\005\006\007\00") - (data (i32.const 13296) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\001\002\003\004\005\006\007\008\00") - (data (i32.const 13328) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\001\002\003\004\005\006\007\008\009\00") - (data (i32.const 13376) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\006\00") - (data (i32.const 13424) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\007\00") - (data (i32.const 13472) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00-\002\001\004\007\004\008\003\006\004\008\00") - (data (i32.const 13520) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00-\001\00") - (data (i32.const 13552) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\000\000\000\00") - (data (i32.const 13584) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\008\00") - (data (i32.const 13632) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\005\00") - (data (i32.const 13680) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\009\009\009\009\009\009\009\009\00") - (data (i32.const 13712) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\001\000\000\000\000\000\000\000\000\00") - (data (i32.const 13760) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\007\00") - (data (i32.const 13808) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 13856) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 13904) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\008\006\008\007\001\009\004\007\006\007\003\005\000\00") - (data (i32.const 13952) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\008\006\008\007\001\009\004\007\006\007\003\005\000\001\00") - (data (i32.const 14000) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 14048) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 14096) "\"\00\00\00\01\00\00\00\01\00\00\00\"\00\00\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 14160) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\001\002\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 14224) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\001\002\003\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 14288) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005\00") - (data (i32.const 14352) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00-\001\002\003\004\00") - (data (i32.const 14384) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00-\004\002\009\004\009\006\007\002\009\005\00") - (data (i32.const 14432) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00-\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 14480) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00-\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 14528) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\00-\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 14576) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00-\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") - (data (i32.const 14640) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007\00") - (data (i32.const 14704) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008\00") - (data (i32.const 14768) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\000\00") - (data (i32.const 14800) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 14832) "\b8\02\00\00\01\00\00\00\00\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~\7f") - (data (i32.const 18592) "\10\00\00\00\01\00\00\00\n\00\00\00\10\00\00\00 H\00\00 H\00\00\80\00\00\00\80\00\00\00") - (data (i32.const 18624) "\0c\00\00\00\01\00\00\00\00\00\00\00\0c\00\00\00\00\08\00\00V\01\00\009\00\00\00") - (data (i32.const 18656) "\10\00\00\00\01\00\00\00\05\00\00\00\10\00\00\00\d0H\00\00\d0H\00\00\0c\00\00\00\03\00\00\00") - (data (i32.const 18688) "j\n\00\00\01\00\00\00\00\00\00\00j\n\00\00\07\08\t\n\0b\0c\06\06\06\06\06\06\06\06\06\06\0d\06\06\0e\06\06\06\06\06\06\06\06\0f\10\11\12\06\13\06\06\06\06\06\06\06\06\06\06\14\15\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\16\17\06\06\06\18\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\19\06\06\06\06\1a\06\06\06\06\06\06\06\1b\06\06\06\06\06\06\06\06\06\06\06\1c\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\1d\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\1e\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00$++++++++\01\00TVVVVVVVV\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00+++++++\07++[VVVVVVVJVV\051P1P1P1P1P1P1P1P$Py1P1P18P1P1P1P1P1P1P1PN1\02N\0d\0dN\03N\00$n\00N1&nQN$PN9\14\81\1b\1d\1dS1P1P\0d1P1P1P\1bS$P1\02\\{\\{\\{\\{\\{\14y\\{\\{\\-+I\03H\03x\\{\14\00\96\n\01+(\06\06\00*\06**+\07\bb\b5+\1e\00+\07+++\01++++++++++++++++++++++++++++++++\01+++++++++++++++++++++++*+++++++++++++\cdF\cd+\00%+\07\01\06\01UVVVVVUVV\02$\81\81\81\81\81\15\81\81\81\00\00+\00\b2\d1\b2\d1\b2\d1\b2\d1\00\00\cd\cc\01\00\d7\d7\d7\d7\d7\83\81\81\81\81\81\81\81\81\81\81\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\1c\00\00\00\00\001P1P1P1P1P1\02\00\001P1P1P1P1P1P1P1P1PN1P1PN1P1P1P1P1P1P1P1\02\87\a6\87\a6\87\a6\87\a6\87\a6\87\a6\87\a6\87\a6*++++++++++++\00\00\00TVVVVVVVVVVVV\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00TVVVVVVVVVVVV\0c\00\0c*+++++++++++++\07*\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*++++++++++++++++++++++++++VVl\81\15\00++++++++++++++++++++++++++++++++++++++++++\07l\03A++VVVVVVVVVVVVVV,V+++++++++++++++++++++\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0cl\00\00\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%Vz\9e&\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06\01++OVV,+\7fVV9++UVV++OVV,+\7fVV\817u[{\\++OVV\02\ac\04\00\009++UVV++OVV,++VV2\13\81W\00o\81~\c9\d7~-\81\81\0e~9\7foW\00\81\81~\15\00~\03++++++++++++\07+$+\97+++++++++*+++++VVVVV\80\81\81\81\819\bb*++++++++++++++++++++++++++++++++++++++++\01\81\81\81\81\81\81\81\81\81\81\81\81\81\81\81\c9\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\d0\0d\00N1\02\b4\c1\c1\d7\d7$P1P1P1P1P1P1P1P1P1P1P1P1P1P1P1P1P\d7\d7S\c1G\d4\d7\d7\d7\05++++++++++++\07\01\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00N1P1P1P1P1P1P1P\0d\00\00\00\00\00$P1P1P1P1P\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00+++++++++++y\\{\\{O{\\{\\{\\{\\{\\{\\{\\{\\{\\{\\-++y\14\\{\\-y*\\\'\\{\\{\\{\a4\00\n\b4\\{\\{O\03*++++++++++++++++++\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00H\00\00\00\00\00\00\00\00\00*++++++++++++++++++++++++++\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00++++++++\07\00HVVVVVVVV\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00+++++++++++++UVVVVVVVVVVVV\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00$+++++++++++\07\00VVVVVVVVVVVV\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00$++++++++++++++++\07\00\00\00\00VVVVVVVVVVVVVVVVV\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*++++++++++VVVVVVVVVV\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*++++++++++VVVVVVVVVV\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00+++++++++++UVVVVVVVVVV\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 21376) "\10\00\00\00\01\00\00\00\n\00\00\00\10\00\00\00\10I\00\00\10I\00\00j\n\00\00j\n\00\00") - (data (i32.const 21408) "\00\02\00\00\01\00\00\00\00\00\00\00\00\02\00\00\00\06\'Qow\00\00\00\00\00\00\00\00\00\00|\00\00\7f\00\00\00\00\00\00\00\00\83\8e\92\97\00\aa\00\00\00\00\00\00\00\00\00\00\b4\c4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\c6\c9\00\00\00\db\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\de\00\00\00\00\e1\00\00\00\00\00\00\00\e4\00\00\00\00\00\00\00\00\00\00\00\e7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ea\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ed\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 21936) "\10\00\00\00\01\00\00\00\n\00\00\00\10\00\00\00\b0S\00\00\b0S\00\00\00\02\00\00\00\02\00\00") - (data (i32.const 21968) "\c0\03\00\00\01\00\00\00\00\00\00\00\c0\03\00\00\00\00\00\00\01 \00\00\00\e0\ff\ff\00\bf\1d\00\00\e7\02\00\00y\00\00\02$\00\00\01\01\00\00\00\ff\ff\ff\00\00\00\00\01\02\00\00\00\fe\ff\ff\019\ff\ff\00\18\ff\ff\01\87\ff\ff\00\d4\fe\ff\00\c3\00\00\01\d2\00\00\01\ce\00\00\01\cd\00\00\01O\00\00\01\ca\00\00\01\cb\00\00\01\cf\00\00\00a\00\00\01\d3\00\00\01\d1\00\00\00\a3\00\00\01\d5\00\00\00\82\00\00\01\d6\00\00\01\da\00\00\01\d9\00\00\01\db\00\00\008\00\00\03\00\00\00\00\b1\ff\ff\01\9f\ff\ff\01\c8\ff\ff\02($\00\00\00\00\00\01\01\00\00\00\ff\ff\ff\003\ff\ff\00&\ff\ff\01~\ff\ff\01+*\00\01]\ff\ff\01(*\00\00?*\00\01=\ff\ff\01E\00\00\01G\00\00\00\1f*\00\00\1c*\00\00\1e*\00\00.\ff\ff\002\ff\ff\006\ff\ff\005\ff\ff\00O\a5\00\00K\a5\00\001\ff\ff\00(\a5\00\00D\a5\00\00/\ff\ff\00-\ff\ff\00\f7)\00\00A\a5\00\00\fd)\00\00+\ff\ff\00*\ff\ff\00\e7)\00\00C\a5\00\00*\a5\00\00\bb\ff\ff\00\'\ff\ff\00\b9\ff\ff\00%\ff\ff\00\15\a5\00\00\12\a5\00\02$L\00\00\00\00\00\01 \00\00\00\e0\ff\ff\01\01\00\00\00\ff\ff\ff\00T\00\00\01t\00\00\01&\00\00\01%\00\00\01@\00\00\01?\00\00\00\da\ff\ff\00\db\ff\ff\00\e1\ff\ff\00\c0\ff\ff\00\c1\ff\ff\01\08\00\00\00\c2\ff\ff\00\c7\ff\ff\00\d1\ff\ff\00\ca\ff\ff\00\f8\ff\ff\00\aa\ff\ff\00\b0\ff\ff\00\07\00\00\00\8c\ff\ff\01\c4\ff\ff\00\a0\ff\ff\01\f9\ff\ff\02\1ap\00\01\01\00\00\00\ff\ff\ff\01 \00\00\00\e0\ff\ff\01P\00\00\01\0f\00\00\00\f1\ff\ff\00\00\00\00\010\00\00\00\d0\ff\ff\01\01\00\00\00\ff\ff\ff\00\00\00\00\00\c0\0b\00\01`\1c\00\00\00\00\00\01\d0\97\00\01\08\00\00\00\f8\ff\ff\02\05\8a\00\00\00\00\00\01@\f4\ff\00\9e\e7\ff\00\c2\89\00\00\db\e7\ff\00\92\e7\ff\00\93\e7\ff\00\9c\e7\ff\00\9d\e7\ff\00\a4\e7\ff\00\00\00\00\008\8a\00\00\04\8a\00\00\e6\0e\00\01\01\00\00\00\ff\ff\ff\00\00\00\00\00\c5\ff\ff\01A\e2\ff\02\1d\8f\00\00\08\00\00\01\f8\ff\ff\00\00\00\00\00V\00\00\01\aa\ff\ff\00J\00\00\00d\00\00\00\80\00\00\00p\00\00\00~\00\00\00\t\00\00\01\b6\ff\ff\01\f7\ff\ff\00\db\e3\ff\01\9c\ff\ff\01\90\ff\ff\01\80\ff\ff\01\82\ff\ff\02\05\ac\00\00\00\00\00\01\10\00\00\00\f0\ff\ff\01\1c\00\00\01\01\00\00\01\a3\e2\ff\01A\df\ff\01\ba\df\ff\00\e4\ff\ff\02\0b\b1\00\01\01\00\00\00\ff\ff\ff\010\00\00\00\d0\ff\ff\00\00\00\00\01\t\d6\ff\01\1a\f1\ff\01\19\d6\ff\00\d5\d5\ff\00\d8\d5\ff\01\e4\d5\ff\01\03\d6\ff\01\e1\d5\ff\01\e2\d5\ff\01\c1\d5\ff\00\00\00\00\00\a0\e3\ff\00\00\00\00\01\01\00\00\00\ff\ff\ff\02\0c\bc\00\00\00\00\00\01\01\00\00\00\ff\ff\ff\01\bcZ\ff\01\a0\03\00\01\fcu\ff\01\d8Z\ff\000\00\00\01\b1Z\ff\01\b5Z\ff\01\bfZ\ff\01\eeZ\ff\01\d6Z\ff\01\ebZ\ff\01\d0\ff\ff\01\bdZ\ff\01\c8u\ff\00\00\00\00\000h\ff\00`\fc\ff\00\00\00\00\01 \00\00\00\e0\ff\ff\00\00\00\00\01(\00\00\00\d8\ff\ff\00\00\00\00\01@\00\00\00\c0\ff\ff\00\00\00\00\01 \00\00\00\e0\ff\ff\00\00\00\00\01 \00\00\00\e0\ff\ff\00\00\00\00\01\"\00\00\00\de\ff\ff") - (data (i32.const 22944) "\10\00\00\00\01\00\00\00\05\00\00\00\10\00\00\00\e0U\00\00\e0U\00\00\c0\03\00\00\f0\00\00\00") - (data (i32.const 22976) "\90\01\00\00\01\00\00\00\00\00\00\00\90\01\00\000\0c1\0dx\0e\7f\0f\80\10\81\11\86\12\89\13\8a\13\8e\14\8f\15\90\16\93\13\94\17\95\18\96\19\97\1a\9a\1b\9c\19\9d\1c\9e\1d\9f\1e\a6\1f\a9\1f\ae\1f\b1 \b2 \b7!\bf\"\c5#\c8#\cb#\dd$\f2#\f6%\f7& -:.=/>0?1@1C2D3E4P5Q6R7S8T9Y:[;\\e?f@hAiBj@kClDoBqErFuG}H\82I\87J\89K\8aL\8bL\8cM\92N\9dO\9ePEW{\1d|\1d}\1d\7fX\86Y\88Z\89Z\8aZ\8c[\8e\\\8f\\\ac]\ad^\ae^\af^\c2_\cc`\cda\cea\cfb\d0c\d1d\d5e\d6f\d7g\f0h\f1i\f2j\f3k\f4l\f5m\f9n\fd-\fe-\ff-PiQiRiSiTiUiViWiXiYiZi[i\\i]i^i_i\82\00\83\00\84\00\85\00\86\00\87\00\88\00\89\00\c0u\cfv\80\89\81\8a\82\8b\85\8c\86\8dp\9dq\9dv\9ew\9ex\9fy\9fz\a0{\a0|\a1}\a1\b3\a2\ba\a3\bb\a3\bc\a4\be\a5\c3\a2\cc\a4\da\a6\db\a6\e5j\ea\a7\eb\a7\ecn\f3\a2\f8\a8\f9\a8\fa\a9\fb\a9\fc\a4&\b0*\b1+\b2N\b3\84\08b\bac\bbd\bce\bdf\bem\bfn\c0o\c1p\c2~\c3\7f\c3}\cf\8d\d0\94\d1\ab\d2\ac\d3\ad\d4\b0\d5\b1\d6\b2\d7\c4\d8\c5\d9\c6\da") - (data (i32.const 23392) "\10\00\00\00\01\00\00\00\n\00\00\00\10\00\00\00\d0Y\00\00\d0Y\00\00\90\01\00\00\90\01\00\00") - (data (i32.const 23424) "\80\00\00\00\01\00\00\00\00\00\00\00\80\00\00\00\00\01\02\03\04\05\06\07\08\t\n\0b\0c\0d\0e\0f\10\11\12\13\14\15\16\17\18\19\1a\1b\1c\1d\1e\1f !\"#$%&\'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\7f") - (data (i32.const 23568) "\10\00\00\00\01\00\00\00\n\00\00\00\10\00\00\00\90[\00\00\90[\00\00\80\00\00\00\80\00\00\00") - (data (i32.const 23600) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00a\00z\00.\00!\00\n\00") - (data (i32.const 23648) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00A\00Z\00.\00!\00\n\00") - (data (i32.const 23696) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00a\00z\00.\00!\00\t\00") - (data (i32.const 23744) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\000\009\00_\00a\00z\00 \00a\00z\00.\00!\00\t\00") - (data (i32.const 23792) "J\00\00\00\01\00\00\00\01\00\00\00J\00\00\00D\00e\00r\00 \00W\00e\00c\00h\00s\00e\00l\00 \00a\00l\00l\00e\00i\00n\00 \00i\00s\00t\00 \00d\00a\00s\00 \00B\00e\00s\00t\00\e4\00n\00d\00i\00g\00e\00") - (data (i32.const 23888) "J\00\00\00\01\00\00\00\01\00\00\00J\00\00\00D\00E\00R\00 \00W\00E\00C\00H\00S\00E\00L\00 \00A\00L\00L\00E\00I\00N\00 \00I\00S\00T\00 \00D\00A\00S\00 \00B\00E\00S\00T\00\c4\00N\00D\00I\00G\00E\00") - (data (i32.const 23984) "J\00\00\00\01\00\00\00\01\00\00\00J\00\00\00d\00e\00r\00 \00w\00e\00c\00h\00s\00e\00l\00 \00a\00l\00l\00e\00i\00n\00 \00i\00s\00t\00 \00d\00a\00s\00 \00b\00e\00s\00t\00\e4\00n\00d\00i\00g\00e\00") - (data (i32.const 24080) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00@\00 \00\14 \00\14\04@\04C\043\04 \00G\045\04;\04>\042\045\04:\040\04!\00") - (data (i32.const 24144) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00@\00 \00\14 \00\14\04 \04#\04\13\04 \00\'\04\15\04\1b\04\1e\04\12\04\15\04\1a\04\10\04!\00") - (data (i32.const 24208) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00@\00 \00\14 \004\04@\04C\043\04 \00G\045\04;\04>\042\045\04:\040\04!\00") - (data (i32.const 24272) "D\00\00\00\01\00\00\00\01\00\00\00D\00\00\00.\" \00E\00\c5\"d\00a\00 \00=\00 \00Q\00,\00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)\00") - (data (i32.const 24368) "D\00\00\00\01\00\00\00\01\00\00\00D\00\00\00.\" \00E\00\c5\"D\00A\00 \00=\00 \00Q\00,\00 \00N\00 \00\92! \00\1e\",\00 \00\11\" \00F\00(\00I\00)\00 \00=\00 \00\0f\" \00G\00(\00I\00)\00") - (data (i32.const 24464) "D\00\00\00\01\00\00\00\01\00\00\00D\00\00\00.\" \00e\00\c5\"d\00a\00 \00=\00 \00q\00,\00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)\00") - (data (i32.const 24560) "H\00\00\00\01\00\00\00\01\00\00\00H\00\00\00\f0\00i\00 \001\01n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\001\01k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\001\01\83\02n\00") - (data (i32.const 24656) "H\00\00\00\01\00\00\00\01\00\00\00H\00\00\00\d0\00I\00 \00I\00N\00T\00\8f\01\c8\02N\00\c6\00\a9\01\8f\01N\00\8f\01L\00 \00F\00\8f\01\c8\02N\00\90\01T\00I\00K\00 \00\8f\01S\00O\00\b1\01S\00I\00\c8\02E\00I\00\a9\01N\00") - (data (i32.const 24752) "H\00\00\00\01\00\00\00\01\00\00\00H\00\00\00\f0\00i\00 \00i\00n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\00i\00k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\00i\00\83\02n\00") - (data (i32.const 24848) ".\00\00\00\01\00\00\00\01\00\00\00.\00\00\00\a3\03r\1f \00\b3\03\bd\03\c9\03\c1\03\af\03\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00\ba\03\cc\03\c8\03\b7\03") - (data (i32.const 24912) ".\00\00\00\01\00\00\00\01\00\00\00.\00\00\00\a3\03\c8\1f \00\93\03\9d\03\a9\03\a1\03\8a\03\96\03\a9\03 \00\08\1f\a0\03\f8\1f \00\a4\03\ca\1f\9d\03 \00\9a\03\8c\03\a8\03\97\03") - (data (i32.const 24976) "0\00\00\00\01\00\00\00\01\00\00\000\00\00\00\c4\03\bf\03\e6\1f \00\c3\03\c0\03\b1\03\b8\03\b9\03\bf\03\e6\1f \00\c4\03t\1f\bd\03 \00\c4\03\c1\03\bf\03\bc\03\b5\03\c1\03\ae\03,\00") - (data (i32.const 25040) "4\00\00\00\01\00\00\00\01\00\00\004\00\00\00\a4\03\9f\03\a5\03B\03 \00\a3\03\a0\03\91\03\98\03\99\03\9f\03\a5\03B\03 \00\a4\03\ca\1f\9d\03 \00\a4\03\a1\03\9f\03\9c\03\95\03\a1\03\89\03,\00") - (data (i32.const 25120) ",\00\00\00\01\00\00\00\01\00\00\00,\00\00\00\c3\03r\1f \00\b3\03\bd\03\c9\03\c1\03\af\03\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00D\1f\c8\03\b7\03") - (data (i32.const 25184) ",\00\00\00\01\00\00\00\01\00\00\00,\00\00\00\a3\03\c8\1f \00\93\03\9d\03\a9\03\a1\03\8a\03\96\03\a9\03 \00\08\1f\a0\03\f8\1f \00\a4\03\ca\1f\9d\03 \00L\1f\a8\03\97\03") - (data (i32.const 25248) "2\00\00\00\01\00\00\00\01\00\00\002\00\00\00\c0\03\bf\03z\1f \00\bc\03r\1f \00\b2\03\af\03\b1\03 \00\bc\03\b5\03\c4\03\c1\03\ac\03\b5\03\b9\03 \00\c4\03t\1f \00\b3\03\c6\1f.\00") - (data (i32.const 25328) "4\00\00\00\01\00\00\00\01\00\00\004\00\00\00\a0\03\9f\03\ea\1f \00\9c\03\c8\1f \00\92\03\8a\03\91\03 \00\9c\03\95\03\a4\03\a1\03\86\03\95\03\99\03 \00\a4\03\ca\1f \00\93\03\97\03B\03.\00") - (data (i32.const 25408) ".\00\00\00\01\00\00\00\01\00\00\00.\00\00\00\91\03\c0\03\bf\1f \00\c4\03p\1f \00\ba\03\cc\03\ba\03\ba\03\b1\03\bb\03\b1\03 \00\b2\03\b3\03\b1\03\bb\03\bc\03\ad\03\bd\03\b7\03") - (data (i32.const 25472) ".\00\00\00\01\00\00\00\01\00\00\00.\00\00\00\91\03\a0\03\bf\1f \00\a4\03\ba\1f \00\9a\03\8c\03\9a\03\9a\03\91\03\9b\03\91\03 \00\92\03\93\03\91\03\9b\03\9c\03\88\03\9d\03\97\03") - (data (i32.const 25536) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00\c4\03\f6\1f\bd\03 \00\fe\1f\95\03\bb\03\bb\03\ae\03\bd\03\c9\03\bd\03 \00\c4\03p\1f \001\1f\b5\03\c1\03\ac\03") - (data (i32.const 25600) "*\00\00\00\01\00\00\00\01\00\00\00*\00\00\00\a4\03\a9\03B\03\9d\03 \00\fe\1f\95\03\9b\03\9b\03\89\03\9d\03\a9\03\9d\03 \00\a4\03\ba\1f \009\1f\95\03\a1\03\86\03") - (data (i32.const 25664) "2\00\00\00\01\00\00\00\01\00\00\002\00\00\00\ba\03\b1\03v\1f \00\c3\03p\1f\bd\03 \00\c0\03\c1\03\f6\1f\c4\03\b1\03 \00\00\1f\bd\03\b4\03\c1\03\b5\03\b9\03\c9\03\bc\03\ad\03\bd\03\b7\03") - (data (i32.const 25744) "4\00\00\00\01\00\00\00\01\00\00\004\00\00\00\9a\03\91\03\da\1f \00\a3\03\ba\1f\9d\03 \00\a0\03\a1\03\a9\03B\03\a4\03\91\03 \00\08\1f\9d\03\94\03\a1\03\95\03\99\03\a9\03\9c\03\88\03\9d\03\97\03") - (data (i32.const 25824) "6\00\00\00\01\00\00\00\01\00\00\006\00\00\00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00f\1f \00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00\bf\1f\95\03\bb\03\b5\03\c5\03\b8\03\b5\03\c1\03\b9\03\ac\03!\00") - (data (i32.const 25904) ":\00\00\00\01\00\00\00\01\00\00\00:\00\00\00\a7\03\91\03\99\03B\03\a1\03\95\03,\00 \00n\1f \00\a7\03\91\03\99\03B\03\a1\03\95\03,\00 \00\bf\1f\95\03\9b\03\95\03\a5\03\98\03\95\03\a1\03\99\03\86\03!\00") - (data (i32.const 25984) "\80\00\00\00\01\00\00\00\01\00\00\00\80\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00 \00/\000\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\00") - (data (i32.const 26128) "\80\00\00\00\01\00\00\00\01\00\00\00\80\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00 \00/\000\001\002\003\004\005\006\007\008\009\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00") - (data (i32.const 26272) "\80\00\00\00\01\00\00\00\01\00\00\00\80\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\00 \00/\000\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\00") - (data (i32.const 26416) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00S\00S\00") - (data (i32.const 26448) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\000\01") - (data (i32.const 26480) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00i\00\07\03") - (data (i32.const 26512) "\ae\00\00\00\01\00\00\00\01\00\00\00\ae\00\00\00\a3\00\a9\00\b5\00\c0\00\c6\00\d6\00\de\00\df\00\e9\00\f6\00\ff\00\13 \14 \18 \1c \1d \1e \" & 0 \"!S\01`\01x\01~\01\ac \00\91\03\92\03\93\03\94\03\a9\03\b1\03\b2\03\b3\03\b4\03\c9\03 \00\10\04\11\04\12\04\13\04\14\040\041\042\043\044\04\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00\01\fb\fd\ff@$\82 \1f\02\1e\e5\04\84\1eP\02\d0\02N#\d0\051\05\d0\10") - (data (i32.const 26704) "\b2\00\00\00\01\00\00\00\01\00\00\00\b2\00\00\00\a3\00\a9\00\9c\03\c0\00\c6\00\d6\00\de\00S\00S\00\c9\00\d6\00x\01\13 \14 \18 \1c \1d \1e \" & 0 \"!R\01`\01x\01}\01\ac \00\91\03\92\03\93\03\94\03\a9\03\91\03\92\03\93\03\94\03\a9\03 \00\10\04\11\04\12\04\13\04\14\04\10\04\11\04\12\04\13\04\14\04\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00F\00I\00\fd\ff@$\82 (\1f\02\1e\e4\04\84\1eo,\d0\02N#\d0\051\05\90\1c") - (data (i32.const 26912) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00s\00s\00") - (data (i32.const 26944) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\01\fb") - (data (i32.const 26976) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00f\00i\00") - (data (i32.const 27008) "\b8\00\00\00\01\00\00\00\01\00\00\00\b8\00\00\00A\d8\0e\df \00A\d81\df \00A\d8y\df \00C\d8S\dc \00C\d8x\dc \00C\d8\96\dc \00C\d8\cf\dc \00C\d8\d5\dc \00C\d8\15\dd \00C\d8|\dd \00C\d8\7f\dd \00C\d8\0e\de \00C\d8\0f\de \00C\d8w\de \00C\d8\9d\de \00C\d8\a2\de \00C\d8\d7\de \00C\d8\f9\de \00C\d8\fa\de \00C\d8-\df \00C\d8.\df \00C\d8L\df \00C\d8\b4\df \00C\d8\bc\df \00C\d8\ea\df \00D\d8\\\dc \00D\d8o\dc \00D\d8u\dc \00D\d8v\dc \00D\d8{\dc \00D\d8\c1\dc") - (data (i32.const 27216) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\00\d8\00\dc") - (data (i32.const 27248) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\88\1f") - (data (i32.const 27280) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\80\1f") - (data (i32.const 27312) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\8f\1f") - (data (i32.const 27344) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\87\1f") - (data (i32.const 27376) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\fc\1f") - (data (i32.const 27408) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\f3\1f") - (data (i32.const 27440) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\00\fb") - (data (i32.const 27472) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00F\00F\00") - (data (i32.const 27504) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00F\00I\00") - (data (i32.const 27536) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\02\fb") - (data (i32.const 27568) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00F\00L\00") - (data (i32.const 27600) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\03\fb") - (data (i32.const 27632) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00F\00F\00I\00") - (data (i32.const 27664) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\04\fb") - (data (i32.const 27696) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00F\00F\00L\00") - (data (i32.const 27728) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\05\fb") - (data (i32.const 27760) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00S\00T\00") - (data (i32.const 27792) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\06\fb") - (data (i32.const 27824) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\f0\01") - (data (i32.const 27856) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00J\00\0c\03") - (data (i32.const 27888) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\96\1e") - (data (i32.const 27920) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00H\001\03") - (data (i32.const 27952) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\97\1e") - (data (i32.const 27984) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00T\00\08\03") - (data (i32.const 28016) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\98\1e") - (data (i32.const 28048) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00W\00\n\03") - (data (i32.const 28080) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\99\1e") - (data (i32.const 28112) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00Y\00\n\03") - (data (i32.const 28144) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\9a\1e") - (data (i32.const 28176) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00A\00\be\02") - (data (i32.const 28208) "@\00\00\00\01\00\00\00\01\00\00\00@\00\00\00o\00r\00i\00g\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00!\00=\00 \00e\00x\00p\00e\00c\00t\00L\00o\00w\00e\00r\00C\00o\00d\00e\00") - (data (i32.const 28288) "@\00\00\00\01\00\00\00\01\00\00\00@\00\00\00o\00r\00i\00g\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00!\00=\00 \00e\00x\00p\00e\00c\00t\00U\00p\00p\00e\00r\00C\00o\00d\00e\00") + (data (i32.const 2000) "\b8\00\00\00\01\00\00\00\03\00\00\00\b8\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00$@\00\00\00\00\00\00Y@\00\00\00\00\00@\8f@\00\00\00\00\00\88\c3@\00\00\00\00\00j\f8@\00\00\00\00\80\84.A\00\00\00\00\d0\12cA\00\00\00\00\84\d7\97A\00\00\00\00e\cd\cdA\00\00\00 _\a0\02B\00\00\00\e8vH7B\00\00\00\a2\94\1amB\00\00@\e5\9c0\a2B\00\00\90\1e\c4\bc\d6B\00\004&\f5k\0cC\00\80\e07y\c3AC\00\a0\d8\85W4vC\00\c8Ngm\c1\abC\00=\91`\e4X\e1C@\8c\b5x\1d\af\15DP\ef\e2\d6\e4\1aKD\92\d5M\06\cf\f0\80D") + (data (i32.const 2208) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\001\00.\00") + (data (i32.const 2240) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00.\000\000\00") + (data (i32.const 2272) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\00-\005\00") + (data (i32.const 2304) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00-\001\00e\00-\005\00") + (data (i32.const 2336) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00-\000\00.\003\00e\00-\002\002\00") + (data (i32.const 2368) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\000\00.\003\00e\00+\002\002\00") + (data (i32.const 2400) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\00-\001\00") + (data (i32.const 2432) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\000\00.\001\00e\00-\000\00") + (data (i32.const 2464) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\001\00") + (data (i32.const 2496) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\002\005\00") + (data (i32.const 2528) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00.\00e\00+\003\00a\00") + (data (i32.const 2560) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\00.\000\00e\00-\001\000\00") + (data (i32.const 2592) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\00.\000\00e\00-\003\000\00") + (data (i32.const 2624) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\001\00.\000\00e\00-\003\002\003\00") + (data (i32.const 2656) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\001\00.\000\00e\00-\003\002\004\00") + (data (i32.const 2688) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00e\00+\003\000\008\00") + (data (i32.const 2720) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00e\00+\003\000\009\00") + (data (i32.const 2752) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\001\00.\000\00e\00-\001\00_\000\00") + (data (i32.const 2784) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\001\00.\000\00e\00-\001\000\00_\000\00") + (data (i32.const 2832) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\001\00.\000\00e\00+\001\00_\000\00") + (data (i32.const 2864) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\001\00_\000\00") + (data (i32.const 2896) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\001\00_\001\00") + (data (i32.const 2928) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\001\000\00.\000\000\00_\000\001\00e\002\00") + (data (i32.const 2976) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\001\002\003\004\005\006\007\008\009\00_\004\00") + (data (i32.const 3024) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\001\00_\000\001\002\003\004\005\006\007\008\009\00") + (data (i32.const 3072) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00e\00-\006\000\00") + (data (i32.const 3104) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\006\000\00") + (data (i32.const 3136) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00-\00.\000\000\000\000\000\00") + (data (i32.const 3168) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\001\00x\00") + (data (i32.const 3200) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00-\001\001\00e\00-\001\00s\00t\00r\00i\00n\00g\00") + (data (i32.const 3248) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\000\001\00e\001\00s\00t\00r\00i\00n\00g\00") + (data (i32.const 3296) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\000\001\000\00s\00t\00r\00i\00n\00g\00") + (data (i32.const 3344) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00+\00.\002\002\00e\00-\001\00") + (data (i32.const 3376) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\001\00.\00s\001\00") + (data (i32.const 3408) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00x\000\00") + (data (i32.const 3440) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00x\005\00") + (data (i32.const 3472) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00x\00D\00") + (data (i32.const 3504) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00\0b\001\00.\001\00") + (data (i32.const 3536) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00\0b\00\0b\00-\001\00.\001\00") + (data (i32.const 3568) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00\0c\00\0c\00-\001\00.\001\00") + (data (i32.const 3600) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00( ( -\001\00.\001\00") + (data (i32.const 3632) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00) ) -\001\00.\001\00") + (data (i32.const 3664) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\000\000\000\000\00") + (data (i32.const 3696) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\000\000\000\00a\00") + (data (i32.const 3728) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\000\000\000\001\00") + (data (i32.const 3760) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\000\00.\000\000\00") + (data (i32.const 3792) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\000\00.\000\00a\00") + (data (i32.const 3824) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\001\00e\00") + (data (i32.const 3856) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\00e\00+\000\000\000\001\00") + (data (i32.const 3888) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\000\00e\00+\001\000\000\00") + (data (i32.const 3920) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00.\00-\001\00.\00") + (data (i32.const 3952) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00e\00-\001\00.\002\00") + (data (i32.const 3984) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\001\00e\00x\00") + (data (i32.const 4016) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\001\00x\00") + (data (i32.const 4048) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\00-\00x\00") + (data (i32.const 4080) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00e\00-\001\00x\00") + (data (i32.const 4112) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\000\00.\001\00e\00-\001\00x\00") + (data (i32.const 4144) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\000\00.\00") + (data (i32.const 4176) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\000\000\00") + (data (i32.const 4208) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\000\00.\00") + (data (i32.const 4240) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\001\00.\00") + (data (i32.const 4272) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\00.\00") + (data (i32.const 4304) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\00a\00") + (data (i32.const 4336) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00.\00.\001\00") + (data (i32.const 4368) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\000\00.\001\00.\001\00") + (data (i32.const 4400) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\000\00.\00 \001\00") + (data (i32.const 4432) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00+\000\00.\000\00") + (data (i32.const 4464) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00-\000\00.\000\00") + (data (i32.const 4496) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00+\000\00") + (data (i32.const 4528) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00-\000\00") + (data (i32.const 4560) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00+\00") + (data (i32.const 4592) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00-\00") + (data (i32.const 4624) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00-\00-\000\00") + (data (i32.const 4656) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00+\00+\000\00") + (data (i32.const 4688) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00.\00a\00") + (data (i32.const 4720) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00.\00.\000\00") + (data (i32.const 4752) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00.\00") + (data (i32.const 4784) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00.\00.\00") + (data (i32.const 4816) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N\00") + (data (i32.const 4848) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\0b\00") + (data (i32.const 4880) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\0e\18") + (data (i32.const 4912) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00\0e\181\00.\001\00") + (data (i32.const 4944) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00\0e\18\0e\181\00.\001\00") + (data (i32.const 4976) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\0c\00") + (data (i32.const 5008) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00t\00r\00u\00e\00") + (data (i32.const 5040) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00f\00a\00l\00s\00e\00") + (data (i32.const 5072) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\002\002\00") + (data (i32.const 5104) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00e\00-\002\002\00") + (data (i32.const 5136) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\002\003\00") + (data (i32.const 5168) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00e\00-\002\003\00") + (data (i32.const 5200) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\003\007\00") + (data (i32.const 5232) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00e\00-\003\007\00") + (data (i32.const 5264) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\00e\003\008\00") + (data (i32.const 5296) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\00e\00-\003\008\00") + (data (i32.const 5328) "*\00\00\00\01\00\00\00\01\00\00\00*\00\00\002\00.\002\002\000\004\004\006\000\004\009\002\005\000\003\001\003\00e\00-\001\006\00") + (data (i32.const 5392) ".\00\00\00\01\00\00\00\01\00\00\00.\00\00\001\00.\007\009\007\006\009\003\001\003\004\008\006\002\003\001\005\007\00e\00+\003\000\008\00") + (data (i32.const 5456) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\005\00e\00-\003\002\004\00") + (data (i32.const 5488) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\000\00.\000\000\000\000\000\001\00e\00+\003\001\004\00") + (data (i32.const 5536) "|\00\00\00\01\00\00\00\01\00\00\00|\00\00\000\00.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\00e\00+\005\006\00") + (data (i32.const 5680) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00+\001\00E\00-\003\002\005\00") + (data (i32.const 5712) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00+\001\00E\00+\003\000\009\00") + (data (i32.const 5744) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00-\001\00E\00-\003\002\005\00") + (data (i32.const 5776) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00-\001\00E\00+\003\000\009\00") + (data (i32.const 5808) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\001\00e\00-\001\000\000\000\000\000\000\00") + (data (i32.const 5856) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\001\00e\00+\001\000\000\000\000\000\000\00") + (data (i32.const 5904) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\00.\00e\003\006\000\00") + (data (i32.const 5936) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00 \00I\00n\00f\00i\00n\00i\00t\00y\00") + (data (i32.const 5984) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00+\00I\00n\00f\00i\00n\00i\00t\00y\00") + (data (i32.const 6032) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") + (data (i32.const 6080) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00x\00") + (data (i32.const 6128) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00+\001\00") + (data (i32.const 6176) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00I\00n\00f\00i\00") + (data (i32.const 6208) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00+\00I\00n\00f\00i\00n\00i\00t\00") + (data (i32.const 6240) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00i\00n\00f\00i\00n\00i\00t\00y\00") + (data (i32.const 6272) "\aa\00\00\00\01\00\00\00\01\00\00\00\aa\00\00\00.\002\004\007\000\003\002\008\002\002\009\002\000\006\002\003\002\007\002\000\008\008\002\008\004\003\009\006\004\003\004\001\001\000\006\008\006\001\008\002\005\002\009\009\000\001\003\000\007\001\006\002\003\008\002\002\001\002\007\009\002\008\004\001\002\005\000\003\003\007\007\005\003\006\003\005\001\000\004\003\00e\00-\003\002\003\00") + (data (i32.const 6464) "\aa\00\00\00\01\00\00\00\01\00\00\00\aa\00\00\00.\007\004\001\000\009\008\004\006\008\007\006\001\008\006\009\008\001\006\002\006\004\008\005\003\001\008\009\003\000\002\003\003\002\000\005\008\005\004\007\005\008\009\007\000\003\009\002\001\004\008\007\001\004\006\006\003\008\003\007\008\005\002\003\007\005\001\000\001\003\002\006\000\009\000\005\003\001\003\002\00e\00-\003\002\003\00") + (data (i32.const 6656) "\aa\00\00\00\01\00\00\00\01\00\00\00\aa\00\00\00.\002\002\002\005\000\007\003\008\005\008\005\000\007\002\000\001\006\003\000\001\002\003\000\005\005\006\003\007\009\005\005\006\007\006\001\005\002\005\000\003\006\001\002\004\001\004\005\007\003\000\001\008\000\001\003\000\008\003\002\002\008\007\002\004\000\004\009\005\008\006\006\004\007\006\000\006\007\006\000\00e\00-\003\000\007\00") + (data (i32.const 6848) "\88\00\00\00\01\00\00\00\01\00\00\00\88\00\00\001\007\009\007\006\009\003\001\003\004\008\006\002\003\001\005\008\000\007\009\003\007\002\008\009\007\001\004\000\005\003\000\003\004\001\005\000\007\009\009\003\004\001\003\002\007\001\000\000\003\007\008\002\006\009\003\006\001\007\003\007\007\008\009\008\000\004\004\00") + (data (i32.const 7008) "\88\00\00\00\01\00\00\00\01\00\00\00\88\00\00\004\009\006\008\002\009\002\007\006\004\007\005\000\009\004\006\006\004\009\000\001\007\009\007\007\005\008\007\002\000\007\000\009\006\003\003\000\002\008\006\004\001\006\006\009\002\008\008\007\009\001\000\009\004\006\005\005\005\005\004\007\008\005\001\009\004\000\004\00") + (data (i32.const 7168) "\88\00\00\00\01\00\00\00\01\00\00\00\88\00\00\000\002\006\003\000\006\005\007\004\008\008\006\007\001\005\000\005\008\002\000\006\008\001\009\000\008\009\000\002\000\000\000\007\000\008\003\008\003\006\007\006\002\007\003\008\005\004\008\004\005\008\001\007\007\001\001\005\003\001\007\006\004\004\007\005\007\003\000\00") + (data (i32.const 7328) "\88\00\00\00\01\00\00\00\01\00\00\00\88\00\00\002\007\000\000\006\009\008\005\005\005\007\001\003\006\006\009\005\009\006\002\002\008\004\002\009\001\004\008\001\009\008\006\000\008\003\004\009\003\006\004\007\005\002\009\002\007\001\009\000\007\004\001\006\008\004\004\004\003\006\005\005\001\000\007\000\004\003\004\00") + (data (i32.const 7488) "\88\00\00\00\01\00\00\00\01\00\00\00\88\00\00\002\007\001\001\005\005\009\006\009\009\005\000\008\000\009\003\000\004\002\008\008\000\001\007\007\009\000\004\001\007\004\004\009\007\007\009\001\00.\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\00") + (data (i32.const 7648) "\\\00\00\00\01\00\00\00\01\00\00\00\\\00\00\000\00.\009\007\005\003\005\003\001\008\008\008\007\009\009\005\000\002\006\001\003\008\000\007\001\003\005\002\007\006\001\004\007\001\006\004\004\000\004\003\009\00e\00-\001\000\003\00") + (data (i32.const 7760) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\00.\005\009\006\001\008\006\000\003\004\008\001\003\001\008\000\007\000\009\001\008\006\001\000\000\002\002\006\006\004\005\003\009\004\001\009\005\000\004\002\008\00e\000\000\00") + (data (i32.const 7872) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\001\00.\008\001\005\000\001\003\001\006\009\002\001\008\000\003\008\007\002\009\008\008\007\004\006\000\008\009\008\007\003\003\005\002\006\009\005\007\004\004\002\00e\00-\001\00") + (data (i32.const 7984) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\004\002\00.\000\007\000\008\002\003\005\007\005\003\004\004\005\003\006\000\000\006\008\001\006\001\008\006\008\005\006\008\002\002\005\007\005\009\000\007\007\002\00e\00-\002\00") + (data (i32.const 8096) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\006\006\005\00.\004\006\008\006\003\000\006\005\001\006\002\006\001\004\005\006\003\002\008\009\007\003\002\002\005\005\007\009\008\003\003\004\007\000\008\001\006\00e\00-\003\00") + (data (i32.const 8208) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\006\001\000\001\00.\008\005\002\009\002\002\009\007\000\008\006\008\006\002\001\007\008\006\006\009\000\004\009\005\004\008\005\004\004\009\008\003\001\007\005\003\00e\00-\004\00") + (data (i32.const 8320) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\007\006\009\006\006\00.\009\005\002\000\008\002\003\006\009\006\008\000\007\007\008\004\009\004\006\004\003\004\008\008\007\005\004\007\001\001\005\008\005\004\009\00e\00-\005\00") + (data (i32.const 8432) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\002\005\000\005\000\006\00.\005\003\002\002\002\002\008\006\008\002\004\009\006\001\003\002\006\000\004\008\000\007\002\002\002\009\002\003\007\000\002\003\000\004\00e\00-\006\00") + (data (i32.const 8544) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\002\007\004\000\000\003\007\00.\002\003\000\002\002\008\000\000\005\003\002\005\008\005\002\004\002\004\006\009\007\006\009\008\003\003\001\001\007\007\003\007\007\00e\00-\007\00") + (data (i32.const 8656) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\002\000\007\002\003\000\009\003\00.\005\000\000\004\009\007\004\002\006\004\005\009\004\001\005\002\009\002\006\008\007\001\005\004\002\008\003\002\004\004\009\000\00e\00-\008\00") + (data (i32.const 8768) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\007\009\000\000\002\008\000\002\003\008\000\008\001\006\000\004\009\005\006\002\002\006\000\001\001\000\004\007\004\006\000\002\003\008\007\004\008\009\001\002\00e\001\00") + (data (i32.const 8880) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\009\008\002\002\008\006\000\006\005\003\007\003\007\002\009\006\008\004\008\001\009\000\005\005\008\004\004\008\007\006\000\004\006\005\008\006\003\005\009\007\00e\002\00") + (data (i32.const 8992) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\007\004\006\008\009\004\009\007\002\003\001\009\000\003\007\000\008\000\009\004\000\005\005\007\000\005\006\000\001\006\000\004\000\005\003\002\004\008\006\009\00e\003\00") + (data (i32.const 9104) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\001\006\003\000\002\006\008\003\002\000\002\008\002\007\002\008\004\007\005\009\008\000\004\005\009\008\004\004\002\007\001\000\003\001\007\005\001\006\006\005\00e\004\00") + (data (i32.const 9216) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\004\006\003\007\001\006\008\006\002\009\007\001\009\001\007\000\006\009\005\001\000\009\009\001\008\007\006\009\006\004\005\004\009\002\000\002\002\000\008\008\00e\005\00") + (data (i32.const 9328) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\006\005\003\007\008\000\005\009\004\004\004\009\007\007\001\001\005\005\004\002\000\009\004\006\001\006\008\006\004\001\005\008\007\002\000\006\007\005\002\003\00e\006\00") + (data (i32.const 9440) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\002\003\004\006\003\002\004\003\005\006\005\000\002\004\003\007\000\004\005\002\001\002\002\003\000\007\001\003\009\006\000\004\005\007\006\007\006\005\003\001\00e\006\00") + (data (i32.const 9552) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\009\007\000\009\004\008\001\007\001\006\004\002\000\000\004\008\003\004\001\008\009\007\002\005\008\009\008\000\004\005\004\002\009\008\002\000\005\002\007\008\00e\008\00") + (data (i32.const 9664) "X\00\00\00\01\00\00\00\01\00\00\00X\00\00\000\00.\004\009\009\006\009\000\008\005\002\002\000\005\001\008\007\004\001\001\000\007\007\009\009\008\002\003\005\004\009\003\002\004\009\009\004\009\009\006\000\002\00e\009\00") + (data (i32.const 9776) "Z\00\00\00\01\00\00\00\01\00\00\00Z\00\00\000\00.\007\009\002\005\002\000\001\002\000\000\005\005\007\002\004\005\008\006\001\009\004\004\000\001\001\002\006\007\000\004\001\007\008\007\005\000\005\001\004\009\00e\002\002\00") + (data (i32.const 9888) "Z\00\00\00\01\00\00\00\01\00\00\00Z\00\00\000\00.\006\000\009\006\005\006\004\005\008\005\009\008\003\001\007\007\004\000\008\009\003\004\003\005\002\005\007\000\002\001\003\003\007\007\004\007\005\007\003\009\00e\003\000\00") + (data (i32.const 10000) "Z\00\00\00\01\00\00\00\01\00\00\00Z\00\00\000\00.\004\008\000\000\004\001\006\001\001\007\004\007\007\000\002\008\007\008\007\008\007\004\003\006\000\002\000\005\000\002\003\005\004\009\004\009\007\001\002\008\00e\006\007\00") + (data (i32.const 10112) "\\\00\00\00\01\00\00\00\01\00\00\00\\\00\00\000\00.\008\005\002\004\008\002\009\000\007\009\008\001\007\009\006\008\002\002\004\008\003\000\003\003\007\009\003\001\000\005\002\007\008\001\006\004\001\004\008\003\00e\001\000\005\00") + (data (i32.const 10224) "\\\00\00\00\01\00\00\00\01\00\00\00\\\00\00\000\00.\000\003\002\007\001\002\003\009\002\009\001\007\000\009\007\008\002\001\001\005\004\004\007\000\006\009\003\007\002\007\004\008\009\005\006\000\008\004\002\005\00e\002\006\009\00") + (data (i32.const 10336) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00 \00\t\00\n\00") + (data (i32.const 10368) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00 \00\t\00\n\00\0d\00.\001\00") + (data (i32.const 10400) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00b\00") + (data (i32.const 10432) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00b\00") + (data (i32.const 10464) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00k\00e\00y\001\00") + (data (i32.const 10496) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00k\00e\00y\002\00") + (data (i32.const 10528) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00k\00e\001\00") + (data (i32.const 10560) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00k\00e\002\00") + (data (i32.const 10592) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00k\00e\00y\001\002\00") + (data (i32.const 10624) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00k\00e\00y\001\001\00") + (data (i32.const 10656) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00\a40\ed0\cf0\cb0\db0\d80\c80") + (data (i32.const 10688) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00\a60\f00\ce0\aa0\af0\e40\de0") + (data (i32.const 10720) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00D\00\19 f\00h\00u\00a\00s\00c\00a\00i\00l\00") + (data (i32.const 10768) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\00D\00\19 \1f\1eu\00a\00s\00c\00a\00i\00l\00") + (data (i32.const 10816) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00b\00a\00") + (data (i32.const 10848) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00a\00") + (data (i32.const 10880) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data (i32.const 10928) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00a\00a\00a\00") + (data (i32.const 10960) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00a\00b\00a\00b\00a\00b\00a\00b\00") + (data (i32.const 10992) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00a\00a\00a\00a\00") + (data (i32.const 11024) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00a\00a\00a\00a\00a\00a\00") + (data (i32.const 11056) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00a\00a\00a\00a\00a\00a\00a\00") + (data (i32.const 11088) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00-\00b\00-\00c\00") + (data (i32.const 11120) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00+\00b\00-\00c\00") + (data (i32.const 11152) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00+\00a\00b\00c\00") + (data (i32.const 11184) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00\n\00a\00b\00c\00") + (data (i32.const 11216) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\n\00") + (data (i32.const 11248) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00c\00") + (data (i32.const 11280) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00+\00+\00") + (data (i32.const 11312) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00a\00b\00+\00+\00") + (data (i32.const 11344) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00a\00b\00c\00a\00b\00c\00a\00b\00c\00") + (data (i32.const 11392) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00+\00+\00+\00") + (data (i32.const 11424) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00a\00b\00c\00a\00b\00c\00a\00") + (data (i32.const 11456) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00+\00+\00+\00b\00c\00+\00+\00+\00b\00c\00+\00+\00+\00") + (data (i32.const 11504) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00+\00+\00c\00+\00+\00c\00") + (data (i32.const 11536) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00c\00c\00c\00c\00") + (data (i32.const 11568) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00c\00c\00") + (data (i32.const 11600) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00+\00+\00+\00+\00") + (data (i32.const 11632) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00e\00") + (data (i32.const 11664) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00b\00c\00") + (data (i32.const 11696) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00a\00+\00") + (data (i32.const 11728) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00+\00b\00+\00c\00") + (data (i32.const 11760) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00+\00a\00+\00b\00+\00c\00+\00") + (data (i32.const 11792) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00") + (data (i32.const 11840) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00n\00") + (data (i32.const 11872) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00j\00k\00l\00m\00n\00") + (data (i32.const 11904) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00c\00d\00e\00f\00g\00") + (data (i32.const 11936) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00d\00e\00f\00g\00h\00") + (data (i32.const 11968) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00") + (data (i32.const 12016) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00c\00d\00e\00f\00g\00h\00i\00") + (data (i32.const 12048) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00e\00f\00g\00") + (data (i32.const 12080) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\00e\00f\00g\00h\00") + (data (i32.const 12112) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00d\00") + (data (i32.const 12144) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00") + (data (i32.const 12192) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e\00") + (data (i32.const 12256) "^\00\00\00\01\00\00\00\01\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00") + (data (i32.const 12368) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00a\00,\00b\00,\00c\00") + (data (i32.const 12400) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\00a\00,\00 \00b\00,\00 \00c\00") + (data (i32.const 12432) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00,\00 \00") + (data (i32.const 12464) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00a\00,\00b\00,\00,\00c\00") + (data (i32.const 12496) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00,\00a\00,\00b\00,\00c\00") + (data (i32.const 12528) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\00a\00,\00b\00,\00c\00,\00") + (data (i32.const 12560) "\90\01\00\00\01\00\00\00\06\00\00\00\90\01\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") + (data (i32.const 12976) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\008\00") + (data (i32.const 13008) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\001\002\00") + (data (i32.const 13040) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00-\001\000\000\000\00") + (data (i32.const 13072) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\002\003\004\00") + (data (i32.const 13104) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\001\002\003\004\005\00") + (data (i32.const 13136) "\0c\00\00\00\01\00\00\00\01\00\00\00\0c\00\00\001\002\003\004\005\006\00") + (data (i32.const 13168) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\001\001\001\001\001\001\00") + (data (i32.const 13200) "\0e\00\00\00\01\00\00\00\01\00\00\00\0e\00\00\001\002\003\004\005\006\007\00") + (data (i32.const 13232) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\001\002\003\004\005\006\007\008\00") + (data (i32.const 13264) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\001\002\003\004\005\006\007\008\009\00") + (data (i32.const 13312) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\006\00") + (data (i32.const 13360) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\007\00") + (data (i32.const 13408) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00-\002\001\004\007\004\008\003\006\004\008\00") + (data (i32.const 13456) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00-\001\00") + (data (i32.const 13488) "\08\00\00\00\01\00\00\00\01\00\00\00\08\00\00\001\000\000\000\00") + (data (i32.const 13520) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\008\00") + (data (i32.const 13568) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\005\00") + (data (i32.const 13616) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\009\009\009\009\009\009\009\009\00") + (data (i32.const 13648) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\001\000\000\000\000\000\000\000\000\00") + (data (i32.const 13696) "\14\00\00\00\01\00\00\00\01\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\007\00") + (data (i32.const 13744) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\006\008\007\001\009\004\007\006\007\003\005\00") + (data (i32.const 13792) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\008\006\008\007\001\009\004\007\006\007\003\005\00") + (data (i32.const 13840) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\008\006\008\007\001\009\004\007\006\007\003\005\000\00") + (data (i32.const 13888) "\1c\00\00\00\01\00\00\00\01\00\00\00\1c\00\00\008\006\008\007\001\009\004\007\006\007\003\005\000\001\00") + (data (i32.const 13936) "\1e\00\00\00\01\00\00\00\01\00\00\00\1e\00\00\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") + (data (i32.const 13984) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") + (data (i32.const 14032) "\"\00\00\00\01\00\00\00\01\00\00\00\"\00\00\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") + (data (i32.const 14096) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\001\002\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") + (data (i32.const 14160) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\001\002\003\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") + (data (i32.const 14224) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005\00") + (data (i32.const 14288) "\n\00\00\00\01\00\00\00\01\00\00\00\n\00\00\00-\001\002\003\004\00") + (data (i32.const 14320) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\00-\004\002\009\004\009\006\007\002\009\005\00") + (data (i32.const 14368) "\18\00\00\00\01\00\00\00\01\00\00\00\18\00\00\00-\006\008\007\001\009\004\007\006\007\003\005\00") + (data (i32.const 14416) "\1a\00\00\00\01\00\00\00\01\00\00\00\1a\00\00\00-\008\006\008\007\001\009\004\007\006\007\003\005\00") + (data (i32.const 14464) " \00\00\00\01\00\00\00\01\00\00\00 \00\00\00-\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") + (data (i32.const 14512) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00-\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00") + (data (i32.const 14576) "&\00\00\00\01\00\00\00\01\00\00\00&\00\00\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007\00") + (data (i32.const 14640) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008\00") + (data (i32.const 14704) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\000\00") + (data (i32.const 14736) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") + (data (i32.const 14768) "\b8\02\00\00\01\00\00\00\07\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~\7f") + (data (i32.const 18400) "j\n\00\00\01\00\00\00\n\00\00\00j\n\00\00\07\08\t\n\0b\0c\06\06\06\06\06\06\06\06\06\06\0d\06\06\0e\06\06\06\06\06\06\06\06\0f\10\11\12\06\13\06\06\06\06\06\06\06\06\06\06\14\15\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\16\17\06\06\06\18\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\19\06\06\06\06\1a\06\06\06\06\06\06\06\1b\06\06\06\06\06\06\06\06\06\06\06\1c\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\1d\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\1e\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00$++++++++\01\00TVVVVVVVV\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00+++++++\07++[VVVVVVVJVV\051P1P1P1P1P1P1P1P$Py1P1P18P1P1P1P1P1P1P1PN1\02N\0d\0dN\03N\00$n\00N1&nQN$PN9\14\81\1b\1d\1dS1P1P\0d1P1P1P\1bS$P1\02\\{\\{\\{\\{\\{\14y\\{\\{\\-+I\03H\03x\\{\14\00\96\n\01+(\06\06\00*\06**+\07\bb\b5+\1e\00+\07+++\01++++++++++++++++++++++++++++++++\01+++++++++++++++++++++++*+++++++++++++\cdF\cd+\00%+\07\01\06\01UVVVVVUVV\02$\81\81\81\81\81\15\81\81\81\00\00+\00\b2\d1\b2\d1\b2\d1\b2\d1\00\00\cd\cc\01\00\d7\d7\d7\d7\d7\83\81\81\81\81\81\81\81\81\81\81\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\1c\00\00\00\00\001P1P1P1P1P1\02\00\001P1P1P1P1P1P1P1P1PN1P1PN1P1P1P1P1P1P1P1\02\87\a6\87\a6\87\a6\87\a6\87\a6\87\a6\87\a6\87\a6*++++++++++++\00\00\00TVVVVVVVVVVVV\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00TVVVVVVVVVVVV\0c\00\0c*+++++++++++++\07*\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*++++++++++++++++++++++++++VVl\81\15\00++++++++++++++++++++++++++++++++++++++++++\07l\03A++VVVVVVVVVVVVVV,V+++++++++++++++++++++\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0cl\00\00\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%Vz\9e&\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06\01++OVV,+\7fVV9++UVV++OVV,+\7fVV\817u[{\\++OVV\02\ac\04\00\009++UVV++OVV,++VV2\13\81W\00o\81~\c9\d7~-\81\81\0e~9\7foW\00\81\81~\15\00~\03++++++++++++\07+$+\97+++++++++*+++++VVVVV\80\81\81\81\819\bb*++++++++++++++++++++++++++++++++++++++++\01\81\81\81\81\81\81\81\81\81\81\81\81\81\81\81\c9\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\d0\0d\00N1\02\b4\c1\c1\d7\d7$P1P1P1P1P1P1P1P1P1P1P1P1P1P1P1P1P\d7\d7S\c1G\d4\d7\d7\d7\05++++++++++++\07\01\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00N1P1P1P1P1P1P1P\0d\00\00\00\00\00$P1P1P1P1P\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00+++++++++++y\\{\\{O{\\{\\{\\{\\{\\{\\{\\{\\{\\{\\-++y\14\\{\\-y*\\\'\\{\\{\\{\a4\00\n\b4\\{\\{O\03*++++++++++++++++++\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00H\00\00\00\00\00\00\00\00\00*++++++++++++++++++++++++++\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00++++++++\07\00HVVVVVVVV\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00+++++++++++++UVVVVVVVVVVVV\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00$+++++++++++\07\00VVVVVVVVVVVV\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00$++++++++++++++++\07\00\00\00\00VVVVVVVVVVVVVVVVV\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*++++++++++VVVVVVVVVV\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*++++++++++VVVVVVVVVV\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00+++++++++++UVVVVVVVVVV\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 21088) "\0c\00\00\00\01\00\00\00\0b\00\00\00\0c\00\00\00\00\08\00\00V\01\00\009\00\00\00") + (data (i32.const 21120) "\c0\03\00\00\01\00\00\00\0b\00\00\00\c0\03\00\00\00\00\00\00\01 \00\00\00\e0\ff\ff\00\bf\1d\00\00\e7\02\00\00y\00\00\02$\00\00\01\01\00\00\00\ff\ff\ff\00\00\00\00\01\02\00\00\00\fe\ff\ff\019\ff\ff\00\18\ff\ff\01\87\ff\ff\00\d4\fe\ff\00\c3\00\00\01\d2\00\00\01\ce\00\00\01\cd\00\00\01O\00\00\01\ca\00\00\01\cb\00\00\01\cf\00\00\00a\00\00\01\d3\00\00\01\d1\00\00\00\a3\00\00\01\d5\00\00\00\82\00\00\01\d6\00\00\01\da\00\00\01\d9\00\00\01\db\00\00\008\00\00\03\00\00\00\00\b1\ff\ff\01\9f\ff\ff\01\c8\ff\ff\02($\00\00\00\00\00\01\01\00\00\00\ff\ff\ff\003\ff\ff\00&\ff\ff\01~\ff\ff\01+*\00\01]\ff\ff\01(*\00\00?*\00\01=\ff\ff\01E\00\00\01G\00\00\00\1f*\00\00\1c*\00\00\1e*\00\00.\ff\ff\002\ff\ff\006\ff\ff\005\ff\ff\00O\a5\00\00K\a5\00\001\ff\ff\00(\a5\00\00D\a5\00\00/\ff\ff\00-\ff\ff\00\f7)\00\00A\a5\00\00\fd)\00\00+\ff\ff\00*\ff\ff\00\e7)\00\00C\a5\00\00*\a5\00\00\bb\ff\ff\00\'\ff\ff\00\b9\ff\ff\00%\ff\ff\00\15\a5\00\00\12\a5\00\02$L\00\00\00\00\00\01 \00\00\00\e0\ff\ff\01\01\00\00\00\ff\ff\ff\00T\00\00\01t\00\00\01&\00\00\01%\00\00\01@\00\00\01?\00\00\00\da\ff\ff\00\db\ff\ff\00\e1\ff\ff\00\c0\ff\ff\00\c1\ff\ff\01\08\00\00\00\c2\ff\ff\00\c7\ff\ff\00\d1\ff\ff\00\ca\ff\ff\00\f8\ff\ff\00\aa\ff\ff\00\b0\ff\ff\00\07\00\00\00\8c\ff\ff\01\c4\ff\ff\00\a0\ff\ff\01\f9\ff\ff\02\1ap\00\01\01\00\00\00\ff\ff\ff\01 \00\00\00\e0\ff\ff\01P\00\00\01\0f\00\00\00\f1\ff\ff\00\00\00\00\010\00\00\00\d0\ff\ff\01\01\00\00\00\ff\ff\ff\00\00\00\00\00\c0\0b\00\01`\1c\00\00\00\00\00\01\d0\97\00\01\08\00\00\00\f8\ff\ff\02\05\8a\00\00\00\00\00\01@\f4\ff\00\9e\e7\ff\00\c2\89\00\00\db\e7\ff\00\92\e7\ff\00\93\e7\ff\00\9c\e7\ff\00\9d\e7\ff\00\a4\e7\ff\00\00\00\00\008\8a\00\00\04\8a\00\00\e6\0e\00\01\01\00\00\00\ff\ff\ff\00\00\00\00\00\c5\ff\ff\01A\e2\ff\02\1d\8f\00\00\08\00\00\01\f8\ff\ff\00\00\00\00\00V\00\00\01\aa\ff\ff\00J\00\00\00d\00\00\00\80\00\00\00p\00\00\00~\00\00\00\t\00\00\01\b6\ff\ff\01\f7\ff\ff\00\db\e3\ff\01\9c\ff\ff\01\90\ff\ff\01\80\ff\ff\01\82\ff\ff\02\05\ac\00\00\00\00\00\01\10\00\00\00\f0\ff\ff\01\1c\00\00\01\01\00\00\01\a3\e2\ff\01A\df\ff\01\ba\df\ff\00\e4\ff\ff\02\0b\b1\00\01\01\00\00\00\ff\ff\ff\010\00\00\00\d0\ff\ff\00\00\00\00\01\t\d6\ff\01\1a\f1\ff\01\19\d6\ff\00\d5\d5\ff\00\d8\d5\ff\01\e4\d5\ff\01\03\d6\ff\01\e1\d5\ff\01\e2\d5\ff\01\c1\d5\ff\00\00\00\00\00\a0\e3\ff\00\00\00\00\01\01\00\00\00\ff\ff\ff\02\0c\bc\00\00\00\00\00\01\01\00\00\00\ff\ff\ff\01\bcZ\ff\01\a0\03\00\01\fcu\ff\01\d8Z\ff\000\00\00\01\b1Z\ff\01\b5Z\ff\01\bfZ\ff\01\eeZ\ff\01\d6Z\ff\01\ebZ\ff\01\d0\ff\ff\01\bdZ\ff\01\c8u\ff\00\00\00\00\000h\ff\00`\fc\ff\00\00\00\00\01 \00\00\00\e0\ff\ff\00\00\00\00\01(\00\00\00\d8\ff\ff\00\00\00\00\01@\00\00\00\c0\ff\ff\00\00\00\00\01 \00\00\00\e0\ff\ff\00\00\00\00\01 \00\00\00\e0\ff\ff\00\00\00\00\01\"\00\00\00\de\ff\ff") + (data (i32.const 22096) "\00\02\00\00\01\00\00\00\n\00\00\00\00\02\00\00\00\06\'Qow\00\00\00\00\00\00\00\00\00\00|\00\00\7f\00\00\00\00\00\00\00\00\83\8e\92\97\00\aa\00\00\00\00\00\00\00\00\00\00\b4\c4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\c6\c9\00\00\00\db\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\de\00\00\00\00\e1\00\00\00\00\00\00\00\e4\00\00\00\00\00\00\00\00\00\00\00\e7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ea\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ed\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data (i32.const 22624) "\90\01\00\00\01\00\00\00\n\00\00\00\90\01\00\000\0c1\0dx\0e\7f\0f\80\10\81\11\86\12\89\13\8a\13\8e\14\8f\15\90\16\93\13\94\17\95\18\96\19\97\1a\9a\1b\9c\19\9d\1c\9e\1d\9f\1e\a6\1f\a9\1f\ae\1f\b1 \b2 \b7!\bf\"\c5#\c8#\cb#\dd$\f2#\f6%\f7& -:.=/>0?1@1C2D3E4P5Q6R7S8T9Y:[;\\e?f@hAiBj@kClDoBqErFuG}H\82I\87J\89K\8aL\8bL\8cM\92N\9dO\9ePEW{\1d|\1d}\1d\7fX\86Y\88Z\89Z\8aZ\8c[\8e\\\8f\\\ac]\ad^\ae^\af^\c2_\cc`\cda\cea\cfb\d0c\d1d\d5e\d6f\d7g\f0h\f1i\f2j\f3k\f4l\f5m\f9n\fd-\fe-\ff-PiQiRiSiTiUiViWiXiYiZi[i\\i]i^i_i\82\00\83\00\84\00\85\00\86\00\87\00\88\00\89\00\c0u\cfv\80\89\81\8a\82\8b\85\8c\86\8dp\9dq\9dv\9ew\9ex\9fy\9fz\a0{\a0|\a1}\a1\b3\a2\ba\a3\bb\a3\bc\a4\be\a5\c3\a2\cc\a4\da\a6\db\a6\e5j\ea\a7\eb\a7\ecn\f3\a2\f8\a8\f9\a8\fa\a9\fb\a9\fc\a4&\b0*\b1+\b2N\b3\84\08b\bac\bbd\bce\bdf\bem\bfn\c0o\c1p\c2~\c3\7f\c3}\cf\8d\d0\94\d1\ab\d2\ac\d3\ad\d4\b0\d5\b1\d6\b2\d7\c4\d8\c5\d9\c6\da") + (data (i32.const 23040) "\80\00\00\00\01\00\00\00\n\00\00\00\80\00\00\00\00\01\02\03\04\05\06\07\08\t\n\0b\0c\0d\0e\0f\10\11\12\13\14\15\16\17\18\19\1a\1b\1c\1d\1e\1f !\"#$%&\'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\7f") + (data (i32.const 23184) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00a\00z\00.\00!\00\n\00") + (data (i32.const 23232) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00A\00Z\00.\00!\00\n\00") + (data (i32.const 23280) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00a\00z\00.\00!\00\t\00") + (data (i32.const 23328) "\16\00\00\00\01\00\00\00\01\00\00\00\16\00\00\000\009\00_\00a\00z\00 \00a\00z\00.\00!\00\t\00") + (data (i32.const 23376) "J\00\00\00\01\00\00\00\01\00\00\00J\00\00\00D\00e\00r\00 \00W\00e\00c\00h\00s\00e\00l\00 \00a\00l\00l\00e\00i\00n\00 \00i\00s\00t\00 \00d\00a\00s\00 \00B\00e\00s\00t\00\e4\00n\00d\00i\00g\00e\00") + (data (i32.const 23472) "J\00\00\00\01\00\00\00\01\00\00\00J\00\00\00D\00E\00R\00 \00W\00E\00C\00H\00S\00E\00L\00 \00A\00L\00L\00E\00I\00N\00 \00I\00S\00T\00 \00D\00A\00S\00 \00B\00E\00S\00T\00\c4\00N\00D\00I\00G\00E\00") + (data (i32.const 23568) "J\00\00\00\01\00\00\00\01\00\00\00J\00\00\00d\00e\00r\00 \00w\00e\00c\00h\00s\00e\00l\00 \00a\00l\00l\00e\00i\00n\00 \00i\00s\00t\00 \00d\00a\00s\00 \00b\00e\00s\00t\00\e4\00n\00d\00i\00g\00e\00") + (data (i32.const 23664) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00@\00 \00\14 \00\14\04@\04C\043\04 \00G\045\04;\04>\042\045\04:\040\04!\00") + (data (i32.const 23728) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00@\00 \00\14 \00\14\04 \04#\04\13\04 \00\'\04\15\04\1b\04\1e\04\12\04\15\04\1a\04\10\04!\00") + (data (i32.const 23792) "$\00\00\00\01\00\00\00\01\00\00\00$\00\00\00@\00 \00\14 \004\04@\04C\043\04 \00G\045\04;\04>\042\045\04:\040\04!\00") + (data (i32.const 23856) "D\00\00\00\01\00\00\00\01\00\00\00D\00\00\00.\" \00E\00\c5\"d\00a\00 \00=\00 \00Q\00,\00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)\00") + (data (i32.const 23952) "D\00\00\00\01\00\00\00\01\00\00\00D\00\00\00.\" \00E\00\c5\"D\00A\00 \00=\00 \00Q\00,\00 \00N\00 \00\92! \00\1e\",\00 \00\11\" \00F\00(\00I\00)\00 \00=\00 \00\0f\" \00G\00(\00I\00)\00") + (data (i32.const 24048) "D\00\00\00\01\00\00\00\01\00\00\00D\00\00\00.\" \00e\00\c5\"d\00a\00 \00=\00 \00q\00,\00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)\00") + (data (i32.const 24144) "H\00\00\00\01\00\00\00\01\00\00\00H\00\00\00\f0\00i\00 \001\01n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\001\01k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\001\01\83\02n\00") + (data (i32.const 24240) "H\00\00\00\01\00\00\00\01\00\00\00H\00\00\00\d0\00I\00 \00I\00N\00T\00\8f\01\c8\02N\00\c6\00\a9\01\8f\01N\00\8f\01L\00 \00F\00\8f\01\c8\02N\00\90\01T\00I\00K\00 \00\8f\01S\00O\00\b1\01S\00I\00\c8\02E\00I\00\a9\01N\00") + (data (i32.const 24336) "H\00\00\00\01\00\00\00\01\00\00\00H\00\00\00\f0\00i\00 \00i\00n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\00i\00k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\00i\00\83\02n\00") + (data (i32.const 24432) ".\00\00\00\01\00\00\00\01\00\00\00.\00\00\00\a3\03r\1f \00\b3\03\bd\03\c9\03\c1\03\af\03\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00\ba\03\cc\03\c8\03\b7\03") + (data (i32.const 24496) ".\00\00\00\01\00\00\00\01\00\00\00.\00\00\00\a3\03\c8\1f \00\93\03\9d\03\a9\03\a1\03\8a\03\96\03\a9\03 \00\08\1f\a0\03\f8\1f \00\a4\03\ca\1f\9d\03 \00\9a\03\8c\03\a8\03\97\03") + (data (i32.const 24560) "0\00\00\00\01\00\00\00\01\00\00\000\00\00\00\c4\03\bf\03\e6\1f \00\c3\03\c0\03\b1\03\b8\03\b9\03\bf\03\e6\1f \00\c4\03t\1f\bd\03 \00\c4\03\c1\03\bf\03\bc\03\b5\03\c1\03\ae\03,\00") + (data (i32.const 24624) "4\00\00\00\01\00\00\00\01\00\00\004\00\00\00\a4\03\9f\03\a5\03B\03 \00\a3\03\a0\03\91\03\98\03\99\03\9f\03\a5\03B\03 \00\a4\03\ca\1f\9d\03 \00\a4\03\a1\03\9f\03\9c\03\95\03\a1\03\89\03,\00") + (data (i32.const 24704) ",\00\00\00\01\00\00\00\01\00\00\00,\00\00\00\c3\03r\1f \00\b3\03\bd\03\c9\03\c1\03\af\03\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00D\1f\c8\03\b7\03") + (data (i32.const 24768) ",\00\00\00\01\00\00\00\01\00\00\00,\00\00\00\a3\03\c8\1f \00\93\03\9d\03\a9\03\a1\03\8a\03\96\03\a9\03 \00\08\1f\a0\03\f8\1f \00\a4\03\ca\1f\9d\03 \00L\1f\a8\03\97\03") + (data (i32.const 24832) "2\00\00\00\01\00\00\00\01\00\00\002\00\00\00\c0\03\bf\03z\1f \00\bc\03r\1f \00\b2\03\af\03\b1\03 \00\bc\03\b5\03\c4\03\c1\03\ac\03\b5\03\b9\03 \00\c4\03t\1f \00\b3\03\c6\1f.\00") + (data (i32.const 24912) "4\00\00\00\01\00\00\00\01\00\00\004\00\00\00\a0\03\9f\03\ea\1f \00\9c\03\c8\1f \00\92\03\8a\03\91\03 \00\9c\03\95\03\a4\03\a1\03\86\03\95\03\99\03 \00\a4\03\ca\1f \00\93\03\97\03B\03.\00") + (data (i32.const 24992) ".\00\00\00\01\00\00\00\01\00\00\00.\00\00\00\91\03\c0\03\bf\1f \00\c4\03p\1f \00\ba\03\cc\03\ba\03\ba\03\b1\03\bb\03\b1\03 \00\b2\03\b3\03\b1\03\bb\03\bc\03\ad\03\bd\03\b7\03") + (data (i32.const 25056) ".\00\00\00\01\00\00\00\01\00\00\00.\00\00\00\91\03\a0\03\bf\1f \00\a4\03\ba\1f \00\9a\03\8c\03\9a\03\9a\03\91\03\9b\03\91\03 \00\92\03\93\03\91\03\9b\03\9c\03\88\03\9d\03\97\03") + (data (i32.const 25120) "(\00\00\00\01\00\00\00\01\00\00\00(\00\00\00\c4\03\f6\1f\bd\03 \00\fe\1f\95\03\bb\03\bb\03\ae\03\bd\03\c9\03\bd\03 \00\c4\03p\1f \001\1f\b5\03\c1\03\ac\03") + (data (i32.const 25184) "*\00\00\00\01\00\00\00\01\00\00\00*\00\00\00\a4\03\a9\03B\03\9d\03 \00\fe\1f\95\03\9b\03\9b\03\89\03\9d\03\a9\03\9d\03 \00\a4\03\ba\1f \009\1f\95\03\a1\03\86\03") + (data (i32.const 25248) "2\00\00\00\01\00\00\00\01\00\00\002\00\00\00\ba\03\b1\03v\1f \00\c3\03p\1f\bd\03 \00\c0\03\c1\03\f6\1f\c4\03\b1\03 \00\00\1f\bd\03\b4\03\c1\03\b5\03\b9\03\c9\03\bc\03\ad\03\bd\03\b7\03") + (data (i32.const 25328) "4\00\00\00\01\00\00\00\01\00\00\004\00\00\00\9a\03\91\03\da\1f \00\a3\03\ba\1f\9d\03 \00\a0\03\a1\03\a9\03B\03\a4\03\91\03 \00\08\1f\9d\03\94\03\a1\03\95\03\99\03\a9\03\9c\03\88\03\9d\03\97\03") + (data (i32.const 25408) "6\00\00\00\01\00\00\00\01\00\00\006\00\00\00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00f\1f \00\c7\03\b1\03\d6\1f\c1\03\b5\03,\00 \00\bf\1f\95\03\bb\03\b5\03\c5\03\b8\03\b5\03\c1\03\b9\03\ac\03!\00") + (data (i32.const 25488) ":\00\00\00\01\00\00\00\01\00\00\00:\00\00\00\a7\03\91\03\99\03B\03\a1\03\95\03,\00 \00n\1f \00\a7\03\91\03\99\03B\03\a1\03\95\03,\00 \00\bf\1f\95\03\9b\03\95\03\a5\03\98\03\95\03\a1\03\99\03\86\03!\00") + (data (i32.const 25568) "\80\00\00\00\01\00\00\00\01\00\00\00\80\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00 \00/\000\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\00") + (data (i32.const 25712) "\80\00\00\00\01\00\00\00\01\00\00\00\80\00\00\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00 \00/\000\001\002\003\004\005\006\007\008\009\00A\00B\00C\00D\00E\00F\00G\00H\00I\00J\00K\00L\00M\00N\00O\00P\00Q\00R\00S\00T\00U\00V\00W\00X\00Y\00Z\00") + (data (i32.const 25856) "\80\00\00\00\01\00\00\00\01\00\00\00\80\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\00 \00/\000\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00o\00p\00q\00r\00s\00t\00u\00v\00w\00x\00y\00z\00") + (data (i32.const 26000) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00S\00S\00") + (data (i32.const 26032) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\000\01") + (data (i32.const 26064) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00i\00\07\03") + (data (i32.const 26096) "\ae\00\00\00\01\00\00\00\01\00\00\00\ae\00\00\00\a3\00\a9\00\b5\00\c0\00\c6\00\d6\00\de\00\df\00\e9\00\f6\00\ff\00\13 \14 \18 \1c \1d \1e \" & 0 \"!S\01`\01x\01~\01\ac \00\91\03\92\03\93\03\94\03\a9\03\b1\03\b2\03\b3\03\b4\03\c9\03 \00\10\04\11\04\12\04\13\04\14\040\041\042\043\044\04\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00\01\fb\fd\ff@$\82 \1f\02\1e\e5\04\84\1eP\02\d0\02N#\d0\051\05\d0\10") + (data (i32.const 26288) "\b2\00\00\00\01\00\00\00\01\00\00\00\b2\00\00\00\a3\00\a9\00\9c\03\c0\00\c6\00\d6\00\de\00S\00S\00\c9\00\d6\00x\01\13 \14 \18 \1c \1d \1e \" & 0 \"!R\01`\01x\01}\01\ac \00\91\03\92\03\93\03\94\03\a9\03\91\03\92\03\93\03\94\03\a9\03 \00\10\04\11\04\12\04\13\04\14\04\10\04\11\04\12\04\13\04\14\04\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00F\00I\00\fd\ff@$\82 (\1f\02\1e\e4\04\84\1eo,\d0\02N#\d0\051\05\90\1c") + (data (i32.const 26496) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00s\00s\00") + (data (i32.const 26528) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\01\fb") + (data (i32.const 26560) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00f\00i\00") + (data (i32.const 26592) "\b8\00\00\00\01\00\00\00\01\00\00\00\b8\00\00\00A\d8\0e\df \00A\d81\df \00A\d8y\df \00C\d8S\dc \00C\d8x\dc \00C\d8\96\dc \00C\d8\cf\dc \00C\d8\d5\dc \00C\d8\15\dd \00C\d8|\dd \00C\d8\7f\dd \00C\d8\0e\de \00C\d8\0f\de \00C\d8w\de \00C\d8\9d\de \00C\d8\a2\de \00C\d8\d7\de \00C\d8\f9\de \00C\d8\fa\de \00C\d8-\df \00C\d8.\df \00C\d8L\df \00C\d8\b4\df \00C\d8\bc\df \00C\d8\ea\df \00D\d8\\\dc \00D\d8o\dc \00D\d8u\dc \00D\d8v\dc \00D\d8{\dc \00D\d8\c1\dc") + (data (i32.const 26800) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\00\d8\00\dc") + (data (i32.const 26832) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\88\1f") + (data (i32.const 26864) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\80\1f") + (data (i32.const 26896) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\8f\1f") + (data (i32.const 26928) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\87\1f") + (data (i32.const 26960) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\fc\1f") + (data (i32.const 26992) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\f3\1f") + (data (i32.const 27024) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\00\fb") + (data (i32.const 27056) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00F\00F\00") + (data (i32.const 27088) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00F\00I\00") + (data (i32.const 27120) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\02\fb") + (data (i32.const 27152) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00F\00L\00") + (data (i32.const 27184) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\03\fb") + (data (i32.const 27216) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00F\00F\00I\00") + (data (i32.const 27248) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\04\fb") + (data (i32.const 27280) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00F\00F\00L\00") + (data (i32.const 27312) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\05\fb") + (data (i32.const 27344) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00S\00T\00") + (data (i32.const 27376) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\06\fb") + (data (i32.const 27408) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\f0\01") + (data (i32.const 27440) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00J\00\0c\03") + (data (i32.const 27472) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\96\1e") + (data (i32.const 27504) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00H\001\03") + (data (i32.const 27536) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\97\1e") + (data (i32.const 27568) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00T\00\08\03") + (data (i32.const 27600) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\98\1e") + (data (i32.const 27632) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00W\00\n\03") + (data (i32.const 27664) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\99\1e") + (data (i32.const 27696) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00Y\00\n\03") + (data (i32.const 27728) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\9a\1e") + (data (i32.const 27760) "\04\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00A\00\be\02") + (data (i32.const 27792) "@\00\00\00\01\00\00\00\01\00\00\00@\00\00\00o\00r\00i\00g\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00!\00=\00 \00e\00x\00p\00e\00c\00t\00L\00o\00w\00e\00r\00C\00o\00d\00e\00") + (data (i32.const 27872) "@\00\00\00\01\00\00\00\01\00\00\00@\00\00\00o\00r\00i\00g\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00!\00=\00 \00e\00x\00p\00e\00c\00t\00U\00p\00p\00e\00r\00C\00o\00d\00e\00") (table $0 1 funcref) (global $std/string/str (mut i32) (i32.const 32)) (global $std/string/nullStr (mut i32) (i32.const 0)) @@ -487,7 +474,6 @@ (global $~lib/number/I32.MAX_VALUE i32 (i32.const 2147483647)) (global $~lib/builtins/i64.MAX_VALUE i64 (i64.const 9223372036854775807)) (global $~lib/number/I64.MAX_VALUE i64 (i64.const 9223372036854775807)) - (global $~lib/util/string/Powers10 i32 (i32.const 2224)) (global $~lib/util/string/__fixmulShift (mut i64) (i64.const 0)) (global $~lib/builtins/f64.EPSILON f64 (f64.const 2.220446049250313e-16)) (global $~lib/builtins/f64.MAX_VALUE f64 (f64.const 1797693134862315708145274e284)) @@ -503,18 +489,9 @@ (global $~lib/util/number/_K (mut i32) (i32.const 0)) (global $~lib/util/number/_frc_pow (mut i64) (i64.const 0)) (global $~lib/util/number/_exp_pow (mut i32) (i32.const 0)) - (global $~lib/util/casemap/specialsUpper i32 (i32.const 18432)) - (global $~lib/util/string/upperTable127 i32 (i32.const 18608)) - (global $~lib/util/string/upperTable127Ptr (mut i32) (i32.const 0)) - (global $~lib/util/casemap/mt i32 (i32.const 18672)) - (global $~lib/util/casemap/tab i32 (i32.const 21392)) - (global $~lib/util/casemap/ruleBases i32 (i32.const 21952)) - (global $~lib/util/casemap/rules i32 (i32.const 22960)) - (global $~lib/util/casemap/exceptions i32 (i32.const 23408)) - (global $~lib/util/string/lowerTable127 i32 (i32.const 23584)) - (global $~lib/util/string/lowerTable127Ptr (mut i32) (i32.const 0)) + (global $~lib/util/casemap/SPECIALS_UPPER i32 (i32.const 17440)) (global $~started (mut i32) (i32.const 0)) - (global $~lib/heap/__heap_base i32 (i32.const 28368)) + (global $~lib/heap/__heap_base i32 (i32.const 27952)) (export "__setArgumentsLength" (func $~setArgumentsLength)) (export "_start" (func $~start)) (export "memory" (memory $0)) @@ -2253,7 +2230,7 @@ if i32.const 0 i32.const 528 - i32.const 23 + i32.const 22 i32.const 4 call $~lib/builtins/abort unreachable @@ -6307,8 +6284,7 @@ i32.const 22 i32.sub local.set $16 - global.get $~lib/util/string/Powers10 - i32.load offset=4 + i32.const 2016 local.get $16 i32.const 3 i32.shl @@ -6345,8 +6321,7 @@ local.get $2 local.get $17 local.set $12 - global.get $~lib/util/string/Powers10 - i32.load offset=4 + i32.const 2016 local.get $12 i32.const 3 i32.shl @@ -6360,8 +6335,7 @@ local.get $17 i32.sub local.set $6 - global.get $~lib/util/string/Powers10 - i32.load offset=4 + i32.const 2016 local.get $6 i32.const 3 i32.shl @@ -7021,9 +6995,9 @@ i64.gt_u end if - i32.const 10928 + i32.const 10896 i32.const 528 - i32.const 312 + i32.const 311 i32.const 6 call $~lib/builtins/abort unreachable @@ -8027,7 +8001,22 @@ local.get $11 call $~lib/rt/pure/__retain ) - (func $~lib/rt/__allocArray (; 73 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/rt/__allocBuffer (; 73 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + local.get $0 + local.get $1 + call $~lib/rt/tlsf/__alloc + local.set $3 + local.get $2 + if + local.get $3 + local.get $2 + local.get $0 + call $~lib/memory/memory.copy + end + local.get $3 + ) + (func $~lib/rt/__allocArray (; 74 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -8041,7 +8030,8 @@ local.set $5 local.get $5 i32.const 0 - call $~lib/rt/tlsf/__alloc + local.get $3 + call $~lib/rt/__allocBuffer local.set $6 local.get $4 local.get $6 @@ -8056,16 +8046,9 @@ local.get $4 local.get $0 i32.store offset=12 - local.get $3 - if - local.get $6 - local.get $3 - local.get $5 - call $~lib/memory/memory.copy - end local.get $4 ) - (func $~lib/memory/memory.fill (; 74 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/memory/memory.fill (; 75 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8329,7 +8312,7 @@ end end ) - (func $~lib/array/ensureSize (; 75 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/ensureSize (; 76 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8349,8 +8332,8 @@ i32.shr_u i32.gt_u if - i32.const 10928 - i32.const 12192 + i32.const 10896 + i32.const 12160 i32.const 14 i32.const 47 call $~lib/builtins/abort @@ -8391,7 +8374,7 @@ i32.store offset=8 end ) - (func $~lib/array/Array<~lib/string/String>#push (; 76 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#push (; 77 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8427,7 +8410,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/string/String#split (; 77 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#split (; 78 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8733,11 +8716,11 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/array/Array<~lib/string/String>#get:length (; 78 ;) (param $0 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#get:length (; 79 ;) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array<~lib/string/String>#__unchecked_get (; 79 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#__unchecked_get (; 80 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -8747,15 +8730,15 @@ i32.load call $~lib/rt/pure/__retain ) - (func $~lib/array/Array<~lib/string/String>#__get (; 80 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#__get (; 81 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 local.get $0 i32.load offset=12 i32.ge_u if - i32.const 12240 - i32.const 12192 + i32.const 12208 + i32.const 12160 i32.const 93 i32.const 41 call $~lib/builtins/abort @@ -8770,8 +8753,8 @@ if local.get $2 call $~lib/rt/pure/__release - i32.const 12304 - i32.const 12192 + i32.const 12272 + i32.const 12160 i32.const 97 i32.const 39 call $~lib/builtins/abort @@ -8779,7 +8762,7 @@ end local.get $2 ) - (func $~lib/util/number/decimalCount32 (; 81 ;) (param $0 i32) (result i32) + (func $~lib/util/number/decimalCount32 (; 82 ;) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 100000 @@ -8845,59 +8828,55 @@ end unreachable ) - (func $~lib/util/number/utoa32_lut (; 82 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/number/utoa32_lut (; 83 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) + (local $8 i64) (local $9 i64) - (local $10 i64) + (local $10 i32) (local $11 i32) - (local $12 i32) - i32.const 13024 - i32.load offset=4 - local.set $3 loop $while-continue|0 local.get $1 i32.const 10000 i32.ge_u - local.set $4 - local.get $4 + local.set $3 + local.get $3 if local.get $1 i32.const 10000 i32.div_u - local.set $5 + local.set $4 local.get $1 i32.const 10000 i32.rem_u - local.set $6 - local.get $5 + local.set $5 + local.get $4 local.set $1 - local.get $6 + local.get $5 i32.const 100 i32.div_u - local.set $7 - local.get $6 + local.set $6 + local.get $5 i32.const 100 i32.rem_u - local.set $8 - local.get $3 - local.get $7 + local.set $7 + i32.const 12576 + local.get $6 i32.const 2 i32.shl i32.add i64.load32_u - local.set $9 - local.get $3 - local.get $8 + local.set $8 + i32.const 12576 + local.get $7 i32.const 2 i32.shl i32.add i64.load32_u - local.set $10 + local.set $9 local.get $2 i32.const 4 i32.sub @@ -8907,8 +8886,8 @@ i32.const 1 i32.shl i32.add + local.get $8 local.get $9 - local.get $10 i64.const 32 i64.shl i64.or @@ -8923,30 +8902,30 @@ local.get $1 i32.const 100 i32.div_u - local.set $4 + local.set $3 local.get $1 i32.const 100 i32.rem_u - local.set $11 - local.get $4 + local.set $10 + local.get $3 local.set $1 local.get $2 i32.const 2 i32.sub local.set $2 - local.get $3 - local.get $11 + i32.const 12576 + local.get $10 i32.const 2 i32.shl i32.add i32.load - local.set $12 + local.set $11 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store end local.get $1 @@ -8957,19 +8936,19 @@ i32.const 2 i32.sub local.set $2 - local.get $3 + i32.const 12576 local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $12 + local.set $11 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store else local.get $2 @@ -8979,17 +8958,17 @@ i32.const 48 local.get $1 i32.add - local.set $12 + local.set $11 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store16 end ) - (func $~lib/util/number/itoa32 (; 83 ;) (param $0 i32) (result i32) + (func $~lib/util/number/itoa32 (; 84 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9043,7 +9022,7 @@ local.get $3 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/utoa32 (; 84 ;) (param $0 i32) (result i32) + (func $~lib/util/number/utoa32 (; 85 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9077,7 +9056,7 @@ local.get $2 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/decimalCount64 (; 85 ;) (param $0 i64) (result i32) + (func $~lib/util/number/decimalCount64 (; 86 ;) (param $0 i64) (result i32) (local $1 i32) local.get $0 i64.const 1000000000000000 @@ -9150,80 +9129,76 @@ end unreachable ) - (func $~lib/util/number/utoa64_lut (; 86 ;) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/util/number/utoa64_lut (; 87 ;) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i64) + (local $4 i64) + (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) + (local $12 i64) (local $13 i64) - (local $14 i64) - i32.const 13024 - i32.load offset=4 - local.set $3 loop $while-continue|0 local.get $1 i64.const 100000000 i64.ge_u - local.set $4 - local.get $4 + local.set $3 + local.get $3 if local.get $1 i64.const 100000000 i64.div_u - local.set $5 + local.set $4 local.get $1 - local.get $5 + local.get $4 i64.const 100000000 i64.mul i64.sub i32.wrap_i64 - local.set $6 - local.get $5 + local.set $5 + local.get $4 local.set $1 - local.get $6 + local.get $5 i32.const 10000 i32.div_u - local.set $7 - local.get $6 + local.set $6 + local.get $5 i32.const 10000 i32.rem_u - local.set $8 - local.get $7 + local.set $7 + local.get $6 i32.const 100 i32.div_u - local.set $9 - local.get $7 + local.set $8 + local.get $6 i32.const 100 i32.rem_u - local.set $10 - local.get $8 + local.set $9 + local.get $7 i32.const 100 i32.div_u - local.set $11 - local.get $8 + local.set $10 + local.get $7 i32.const 100 i32.rem_u - local.set $12 - local.get $3 - local.get $11 + local.set $11 + i32.const 12576 + local.get $10 i32.const 2 i32.shl i32.add i64.load32_u - local.set $13 - local.get $3 - local.get $12 + local.set $12 + i32.const 12576 + local.get $11 i32.const 2 i32.shl i32.add i64.load32_u - local.set $14 + local.set $13 local.get $2 i32.const 4 i32.sub @@ -9233,26 +9208,26 @@ i32.const 1 i32.shl i32.add + local.get $12 local.get $13 - local.get $14 i64.const 32 i64.shl i64.or i64.store - local.get $3 - local.get $9 + i32.const 12576 + local.get $8 i32.const 2 i32.shl i32.add i64.load32_u - local.set $13 - local.get $3 - local.get $10 + local.set $12 + i32.const 12576 + local.get $9 i32.const 2 i32.shl i32.add i64.load32_u - local.set $14 + local.set $13 local.get $2 i32.const 4 i32.sub @@ -9262,8 +9237,8 @@ i32.const 1 i32.shl i32.add + local.get $12 local.get $13 - local.get $14 i64.const 32 i64.shl i64.or @@ -9277,7 +9252,7 @@ local.get $2 call $~lib/util/number/utoa32_lut ) - (func $~lib/util/number/utoa64 (; 87 ;) (param $0 i64) (result i32) + (func $~lib/util/number/utoa64 (; 88 ;) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9343,7 +9318,7 @@ local.get $1 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/itoa64 (; 88 ;) (param $0 i64) (result i32) + (func $~lib/util/number/itoa64 (; 89 ;) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -9431,25 +9406,7 @@ local.get $2 call $~lib/rt/pure/__retain ) - (func $~lib/array/Array#__unchecked_get (; 89 ;) (param $0 i32) (param $1 i32) (result i64) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load - ) - (func $~lib/array/Array#__unchecked_get (; 90 ;) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s - ) - (func $~lib/util/number/genDigits (; 91 ;) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (func $~lib/util/number/genDigits (; 90 ;) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) (local $8 i64) (local $9 i64) @@ -9462,17 +9419,16 @@ (local $16 i32) (local $17 i32) (local $18 i32) - (local $19 i32) + (local $19 i64) (local $20 i64) (local $21 i64) (local $22 i64) (local $23 i64) - (local $24 i64) + (local $24 i32) (local $25 i32) (local $26 i32) (local $27 i32) - (local $28 i32) - (local $29 i64) + (local $28 i64) i32.const 0 local.get $4 i32.sub @@ -9507,15 +9463,12 @@ local.set $14 local.get $6 local.set $15 - i32.const 15888 - i32.load offset=4 - local.set $16 loop $while-continue|0 local.get $14 i32.const 0 i32.gt_s - local.set $17 - local.get $17 + local.set $16 + local.get $16 if block $break|1 block $case10|1 @@ -9530,44 +9483,44 @@ block $case1|1 block $case0|1 local.get $14 - local.set $19 - local.get $19 + local.set $18 + local.get $18 i32.const 10 i32.eq br_if $case0|1 - local.get $19 + local.get $18 i32.const 9 i32.eq br_if $case1|1 - local.get $19 + local.get $18 i32.const 8 i32.eq br_if $case2|1 - local.get $19 + local.get $18 i32.const 7 i32.eq br_if $case3|1 - local.get $19 + local.get $18 i32.const 6 i32.eq br_if $case4|1 - local.get $19 + local.get $18 i32.const 5 i32.eq br_if $case5|1 - local.get $19 + local.get $18 i32.const 4 i32.eq br_if $case6|1 - local.get $19 + local.get $18 i32.const 3 i32.eq br_if $case7|1 - local.get $19 + local.get $18 i32.const 2 i32.eq br_if $case8|1 - local.get $19 + local.get $18 i32.const 1 i32.eq br_if $case9|1 @@ -9576,7 +9529,7 @@ local.get $12 i32.const 1000000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 1000000000 i32.rem_u @@ -9586,7 +9539,7 @@ local.get $12 i32.const 100000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 100000000 i32.rem_u @@ -9596,7 +9549,7 @@ local.get $12 i32.const 10000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 10000000 i32.rem_u @@ -9606,7 +9559,7 @@ local.get $12 i32.const 1000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 1000000 i32.rem_u @@ -9616,7 +9569,7 @@ local.get $12 i32.const 100000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 100000 i32.rem_u @@ -9626,7 +9579,7 @@ local.get $12 i32.const 10000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 10000 i32.rem_u @@ -9636,7 +9589,7 @@ local.get $12 i32.const 1000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 1000 i32.rem_u @@ -9646,7 +9599,7 @@ local.get $12 i32.const 100 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 100 i32.rem_u @@ -9656,7 +9609,7 @@ local.get $12 i32.const 10 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 10 i32.rem_u @@ -9664,31 +9617,31 @@ br $break|1 end local.get $12 - local.set $18 + local.set $17 i32.const 0 local.set $12 br $break|1 end i32.const 0 - local.set $18 + local.set $17 br $break|1 end - local.get $18 + local.get $17 local.get $15 i32.or if local.get $0 local.get $15 - local.tee $19 + local.tee $18 i32.const 1 i32.add local.set $15 - local.get $19 + local.get $18 i32.const 1 i32.shl i32.add i32.const 48 - local.get $18 + local.get $17 i32.const 65535 i32.and i32.add @@ -9705,8 +9658,8 @@ i64.shl local.get $13 i64.add - local.set $20 - local.get $20 + local.set $19 + local.get $19 local.get $5 i64.le_u if @@ -9715,14 +9668,14 @@ i32.add global.set $~lib/util/number/_K local.get $0 - local.set $25 + local.set $24 local.get $15 - local.set $19 + local.set $18 local.get $5 - local.set $24 - local.get $20 local.set $23 - local.get $16 + local.get $19 + local.set $22 + i32.const 15696 local.get $14 i32.const 2 i32.shl @@ -9731,71 +9684,71 @@ local.get $7 i64.extend_i32_s i64.shl - local.set $22 - local.get $10 local.set $21 - local.get $25 - local.get $19 + local.get $10 + local.set $20 + local.get $24 + local.get $18 i32.const 1 i32.sub i32.const 1 i32.shl i32.add - local.set $26 - local.get $26 + local.set $25 + local.get $25 i32.load16_u - local.set $27 + local.set $26 loop $while-continue|3 - local.get $23 - local.get $21 + local.get $22 + local.get $20 i64.lt_u if (result i32) - local.get $24 local.get $23 - i64.sub local.get $22 + i64.sub + local.get $21 i64.ge_u else i32.const 0 end if (result i32) - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.lt_u if (result i32) i32.const 1 else - local.get $21 - local.get $23 + local.get $20 + local.get $22 i64.sub - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.sub i64.gt_u end else i32.const 0 end - local.set $28 - local.get $28 + local.set $27 + local.get $27 if - local.get $27 + local.get $26 i32.const 1 i32.sub - local.set $27 - local.get $23 + local.set $26 local.get $22 + local.get $21 i64.add - local.set $23 + local.set $22 br $while-continue|3 end end + local.get $25 local.get $26 - local.get $27 i32.store16 local.get $15 return @@ -9805,8 +9758,8 @@ end loop $while-continue|4 i32.const 1 - local.set $17 - local.get $17 + local.set $16 + local.get $16 if local.get $13 i64.const 10 @@ -9820,8 +9773,8 @@ local.get $7 i64.extend_i32_s i64.shr_u - local.set $24 - local.get $24 + local.set $23 + local.get $23 local.get $15 i64.extend_i32_s i64.or @@ -9830,16 +9783,16 @@ if local.get $0 local.get $15 - local.tee $27 + local.tee $26 i32.const 1 i32.add local.set $15 - local.get $27 + local.get $26 i32.const 1 i32.shl i32.add i32.const 48 - local.get $24 + local.get $23 i32.wrap_i64 i32.const 65535 i32.and @@ -9863,7 +9816,7 @@ i32.add global.set $~lib/util/number/_K local.get $10 - local.get $16 + i32.const 15696 i32.const 0 local.get $14 i32.sub @@ -9874,79 +9827,79 @@ i64.mul local.set $10 local.get $0 - local.set $19 + local.set $18 local.get $15 - local.set $28 + local.set $27 local.get $5 - local.set $29 + local.set $28 local.get $13 - local.set $23 - local.get $8 local.set $22 - local.get $10 + local.get $8 local.set $21 - local.get $19 - local.get $28 - i32.const 1 - i32.sub - i32.const 1 + local.get $10 + local.set $20 + local.get $18 + local.get $27 + i32.const 1 + i32.sub + i32.const 1 i32.shl i32.add - local.set $27 - local.get $27 - i32.load16_u local.set $26 + local.get $26 + i32.load16_u + local.set $25 loop $while-continue|6 - local.get $23 - local.get $21 + local.get $22 + local.get $20 i64.lt_u if (result i32) - local.get $29 - local.get $23 - i64.sub + local.get $28 local.get $22 + i64.sub + local.get $21 i64.ge_u else i32.const 0 end if (result i32) - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.lt_u if (result i32) i32.const 1 else - local.get $21 - local.get $23 + local.get $20 + local.get $22 i64.sub - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.sub i64.gt_u end else i32.const 0 end - local.set $25 - local.get $25 + local.set $24 + local.get $24 if - local.get $26 + local.get $25 i32.const 1 i32.sub - local.set $26 - local.get $23 + local.set $25 local.get $22 + local.get $21 i64.add - local.set $23 + local.set $22 br $while-continue|6 end end - local.get $27 local.get $26 + local.get $25 i32.store16 local.get $15 return @@ -9956,7 +9909,7 @@ end local.get $15 ) - (func $~lib/util/number/prettify (; 92 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/prettify (; 91 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -10273,7 +10226,7 @@ end unreachable ) - (func $~lib/util/number/dtoa_core (; 93 ;) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/number/dtoa_core (; 92 ;) (param $0 i32) (param $1 f64) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10438,13 +10391,19 @@ i32.shl i32.sub global.set $~lib/util/number/_K - i32.const 15568 + i32.const 14784 local.get $14 - call $~lib/array/Array#__unchecked_get + i32.const 3 + i32.shl + i32.add + i64.load global.set $~lib/util/number/_frc_pow - i32.const 15792 + i32.const 15504 local.get $14 - call $~lib/array/Array#__unchecked_get + i32.const 1 + i32.shl + i32.add + i32.load16_s global.set $~lib/util/number/_exp_pow local.get $9 i64.clz @@ -10695,13 +10654,13 @@ local.get $2 i32.add ) - (func $~lib/rt/tlsf/__free (; 94 ;) (param $0 i32) + (func $~lib/rt/tlsf/__free (; 93 ;) (param $0 i32) call $~lib/rt/tlsf/maybeInitialize local.get $0 call $~lib/rt/tlsf/checkUsedBlock call $~lib/rt/tlsf/freeBlock ) - (func $~lib/util/number/dtoa (; 95 ;) (param $0 f64) (result i32) + (func $~lib/util/number/dtoa (; 94 ;) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -10709,7 +10668,7 @@ f64.const 0 f64.eq if - i32.const 14784 + i32.const 14720 return end local.get $0 @@ -10723,11 +10682,11 @@ local.get $0 f64.ne if - i32.const 4864 + i32.const 4832 return end - i32.const 6080 - i32.const 14816 + i32.const 6048 + i32.const 14752 local.get $0 f64.const 0 f64.lt @@ -10762,11 +10721,15 @@ call $~lib/rt/tlsf/__free local.get $3 ) - (func $~lib/array/Array#get:length (; 96 ;) (param $0 i32) (result i32) + (func $~lib/staticarray/StaticArray#get:length (; 95 ;) (param $0 i32) (result i32) local.get $0 + i32.const 16 + i32.sub i32.load offset=12 + i32.const 1 + i32.shr_u ) - (func $~lib/util/casemap/casemap (; 97 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/casemap/casemap (; 96 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10780,11 +10743,6 @@ (local $12 i32) (local $13 i32) (local $14 i32) - (local $15 i32) - (local $16 i32) - (local $17 i32) - (local $18 i32) - (local $19 i32) local.get $0 local.set $2 local.get $0 @@ -10803,20 +10761,8 @@ i32.const 3 i32.rem_u local.set $5 - i32.const 18672 - i32.load offset=4 - local.set $6 - i32.const 21392 - i32.load offset=4 - local.set $7 - i32.const 21952 - i32.load offset=4 - local.set $8 - i32.const 22960 - i32.load offset=4 - local.set $9 - local.get $7 - local.get $7 + i32.const 18416 + i32.const 18416 local.get $3 i32.add i32.load8_u @@ -10826,9 +10772,9 @@ local.get $4 i32.add i32.load8_u - local.set $10 - local.get $10 + local.set $6 local.get $6 + i32.const 21104 local.get $5 i32.const 2 i32.shl @@ -10839,35 +10785,35 @@ i32.shr_u i32.const 6 i32.rem_u - local.set $10 - local.get $9 - local.get $8 + local.set $6 + i32.const 21136 + i32.const 22112 local.get $3 i32.add i32.load8_u - local.get $10 + local.get $6 i32.add i32.const 2 i32.shl i32.add i32.load - local.set $11 - local.get $11 + local.set $7 + local.get $7 i32.const 255 i32.and - local.set $12 - local.get $11 + local.set $8 + local.get $7 i32.const 8 i32.shr_s - local.set $13 - local.get $12 + local.set $9 + local.get $8 i32.const 2 i32.lt_u if local.get $2 - local.get $13 + local.get $9 i32.const 0 - local.get $12 + local.get $8 local.get $1 i32.xor i32.sub @@ -10875,43 +10821,40 @@ i32.add return end - local.get $13 + local.get $9 i32.const 255 i32.and - local.set $14 - local.get $13 + local.set $10 + local.get $9 i32.const 8 i32.shr_u - local.set $15 - global.get $~lib/util/casemap/exceptions - i32.load offset=4 - local.set $16 + local.set $11 loop $while-continue|0 - local.get $14 - local.set $17 - local.get $17 + local.get $10 + local.set $12 + local.get $12 if - local.get $14 + local.get $10 i32.const 1 i32.shr_u - local.set $18 - local.get $16 - local.get $15 - local.get $18 + local.set $13 + i32.const 22640 + local.get $11 + local.get $13 i32.add i32.const 2 i32.mul i32.add i32.load8_u - local.set $19 - local.get $19 + local.set $14 + local.get $14 local.get $0 i32.eq if - local.get $9 - local.get $16 - local.get $15 - local.get $18 + i32.const 21136 + i32.const 22640 + local.get $11 + local.get $13 i32.add i32.const 2 i32.mul @@ -10921,23 +10864,23 @@ i32.shl i32.add i32.load - local.set $11 - local.get $11 + local.set $7 + local.get $7 i32.const 255 i32.and - local.set $12 - local.get $11 + local.set $8 + local.get $7 i32.const 8 i32.shr_s - local.set $13 - local.get $12 + local.set $9 + local.get $8 i32.const 2 i32.lt_u if local.get $2 - local.get $13 + local.get $9 i32.const 0 - local.get $12 + local.get $8 local.get $1 i32.xor i32.sub @@ -10954,21 +10897,21 @@ i32.sub return else - local.get $19 + local.get $14 local.get $0 i32.gt_u if - local.get $18 - local.set $14 + local.get $13 + local.set $10 else - local.get $15 - local.get $18 + local.get $11 + local.get $13 i32.add - local.set $15 - local.get $14 - local.get $18 + local.set $11 + local.get $10 + local.get $13 i32.sub - local.set $14 + local.set $10 end end br $while-continue|0 @@ -10976,7 +10919,7 @@ end local.get $2 ) - (func $~lib/string/String#toUpperCase (; 98 ;) (param $0 i32) (result i32) + (func $~lib/string/String#toUpperCase (; 97 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -10992,7 +10935,6 @@ (local $13 i32) (local $14 i32) (local $15 i32) - (local $16 i32) local.get $0 call $~lib/string/String#get:length local.set $1 @@ -11011,61 +10953,58 @@ i32.const 1 call $~lib/rt/tlsf/__alloc local.set $2 - global.get $~lib/util/casemap/specialsUpper - i32.load offset=4 + global.get $~lib/util/casemap/SPECIALS_UPPER + call $~lib/staticarray/StaticArray#get:length local.set $3 - global.get $~lib/util/casemap/specialsUpper - call $~lib/array/Array#get:length + i32.const 0 local.set $4 i32.const 0 local.set $5 - i32.const 0 - local.set $6 loop $for-loop|0 - local.get $6 + local.get $5 local.get $1 i32.lt_u - local.set $7 - local.get $7 + local.set $6 + local.get $6 if block $for-continue|0 local.get $0 - local.get $6 + local.get $5 i32.const 1 i32.shl i32.add i32.load16_u + local.set $7 + local.get $7 local.set $8 local.get $8 - local.set $9 - local.get $9 i32.const -128 i32.and i32.eqz if local.get $2 - local.get $5 + local.get $4 i32.const 1 i32.shl i32.add block $~lib/util/string/toUpper8|inlined.0 (result i32) + local.get $7 + local.set $8 + i32.const 18272 local.get $8 - local.set $9 - global.get $~lib/util/string/upperTable127Ptr - local.get $9 i32.add i32.load8_u br $~lib/util/string/toUpper8|inlined.0 end i32.store16 else - local.get $8 + local.get $7 i32.const 55295 i32.sub i32.const 1025 i32.lt_u if (result i32) - local.get $6 + local.get $5 local.get $1 i32.const 1 i32.sub @@ -11075,136 +11014,136 @@ end if local.get $0 - local.get $6 + local.get $5 i32.const 1 i32.shl i32.add i32.load16_u offset=2 - local.set $9 - local.get $9 + local.set $8 + local.get $8 i32.const 56319 i32.sub i32.const 1025 i32.lt_u if - local.get $8 - local.set $10 - local.get $8 + local.get $7 + local.set $9 + local.get $7 i32.const 1023 i32.and i32.const 10 i32.shl - local.get $9 + local.get $8 i32.const 1023 i32.and i32.or i32.const 65536 i32.add - local.set $8 - local.get $6 + local.set $7 + local.get $5 i32.const 1 i32.add - local.set $6 - local.get $8 + local.set $5 + local.get $7 i32.const 131072 i32.ge_u if local.get $2 - local.get $5 + local.get $4 i32.const 1 i32.shl i32.add - local.get $10 local.get $9 + local.get $8 i32.const 16 i32.shl i32.or i32.store - local.get $5 + local.get $4 i32.const 1 i32.add - local.set $5 + local.set $4 br $for-continue|0 end end end - local.get $8 + local.get $7 i32.const 9424 i32.sub i32.const 25 i32.le_u if local.get $2 - local.get $5 + local.get $4 i32.const 1 i32.shl i32.add - local.get $8 + local.get $7 i32.const 26 i32.sub i32.store16 else i32.const -1 - local.set $9 - local.get $8 + local.set $8 + local.get $7 i32.const 223 i32.sub i32.const 64056 i32.le_u if block $~lib/util/casemap/bsearch|inlined.0 (result i32) - local.get $8 - local.set $12 - local.get $3 + local.get $7 local.set $11 - local.get $4 + global.get $~lib/util/casemap/SPECIALS_UPPER local.set $10 + local.get $3 + local.set $9 i32.const 0 - local.set $13 + local.set $12 loop $while-continue|1 - local.get $13 - local.get $10 + local.get $12 + local.get $9 i32.le_s - local.set $14 - local.get $14 + local.set $13 + local.get $13 if - local.get $13 - local.get $10 + local.get $12 + local.get $9 i32.add i32.const 3 i32.shr_u i32.const 2 i32.shl - local.set $15 - local.get $11 - local.get $15 + local.set $14 + local.get $10 + local.get $14 i32.const 1 i32.shl i32.add i32.load16_u - local.get $12 + local.get $11 i32.sub - local.set $16 - local.get $16 + local.set $15 + local.get $15 i32.const 0 i32.eq if - local.get $15 + local.get $14 br $~lib/util/casemap/bsearch|inlined.0 else - local.get $16 + local.get $15 i32.const 31 i32.shr_u if - local.get $15 + local.get $14 i32.const 4 i32.add - local.set $13 + local.set $12 else - local.get $15 + local.get $14 i32.const 4 i32.sub - local.set $10 + local.set $9 end end br $while-continue|1 @@ -11212,116 +11151,116 @@ end i32.const -1 end - local.set $9 + local.set $8 end - local.get $9 + local.get $8 i32.const -1 i32.xor if - local.get $3 - local.get $9 + global.get $~lib/util/casemap/SPECIALS_UPPER + local.get $8 i32.const 1 i32.shl i32.add i32.load offset=2 - local.set $13 - local.get $3 - local.get $9 + local.set $12 + global.get $~lib/util/casemap/SPECIALS_UPPER + local.get $8 i32.const 1 i32.shl i32.add i32.load16_u offset=6 - local.set $12 + local.set $11 local.get $2 - local.get $5 + local.get $4 i32.const 1 i32.shl i32.add - local.get $13 + local.get $12 i32.store local.get $2 - local.get $5 + local.get $4 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store16 offset=4 - local.get $5 + local.get $4 i32.const 1 - local.get $12 + local.get $11 i32.const 0 i32.ne i32.add i32.add - local.set $5 + local.set $4 else - local.get $8 + local.get $7 i32.const 1 call $~lib/util/casemap/casemap i32.const 2097151 i32.and - local.set $12 - local.get $12 + local.set $11 + local.get $11 i32.const 65536 i32.lt_s if local.get $2 - local.get $5 + local.get $4 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store16 else - local.get $12 + local.get $11 i32.const 65536 i32.sub - local.set $12 - local.get $12 + local.set $11 + local.get $11 i32.const 10 i32.shr_u i32.const 55296 i32.or - local.set $13 - local.get $12 + local.set $12 + local.get $11 i32.const 1023 i32.and i32.const 56320 i32.or - local.set $11 + local.set $10 local.get $2 - local.get $5 + local.get $4 i32.const 1 i32.shl i32.add - local.get $13 - local.get $11 + local.get $12 + local.get $10 i32.const 16 i32.shl i32.or i32.store - local.get $5 + local.get $4 i32.const 1 i32.add - local.set $5 + local.set $4 end end end end end - local.get $6 - i32.const 1 - i32.add - local.set $6 local.get $5 i32.const 1 i32.add local.set $5 + local.get $4 + i32.const 1 + i32.add + local.set $4 br $for-loop|0 end end local.get $2 - local.get $5 + local.get $4 i32.const 1 i32.shl call $~lib/rt/tlsf/__realloc @@ -11329,7 +11268,7 @@ local.get $2 call $~lib/rt/pure/__retain ) - (func $~lib/string/String#toLowerCase (; 99 ;) (param $0 i32) (result i32) + (func $~lib/string/String#toLowerCase (; 98 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -11391,7 +11330,7 @@ block $~lib/util/string/toLower8|inlined.0 (result i32) local.get $6 local.set $7 - global.get $~lib/util/string/lowerTable127Ptr + i32.const 23056 local.get $7 i32.add i32.load8_u @@ -11578,7 +11517,7 @@ local.get $2 call $~lib/rt/pure/__retain ) - (func $~lib/string/String#codePointAt (; 100 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#codePointAt (; 99 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11647,7 +11586,7 @@ i32.const 65536 i32.add ) - (func $start:std/string (; 101 ;) + (func $start:std/string (; 100 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -13288,7 +13227,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2256 + i32.const 2224 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -13301,7 +13240,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2288 + i32.const 2256 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -13314,7 +13253,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2320 + i32.const 2288 call $~lib/string/parseFloat f64.const 1e-05 f64.eq @@ -13327,7 +13266,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2352 + i32.const 2320 call $~lib/string/parseFloat f64.const -1e-05 f64.eq @@ -13340,7 +13279,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2384 + i32.const 2352 call $~lib/string/parseFloat f64.const -3e-23 f64.eq @@ -13353,7 +13292,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2416 + i32.const 2384 call $~lib/string/parseFloat f64.const 3e21 f64.eq @@ -13366,7 +13305,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2448 + i32.const 2416 call $~lib/string/parseFloat f64.const 0.1 f64.eq @@ -13379,7 +13318,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2480 + i32.const 2448 call $~lib/string/parseFloat f64.const 0.1 f64.eq @@ -13392,7 +13331,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2512 + i32.const 2480 call $~lib/string/parseFloat f64.const 0.1 f64.eq @@ -13405,7 +13344,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2544 + i32.const 2512 call $~lib/string/parseFloat f64.const 0.25 f64.eq @@ -13418,7 +13357,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2576 + i32.const 2544 call $~lib/string/parseFloat f64.const 1e3 f64.eq @@ -13431,7 +13370,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2608 + i32.const 2576 call $~lib/string/parseFloat f64.const 1e-10 f64.eq @@ -13444,7 +13383,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2640 + i32.const 2608 call $~lib/string/parseFloat f64.const 1e-30 f64.eq @@ -13457,7 +13396,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2672 + i32.const 2640 call $~lib/string/parseFloat f64.const 1e-323 f64.eq @@ -13470,7 +13409,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2704 + i32.const 2672 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -13483,7 +13422,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2736 + i32.const 2704 call $~lib/string/parseFloat f64.const 1.e+308 f64.eq @@ -13496,7 +13435,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2768 + i32.const 2736 call $~lib/string/parseFloat f64.const inf f64.eq @@ -13523,7 +13462,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2800 + i32.const 2768 call $~lib/string/parseFloat f64.const 0.1 f64.eq @@ -13536,7 +13475,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2832 + i32.const 2800 call $~lib/string/parseFloat f64.const 1e-10 f64.eq @@ -13549,7 +13488,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2880 + i32.const 2848 call $~lib/string/parseFloat f64.const 10 f64.eq @@ -13562,7 +13501,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2912 + i32.const 2880 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -13575,7 +13514,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2944 + i32.const 2912 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -13588,7 +13527,7 @@ call $~lib/builtins/abort unreachable end - i32.const 2976 + i32.const 2944 call $~lib/string/parseFloat f64.const 10 f64.eq @@ -13601,7 +13540,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3024 + i32.const 2992 call $~lib/string/parseFloat f64.const 123456789 f64.eq @@ -13614,7 +13553,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3072 + i32.const 3040 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -13627,7 +13566,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3120 + i32.const 3088 call $~lib/string/parseFloat f64.const 1e-60 f64.eq @@ -13640,7 +13579,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3152 + i32.const 3120 call $~lib/string/parseFloat f64.const 1.e+60 f64.eq @@ -13653,7 +13592,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3184 + i32.const 3152 call $~lib/string/parseFloat f64.const -0 f64.eq @@ -13666,7 +13605,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3216 + i32.const 3184 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -13679,7 +13618,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3248 + i32.const 3216 call $~lib/string/parseFloat f64.const -1.1 f64.eq @@ -13692,7 +13631,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3296 + i32.const 3264 call $~lib/string/parseFloat f64.const 10 f64.eq @@ -13705,7 +13644,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3344 + i32.const 3312 call $~lib/string/parseFloat f64.const 10 f64.eq @@ -13718,7 +13657,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3392 + i32.const 3360 call $~lib/string/parseFloat f64.const 0.022 f64.eq @@ -13731,7 +13670,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3424 + i32.const 3392 call $~lib/string/parseFloat f64.const 11 f64.eq @@ -13744,7 +13683,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3456 + i32.const 3424 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -13757,7 +13696,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3488 + i32.const 3456 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -13770,7 +13709,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3520 + i32.const 3488 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -13783,7 +13722,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3552 + i32.const 3520 call $~lib/string/parseFloat f64.const 1.1 f64.eq @@ -13796,7 +13735,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3584 + i32.const 3552 call $~lib/string/parseFloat f64.const -1.1 f64.eq @@ -13809,7 +13748,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3616 + i32.const 3584 call $~lib/string/parseFloat f64.const -1.1 f64.eq @@ -13822,7 +13761,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3648 + i32.const 3616 call $~lib/string/parseFloat f64.const -1.1 f64.eq @@ -13835,7 +13774,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3680 + i32.const 3648 call $~lib/string/parseFloat f64.const -1.1 f64.eq @@ -13848,7 +13787,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3712 + i32.const 3680 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -13861,7 +13800,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3744 + i32.const 3712 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -13874,7 +13813,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3776 + i32.const 3744 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -13887,7 +13826,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3808 + i32.const 3776 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -13900,7 +13839,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3840 + i32.const 3808 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -13913,7 +13852,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3872 + i32.const 3840 call $~lib/string/parseFloat f64.const 10 f64.eq @@ -13926,7 +13865,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3904 + i32.const 3872 call $~lib/string/parseFloat f64.const 10 f64.eq @@ -13939,7 +13878,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3936 + i32.const 3904 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -13952,7 +13891,7 @@ call $~lib/builtins/abort unreachable end - i32.const 3968 + i32.const 3936 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -13965,7 +13904,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4000 + i32.const 3968 call $~lib/string/parseFloat f64.const 0.1 f64.eq @@ -13978,7 +13917,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4032 + i32.const 4000 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -13991,7 +13930,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4064 + i32.const 4032 call $~lib/string/parseFloat f64.const 10 f64.eq @@ -14004,7 +13943,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4096 + i32.const 4064 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -14017,7 +13956,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4128 + i32.const 4096 call $~lib/string/parseFloat f64.const 0.1 f64.eq @@ -14030,7 +13969,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4160 + i32.const 4128 call $~lib/string/parseFloat f64.const 0.01 f64.eq @@ -14043,7 +13982,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4192 + i32.const 4160 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -14056,7 +13995,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4224 + i32.const 4192 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -14069,7 +14008,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4256 + i32.const 4224 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -14082,7 +14021,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4288 + i32.const 4256 call $~lib/string/parseFloat f64.const 0.1 f64.eq @@ -14095,7 +14034,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4320 + i32.const 4288 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -14108,7 +14047,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4352 + i32.const 4320 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -14121,7 +14060,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4384 + i32.const 4352 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -14134,7 +14073,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4416 + i32.const 4384 call $~lib/string/parseFloat f64.const 0.1 f64.eq @@ -14147,7 +14086,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4448 + i32.const 4416 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -14160,7 +14099,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4480 + i32.const 4448 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -14173,7 +14112,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4512 + i32.const 4480 call $~lib/string/parseFloat f64.const -0 f64.eq @@ -14186,7 +14125,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4544 + i32.const 4512 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -14199,7 +14138,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4576 + i32.const 4544 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -14212,7 +14151,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4608 + i32.const 4576 call $~lib/string/parseFloat local.tee $32 local.get $32 @@ -14226,7 +14165,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4640 + i32.const 4608 call $~lib/string/parseFloat local.tee $32 local.get $32 @@ -14240,7 +14179,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4672 + i32.const 4640 call $~lib/string/parseFloat local.tee $32 local.get $32 @@ -14254,7 +14193,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4704 + i32.const 4672 call $~lib/string/parseFloat local.tee $32 local.get $32 @@ -14268,7 +14207,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4736 + i32.const 4704 call $~lib/string/parseFloat local.tee $32 local.get $32 @@ -14282,7 +14221,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4768 + i32.const 4736 call $~lib/string/parseFloat local.tee $32 local.get $32 @@ -14296,7 +14235,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4800 + i32.const 4768 call $~lib/string/parseFloat local.tee $32 local.get $32 @@ -14310,7 +14249,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4832 + i32.const 4800 call $~lib/string/parseFloat local.tee $32 local.get $32 @@ -14324,7 +14263,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4864 + i32.const 4832 call $~lib/string/parseFloat local.tee $32 local.get $32 @@ -14338,7 +14277,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4896 + i32.const 4864 call $~lib/string/parseFloat local.tee $32 local.get $32 @@ -14352,7 +14291,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4928 + i32.const 4896 call $~lib/string/parseFloat local.tee $32 local.get $32 @@ -14366,7 +14305,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4960 + i32.const 4928 call $~lib/string/parseFloat local.tee $32 local.get $32 @@ -14380,7 +14319,7 @@ call $~lib/builtins/abort unreachable end - i32.const 4992 + i32.const 4960 call $~lib/string/parseFloat local.tee $32 local.get $32 @@ -14394,7 +14333,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5024 + i32.const 4992 call $~lib/string/parseFloat local.tee $32 local.get $32 @@ -14408,7 +14347,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5056 + i32.const 5024 call $~lib/string/parseFloat local.tee $32 local.get $32 @@ -14422,7 +14361,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5088 + i32.const 5056 call $~lib/string/parseFloat local.tee $32 local.get $32 @@ -14436,7 +14375,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5120 + i32.const 5088 call $~lib/string/parseFloat f64.const 1e22 f64.eq @@ -14449,7 +14388,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5152 + i32.const 5120 call $~lib/string/parseFloat f64.const 1e-22 f64.eq @@ -14462,7 +14401,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5184 + i32.const 5152 call $~lib/string/parseFloat f64.const 1.e+23 f64.eq @@ -14475,7 +14414,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5216 + i32.const 5184 call $~lib/string/parseFloat f64.const 1e-23 f64.eq @@ -14488,7 +14427,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5248 + i32.const 5216 call $~lib/string/parseFloat f64.const 1.e+37 f64.eq @@ -14501,7 +14440,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5280 + i32.const 5248 call $~lib/string/parseFloat f64.const 1e-37 f64.eq @@ -14514,7 +14453,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5312 + i32.const 5280 call $~lib/string/parseFloat f64.const 1.e+38 f64.eq @@ -14527,7 +14466,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5344 + i32.const 5312 call $~lib/string/parseFloat f64.const 1e-38 f64.eq @@ -14540,7 +14479,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5376 + i32.const 5344 call $~lib/string/parseFloat f64.const 2.220446049250313e-16 f64.eq @@ -14553,7 +14492,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5440 + i32.const 5408 call $~lib/string/parseFloat f64.const 1797693134862315708145274e284 f64.eq @@ -14566,7 +14505,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5504 + i32.const 5472 call $~lib/string/parseFloat f64.const 5e-324 f64.eq @@ -14579,7 +14518,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5536 + i32.const 5504 call $~lib/string/parseFloat f64.const 1.e+308 f64.eq @@ -14592,7 +14531,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5584 + i32.const 5552 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -14605,7 +14544,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5728 + i32.const 5696 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -14618,7 +14557,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5760 + i32.const 5728 call $~lib/string/parseFloat f64.const inf f64.eq @@ -14631,7 +14570,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5792 + i32.const 5760 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -14644,7 +14583,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5824 + i32.const 5792 call $~lib/string/parseFloat f64.const -inf f64.eq @@ -14657,7 +14596,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5856 + i32.const 5824 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -14670,7 +14609,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5904 + i32.const 5872 call $~lib/string/parseFloat f64.const inf f64.eq @@ -14683,7 +14622,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5952 + i32.const 5920 call $~lib/string/parseFloat f64.const inf f64.eq @@ -14696,7 +14635,7 @@ call $~lib/builtins/abort unreachable end - i32.const 5984 + i32.const 5952 call $~lib/string/parseFloat f64.const inf f64.eq @@ -14709,7 +14648,7 @@ call $~lib/builtins/abort unreachable end - i32.const 6032 + i32.const 6000 call $~lib/string/parseFloat f64.const inf f64.eq @@ -14722,7 +14661,7 @@ call $~lib/builtins/abort unreachable end - i32.const 6080 + i32.const 6048 call $~lib/string/parseFloat f64.const -inf f64.eq @@ -14735,7 +14674,7 @@ call $~lib/builtins/abort unreachable end - i32.const 6128 + i32.const 6096 call $~lib/string/parseFloat f64.const inf f64.eq @@ -14748,7 +14687,7 @@ call $~lib/builtins/abort unreachable end - i32.const 6176 + i32.const 6144 call $~lib/string/parseFloat f64.const inf f64.eq @@ -14761,7 +14700,7 @@ call $~lib/builtins/abort unreachable end - i32.const 6224 + i32.const 6192 call $~lib/string/parseFloat local.tee $32 local.get $32 @@ -14775,7 +14714,7 @@ call $~lib/builtins/abort unreachable end - i32.const 6256 + i32.const 6224 call $~lib/string/parseFloat local.tee $32 local.get $32 @@ -14789,7 +14728,7 @@ call $~lib/builtins/abort unreachable end - i32.const 6288 + i32.const 6256 call $~lib/string/parseFloat local.tee $32 local.get $32 @@ -14803,7 +14742,7 @@ call $~lib/builtins/abort unreachable end - i32.const 6320 + i32.const 6288 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -14816,7 +14755,7 @@ call $~lib/builtins/abort unreachable end - i32.const 6512 + i32.const 6480 call $~lib/string/parseFloat f64.const 1e-323 f64.eq @@ -14829,7 +14768,7 @@ call $~lib/builtins/abort unreachable end - i32.const 6704 + i32.const 6672 call $~lib/string/parseFloat f64.const 2.225073858507202e-308 f64.eq @@ -14842,17 +14781,17 @@ call $~lib/builtins/abort unreachable end - i32.const 6896 - i32.const 7056 + i32.const 6864 + i32.const 7024 call $~lib/string/String.__concat local.tee $33 - i32.const 7216 + i32.const 7184 call $~lib/string/String.__concat local.tee $34 - i32.const 7376 + i32.const 7344 call $~lib/string/String.__concat local.tee $35 - i32.const 7536 + i32.const 7504 call $~lib/string/String.__concat local.tee $36 call $~lib/string/parseFloat @@ -14867,7 +14806,7 @@ call $~lib/builtins/abort unreachable end - i32.const 7696 + i32.const 7664 call $~lib/string/parseFloat f64.const 9.753531888799502e-104 f64.eq @@ -14880,7 +14819,7 @@ call $~lib/builtins/abort unreachable end - i32.const 7808 + i32.const 7776 call $~lib/string/parseFloat f64.const 0.5961860348131807 f64.eq @@ -14893,7 +14832,7 @@ call $~lib/builtins/abort unreachable end - i32.const 7920 + i32.const 7888 call $~lib/string/parseFloat f64.const 0.18150131692180388 f64.eq @@ -14906,7 +14845,7 @@ call $~lib/builtins/abort unreachable end - i32.const 8032 + i32.const 8000 call $~lib/string/parseFloat f64.const 0.42070823575344535 f64.eq @@ -14919,7 +14858,7 @@ call $~lib/builtins/abort unreachable end - i32.const 8144 + i32.const 8112 call $~lib/string/parseFloat f64.const 0.6654686306516261 f64.eq @@ -14932,7 +14871,7 @@ call $~lib/builtins/abort unreachable end - i32.const 8256 + i32.const 8224 call $~lib/string/parseFloat f64.const 0.6101852922970868 f64.eq @@ -14945,7 +14884,7 @@ call $~lib/builtins/abort unreachable end - i32.const 8368 + i32.const 8336 call $~lib/string/parseFloat f64.const 0.7696695208236968 f64.eq @@ -14958,7 +14897,7 @@ call $~lib/builtins/abort unreachable end - i32.const 8480 + i32.const 8448 call $~lib/string/parseFloat f64.const 0.25050653222286823 f64.eq @@ -14971,7 +14910,7 @@ call $~lib/builtins/abort unreachable end - i32.const 8592 + i32.const 8560 call $~lib/string/parseFloat f64.const 0.2740037230228005 f64.eq @@ -14984,7 +14923,7 @@ call $~lib/builtins/abort unreachable end - i32.const 8704 + i32.const 8672 call $~lib/string/parseFloat f64.const 0.20723093500497428 f64.eq @@ -14997,7 +14936,7 @@ call $~lib/builtins/abort unreachable end - i32.const 8816 + i32.const 8784 call $~lib/string/parseFloat f64.const 7.900280238081605 f64.eq @@ -15010,7 +14949,7 @@ call $~lib/builtins/abort unreachable end - i32.const 8928 + i32.const 8896 call $~lib/string/parseFloat f64.const 98.22860653737297 f64.eq @@ -15023,7 +14962,7 @@ call $~lib/builtins/abort unreachable end - i32.const 9040 + i32.const 9008 call $~lib/string/parseFloat f64.const 746.894972319037 f64.eq @@ -15036,7 +14975,7 @@ call $~lib/builtins/abort unreachable end - i32.const 9152 + i32.const 9120 call $~lib/string/parseFloat f64.const 1630.2683202827284 f64.eq @@ -15049,7 +14988,7 @@ call $~lib/builtins/abort unreachable end - i32.const 9264 + i32.const 9232 call $~lib/string/parseFloat f64.const 46371.68629719171 f64.eq @@ -15062,7 +15001,7 @@ call $~lib/builtins/abort unreachable end - i32.const 9376 + i32.const 9344 call $~lib/string/parseFloat f64.const 653780.5944497711 f64.eq @@ -15075,7 +15014,7 @@ call $~lib/builtins/abort unreachable end - i32.const 9488 + i32.const 9456 call $~lib/string/parseFloat f64.const 234632.43565024371 f64.eq @@ -15088,7 +15027,7 @@ call $~lib/builtins/abort unreachable end - i32.const 9600 + i32.const 9568 call $~lib/string/parseFloat f64.const 97094817.16420048 f64.eq @@ -15101,7 +15040,7 @@ call $~lib/builtins/abort unreachable end - i32.const 9712 + i32.const 9680 call $~lib/string/parseFloat f64.const 499690852.20518744 f64.eq @@ -15114,7 +15053,7 @@ call $~lib/builtins/abort unreachable end - i32.const 9824 + i32.const 9792 call $~lib/string/parseFloat f64.const 7925201200557245595648 f64.eq @@ -15127,7 +15066,7 @@ call $~lib/builtins/abort unreachable end - i32.const 9936 + i32.const 9904 call $~lib/string/parseFloat f64.const 6096564585983177528398588e5 f64.eq @@ -15140,7 +15079,7 @@ call $~lib/builtins/abort unreachable end - i32.const 10048 + i32.const 10016 call $~lib/string/parseFloat f64.const 4800416117477028695992383e42 f64.eq @@ -15153,7 +15092,7 @@ call $~lib/builtins/abort unreachable end - i32.const 10160 + i32.const 10128 call $~lib/string/parseFloat f64.const 8524829079817968137287277e80 f64.eq @@ -15166,7 +15105,7 @@ call $~lib/builtins/abort unreachable end - i32.const 10272 + i32.const 10240 call $~lib/string/parseFloat f64.const 3271239291709782092398754e243 f64.eq @@ -15179,7 +15118,7 @@ call $~lib/builtins/abort unreachable end - i32.const 10384 + i32.const 10352 call $~lib/string/parseFloat local.tee $32 local.get $32 @@ -15193,7 +15132,7 @@ call $~lib/builtins/abort unreachable end - i32.const 10416 + i32.const 10384 call $~lib/string/parseFloat f64.const 0.1 f64.eq @@ -15207,13 +15146,13 @@ unreachable end i32.const 320 - i32.const 10448 + i32.const 10416 call $~lib/string/String.__concat local.tee $37 call $~lib/rt/pure/__retain local.set $38 local.get $38 - i32.const 10480 + i32.const 10448 call $~lib/string/String.__eq i32.eqz if @@ -15277,7 +15216,7 @@ unreachable end i32.const 320 - i32.const 10448 + i32.const 10416 call $~lib/string/String.__ne i32.eqz if @@ -15300,8 +15239,8 @@ call $~lib/builtins/abort unreachable end + i32.const 10480 i32.const 10512 - i32.const 10544 call $~lib/string/String.__ne i32.eqz if @@ -15312,8 +15251,8 @@ call $~lib/builtins/abort unreachable end - i32.const 10512 - i32.const 10512 + i32.const 10480 + i32.const 10480 call $~lib/string/String.__eq i32.eqz if @@ -15324,8 +15263,8 @@ call $~lib/builtins/abort unreachable end + i32.const 10544 i32.const 10576 - i32.const 10608 call $~lib/string/String.__ne i32.eqz if @@ -15336,8 +15275,8 @@ call $~lib/builtins/abort unreachable end + i32.const 10608 i32.const 10640 - i32.const 10672 call $~lib/string/String.__ne i32.eqz if @@ -15348,8 +15287,8 @@ call $~lib/builtins/abort unreachable end - i32.const 10704 - i32.const 10704 + i32.const 10672 + i32.const 10672 call $~lib/string/String.__eq i32.eqz if @@ -15360,8 +15299,8 @@ call $~lib/builtins/abort unreachable end + i32.const 10672 i32.const 10704 - i32.const 10736 call $~lib/string/String.__ne i32.eqz if @@ -15372,8 +15311,8 @@ call $~lib/builtins/abort unreachable end - i32.const 10768 - i32.const 10816 + i32.const 10736 + i32.const 10784 call $~lib/string/String.__ne i32.eqz if @@ -15384,7 +15323,7 @@ call $~lib/builtins/abort unreachable end - i32.const 10448 + i32.const 10416 i32.const 320 call $~lib/string/String.__gt i32.eqz @@ -15396,7 +15335,7 @@ call $~lib/builtins/abort unreachable end - i32.const 10864 + i32.const 10832 i32.const 320 call $~lib/string/String.__gt i32.eqz @@ -15408,8 +15347,8 @@ call $~lib/builtins/abort unreachable end + i32.const 10832 i32.const 10864 - i32.const 10896 call $~lib/string/String.__gte i32.eqz if @@ -15420,8 +15359,8 @@ call $~lib/builtins/abort unreachable end - i32.const 10864 - i32.const 10480 + i32.const 10832 + i32.const 10448 call $~lib/string/String.__gt i32.eqz if @@ -15432,8 +15371,8 @@ call $~lib/builtins/abort unreachable end - i32.const 10864 - i32.const 10480 + i32.const 10832 + i32.const 10448 call $~lib/string/String.__lt i32.eqz i32.eqz @@ -15445,7 +15384,7 @@ call $~lib/builtins/abort unreachable end - i32.const 10448 + i32.const 10416 global.get $std/string/nullStr call $~lib/string/String.__lt i32.eqz @@ -15459,7 +15398,7 @@ unreachable end global.get $std/string/nullStr - i32.const 10448 + i32.const 10416 call $~lib/string/String.__lt i32.eqz i32.eqz @@ -15692,7 +15631,7 @@ i32.const 2 call $~lib/string/String#repeat local.tee $37 - i32.const 10896 + i32.const 10864 call $~lib/string/String.__eq i32.eqz if @@ -15707,7 +15646,7 @@ i32.const 3 call $~lib/string/String#repeat local.tee $38 - i32.const 10976 + i32.const 10944 call $~lib/string/String.__eq i32.eqz if @@ -15718,11 +15657,11 @@ call $~lib/builtins/abort unreachable end - i32.const 10480 + i32.const 10448 i32.const 4 call $~lib/string/String#repeat local.tee $42 - i32.const 11008 + i32.const 10976 call $~lib/string/String.__eq i32.eqz if @@ -15737,7 +15676,7 @@ i32.const 5 call $~lib/string/String#repeat local.tee $43 - i32.const 11040 + i32.const 11008 call $~lib/string/String.__eq i32.eqz if @@ -15752,7 +15691,7 @@ i32.const 6 call $~lib/string/String#repeat local.tee $44 - i32.const 11072 + i32.const 11040 call $~lib/string/String.__eq i32.eqz if @@ -15767,7 +15706,7 @@ i32.const 7 call $~lib/string/String#repeat local.tee $45 - i32.const 11104 + i32.const 11072 call $~lib/string/String.__eq i32.eqz if @@ -15796,10 +15735,10 @@ end i32.const 272 i32.const 272 - i32.const 4608 + i32.const 4576 call $~lib/string/String#replace local.tee $47 - i32.const 4608 + i32.const 4576 call $~lib/string/String.__eq i32.eqz if @@ -15810,8 +15749,8 @@ call $~lib/builtins/abort unreachable end - i32.const 4608 - i32.const 4608 + i32.const 4576 + i32.const 4576 i32.const 272 call $~lib/string/String#replace local.tee $48 @@ -15826,12 +15765,12 @@ call $~lib/builtins/abort unreachable end - i32.const 4608 + i32.const 4576 i32.const 272 i32.const 272 call $~lib/string/String#replace local.tee $49 - i32.const 4608 + i32.const 4576 call $~lib/string/String.__eq i32.eqz if @@ -15843,8 +15782,8 @@ unreachable end i32.const 800 - i32.const 4640 i32.const 4608 + i32.const 4576 call $~lib/string/String#replace local.tee $50 i32.const 800 @@ -15860,10 +15799,10 @@ end i32.const 800 i32.const 800 - i32.const 4608 + i32.const 4576 call $~lib/string/String#replace local.tee $51 - i32.const 4608 + i32.const 4576 call $~lib/string/String.__eq i32.eqz if @@ -15876,7 +15815,7 @@ end i32.const 800 i32.const 1248 - i32.const 4608 + i32.const 4576 call $~lib/string/String#replace local.tee $52 i32.const 800 @@ -15891,8 +15830,8 @@ unreachable end i32.const 800 - i32.const 10480 - i32.const 10480 + i32.const 10448 + i32.const 10448 call $~lib/string/String#replace local.tee $53 i32.const 800 @@ -15906,12 +15845,12 @@ call $~lib/builtins/abort unreachable end - i32.const 11136 - i32.const 4640 + i32.const 11104 i32.const 4608 + i32.const 4576 call $~lib/string/String#replace local.tee $54 - i32.const 11168 + i32.const 11136 call $~lib/string/String.__eq i32.eqz if @@ -15924,10 +15863,10 @@ end i32.const 800 i32.const 272 - i32.const 4608 + i32.const 4576 call $~lib/string/String#replace local.tee $55 - i32.const 11200 + i32.const 11168 call $~lib/string/String.__eq i32.eqz if @@ -15938,12 +15877,12 @@ call $~lib/builtins/abort unreachable end + i32.const 11200 i32.const 11232 - i32.const 11264 - i32.const 4608 + i32.const 4576 call $~lib/string/String#replace local.tee $56 - i32.const 11200 + i32.const 11168 call $~lib/string/String.__eq i32.eqz if @@ -15955,11 +15894,11 @@ unreachable end i32.const 800 + i32.const 11264 i32.const 11296 - i32.const 11328 call $~lib/string/String#replace local.tee $57 - i32.const 11360 + i32.const 11328 call $~lib/string/String.__eq i32.eqz if @@ -15971,11 +15910,11 @@ unreachable end i32.const 800 - i32.const 11296 + i32.const 11264 i32.const 272 call $~lib/string/String#replace local.tee $58 - i32.const 10480 + i32.const 10448 call $~lib/string/String.__eq i32.eqz if @@ -16003,8 +15942,8 @@ unreachable end i32.const 800 - i32.const 4640 i32.const 4608 + i32.const 4576 call $~lib/string/String#replaceAll local.tee $60 i32.const 800 @@ -16020,10 +15959,10 @@ end i32.const 992 i32.const 800 - i32.const 4608 + i32.const 4576 call $~lib/string/String#replaceAll local.tee $61 - i32.const 11328 + i32.const 11296 call $~lib/string/String.__eq i32.eqz if @@ -16034,12 +15973,12 @@ call $~lib/builtins/abort unreachable end - i32.const 11392 + i32.const 11360 i32.const 800 - i32.const 4608 + i32.const 4576 call $~lib/string/String#replaceAll local.tee $62 - i32.const 11440 + i32.const 11408 call $~lib/string/String.__eq i32.eqz if @@ -16051,8 +15990,8 @@ unreachable end i32.const 992 - i32.const 10480 - i32.const 10480 + i32.const 10448 + i32.const 10448 call $~lib/string/String#replaceAll local.tee $63 i32.const 992 @@ -16066,12 +16005,12 @@ call $~lib/builtins/abort unreachable end - i32.const 11472 - i32.const 320 i32.const 11440 + i32.const 320 + i32.const 11408 call $~lib/string/String#replaceAll local.tee $64 - i32.const 11504 + i32.const 11472 call $~lib/string/String.__eq i32.eqz if @@ -16083,11 +16022,11 @@ unreachable end i32.const 992 - i32.const 10480 - i32.const 11328 + i32.const 10448 + i32.const 11296 call $~lib/string/String#replaceAll local.tee $65 - i32.const 11552 + i32.const 11520 call $~lib/string/String.__eq i32.eqz if @@ -16098,12 +16037,12 @@ call $~lib/builtins/abort unreachable end + i32.const 11552 i32.const 11584 - i32.const 11616 - i32.const 11328 + i32.const 11296 call $~lib/string/String#replaceAll local.tee $66 - i32.const 11648 + i32.const 11616 call $~lib/string/String.__eq i32.eqz if @@ -16116,7 +16055,7 @@ end i32.const 800 i32.const 1248 - i32.const 4608 + i32.const 4576 call $~lib/string/String#replaceAll local.tee $67 i32.const 800 @@ -16131,8 +16070,8 @@ unreachable end i32.const 1248 - i32.const 11680 - i32.const 11328 + i32.const 11648 + i32.const 11296 call $~lib/string/String#replaceAll local.tee $68 i32.const 1248 @@ -16147,11 +16086,11 @@ unreachable end i32.const 800 - i32.const 11712 - i32.const 4608 + i32.const 11680 + i32.const 4576 call $~lib/string/String#replaceAll local.tee $69 - i32.const 11744 + i32.const 11712 call $~lib/string/String.__eq i32.eqz if @@ -16162,12 +16101,12 @@ call $~lib/builtins/abort unreachable end - i32.const 10480 - i32.const 10480 - i32.const 4608 + i32.const 10448 + i32.const 10448 + i32.const 4576 call $~lib/string/String#replaceAll local.tee $70 - i32.const 4608 + i32.const 4576 call $~lib/string/String.__eq i32.eqz if @@ -16178,12 +16117,12 @@ call $~lib/builtins/abort unreachable end - i32.const 11136 - i32.const 4640 + i32.const 11104 i32.const 4608 + i32.const 4576 call $~lib/string/String#replaceAll local.tee $71 - i32.const 11776 + i32.const 11744 call $~lib/string/String.__eq i32.eqz if @@ -16212,10 +16151,10 @@ end i32.const 272 i32.const 272 - i32.const 4608 + i32.const 4576 call $~lib/string/String#replaceAll local.tee $73 - i32.const 4608 + i32.const 4576 call $~lib/string/String.__eq i32.eqz if @@ -16226,8 +16165,8 @@ call $~lib/builtins/abort unreachable end - i32.const 4608 - i32.const 4608 + i32.const 4576 + i32.const 4576 i32.const 272 call $~lib/string/String#replaceAll local.tee $74 @@ -16242,12 +16181,12 @@ call $~lib/builtins/abort unreachable end - i32.const 4608 + i32.const 4576 i32.const 272 i32.const 272 call $~lib/string/String#replaceAll local.tee $75 - i32.const 4608 + i32.const 4576 call $~lib/string/String.__eq i32.eqz if @@ -16260,10 +16199,10 @@ end i32.const 800 i32.const 800 - i32.const 4640 + i32.const 4608 call $~lib/string/String#replaceAll local.tee $76 - i32.const 4640 + i32.const 4608 call $~lib/string/String.__eq i32.eqz if @@ -16276,7 +16215,7 @@ end i32.const 800 i32.const 1216 - i32.const 4640 + i32.const 4608 call $~lib/string/String#replaceAll local.tee $77 i32.const 800 @@ -16292,10 +16231,10 @@ end i32.const 800 i32.const 272 - i32.const 4608 + i32.const 4576 call $~lib/string/String#replaceAll local.tee $78 - i32.const 11808 + i32.const 11776 call $~lib/string/String.__eq i32.eqz if @@ -16322,7 +16261,7 @@ call $~lib/builtins/abort unreachable end - i32.const 11840 + i32.const 11808 local.set $80 global.get $std/string/str call $~lib/rt/pure/__release @@ -16333,7 +16272,7 @@ i32.const 2147483647 call $~lib/string/String#slice local.tee $80 - i32.const 11840 + i32.const 11808 call $~lib/string/String.__eq i32.eqz if @@ -16349,7 +16288,7 @@ i32.const 2147483647 call $~lib/string/String#slice local.tee $81 - i32.const 11888 + i32.const 11856 call $~lib/string/String.__eq i32.eqz if @@ -16365,7 +16304,7 @@ i32.const 2147483647 call $~lib/string/String#slice local.tee $82 - i32.const 11920 + i32.const 11888 call $~lib/string/String.__eq i32.eqz if @@ -16381,7 +16320,7 @@ i32.const 7 call $~lib/string/String#slice local.tee $83 - i32.const 11952 + i32.const 11920 call $~lib/string/String.__eq i32.eqz if @@ -16397,7 +16336,7 @@ i32.const -6 call $~lib/string/String#slice local.tee $84 - i32.const 11984 + i32.const 11952 call $~lib/string/String.__eq i32.eqz if @@ -16429,7 +16368,7 @@ i32.const -1 call $~lib/string/String#slice local.tee $86 - i32.const 12016 + i32.const 11984 call $~lib/string/String.__eq i32.eqz if @@ -16445,7 +16384,7 @@ i32.const 2147483647 call $~lib/string/String#substr local.tee $87 - i32.const 11840 + i32.const 11808 call $~lib/string/String.__eq i32.eqz if @@ -16461,7 +16400,7 @@ i32.const 2147483647 call $~lib/string/String#substr local.tee $88 - i32.const 11888 + i32.const 11856 call $~lib/string/String.__eq i32.eqz if @@ -16477,7 +16416,7 @@ i32.const 2147483647 call $~lib/string/String#substr local.tee $89 - i32.const 11920 + i32.const 11888 call $~lib/string/String.__eq i32.eqz if @@ -16493,7 +16432,7 @@ i32.const 7 call $~lib/string/String#substr local.tee $90 - i32.const 12064 + i32.const 12032 call $~lib/string/String.__eq i32.eqz if @@ -16525,7 +16464,7 @@ i32.const 3 call $~lib/string/String#substr local.tee $92 - i32.const 12096 + i32.const 12064 call $~lib/string/String.__eq i32.eqz if @@ -16557,7 +16496,7 @@ i32.const 100 call $~lib/string/String#substr local.tee $94 - i32.const 11840 + i32.const 11808 call $~lib/string/String.__eq i32.eqz if @@ -16573,7 +16512,7 @@ i32.const 4 call $~lib/string/String#substr local.tee $95 - i32.const 12128 + i32.const 12096 call $~lib/string/String.__eq i32.eqz if @@ -16605,7 +16544,7 @@ i32.const 2147483647 call $~lib/string/String#substring local.tee $97 - i32.const 11840 + i32.const 11808 call $~lib/string/String.__eq i32.eqz if @@ -16621,7 +16560,7 @@ i32.const 2147483647 call $~lib/string/String#substring local.tee $98 - i32.const 11840 + i32.const 11808 call $~lib/string/String.__eq i32.eqz if @@ -16637,7 +16576,7 @@ i32.const 2147483647 call $~lib/string/String#substring local.tee $99 - i32.const 11840 + i32.const 11808 call $~lib/string/String.__eq i32.eqz if @@ -16653,7 +16592,7 @@ i32.const 7 call $~lib/string/String#substring local.tee $100 - i32.const 11952 + i32.const 11920 call $~lib/string/String.__eq i32.eqz if @@ -16685,7 +16624,7 @@ i32.const 3 call $~lib/string/String#substring local.tee $102 - i32.const 12160 + i32.const 12128 call $~lib/string/String.__eq i32.eqz if @@ -16717,7 +16656,7 @@ i32.const 100 call $~lib/string/String#substring local.tee $104 - i32.const 11840 + i32.const 11808 call $~lib/string/String.__eq i32.eqz if @@ -16860,8 +16799,8 @@ call $~lib/builtins/abort unreachable end - i32.const 12416 - i32.const 4800 + i32.const 12384 + i32.const 4768 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#split local.set $109 @@ -16878,7 +16817,7 @@ i32.const 0 call $~lib/array/Array<~lib/string/String>#__get local.tee $109 - i32.const 12416 + i32.const 12384 call $~lib/string/String.__eq local.set $108 local.get $109 @@ -16898,7 +16837,7 @@ call $~lib/builtins/abort unreachable end - i32.const 12416 + i32.const 12384 i32.const 1056 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#split @@ -16932,7 +16871,7 @@ i32.const 1 call $~lib/array/Array<~lib/string/String>#__get local.tee $108 - i32.const 10448 + i32.const 10416 call $~lib/string/String.__eq local.set $109 local.get $108 @@ -16948,7 +16887,7 @@ i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.tee $108 - i32.const 11296 + i32.const 11264 call $~lib/string/String.__eq local.set $109 local.get $108 @@ -16968,8 +16907,8 @@ call $~lib/builtins/abort unreachable end + i32.const 12416 i32.const 12448 - i32.const 12480 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#split local.set $109 @@ -17002,7 +16941,7 @@ i32.const 1 call $~lib/array/Array<~lib/string/String>#__get local.tee $109 - i32.const 10448 + i32.const 10416 call $~lib/string/String.__eq local.set $108 local.get $109 @@ -17018,7 +16957,7 @@ i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.tee $109 - i32.const 11296 + i32.const 11264 call $~lib/string/String.__eq local.set $108 local.get $109 @@ -17038,7 +16977,7 @@ call $~lib/builtins/abort unreachable end - i32.const 12512 + i32.const 12480 i32.const 1056 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#split @@ -17072,7 +17011,7 @@ i32.const 1 call $~lib/array/Array<~lib/string/String>#__get local.tee $108 - i32.const 10448 + i32.const 10416 call $~lib/string/String.__eq local.set $109 local.get $108 @@ -17104,7 +17043,7 @@ i32.const 3 call $~lib/array/Array<~lib/string/String>#__get local.tee $108 - i32.const 11296 + i32.const 11264 call $~lib/string/String.__eq local.set $109 local.get $108 @@ -17124,7 +17063,7 @@ call $~lib/builtins/abort unreachable end - i32.const 12544 + i32.const 12512 i32.const 1056 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#split @@ -17174,7 +17113,7 @@ i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.tee $109 - i32.const 10448 + i32.const 10416 call $~lib/string/String.__eq local.set $108 local.get $109 @@ -17190,7 +17129,7 @@ i32.const 3 call $~lib/array/Array<~lib/string/String>#__get local.tee $109 - i32.const 11296 + i32.const 11264 call $~lib/string/String.__eq local.set $108 local.get $109 @@ -17210,7 +17149,7 @@ call $~lib/builtins/abort unreachable end - i32.const 12576 + i32.const 12544 i32.const 1056 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/string/String#split @@ -17244,7 +17183,7 @@ i32.const 1 call $~lib/array/Array<~lib/string/String>#__get local.tee $108 - i32.const 10448 + i32.const 10416 call $~lib/string/String.__eq local.set $109 local.get $108 @@ -17260,7 +17199,7 @@ i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.tee $108 - i32.const 11296 + i32.const 11264 call $~lib/string/String.__eq local.set $109 local.get $108 @@ -17330,7 +17269,7 @@ i32.const 1 call $~lib/array/Array<~lib/string/String>#__get local.tee $109 - i32.const 10448 + i32.const 10416 call $~lib/string/String.__eq local.set $108 local.get $109 @@ -17346,7 +17285,7 @@ i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.tee $109 - i32.const 11296 + i32.const 11264 call $~lib/string/String.__eq local.set $108 local.get $109 @@ -17426,7 +17365,7 @@ call $~lib/builtins/abort unreachable end - i32.const 12416 + i32.const 12384 i32.const 1056 i32.const 1 call $~lib/string/String#split @@ -17498,7 +17437,7 @@ i32.const 1 call $~lib/array/Array<~lib/string/String>#__get local.tee $109 - i32.const 10448 + i32.const 10416 call $~lib/string/String.__eq local.set $108 local.get $109 @@ -17514,7 +17453,7 @@ i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.tee $109 - i32.const 11296 + i32.const 11264 call $~lib/string/String.__eq local.set $108 local.get $109 @@ -17568,7 +17507,7 @@ i32.const 1 call $~lib/array/Array<~lib/string/String>#__get local.tee $108 - i32.const 10448 + i32.const 10416 call $~lib/string/String.__eq local.set $109 local.get $108 @@ -17584,7 +17523,7 @@ i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.tee $108 - i32.const 11296 + i32.const 11264 call $~lib/string/String.__eq local.set $109 local.get $108 @@ -17604,7 +17543,7 @@ call $~lib/builtins/abort unreachable end - i32.const 12416 + i32.const 12384 i32.const 1056 i32.const -1 call $~lib/string/String#split @@ -17638,7 +17577,7 @@ i32.const 1 call $~lib/array/Array<~lib/string/String>#__get local.tee $109 - i32.const 10448 + i32.const 10416 call $~lib/string/String.__eq local.set $108 local.get $109 @@ -17654,7 +17593,7 @@ i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.tee $109 - i32.const 11296 + i32.const 11264 call $~lib/string/String.__eq local.set $108 local.get $109 @@ -17707,7 +17646,7 @@ i32.const 8 call $~lib/util/number/itoa32 local.tee $108 - i32.const 13056 + i32.const 12992 call $~lib/string/String.__eq i32.eqz if @@ -17721,7 +17660,7 @@ i32.const 12 call $~lib/util/number/itoa32 local.tee $110 - i32.const 13088 + i32.const 13024 call $~lib/string/String.__eq i32.eqz if @@ -17749,7 +17688,7 @@ i32.const -1000 call $~lib/util/number/itoa32 local.tee $112 - i32.const 13120 + i32.const 13056 call $~lib/string/String.__eq i32.eqz if @@ -17763,7 +17702,7 @@ i32.const 1234 call $~lib/util/number/itoa32 local.tee $113 - i32.const 13152 + i32.const 13088 call $~lib/string/String.__eq i32.eqz if @@ -17777,7 +17716,7 @@ i32.const 12345 call $~lib/util/number/itoa32 local.tee $114 - i32.const 13184 + i32.const 13120 call $~lib/string/String.__eq i32.eqz if @@ -17791,7 +17730,7 @@ i32.const 123456 call $~lib/util/number/itoa32 local.tee $115 - i32.const 13216 + i32.const 13152 call $~lib/string/String.__eq i32.eqz if @@ -17805,7 +17744,7 @@ i32.const 1111111 call $~lib/util/number/itoa32 local.tee $116 - i32.const 13248 + i32.const 13184 call $~lib/string/String.__eq i32.eqz if @@ -17819,7 +17758,7 @@ i32.const 1234567 call $~lib/util/number/itoa32 local.tee $117 - i32.const 13280 + i32.const 13216 call $~lib/string/String.__eq i32.eqz if @@ -17833,7 +17772,7 @@ i32.const 12345678 call $~lib/util/number/itoa32 local.tee $118 - i32.const 13312 + i32.const 13248 call $~lib/string/String.__eq i32.eqz if @@ -17847,7 +17786,7 @@ i32.const 123456789 call $~lib/util/number/itoa32 local.tee $119 - i32.const 13344 + i32.const 13280 call $~lib/string/String.__eq i32.eqz if @@ -17861,7 +17800,7 @@ i32.const 2147483646 call $~lib/util/number/itoa32 local.tee $120 - i32.const 13392 + i32.const 13328 call $~lib/string/String.__eq i32.eqz if @@ -17875,7 +17814,7 @@ i32.const 2147483647 call $~lib/util/number/itoa32 local.tee $121 - i32.const 13440 + i32.const 13376 call $~lib/string/String.__eq i32.eqz if @@ -17889,7 +17828,7 @@ i32.const -2147483648 call $~lib/util/number/itoa32 local.tee $122 - i32.const 13488 + i32.const 13424 call $~lib/string/String.__eq i32.eqz if @@ -17903,7 +17842,7 @@ i32.const -1 call $~lib/util/number/itoa32 local.tee $123 - i32.const 13536 + i32.const 13472 call $~lib/string/String.__eq i32.eqz if @@ -17931,7 +17870,7 @@ i32.const 1000 call $~lib/util/number/utoa32 local.tee $125 - i32.const 13568 + i32.const 13504 call $~lib/string/String.__eq i32.eqz if @@ -17945,7 +17884,7 @@ i32.const 2147483647 call $~lib/util/number/utoa32 local.tee $126 - i32.const 13440 + i32.const 13376 call $~lib/string/String.__eq i32.eqz if @@ -17959,7 +17898,7 @@ i32.const -2147483648 call $~lib/util/number/utoa32 local.tee $127 - i32.const 13600 + i32.const 13536 call $~lib/string/String.__eq i32.eqz if @@ -17973,7 +17912,7 @@ i32.const -1 call $~lib/util/number/utoa32 local.tee $128 - i32.const 13648 + i32.const 13584 call $~lib/string/String.__eq i32.eqz if @@ -18001,7 +17940,7 @@ i64.const 12 call $~lib/util/number/utoa64 local.tee $130 - i32.const 13088 + i32.const 13024 call $~lib/string/String.__eq i32.eqz if @@ -18029,7 +17968,7 @@ i64.const 1234 call $~lib/util/number/utoa64 local.tee $132 - i32.const 13152 + i32.const 13088 call $~lib/string/String.__eq i32.eqz if @@ -18043,7 +17982,7 @@ i64.const 12345 call $~lib/util/number/utoa64 local.tee $133 - i32.const 13184 + i32.const 13120 call $~lib/string/String.__eq i32.eqz if @@ -18057,7 +17996,7 @@ i64.const 123456 call $~lib/util/number/utoa64 local.tee $134 - i32.const 13216 + i32.const 13152 call $~lib/string/String.__eq i32.eqz if @@ -18071,7 +18010,7 @@ i64.const 1234567 call $~lib/util/number/utoa64 local.tee $135 - i32.const 13280 + i32.const 13216 call $~lib/string/String.__eq i32.eqz if @@ -18085,7 +18024,7 @@ i64.const 99999999 call $~lib/util/number/utoa64 local.tee $136 - i32.const 13696 + i32.const 13632 call $~lib/string/String.__eq i32.eqz if @@ -18099,7 +18038,7 @@ i64.const 100000000 call $~lib/util/number/utoa64 local.tee $137 - i32.const 13728 + i32.const 13664 call $~lib/string/String.__eq i32.eqz if @@ -18113,7 +18052,7 @@ i64.const 4294967295 call $~lib/util/number/utoa64 local.tee $138 - i32.const 13648 + i32.const 13584 call $~lib/string/String.__eq i32.eqz if @@ -18127,7 +18066,7 @@ i64.const 4294967297 call $~lib/util/number/utoa64 local.tee $139 - i32.const 13776 + i32.const 13712 call $~lib/string/String.__eq i32.eqz if @@ -18141,7 +18080,7 @@ i64.const 68719476735 call $~lib/util/number/utoa64 local.tee $140 - i32.const 13824 + i32.const 13760 call $~lib/string/String.__eq i32.eqz if @@ -18155,7 +18094,7 @@ i64.const 868719476735 call $~lib/util/number/utoa64 local.tee $141 - i32.const 13872 + i32.const 13808 call $~lib/string/String.__eq i32.eqz if @@ -18169,7 +18108,7 @@ i64.const 8687194767350 call $~lib/util/number/utoa64 local.tee $142 - i32.const 13920 + i32.const 13856 call $~lib/string/String.__eq i32.eqz if @@ -18183,7 +18122,7 @@ i64.const 86871947673501 call $~lib/util/number/utoa64 local.tee $143 - i32.const 13968 + i32.const 13904 call $~lib/string/String.__eq i32.eqz if @@ -18197,7 +18136,7 @@ i64.const 999868719476735 call $~lib/util/number/utoa64 local.tee $144 - i32.const 14016 + i32.const 13952 call $~lib/string/String.__eq i32.eqz if @@ -18211,7 +18150,7 @@ i64.const 9999868719476735 call $~lib/util/number/utoa64 local.tee $145 - i32.const 14064 + i32.const 14000 call $~lib/string/String.__eq i32.eqz if @@ -18225,7 +18164,7 @@ i64.const 19999868719476735 call $~lib/util/number/utoa64 local.tee $146 - i32.const 14112 + i32.const 14048 call $~lib/string/String.__eq i32.eqz if @@ -18239,7 +18178,7 @@ i64.const 129999868719476735 call $~lib/util/number/utoa64 local.tee $147 - i32.const 14176 + i32.const 14112 call $~lib/string/String.__eq i32.eqz if @@ -18253,7 +18192,7 @@ i64.const 1239999868719476735 call $~lib/util/number/utoa64 local.tee $148 - i32.const 14240 + i32.const 14176 call $~lib/string/String.__eq i32.eqz if @@ -18267,7 +18206,7 @@ i64.const -1 call $~lib/util/number/utoa64 local.tee $149 - i32.const 14304 + i32.const 14240 call $~lib/string/String.__eq i32.eqz if @@ -18295,7 +18234,7 @@ i64.const -1234 call $~lib/util/number/itoa64 local.tee $151 - i32.const 14368 + i32.const 14304 call $~lib/string/String.__eq i32.eqz if @@ -18309,7 +18248,7 @@ i64.const 4294967295 call $~lib/util/number/itoa64 local.tee $152 - i32.const 13648 + i32.const 13584 call $~lib/string/String.__eq i32.eqz if @@ -18323,7 +18262,7 @@ i64.const 4294967297 call $~lib/util/number/itoa64 local.tee $153 - i32.const 13776 + i32.const 13712 call $~lib/string/String.__eq i32.eqz if @@ -18337,7 +18276,7 @@ i64.const -4294967295 call $~lib/util/number/itoa64 local.tee $154 - i32.const 14400 + i32.const 14336 call $~lib/string/String.__eq i32.eqz if @@ -18351,7 +18290,7 @@ i64.const 68719476735 call $~lib/util/number/itoa64 local.tee $155 - i32.const 13824 + i32.const 13760 call $~lib/string/String.__eq i32.eqz if @@ -18365,7 +18304,7 @@ i64.const -68719476735 call $~lib/util/number/itoa64 local.tee $156 - i32.const 14448 + i32.const 14384 call $~lib/string/String.__eq i32.eqz if @@ -18379,7 +18318,7 @@ i64.const -868719476735 call $~lib/util/number/itoa64 local.tee $157 - i32.const 14496 + i32.const 14432 call $~lib/string/String.__eq i32.eqz if @@ -18393,7 +18332,7 @@ i64.const -999868719476735 call $~lib/util/number/itoa64 local.tee $158 - i32.const 14544 + i32.const 14480 call $~lib/string/String.__eq i32.eqz if @@ -18407,7 +18346,7 @@ i64.const -19999868719476735 call $~lib/util/number/itoa64 local.tee $159 - i32.const 14592 + i32.const 14528 call $~lib/string/String.__eq i32.eqz if @@ -18421,7 +18360,7 @@ i64.const 9223372036854775807 call $~lib/util/number/itoa64 local.tee $160 - i32.const 14656 + i32.const 14592 call $~lib/string/String.__eq i32.eqz if @@ -18435,7 +18374,7 @@ i64.const -9223372036854775808 call $~lib/util/number/itoa64 local.tee $161 - i32.const 14720 + i32.const 14656 call $~lib/string/String.__eq i32.eqz if @@ -18449,7 +18388,7 @@ f64.const 0 call $~lib/util/number/dtoa local.tee $162 - i32.const 14784 + i32.const 14720 call $~lib/string/String.__eq i32.eqz if @@ -18463,7 +18402,7 @@ f64.const -0 call $~lib/util/number/dtoa local.tee $163 - i32.const 14784 + i32.const 14720 call $~lib/string/String.__eq i32.eqz if @@ -18477,7 +18416,7 @@ f64.const nan:0x8000000000000 call $~lib/util/number/dtoa local.tee $164 - i32.const 4864 + i32.const 4832 call $~lib/string/String.__eq i32.eqz if @@ -18491,7 +18430,7 @@ f64.const inf call $~lib/util/number/dtoa local.tee $165 - i32.const 14816 + i32.const 14752 call $~lib/string/String.__eq i32.eqz if @@ -18505,7 +18444,7 @@ f64.const -inf call $~lib/util/number/dtoa local.tee $166 - i32.const 6080 + i32.const 6048 call $~lib/string/String.__eq i32.eqz if @@ -18519,7 +18458,7 @@ f64.const 2.220446049250313e-16 call $~lib/util/number/dtoa local.tee $167 - i32.const 5376 + i32.const 5344 call $~lib/string/String.__eq i32.eqz if @@ -18533,7 +18472,7 @@ f64.const -2.220446049250313e-16 call $~lib/util/number/dtoa local.tee $168 - i32.const 15920 + i32.const 15760 call $~lib/string/String.__eq i32.eqz if @@ -18547,7 +18486,7 @@ f64.const 1797693134862315708145274e284 call $~lib/util/number/dtoa local.tee $169 - i32.const 5440 + i32.const 5408 call $~lib/string/String.__eq i32.eqz if @@ -18561,7 +18500,7 @@ f64.const -1797693134862315708145274e284 call $~lib/util/number/dtoa local.tee $170 - i32.const 15984 + i32.const 15824 call $~lib/string/String.__eq i32.eqz if @@ -18575,7 +18514,7 @@ f64.const 4185580496821356722454785e274 call $~lib/util/number/dtoa local.tee $171 - i32.const 16048 + i32.const 15888 call $~lib/string/String.__eq i32.eqz if @@ -18589,7 +18528,7 @@ f64.const 2.2250738585072014e-308 call $~lib/util/number/dtoa local.tee $172 - i32.const 16112 + i32.const 15952 call $~lib/string/String.__eq i32.eqz if @@ -18603,7 +18542,7 @@ f64.const 4.940656e-318 call $~lib/util/number/dtoa local.tee $173 - i32.const 16176 + i32.const 16016 call $~lib/string/String.__eq i32.eqz if @@ -18617,7 +18556,7 @@ f64.const 9060801153433600 call $~lib/util/number/dtoa local.tee $174 - i32.const 16224 + i32.const 16064 call $~lib/string/String.__eq i32.eqz if @@ -18631,7 +18570,7 @@ f64.const 4708356024711512064 call $~lib/util/number/dtoa local.tee $175 - i32.const 16288 + i32.const 16128 call $~lib/string/String.__eq i32.eqz if @@ -18645,7 +18584,7 @@ f64.const 9409340012568248320 call $~lib/util/number/dtoa local.tee $176 - i32.const 16352 + i32.const 16192 call $~lib/string/String.__eq i32.eqz if @@ -18659,7 +18598,7 @@ f64.const 5e-324 call $~lib/util/number/dtoa local.tee $177 - i32.const 5504 + i32.const 5472 call $~lib/string/String.__eq i32.eqz if @@ -18673,7 +18612,7 @@ f64.const 1 call $~lib/util/number/dtoa local.tee $178 - i32.const 16416 + i32.const 16256 call $~lib/string/String.__eq i32.eqz if @@ -18687,7 +18626,7 @@ f64.const 0.1 call $~lib/util/number/dtoa local.tee $179 - i32.const 2512 + i32.const 2480 call $~lib/string/String.__eq i32.eqz if @@ -18701,7 +18640,7 @@ f64.const -1 call $~lib/util/number/dtoa local.tee $180 - i32.const 16448 + i32.const 16288 call $~lib/string/String.__eq i32.eqz if @@ -18715,7 +18654,7 @@ f64.const -0.1 call $~lib/util/number/dtoa local.tee $181 - i32.const 16480 + i32.const 16320 call $~lib/string/String.__eq i32.eqz if @@ -18729,7 +18668,7 @@ f64.const 1e6 call $~lib/util/number/dtoa local.tee $182 - i32.const 16512 + i32.const 16352 call $~lib/string/String.__eq i32.eqz if @@ -18743,7 +18682,7 @@ f64.const 1e-06 call $~lib/util/number/dtoa local.tee $183 - i32.const 16560 + i32.const 16400 call $~lib/string/String.__eq i32.eqz if @@ -18757,7 +18696,7 @@ f64.const -1e6 call $~lib/util/number/dtoa local.tee $184 - i32.const 16592 + i32.const 16432 call $~lib/string/String.__eq i32.eqz if @@ -18771,7 +18710,7 @@ f64.const -1e-06 call $~lib/util/number/dtoa local.tee $185 - i32.const 16640 + i32.const 16480 call $~lib/string/String.__eq i32.eqz if @@ -18785,7 +18724,7 @@ f64.const 1e7 call $~lib/util/number/dtoa local.tee $186 - i32.const 16688 + i32.const 16528 call $~lib/string/String.__eq i32.eqz if @@ -18799,7 +18738,7 @@ f64.const 1e-07 call $~lib/util/number/dtoa local.tee $187 - i32.const 16736 + i32.const 16576 call $~lib/string/String.__eq i32.eqz if @@ -18813,7 +18752,7 @@ f64.const 1.e+308 call $~lib/util/number/dtoa local.tee $188 - i32.const 2736 + i32.const 2704 call $~lib/string/String.__eq i32.eqz if @@ -18827,7 +18766,7 @@ f64.const -1.e+308 call $~lib/util/number/dtoa local.tee $189 - i32.const 16768 + i32.const 16608 call $~lib/string/String.__eq i32.eqz if @@ -18841,7 +18780,7 @@ f64.const inf call $~lib/util/number/dtoa local.tee $190 - i32.const 14816 + i32.const 14752 call $~lib/string/String.__eq i32.eqz if @@ -18855,7 +18794,7 @@ f64.const -inf call $~lib/util/number/dtoa local.tee $191 - i32.const 6080 + i32.const 6048 call $~lib/string/String.__eq i32.eqz if @@ -18869,7 +18808,7 @@ f64.const 1e-308 call $~lib/util/number/dtoa local.tee $192 - i32.const 16800 + i32.const 16640 call $~lib/string/String.__eq i32.eqz if @@ -18883,7 +18822,7 @@ f64.const -1e-308 call $~lib/util/number/dtoa local.tee $193 - i32.const 16832 + i32.const 16672 call $~lib/string/String.__eq i32.eqz if @@ -18897,7 +18836,7 @@ f64.const 1e-323 call $~lib/util/number/dtoa local.tee $194 - i32.const 16864 + i32.const 16704 call $~lib/string/String.__eq i32.eqz if @@ -18911,7 +18850,7 @@ f64.const -1e-323 call $~lib/util/number/dtoa local.tee $195 - i32.const 16896 + i32.const 16736 call $~lib/string/String.__eq i32.eqz if @@ -18925,7 +18864,7 @@ f64.const 0 call $~lib/util/number/dtoa local.tee $196 - i32.const 14784 + i32.const 14720 call $~lib/string/String.__eq i32.eqz if @@ -18939,7 +18878,7 @@ f64.const 4294967272 call $~lib/util/number/dtoa local.tee $197 - i32.const 16928 + i32.const 16768 call $~lib/string/String.__eq i32.eqz if @@ -18953,7 +18892,7 @@ f64.const 1.2312145673456234e-08 call $~lib/util/number/dtoa local.tee $198 - i32.const 16976 + i32.const 16816 call $~lib/string/String.__eq i32.eqz if @@ -18967,7 +18906,7 @@ f64.const 555555555.5555556 call $~lib/util/number/dtoa local.tee $199 - i32.const 17040 + i32.const 16880 call $~lib/string/String.__eq i32.eqz if @@ -18981,7 +18920,7 @@ f64.const 0.9999999999999999 call $~lib/util/number/dtoa local.tee $200 - i32.const 17104 + i32.const 16944 call $~lib/string/String.__eq i32.eqz if @@ -18995,7 +18934,7 @@ f64.const 1 call $~lib/util/number/dtoa local.tee $201 - i32.const 16416 + i32.const 16256 call $~lib/string/String.__eq i32.eqz if @@ -19009,7 +18948,7 @@ f64.const 12.34 call $~lib/util/number/dtoa local.tee $202 - i32.const 17168 + i32.const 17008 call $~lib/string/String.__eq i32.eqz if @@ -19023,7 +18962,7 @@ f64.const 0.3333333333333333 call $~lib/util/number/dtoa local.tee $203 - i32.const 17200 + i32.const 17040 call $~lib/string/String.__eq i32.eqz if @@ -19037,7 +18976,7 @@ f64.const 1234e17 call $~lib/util/number/dtoa local.tee $204 - i32.const 17264 + i32.const 17104 call $~lib/string/String.__eq i32.eqz if @@ -19051,7 +18990,7 @@ f64.const 1234e18 call $~lib/util/number/dtoa local.tee $205 - i32.const 17328 + i32.const 17168 call $~lib/string/String.__eq i32.eqz if @@ -19065,7 +19004,7 @@ f64.const 2.71828 call $~lib/util/number/dtoa local.tee $206 - i32.const 17376 + i32.const 17216 call $~lib/string/String.__eq i32.eqz if @@ -19079,7 +19018,7 @@ f64.const 0.0271828 call $~lib/util/number/dtoa local.tee $207 - i32.const 17408 + i32.const 17248 call $~lib/string/String.__eq i32.eqz if @@ -19093,7 +19032,7 @@ f64.const 271.828 call $~lib/util/number/dtoa local.tee $208 - i32.const 17456 + i32.const 17296 call $~lib/string/String.__eq i32.eqz if @@ -19107,7 +19046,7 @@ f64.const 1.1e+128 call $~lib/util/number/dtoa local.tee $209 - i32.const 17488 + i32.const 17328 call $~lib/string/String.__eq i32.eqz if @@ -19121,7 +19060,7 @@ f64.const 1.1e-64 call $~lib/util/number/dtoa local.tee $210 - i32.const 17520 + i32.const 17360 call $~lib/string/String.__eq i32.eqz if @@ -19135,7 +19074,7 @@ f64.const 0.000035689 call $~lib/util/number/dtoa local.tee $211 - i32.const 17552 + i32.const 17392 call $~lib/string/String.__eq i32.eqz if @@ -19146,9 +19085,6 @@ call $~lib/builtins/abort unreachable end - i32.const 18608 - i32.load offset=4 - global.set $~lib/util/string/upperTable127Ptr i32.const 272 call $~lib/string/String#toUpperCase local.tee $212 @@ -19163,9 +19099,6 @@ call $~lib/builtins/abort unreachable end - i32.const 23584 - i32.load offset=4 - global.set $~lib/util/string/lowerTable127Ptr i32.const 272 call $~lib/string/String#toLowerCase local.tee $213 @@ -19180,10 +19113,10 @@ call $~lib/builtins/abort unreachable end - i32.const 23616 + i32.const 23200 call $~lib/string/String#toUpperCase local.tee $214 - i32.const 23664 + i32.const 23248 call $~lib/string/String.__eq i32.eqz if @@ -19194,10 +19127,10 @@ call $~lib/builtins/abort unreachable end - i32.const 23712 + i32.const 23296 call $~lib/string/String#toLowerCase local.tee $215 - i32.const 23760 + i32.const 23344 call $~lib/string/String.__eq i32.eqz if @@ -19208,10 +19141,10 @@ call $~lib/builtins/abort unreachable end - i32.const 23808 + i32.const 23392 call $~lib/string/String#toUpperCase local.tee $216 - i32.const 23904 + i32.const 23488 call $~lib/string/String.__eq i32.eqz if @@ -19222,10 +19155,10 @@ call $~lib/builtins/abort unreachable end - i32.const 23904 + i32.const 23488 call $~lib/string/String#toLowerCase local.tee $217 - i32.const 24000 + i32.const 23584 call $~lib/string/String.__eq i32.eqz if @@ -19236,10 +19169,10 @@ call $~lib/builtins/abort unreachable end - i32.const 24096 + i32.const 23680 call $~lib/string/String#toUpperCase local.tee $218 - i32.const 24160 + i32.const 23744 call $~lib/string/String.__eq i32.eqz if @@ -19250,10 +19183,10 @@ call $~lib/builtins/abort unreachable end - i32.const 24160 + i32.const 23744 call $~lib/string/String#toLowerCase local.tee $219 - i32.const 24224 + i32.const 23808 call $~lib/string/String.__eq i32.eqz if @@ -19264,10 +19197,10 @@ call $~lib/builtins/abort unreachable end - i32.const 24288 + i32.const 23872 call $~lib/string/String#toUpperCase local.tee $220 - i32.const 24384 + i32.const 23968 call $~lib/string/String.__eq i32.eqz if @@ -19278,10 +19211,10 @@ call $~lib/builtins/abort unreachable end - i32.const 24384 + i32.const 23968 call $~lib/string/String#toLowerCase local.tee $221 - i32.const 24480 + i32.const 24064 call $~lib/string/String.__eq i32.eqz if @@ -19292,10 +19225,10 @@ call $~lib/builtins/abort unreachable end - i32.const 24576 + i32.const 24160 call $~lib/string/String#toUpperCase local.tee $222 - i32.const 24672 + i32.const 24256 call $~lib/string/String.__eq i32.eqz if @@ -19306,10 +19239,10 @@ call $~lib/builtins/abort unreachable end - i32.const 24672 + i32.const 24256 call $~lib/string/String#toLowerCase local.tee $223 - i32.const 24768 + i32.const 24352 call $~lib/string/String.__eq i32.eqz if @@ -19320,10 +19253,10 @@ call $~lib/builtins/abort unreachable end - i32.const 24864 + i32.const 24448 call $~lib/string/String#toUpperCase local.tee $224 - i32.const 24928 + i32.const 24512 call $~lib/string/String.__eq i32.eqz if @@ -19334,10 +19267,10 @@ call $~lib/builtins/abort unreachable end - i32.const 24992 + i32.const 24576 call $~lib/string/String#toUpperCase local.tee $225 - i32.const 25056 + i32.const 24640 call $~lib/string/String.__eq i32.eqz if @@ -19348,10 +19281,10 @@ call $~lib/builtins/abort unreachable end - i32.const 25136 + i32.const 24720 call $~lib/string/String#toUpperCase local.tee $226 - i32.const 25200 + i32.const 24784 call $~lib/string/String.__eq i32.eqz if @@ -19362,10 +19295,10 @@ call $~lib/builtins/abort unreachable end - i32.const 25264 + i32.const 24848 call $~lib/string/String#toUpperCase local.tee $227 - i32.const 25344 + i32.const 24928 call $~lib/string/String.__eq i32.eqz if @@ -19376,10 +19309,10 @@ call $~lib/builtins/abort unreachable end - i32.const 25424 + i32.const 25008 call $~lib/string/String#toUpperCase local.tee $228 - i32.const 25488 + i32.const 25072 call $~lib/string/String.__eq i32.eqz if @@ -19390,10 +19323,10 @@ call $~lib/builtins/abort unreachable end - i32.const 25552 + i32.const 25136 call $~lib/string/String#toUpperCase local.tee $229 - i32.const 25616 + i32.const 25200 call $~lib/string/String.__eq i32.eqz if @@ -19404,10 +19337,10 @@ call $~lib/builtins/abort unreachable end - i32.const 25680 + i32.const 25264 call $~lib/string/String#toUpperCase local.tee $230 - i32.const 25760 + i32.const 25344 call $~lib/string/String.__eq i32.eqz if @@ -19418,10 +19351,10 @@ call $~lib/builtins/abort unreachable end - i32.const 25840 + i32.const 25424 call $~lib/string/String#toUpperCase local.tee $231 - i32.const 25920 + i32.const 25504 call $~lib/string/String.__eq i32.eqz if @@ -19432,10 +19365,10 @@ call $~lib/builtins/abort unreachable end - i32.const 26000 + i32.const 25584 call $~lib/string/String#toUpperCase local.tee $232 - i32.const 26144 + i32.const 25728 call $~lib/string/String.__eq i32.eqz if @@ -19446,10 +19379,10 @@ call $~lib/builtins/abort unreachable end - i32.const 26000 + i32.const 25584 call $~lib/string/String#toLowerCase local.tee $233 - i32.const 26288 + i32.const 25872 call $~lib/string/String.__eq i32.eqz if @@ -19463,7 +19396,7 @@ i32.const 128 call $~lib/string/String#toUpperCase local.tee $234 - i32.const 26432 + i32.const 26016 call $~lib/string/String.__eq i32.eqz if @@ -19474,10 +19407,10 @@ call $~lib/builtins/abort unreachable end - i32.const 26464 + i32.const 26048 call $~lib/string/String#toLowerCase local.tee $235 - i32.const 26496 + i32.const 26080 call $~lib/string/String.__eq i32.eqz if @@ -19488,10 +19421,10 @@ call $~lib/builtins/abort unreachable end - i32.const 26528 + i32.const 26112 call $~lib/string/String#toUpperCase local.tee $236 - i32.const 26720 + i32.const 26304 call $~lib/string/String.__eq i32.eqz if @@ -19507,7 +19440,7 @@ local.tee $237 call $~lib/string/String#toLowerCase local.tee $238 - i32.const 26928 + i32.const 26512 call $~lib/string/String.__eq i32.eqz if @@ -19518,12 +19451,12 @@ call $~lib/builtins/abort unreachable end - i32.const 26960 + i32.const 26544 call $~lib/string/String#toUpperCase local.tee $239 call $~lib/string/String#toLowerCase local.tee $240 - i32.const 26992 + i32.const 26576 call $~lib/string/String.__eq i32.eqz if @@ -19534,12 +19467,12 @@ call $~lib/builtins/abort unreachable end - i32.const 27024 + i32.const 26608 call $~lib/string/String#toUpperCase local.tee $241 call $~lib/string/String#toLowerCase local.tee $242 - i32.const 27024 + i32.const 26608 call $~lib/string/String.__eq i32.eqz if @@ -19555,7 +19488,7 @@ local.tee $243 call $~lib/string/String#toLowerCase local.tee $244 - i32.const 27232 + i32.const 26816 call $~lib/string/String.__eq i32.eqz if @@ -19571,7 +19504,7 @@ local.tee $245 call $~lib/string/String#toUpperCase local.tee $246 - i32.const 27232 + i32.const 26816 call $~lib/string/String.__eq i32.eqz if @@ -19582,10 +19515,10 @@ call $~lib/builtins/abort unreachable end - i32.const 27264 + i32.const 26848 call $~lib/string/String#toLowerCase local.tee $247 - i32.const 27296 + i32.const 26880 call $~lib/string/String.__eq i32.eqz if @@ -19596,10 +19529,10 @@ call $~lib/builtins/abort unreachable end - i32.const 27328 + i32.const 26912 call $~lib/string/String#toLowerCase local.tee $248 - i32.const 27360 + i32.const 26944 call $~lib/string/String.__eq i32.eqz if @@ -19610,10 +19543,10 @@ call $~lib/builtins/abort unreachable end - i32.const 27392 + i32.const 26976 call $~lib/string/String#toLowerCase local.tee $249 - i32.const 27424 + i32.const 27008 call $~lib/string/String.__eq i32.eqz if @@ -19624,10 +19557,10 @@ call $~lib/builtins/abort unreachable end - i32.const 27456 + i32.const 27040 call $~lib/string/String#toUpperCase local.tee $250 - i32.const 27488 + i32.const 27072 call $~lib/string/String.__eq i32.eqz if @@ -19638,10 +19571,10 @@ call $~lib/builtins/abort unreachable end - i32.const 26960 + i32.const 26544 call $~lib/string/String#toUpperCase local.tee $251 - i32.const 27520 + i32.const 27104 call $~lib/string/String.__eq i32.eqz if @@ -19652,10 +19585,10 @@ call $~lib/builtins/abort unreachable end - i32.const 27552 + i32.const 27136 call $~lib/string/String#toUpperCase local.tee $252 - i32.const 27584 + i32.const 27168 call $~lib/string/String.__eq i32.eqz if @@ -19666,10 +19599,10 @@ call $~lib/builtins/abort unreachable end - i32.const 27616 + i32.const 27200 call $~lib/string/String#toUpperCase local.tee $253 - i32.const 27648 + i32.const 27232 call $~lib/string/String.__eq i32.eqz if @@ -19680,10 +19613,10 @@ call $~lib/builtins/abort unreachable end - i32.const 27680 + i32.const 27264 call $~lib/string/String#toUpperCase local.tee $254 - i32.const 27712 + i32.const 27296 call $~lib/string/String.__eq i32.eqz if @@ -19694,10 +19627,10 @@ call $~lib/builtins/abort unreachable end - i32.const 27744 + i32.const 27328 call $~lib/string/String#toUpperCase local.tee $255 - i32.const 27776 + i32.const 27360 call $~lib/string/String.__eq i32.eqz if @@ -19708,10 +19641,10 @@ call $~lib/builtins/abort unreachable end - i32.const 27808 + i32.const 27392 call $~lib/string/String#toUpperCase local.tee $256 - i32.const 27776 + i32.const 27360 call $~lib/string/String.__eq i32.eqz if @@ -19722,10 +19655,10 @@ call $~lib/builtins/abort unreachable end - i32.const 27840 + i32.const 27424 call $~lib/string/String#toUpperCase local.tee $257 - i32.const 27872 + i32.const 27456 call $~lib/string/String.__eq i32.eqz if @@ -19736,10 +19669,10 @@ call $~lib/builtins/abort unreachable end - i32.const 27904 + i32.const 27488 call $~lib/string/String#toUpperCase local.tee $258 - i32.const 27936 + i32.const 27520 call $~lib/string/String.__eq i32.eqz if @@ -19750,10 +19683,10 @@ call $~lib/builtins/abort unreachable end - i32.const 27968 + i32.const 27552 call $~lib/string/String#toUpperCase local.tee $259 - i32.const 28000 + i32.const 27584 call $~lib/string/String.__eq i32.eqz if @@ -19764,10 +19697,10 @@ call $~lib/builtins/abort unreachable end - i32.const 28032 + i32.const 27616 call $~lib/string/String#toUpperCase local.tee $260 - i32.const 28064 + i32.const 27648 call $~lib/string/String.__eq i32.eqz if @@ -19778,10 +19711,10 @@ call $~lib/builtins/abort unreachable end - i32.const 28096 + i32.const 27680 call $~lib/string/String#toUpperCase local.tee $261 - i32.const 28128 + i32.const 27712 call $~lib/string/String.__eq i32.eqz if @@ -19792,10 +19725,10 @@ call $~lib/builtins/abort unreachable end - i32.const 28160 + i32.const 27744 call $~lib/string/String#toUpperCase local.tee $262 - i32.const 28192 + i32.const 27776 call $~lib/string/String.__eq i32.eqz if @@ -19968,7 +19901,7 @@ local.get $272 i64.ne if - i32.const 28224 + i32.const 27808 i32.const 3 local.get $263 f64.convert_i32_s @@ -19984,7 +19917,7 @@ local.get $273 i64.ne if - i32.const 28304 + i32.const 27888 i32.const 3 local.get $263 f64.convert_i32_s @@ -20560,11 +20493,11 @@ local.get $262 call $~lib/rt/pure/__release ) - (func $std/string/getString (; 102 ;) (result i32) + (func $std/string/getString (; 101 ;) (result i32) global.get $std/string/str call $~lib/rt/pure/__retain ) - (func $~start (; 103 ;) + (func $~start (; 102 ;) global.get $~started if return @@ -20574,7 +20507,7 @@ end call $start:std/string ) - (func $~lib/rt/pure/decrement (; 104 ;) (param $0 i32) + (func $~lib/rt/pure/decrement (; 103 ;) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -20651,10 +20584,10 @@ i32.store offset=4 end ) - (func $~lib/rt/pure/__collect (; 105 ;) + (func $~lib/rt/pure/__collect (; 104 ;) return ) - (func $~lib/rt/pure/__visit (; 106 ;) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 105 ;) (param $0 i32) (param $1 i32) local.get $0 global.get $~lib/heap/__heap_base i32.lt_u @@ -20678,10 +20611,10 @@ i32.sub call $~lib/rt/pure/decrement ) - (func $~lib/array/Array#__visit_impl (; 107 ;) (param $0 i32) (param $1 i32) + (func $~lib/staticarray/StaticArray#__visit_impl (; 106 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array<~lib/string/String>#__visit_impl (; 108 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/string/String>#__visit_impl (; 107 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -20720,87 +20653,96 @@ end end ) - (func $~lib/array/Array#__visit_impl (; 109 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 108 ;) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/staticarray/StaticArray#__visit_impl (; 109 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 110 ;) (param $0 i32) (param $1 i32) + (func $~lib/staticarray/StaticArray#__visit_impl (; 110 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 111 ;) (param $0 i32) (param $1 i32) + (func $~lib/staticarray/StaticArray#__visit_impl (; 111 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 112 ;) (param $0 i32) (param $1 i32) + (func $~lib/staticarray/StaticArray#__visit_impl (; 112 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 113 ;) (param $0 i32) (param $1 i32) + (func $~lib/staticarray/StaticArray#__visit_impl (; 113 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 114 ;) (param $0 i32) (param $1 i32) + (func $~lib/staticarray/StaticArray#__visit_impl (; 114 ;) (param $0 i32) (param $1 i32) nop ) (func $~lib/rt/__visit_members (; 115 ;) (param $0 i32) (param $1 i32) (local $2 i32) block $block$4$break block $switch$1$default - block $switch$1$case$12 - block $switch$1$case$11 - block $switch$1$case$10 - block $switch$1$case$9 - block $switch$1$case$8 - block $switch$1$case$7 - block $switch$1$case$6 - block $switch$1$case$5 - block $switch$1$case$4 - block $switch$1$case$2 - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$6 $switch$1$case$7 $switch$1$case$8 $switch$1$case$9 $switch$1$case$10 $switch$1$case$11 $switch$1$case$12 $switch$1$default + block $switch$1$case$13 + block $switch$1$case$12 + block $switch$1$case$11 + block $switch$1$case$10 + block $switch$1$case$9 + block $switch$1$case$8 + block $switch$1$case$7 + block $switch$1$case$6 + block $switch$1$case$5 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$5 $switch$1$case$6 $switch$1$case$7 $switch$1$case$8 $switch$1$case$9 $switch$1$case$10 $switch$1$case$11 $switch$1$case$12 $switch$1$case$13 $switch$1$default + end + return end - return + br $block$4$break end - br $block$4$break + local.get $0 + local.get $1 + call $~lib/staticarray/StaticArray#__visit_impl + return end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl + call $~lib/array/Array<~lib/string/String>#__visit_impl br $block$4$break end local.get $0 local.get $1 - call $~lib/array/Array<~lib/string/String>#__visit_impl + call $~lib/array/Array#__visit_impl br $block$4$break end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl - br $block$4$break + call $~lib/staticarray/StaticArray#__visit_impl + return end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl - br $block$4$break + call $~lib/staticarray/StaticArray#__visit_impl + return end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl - br $block$4$break + call $~lib/staticarray/StaticArray#__visit_impl + return end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl - br $block$4$break + call $~lib/staticarray/StaticArray#__visit_impl + return end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl - br $block$4$break + call $~lib/staticarray/StaticArray#__visit_impl + return end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl - br $block$4$break + call $~lib/staticarray/StaticArray#__visit_impl + return end unreachable end diff --git a/tests/compiler/std/typedarray.optimized.wat b/tests/compiler/std/typedarray.optimized.wat index 0882aa4a6f..012bd33244 100644 --- a/tests/compiler/std/typedarray.optimized.wat +++ b/tests/compiler/std/typedarray.optimized.wat @@ -103,98 +103,95 @@ (data (i32.const 2064) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N") (data (i32.const 2096) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") (data (i32.const 2144) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 2176) "\b8\02\00\00\01\00\00\00\00\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) @@ -800,11 +797,11 @@ if unreachable end - i32.const 7488 + i32.const 7392 local.tee $0 i32.const 0 i32.store - i32.const 9056 + i32.const 8960 i32.const 0 i32.store loop $for-loop|0 @@ -815,7 +812,7 @@ local.get $1 i32.const 2 i32.shl - i32.const 7488 + i32.const 7392 i32.add i32.const 0 i32.store offset=4 @@ -833,7 +830,7 @@ i32.add i32.const 2 i32.shl - i32.const 7488 + i32.const 7392 i32.add i32.const 0 i32.store offset=96 @@ -851,13 +848,13 @@ br $for-loop|0 end end - i32.const 7488 - i32.const 9072 + i32.const 7392 + i32.const 8976 memory.size i32.const 16 i32.shl call $~lib/rt/tlsf/addMemory - i32.const 7488 + i32.const 7392 global.set $~lib/rt/tlsf/ROOT end local.get $0 @@ -1513,7 +1510,7 @@ ) (func $~lib/rt/pure/__retain (; 19 ;) (param $0 i32) (result i32) local.get $0 - i32.const 7484 + i32.const 7388 i32.gt_u if local.get $0 @@ -1525,7 +1522,7 @@ ) (func $~lib/rt/pure/__release (; 20 ;) (param $0 i32) local.get $0 - i32.const 7484 + i32.const 7388 i32.gt_u if local.get $0 @@ -3235,6 +3232,8 @@ ) (func $~lib/rt/__allocArray (; 57 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) + (local $5 i32) + (local $6 i32) i32.const 16 local.get $2 call $~lib/rt/tlsf/__alloc @@ -3242,28 +3241,31 @@ local.get $0 local.get $1 i32.shl - local.tee $1 + local.tee $4 + local.set $6 + local.get $4 i32.const 0 call $~lib/rt/tlsf/__alloc - local.tee $4 + local.set $1 + local.get $3 + if + local.get $1 + local.get $3 + local.get $6 + call $~lib/memory/memory.copy + end + local.get $1 call $~lib/rt/pure/__retain i32.store local.get $2 - local.get $4 + local.get $1 i32.store offset=4 local.get $2 - local.get $1 + local.get $4 i32.store offset=8 local.get $2 local.get $0 i32.store offset=12 - local.get $3 - if - local.get $4 - local.get $3 - local.get $1 - call $~lib/memory/memory.copy - end local.get $2 ) (func $~lib/typedarray/Int8Array#__get (; 58 ;) (param $0 i32) (param $1 i32) (result i32) @@ -7018,7 +7020,7 @@ local.get $2 call $~lib/memory/memory.copy local.get $1 - i32.const 7484 + i32.const 7388 i32.ge_u if local.get $1 @@ -23438,33 +23440,14 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/array/Array#__unchecked_get (; 398 ;) (param $0 i32) (param $1 i32) (result i64) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load - ) - (func $~lib/array/Array#__unchecked_get (; 399 ;) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s - ) - (func $~lib/util/number/genDigits (; 400 ;) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (func $~lib/util/number/genDigits (; 398 ;) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) (local $8 i32) (local $9 i64) (local $10 i32) (local $11 i64) (local $12 i64) - (local $13 i32) - (local $14 i64) + (local $13 i64) local.get $3 local.get $1 i64.sub @@ -23480,7 +23463,7 @@ local.tee $11 i64.const 1 i64.sub - local.tee $14 + local.tee $13 i64.and local.set $12 local.get $3 @@ -23491,9 +23474,6 @@ local.tee $7 call $~lib/util/number/decimalCount32 local.set $4 - i32.const 3236 - i32.load - local.set $13 loop $while-continue|0 local.get $4 i32.const 0 @@ -23658,10 +23638,10 @@ global.get $~lib/util/number/_K i32.add global.set $~lib/util/number/_K - local.get $13 local.get $4 i32.const 2 i32.shl + i32.const 3104 i32.add i64.load32_u local.get $10 @@ -23770,7 +23750,7 @@ i32.sub local.set $4 local.get $3 - local.get $14 + local.get $13 i64.and local.tee $12 local.get $5 @@ -23783,12 +23763,12 @@ local.get $12 local.set $1 local.get $9 - local.get $13 i32.const 0 local.get $4 i32.sub i32.const 2 i32.shl + i32.const 3104 i32.add i64.load32_u i64.mul @@ -23850,7 +23830,7 @@ local.get $6 end ) - (func $~lib/util/number/prettify (; 401 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/prettify (; 399 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 i32.eqz @@ -24095,15 +24075,15 @@ end end ) - (func $~lib/util/number/dtoa_core (; 402 ;) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/number/dtoa_core (; 400 ;) (param $0 i32) (param $1 f64) (result i32) (local $2 i64) (local $3 i32) (local $4 i64) (local $5 i32) - (local $6 i64) + (local $6 i32) (local $7 i64) (local $8 i64) - (local $9 i32) + (local $9 i64) (local $10 i32) (local $11 i64) (local $12 i64) @@ -24116,7 +24096,7 @@ local.get $1 f64.const 0 f64.lt - local.tee $9 + local.tee $10 if (result f64) local.get $0 i32.const 45 @@ -24140,7 +24120,7 @@ local.get $5 i32.const 0 i32.ne - local.tee $10 + local.tee $6 i64.extend_i32_u i64.const 52 i64.shl @@ -24150,18 +24130,18 @@ i64.shl i64.const 1 i64.add - local.tee $6 + local.tee $7 i64.clz i32.wrap_i64 local.set $3 - local.get $6 + local.get $7 local.get $3 i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_plus local.get $5 i32.const 1 - local.get $10 + local.get $6 select i32.const 1075 i32.sub @@ -24177,13 +24157,13 @@ i64.eq i32.const 1 i32.add - local.tee $10 + local.tee $6 i64.extend_i32_s i64.shl i64.const 1 i64.sub local.get $5 - local.get $10 + local.get $6 i32.sub local.get $3 i32.sub @@ -24216,15 +24196,20 @@ local.tee $3 i32.const 3 i32.shl + local.tee $6 i32.sub global.set $~lib/util/number/_K - i32.const 2912 - local.get $3 - call $~lib/array/Array#__unchecked_get + local.get $6 + i32.const 2192 + i32.add + i64.load global.set $~lib/util/number/_frc_pow - i32.const 3136 local.get $3 - call $~lib/array/Array#__unchecked_get + i32.const 1 + i32.shl + i32.const 2912 + i32.add + i32.load16_s global.set $~lib/util/number/_exp_pow local.get $2 local.get $2 @@ -24233,7 +24218,7 @@ local.tee $3 i64.extend_i32_s i64.shl - local.tee $6 + local.tee $7 i64.const 4294967295 i64.and local.tee $11 @@ -24245,14 +24230,14 @@ i64.mul local.set $14 global.get $~lib/util/number/_frc_plus - local.tee $7 + local.tee $8 i64.const 4294967295 i64.and local.tee $4 local.get $2 i64.const 4294967295 i64.and - local.tee $8 + local.tee $9 i64.mul local.set $12 global.get $~lib/util/number/_frc_minus @@ -24272,17 +24257,17 @@ i64.shr_u local.tee $4 i64.mul + local.get $9 local.get $8 - local.get $7 i64.const 32 i64.shr_u - local.tee $7 + local.tee $8 i64.mul local.get $12 i64.const 32 i64.shr_u i64.add - local.tee $8 + local.tee $9 i64.const 4294967295 i64.and i64.add @@ -24291,16 +24276,16 @@ i64.const 32 i64.shr_u local.get $4 - local.get $7 - i64.mul local.get $8 + i64.mul + local.get $9 i64.const 32 i64.shr_u i64.add i64.add i64.const 1 i64.sub - local.tee $7 + local.tee $8 local.get $16 local.get $2 i64.const 32 @@ -24311,7 +24296,7 @@ local.get $15 i64.const 32 i64.shr_u - local.tee $8 + local.tee $9 i64.mul local.get $18 i64.const 32 @@ -24326,7 +24311,7 @@ i64.const 32 i64.shr_u local.get $4 - local.get $8 + local.get $9 i64.mul local.get $12 i64.const 32 @@ -24338,7 +24323,7 @@ i64.sub local.set $4 local.get $0 - local.get $9 + local.get $10 i32.const 1 i32.shl i32.add @@ -24350,10 +24335,10 @@ local.tee $2 i64.mul local.get $13 - local.get $6 + local.get $7 i64.const 32 i64.shr_u - local.tee $6 + local.tee $7 i64.mul local.get $14 i64.const 32 @@ -24368,7 +24353,7 @@ i64.const 32 i64.shr_u local.get $2 - local.get $6 + local.get $7 i64.mul local.get $11 i64.const 32 @@ -24383,23 +24368,23 @@ i32.add i32.const -64 i32.sub - local.get $7 + local.get $8 local.get $0 global.get $~lib/util/number/_exp i32.add i32.const -64 i32.sub local.get $4 - local.get $9 + local.get $10 call $~lib/util/number/genDigits - local.get $9 + local.get $10 i32.sub global.get $~lib/util/number/_K call $~lib/util/number/prettify - local.get $9 + local.get $10 i32.add ) - (func $~lib/util/number/dtoa (; 403 ;) (param $0 f64) (result i32) + (func $~lib/util/number/dtoa (; 401 ;) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) local.get $0 @@ -24451,7 +24436,7 @@ local.get $1 call $~lib/rt/tlsf/__free ) - (func $~lib/util/number/dtoa_stream (; 404 ;) (param $0 i32) (param $1 i32) (param $2 f64) (result i32) + (func $~lib/util/number/dtoa_stream (; 402 ;) (param $0 i32) (param $1 i32) (param $2 f64) (result i32) (local $3 i32) local.get $0 local.get $1 @@ -24522,7 +24507,7 @@ local.get $2 call $~lib/util/number/dtoa_core ) - (func $~lib/util/string/joinFloatArray (; 405 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/string/joinFloatArray (; 403 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -24632,14 +24617,14 @@ end local.get $2 ) - (func $~lib/typedarray/Float32Array#join (; 406 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Float32Array#join (; 404 ;) (param $0 i32) (result i32) local.get $0 i32.load offset=4 local.get $0 call $~lib/typedarray/Int32Array#get:length call $~lib/util/string/joinFloatArray ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float32Array,f32> (; 407 ;) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float32Array,f32> (; 405 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -24670,7 +24655,7 @@ local.get $0 call $~lib/typedarray/Float32Array#join local.tee $2 - i32.const 3264 + i32.const 3168 call $~lib/string/String.__eq i32.eqz if @@ -24684,7 +24669,7 @@ call $~lib/typedarray/Float32Array#join local.tee $1 local.get $1 - i32.const 3264 + i32.const 3168 call $~lib/string/String.__eq i32.eqz if @@ -24701,7 +24686,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/util/string/joinFloatArray (; 408 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/string/joinFloatArray (; 406 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -24808,14 +24793,14 @@ end local.get $2 ) - (func $~lib/typedarray/Float64Array#join (; 409 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Float64Array#join (; 407 ;) (param $0 i32) (result i32) local.get $0 i32.load offset=4 local.get $0 call $~lib/typedarray/Int64Array#get:length call $~lib/util/string/joinFloatArray ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float64Array,f64> (; 410 ;) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float64Array,f64> (; 408 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -24846,7 +24831,7 @@ local.get $0 call $~lib/typedarray/Float64Array#join local.tee $2 - i32.const 3264 + i32.const 3168 call $~lib/string/String.__eq i32.eqz if @@ -24860,7 +24845,7 @@ call $~lib/typedarray/Float64Array#join local.tee $1 local.get $1 - i32.const 3264 + i32.const 3168 call $~lib/string/String.__eq i32.eqz if @@ -24877,7 +24862,7 @@ local.get $0 call $~lib/rt/pure/__release ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (; 411 ;) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 409 ;) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 1073741808 @@ -24900,13 +24885,13 @@ local.get $1 call $~lib/rt/pure/__retain ) - (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 412 ;) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 410 ;) (param $0 i32) (result i32) local.get $0 i32.const 16 i32.sub i32.load offset=12 ) - (func $~lib/typedarray/Uint8Array.wrap (; 413 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8Array.wrap (; 411 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $1 local.get $0 @@ -24974,7 +24959,7 @@ local.get $3 call $~lib/rt/pure/__retain ) - (func $~lib/typedarray/Uint8Array.wrap|trampoline (; 414 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array.wrap|trampoline (; 412 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) block $2of2 block $1of2 @@ -24998,7 +24983,7 @@ local.get $2 call $~lib/typedarray/Uint8Array.wrap ) - (func $~lib/arraybuffer/ArrayBuffer#slice (; 415 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#slice (; 413 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $0 call $~lib/arraybuffer/ArrayBuffer#get:byteLength @@ -25066,7 +25051,7 @@ local.get $3 call $~lib/rt/pure/__retain ) - (func $~lib/typedarray/Int8Array.wrap (; 416 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Int8Array.wrap (; 414 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 0 @@ -25098,14 +25083,14 @@ local.get $1 call $~lib/rt/pure/__retain ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8> (; 417 ;) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8> (; 415 ;) (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - i32.const 3404 + i32.const 3308 i32.load local.tee $3 call $~lib/typedarray/Int8Array#constructor @@ -25118,7 +25103,7 @@ if local.get $1 local.get $0 - i32.const 3392 + i32.const 3296 local.get $0 call $~lib/array/Array#__get i32.const 24 @@ -25183,14 +25168,14 @@ local.get $4 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8Array,u8> (; 418 ;) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8Array,u8> (; 416 ;) (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - i32.const 3404 + i32.const 3308 i32.load local.tee $3 call $~lib/typedarray/Uint8Array#constructor @@ -25203,7 +25188,7 @@ if local.get $1 local.get $0 - i32.const 3392 + i32.const 3296 local.get $0 call $~lib/array/Array#__get i32.const 255 @@ -25267,7 +25252,7 @@ local.get $4 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8ClampedArray.wrap (; 419 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray.wrap (; 417 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 0 @@ -25299,14 +25284,14 @@ local.get $1 call $~lib/rt/pure/__retain ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8> (; 420 ;) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8> (; 418 ;) (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - i32.const 3404 + i32.const 3308 i32.load local.tee $3 call $~lib/typedarray/Uint8ClampedArray#constructor @@ -25319,7 +25304,7 @@ if local.get $1 local.get $0 - i32.const 3392 + i32.const 3296 local.get $0 call $~lib/array/Array#__get i32.const 255 @@ -25382,7 +25367,7 @@ local.get $4 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int16Array.wrap (; 421 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Int16Array.wrap (; 419 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 0 @@ -25425,14 +25410,14 @@ local.get $1 call $~lib/rt/pure/__retain ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16> (; 422 ;) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16> (; 420 ;) (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - i32.const 3404 + i32.const 3308 i32.load local.tee $3 call $~lib/typedarray/Int16Array#constructor @@ -25445,7 +25430,7 @@ if local.get $1 local.get $0 - i32.const 3392 + i32.const 3296 local.get $0 call $~lib/array/Array#__get i32.const 16 @@ -25510,7 +25495,7 @@ local.get $4 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint16Array.wrap (; 423 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint16Array.wrap (; 421 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 0 @@ -25553,14 +25538,14 @@ local.get $1 call $~lib/rt/pure/__retain ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16> (; 424 ;) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16> (; 422 ;) (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - i32.const 3404 + i32.const 3308 i32.load local.tee $3 call $~lib/typedarray/Uint16Array#constructor @@ -25573,7 +25558,7 @@ if local.get $1 local.get $0 - i32.const 3392 + i32.const 3296 local.get $0 call $~lib/array/Array#__get i32.const 65535 @@ -25636,7 +25621,7 @@ local.get $4 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int32Array.wrap (; 425 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Int32Array.wrap (; 423 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 0 @@ -25679,14 +25664,14 @@ local.get $1 call $~lib/rt/pure/__retain ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32> (; 426 ;) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32> (; 424 ;) (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - i32.const 3404 + i32.const 3308 i32.load local.tee $3 call $~lib/typedarray/Int32Array#constructor @@ -25699,7 +25684,7 @@ if local.get $1 local.get $0 - i32.const 3392 + i32.const 3296 local.get $0 call $~lib/array/Array#__get call $~lib/typedarray/Int32Array#__set @@ -25760,7 +25745,7 @@ local.get $4 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint32Array.wrap (; 427 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint32Array.wrap (; 425 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 0 @@ -25803,14 +25788,14 @@ local.get $1 call $~lib/rt/pure/__retain ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32> (; 428 ;) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32> (; 426 ;) (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - i32.const 3404 + i32.const 3308 i32.load local.tee $3 call $~lib/typedarray/Uint32Array#constructor @@ -25823,7 +25808,7 @@ if local.get $1 local.get $0 - i32.const 3392 + i32.const 3296 local.get $0 call $~lib/array/Array#__get call $~lib/typedarray/Uint32Array#__set @@ -25884,7 +25869,7 @@ local.get $4 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int64Array.wrap (; 429 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Int64Array.wrap (; 427 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 0 @@ -25927,14 +25912,14 @@ local.get $1 call $~lib/rt/pure/__retain ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64> (; 430 ;) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64> (; 428 ;) (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - i32.const 3404 + i32.const 3308 i32.load local.tee $3 call $~lib/typedarray/Int64Array#constructor @@ -25947,7 +25932,7 @@ if local.get $1 local.get $0 - i32.const 3392 + i32.const 3296 local.get $0 call $~lib/array/Array#__get i64.extend_i32_s @@ -26009,7 +25994,7 @@ local.get $4 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint64Array.wrap (; 431 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint64Array.wrap (; 429 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 0 @@ -26052,14 +26037,14 @@ local.get $1 call $~lib/rt/pure/__retain ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64> (; 432 ;) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64> (; 430 ;) (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - i32.const 3404 + i32.const 3308 i32.load local.tee $3 call $~lib/typedarray/Uint64Array#constructor @@ -26072,7 +26057,7 @@ if local.get $1 local.get $0 - i32.const 3392 + i32.const 3296 local.get $0 call $~lib/array/Array#__get i64.extend_i32_s @@ -26134,7 +26119,7 @@ local.get $4 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float32Array.wrap (; 433 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Float32Array.wrap (; 431 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 0 @@ -26177,14 +26162,14 @@ local.get $1 call $~lib/rt/pure/__retain ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32> (; 434 ;) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32> (; 432 ;) (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - i32.const 3404 + i32.const 3308 i32.load local.tee $3 call $~lib/typedarray/Float32Array#constructor @@ -26197,7 +26182,7 @@ if local.get $1 local.get $0 - i32.const 3392 + i32.const 3296 local.get $0 call $~lib/array/Array#__get f32.convert_i32_s @@ -26259,7 +26244,7 @@ local.get $4 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float64Array.wrap (; 435 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Float64Array.wrap (; 433 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) i32.const 0 @@ -26302,14 +26287,14 @@ local.get $1 call $~lib/rt/pure/__retain ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64> (; 436 ;) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64> (; 434 ;) (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - i32.const 3404 + i32.const 3308 i32.load local.tee $3 call $~lib/typedarray/Float64Array#constructor @@ -26322,7 +26307,7 @@ if local.get $1 local.get $0 - i32.const 3392 + i32.const 3296 local.get $0 call $~lib/array/Array#__get f64.convert_i32_s @@ -26384,11 +26369,11 @@ local.get $4 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (; 437 ;) (param $0 i32) + (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (; 435 ;) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - i32.const 3468 + i32.const 3372 i32.load local.get $0 i32.load offset=8 @@ -26404,10 +26389,10 @@ local.get $0 i32.load offset=4 local.set $1 - i32.const 3460 + i32.const 3364 i32.load local.set $2 - i32.const 3468 + i32.const 3372 i32.load local.set $3 i32.const 0 @@ -26435,7 +26420,7 @@ end end ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> (; 438 ;) (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> (; 436 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -26469,7 +26454,7 @@ local.tee $5 i32.ne if - i32.const 3728 + i32.const 3632 i32.const 3 local.get $2 f64.convert_i32_s @@ -26495,12 +26480,12 @@ end end ) - (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (; 439 ;) (param $0 i32) + (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (; 437 ;) (param $0 i32) (local $1 f32) (local $2 i32) (local $3 i32) (local $4 i32) - i32.const 3532 + i32.const 3436 i32.load i32.const 3 i32.add @@ -26520,10 +26505,10 @@ i32.const 3 i32.add local.set $2 - i32.const 3524 + i32.const 3428 i32.load local.set $3 - i32.const 3532 + i32.const 3436 i32.load local.set $4 i32.const 0 @@ -26562,7 +26547,7 @@ end end ) - (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> (; 440 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> (; 438 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $1 @@ -26616,12 +26601,12 @@ end end ) - (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (; 441 ;) (param $0 i32) + (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (; 439 ;) (param $0 i32) (local $1 f64) (local $2 i32) (local $3 i32) (local $4 i32) - i32.const 3612 + i32.const 3516 i32.load i32.const 2 i32.add @@ -26641,10 +26626,10 @@ i32.const 2 i32.add local.set $2 - i32.const 3604 + i32.const 3508 i32.load local.set $3 - i32.const 3612 + i32.const 3516 i32.load local.set $4 i32.const 0 @@ -26683,7 +26668,7 @@ end end ) - (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> (; 442 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> (; 440 ;) (param $0 i32) (param $1 i32) local.get $1 i32.load offset=8 local.get $0 @@ -26705,7 +26690,7 @@ i32.load offset=8 call $~lib/memory/memory.copy ) - (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> (; 443 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> (; 441 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $1 @@ -26759,8 +26744,8 @@ end end ) - (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (; 444 ;) (param $0 i32) - i32.const 3676 + (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (; 442 ;) (param $0 i32) + i32.const 3580 i32.load i32.const 7 i32.add @@ -26779,13 +26764,13 @@ i32.load offset=4 i32.const 7 i32.add - i32.const 3668 + i32.const 3572 i32.load - i32.const 3672 + i32.const 3576 i32.load call $~lib/memory/memory.copy ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> (; 445 ;) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> (; 443 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -26848,7 +26833,7 @@ i32.const 10 i32.const 0 i32.const 14 - i32.const 3696 + i32.const 3600 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $5 @@ -26859,7 +26844,7 @@ i32.const 10 i32.const 0 i32.const 14 - i32.const 3776 + i32.const 3680 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $6 @@ -26871,7 +26856,7 @@ i32.const 10 i32.const 0 i32.const 14 - i32.const 3808 + i32.const 3712 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $7 @@ -26882,7 +26867,7 @@ i32.const 10 i32.const 0 i32.const 14 - i32.const 3840 + i32.const 3744 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $4 @@ -26901,7 +26886,7 @@ i32.const 10 i32.const 0 i32.const 14 - i32.const 3872 + i32.const 3776 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $4 @@ -26923,14 +26908,14 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $~lib/array/Array#__unchecked_get (; 446 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 444 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 i32.add i32.load8_u ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> (; 447 ;) (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> (; 445 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -26964,7 +26949,7 @@ local.tee $5 i32.ne if - i32.const 3936 + i32.const 3840 i32.const 3 local.get $2 f64.convert_i32_s @@ -26990,12 +26975,12 @@ end end ) - (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (; 448 ;) (param $0 i32) + (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (; 446 ;) (param $0 i32) (local $1 f32) (local $2 i32) (local $3 i32) (local $4 i32) - i32.const 3532 + i32.const 3436 i32.load i32.const 3 i32.add @@ -27015,10 +27000,10 @@ i32.const 3 i32.add local.set $2 - i32.const 3524 + i32.const 3428 i32.load local.set $3 - i32.const 3532 + i32.const 3436 i32.load local.set $4 i32.const 0 @@ -27057,12 +27042,12 @@ end end ) - (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (; 449 ;) (param $0 i32) + (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (; 447 ;) (param $0 i32) (local $1 f64) (local $2 i32) (local $3 i32) (local $4 i32) - i32.const 3612 + i32.const 3516 i32.load i32.const 2 i32.add @@ -27082,10 +27067,10 @@ i32.const 2 i32.add local.set $2 - i32.const 3604 + i32.const 3508 i32.load local.set $3 - i32.const 3612 + i32.const 3516 i32.load local.set $4 i32.const 0 @@ -27124,7 +27109,7 @@ end end ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> (; 450 ;) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> (; 448 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -27187,7 +27172,7 @@ i32.const 10 i32.const 0 i32.const 21 - i32.const 3904 + i32.const 3808 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $5 @@ -27198,7 +27183,7 @@ i32.const 10 i32.const 0 i32.const 21 - i32.const 3984 + i32.const 3888 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $6 @@ -27210,7 +27195,7 @@ i32.const 10 i32.const 0 i32.const 21 - i32.const 4016 + i32.const 3920 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $7 @@ -27221,7 +27206,7 @@ i32.const 10 i32.const 0 i32.const 21 - i32.const 4048 + i32.const 3952 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $4 @@ -27240,7 +27225,7 @@ i32.const 10 i32.const 0 i32.const 21 - i32.const 4080 + i32.const 3984 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $4 @@ -27262,12 +27247,12 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (; 451 ;) (param $0 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (; 449 ;) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - i32.const 3468 + i32.const 3372 i32.load local.get $0 i32.load offset=8 @@ -27283,10 +27268,10 @@ local.get $0 i32.load offset=4 local.set $2 - i32.const 3460 + i32.const 3364 i32.load local.set $3 - i32.const 3468 + i32.const 3372 i32.load local.set $4 i32.const 0 @@ -27327,7 +27312,7 @@ end end ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> (; 452 ;) (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> (; 450 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -27361,7 +27346,7 @@ local.tee $5 i32.ne if - i32.const 4144 + i32.const 4048 i32.const 3 local.get $2 f64.convert_i32_s @@ -27387,12 +27372,12 @@ end end ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (; 453 ;) (param $0 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (; 451 ;) (param $0 i32) (local $1 f32) (local $2 i32) (local $3 i32) (local $4 i32) - i32.const 3532 + i32.const 3436 i32.load i32.const 3 i32.add @@ -27412,10 +27397,10 @@ i32.const 3 i32.add local.set $2 - i32.const 3524 + i32.const 3428 i32.load local.set $3 - i32.const 3532 + i32.const 3436 i32.load local.set $4 i32.const 0 @@ -27458,7 +27443,7 @@ end end ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> (; 454 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> (; 452 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i64) (local $4 i32) local.get $2 @@ -27540,12 +27525,12 @@ end end ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (; 455 ;) (param $0 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (; 453 ;) (param $0 i32) (local $1 f64) (local $2 i32) (local $3 i32) (local $4 i32) - i32.const 3612 + i32.const 3516 i32.load i32.const 2 i32.add @@ -27565,10 +27550,10 @@ i32.const 2 i32.add local.set $2 - i32.const 3604 + i32.const 3508 i32.load local.set $3 - i32.const 3612 + i32.const 3516 i32.load local.set $4 i32.const 0 @@ -27611,7 +27596,7 @@ end end ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> (; 456 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> (; 454 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) local.get $2 @@ -27689,12 +27674,12 @@ end end ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (; 457 ;) (param $0 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (; 455 ;) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - i32.const 3676 + i32.const 3580 i32.load i32.const 7 i32.add @@ -27714,10 +27699,10 @@ i32.const 7 i32.add local.set $2 - i32.const 3668 + i32.const 3572 i32.load local.set $3 - i32.const 3676 + i32.const 3580 i32.load local.set $4 i32.const 0 @@ -27756,7 +27741,7 @@ end end ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> (; 458 ;) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> (; 456 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -27819,7 +27804,7 @@ i32.const 10 i32.const 0 i32.const 21 - i32.const 4112 + i32.const 4016 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $5 @@ -27830,7 +27815,7 @@ i32.const 10 i32.const 0 i32.const 21 - i32.const 4208 + i32.const 4112 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $6 @@ -27843,7 +27828,7 @@ i32.const 10 i32.const 0 i32.const 21 - i32.const 4240 + i32.const 4144 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $7 @@ -27854,7 +27839,7 @@ i32.const 10 i32.const 0 i32.const 21 - i32.const 4272 + i32.const 4176 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $4 @@ -27874,7 +27859,7 @@ i32.const 10 i32.const 0 i32.const 21 - i32.const 4304 + i32.const 4208 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $4 @@ -27896,11 +27881,11 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (; 459 ;) (param $0 i32) + (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (; 457 ;) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - i32.const 3468 + i32.const 3372 i32.load local.get $0 call $~lib/typedarray/Int16Array#get:length @@ -27916,10 +27901,10 @@ local.get $0 i32.load offset=4 local.set $1 - i32.const 3460 + i32.const 3364 i32.load local.set $2 - i32.const 3468 + i32.const 3372 i32.load local.set $3 i32.const 0 @@ -27949,14 +27934,15 @@ end end ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> (; 460 ;) (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> (; 458 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) local.get $0 call $~lib/typedarray/Int16Array#get:length - local.tee $3 + local.tee $4 local.get $1 i32.load offset=12 i32.ne @@ -27970,26 +27956,33 @@ end loop $for-loop|0 local.get $2 - local.get $3 + local.get $4 i32.lt_s if local.get $0 local.get $2 call $~lib/typedarray/Int16Array#__get - local.tee $4 + local.set $3 local.get $1 + i32.load offset=4 local.get $2 - call $~lib/array/Array#__unchecked_get + i32.const 1 + i32.shl + i32.add + i32.load16_s local.tee $5 + local.set $6 + local.get $3 + local.get $5 i32.ne if - i32.const 4384 + i32.const 4288 i32.const 3 local.get $2 f64.convert_i32_s - local.get $4 + local.get $3 f64.convert_i32_s - local.get $5 + local.get $6 f64.convert_i32_s f64.const 0 f64.const 0 @@ -28009,12 +28002,12 @@ end end ) - (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (; 461 ;) (param $0 i32) + (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (; 459 ;) (param $0 i32) (local $1 f32) (local $2 i32) (local $3 i32) (local $4 i32) - i32.const 3532 + i32.const 3436 i32.load i32.const 3 i32.add @@ -28034,10 +28027,10 @@ i32.const 6 i32.add local.set $2 - i32.const 3524 + i32.const 3428 i32.load local.set $3 - i32.const 3532 + i32.const 3436 i32.load local.set $4 i32.const 0 @@ -28078,7 +28071,7 @@ end end ) - (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> (; 462 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> (; 460 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $1 @@ -28134,12 +28127,12 @@ end end ) - (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (; 463 ;) (param $0 i32) + (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (; 461 ;) (param $0 i32) (local $1 f64) (local $2 i32) (local $3 i32) (local $4 i32) - i32.const 3612 + i32.const 3516 i32.load i32.const 2 i32.add @@ -28159,10 +28152,10 @@ i32.const 4 i32.add local.set $2 - i32.const 3604 + i32.const 3508 i32.load local.set $3 - i32.const 3612 + i32.const 3516 i32.load local.set $4 i32.const 0 @@ -28203,7 +28196,7 @@ end end ) - (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> (; 464 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> (; 462 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $1 @@ -28253,7 +28246,7 @@ end end ) - (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> (; 465 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> (; 463 ;) (param $0 i32) (param $1 i32) local.get $1 call $~lib/typedarray/Int16Array#get:length i32.const 4 @@ -28279,11 +28272,11 @@ i32.load offset=8 call $~lib/memory/memory.copy ) - (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (; 466 ;) (param $0 i32) + (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (; 464 ;) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - i32.const 3676 + i32.const 3580 i32.load i32.const 7 i32.add @@ -28303,10 +28296,10 @@ i32.const 14 i32.add local.set $1 - i32.const 3668 + i32.const 3572 i32.load local.set $2 - i32.const 3676 + i32.const 3580 i32.load local.set $3 i32.const 0 @@ -28334,7 +28327,7 @@ end end ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int16Array> (; 467 ;) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int16Array> (; 465 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -28396,8 +28389,8 @@ local.get $0 i32.const 10 i32.const 1 - i32.const 17 - i32.const 4336 + i32.const 22 + i32.const 4240 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $5 @@ -28407,8 +28400,8 @@ local.get $0 i32.const 10 i32.const 1 - i32.const 17 - i32.const 4432 + i32.const 22 + i32.const 4336 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $6 @@ -28419,8 +28412,8 @@ local.get $0 i32.const 10 i32.const 1 - i32.const 17 - i32.const 4480 + i32.const 22 + i32.const 4384 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $7 @@ -28430,8 +28423,8 @@ local.get $0 i32.const 10 i32.const 1 - i32.const 17 - i32.const 4528 + i32.const 22 + i32.const 4432 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $4 @@ -28449,8 +28442,8 @@ local.get $0 i32.const 10 i32.const 1 - i32.const 17 - i32.const 4576 + i32.const 22 + i32.const 4480 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $4 @@ -28472,7 +28465,7 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> (; 468 ;) (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> (; 466 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -28514,7 +28507,7 @@ local.get $5 i32.ne if - i32.const 4672 + i32.const 4576 i32.const 3 local.get $2 f64.convert_i32_s @@ -28540,12 +28533,12 @@ end end ) - (func $~lib/typedarray/Uint16Array#set<~lib/array/Array> (; 469 ;) (param $0 i32) + (func $~lib/typedarray/Uint16Array#set<~lib/array/Array> (; 467 ;) (param $0 i32) (local $1 f32) (local $2 i32) (local $3 i32) (local $4 i32) - i32.const 3532 + i32.const 3436 i32.load i32.const 3 i32.add @@ -28565,10 +28558,10 @@ i32.const 6 i32.add local.set $2 - i32.const 3524 + i32.const 3428 i32.load local.set $3 - i32.const 3532 + i32.const 3436 i32.load local.set $4 i32.const 0 @@ -28609,12 +28602,12 @@ end end ) - (func $~lib/typedarray/Uint16Array#set<~lib/array/Array> (; 470 ;) (param $0 i32) + (func $~lib/typedarray/Uint16Array#set<~lib/array/Array> (; 468 ;) (param $0 i32) (local $1 f64) (local $2 i32) (local $3 i32) (local $4 i32) - i32.const 3612 + i32.const 3516 i32.load i32.const 2 i32.add @@ -28634,10 +28627,10 @@ i32.const 4 i32.add local.set $2 - i32.const 3604 + i32.const 3508 i32.load local.set $3 - i32.const 3612 + i32.const 3516 i32.load local.set $4 i32.const 0 @@ -28678,7 +28671,7 @@ end end ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint16Array> (; 471 ;) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint16Array> (; 469 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -28740,8 +28733,8 @@ local.get $0 i32.const 10 i32.const 1 - i32.const 22 - i32.const 4624 + i32.const 23 + i32.const 4528 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $5 @@ -28751,8 +28744,8 @@ local.get $0 i32.const 10 i32.const 1 - i32.const 22 - i32.const 4720 + i32.const 23 + i32.const 4624 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $6 @@ -28763,8 +28756,8 @@ local.get $0 i32.const 10 i32.const 1 - i32.const 22 - i32.const 4768 + i32.const 23 + i32.const 4672 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $7 @@ -28774,8 +28767,8 @@ local.get $0 i32.const 10 i32.const 1 - i32.const 22 - i32.const 4816 + i32.const 23 + i32.const 4720 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $4 @@ -28793,8 +28786,8 @@ local.get $0 i32.const 10 i32.const 1 - i32.const 22 - i32.const 4864 + i32.const 23 + i32.const 4768 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $4 @@ -28816,7 +28809,7 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (; 472 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (; 470 ;) (param $0 i32) (param $1 i32) (param $2 i32) local.get $2 i32.const 0 i32.lt_s @@ -28855,7 +28848,7 @@ i32.load offset=8 call $~lib/memory/memory.copy ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> (; 473 ;) (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> (; 471 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -28889,7 +28882,7 @@ local.tee $5 i32.ne if - i32.const 4976 + i32.const 4880 i32.const 3 local.get $2 f64.convert_i32_s @@ -28915,13 +28908,13 @@ end end ) - (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (; 474 ;) (param $0 i32) + (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (; 472 ;) (param $0 i32) (local $1 f32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - i32.const 3532 + i32.const 3436 i32.load i32.const 3 i32.add @@ -28941,10 +28934,10 @@ i32.const 12 i32.add local.set $2 - i32.const 3524 + i32.const 3428 i32.load local.set $3 - i32.const 3532 + i32.const 3436 i32.load local.set $4 i32.const 0 @@ -28984,7 +28977,7 @@ end end ) - (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> (; 475 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> (; 473 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $1 @@ -29040,12 +29033,12 @@ end end ) - (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (; 476 ;) (param $0 i32) + (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (; 474 ;) (param $0 i32) (local $1 f64) (local $2 i32) (local $3 i32) (local $4 i32) - i32.const 3612 + i32.const 3516 i32.load i32.const 2 i32.add @@ -29065,10 +29058,10 @@ i32.const 8 i32.add local.set $2 - i32.const 3604 + i32.const 3508 i32.load local.set $3 - i32.const 3612 + i32.const 3516 i32.load local.set $4 i32.const 0 @@ -29109,7 +29102,7 @@ end end ) - (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> (; 477 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> (; 475 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $1 @@ -29159,7 +29152,7 @@ end end ) - (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> (; 478 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> (; 476 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $1 @@ -29215,11 +29208,11 @@ end end ) - (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (; 479 ;) (param $0 i32) + (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (; 477 ;) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - i32.const 3676 + i32.const 3580 i32.load i32.const 7 i32.add @@ -29239,10 +29232,10 @@ i32.const 28 i32.add local.set $1 - i32.const 3668 + i32.const 3572 i32.load local.set $2 - i32.const 3676 + i32.const 3580 i32.load local.set $3 i32.const 0 @@ -29270,7 +29263,7 @@ end end ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int32Array> (; 480 ;) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int32Array> (; 478 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -29328,14 +29321,14 @@ i32.const 10 call $~lib/typedarray/Int32Array#constructor local.tee $0 - i32.const 3456 + i32.const 3360 i32.const 0 call $~lib/typedarray/Int32Array#set<~lib/array/Array> local.get $0 i32.const 10 i32.const 2 i32.const 15 - i32.const 4912 + i32.const 4816 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $5 @@ -29346,7 +29339,7 @@ i32.const 10 i32.const 2 i32.const 15 - i32.const 5024 + i32.const 4928 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $6 @@ -29358,7 +29351,7 @@ i32.const 10 i32.const 2 i32.const 15 - i32.const 5088 + i32.const 4992 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $7 @@ -29369,7 +29362,7 @@ i32.const 10 i32.const 2 i32.const 15 - i32.const 5152 + i32.const 5056 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $4 @@ -29388,7 +29381,7 @@ i32.const 10 i32.const 2 i32.const 15 - i32.const 5216 + i32.const 5120 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $4 @@ -29410,7 +29403,7 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> (; 481 ;) (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> (; 479 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -29444,7 +29437,7 @@ local.tee $5 i32.ne if - i32.const 5344 + i32.const 5248 i32.const 3 local.get $2 f64.convert_i32_s @@ -29470,13 +29463,13 @@ end end ) - (func $~lib/typedarray/Uint32Array#set<~lib/array/Array> (; 482 ;) (param $0 i32) + (func $~lib/typedarray/Uint32Array#set<~lib/array/Array> (; 480 ;) (param $0 i32) (local $1 f32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - i32.const 3532 + i32.const 3436 i32.load i32.const 3 i32.add @@ -29496,10 +29489,10 @@ i32.const 12 i32.add local.set $2 - i32.const 3524 + i32.const 3428 i32.load local.set $3 - i32.const 3532 + i32.const 3436 i32.load local.set $4 i32.const 0 @@ -29539,12 +29532,12 @@ end end ) - (func $~lib/typedarray/Uint32Array#set<~lib/array/Array> (; 483 ;) (param $0 i32) + (func $~lib/typedarray/Uint32Array#set<~lib/array/Array> (; 481 ;) (param $0 i32) (local $1 f64) (local $2 i32) (local $3 i32) (local $4 i32) - i32.const 3612 + i32.const 3516 i32.load i32.const 2 i32.add @@ -29564,10 +29557,10 @@ i32.const 8 i32.add local.set $2 - i32.const 3604 + i32.const 3508 i32.load local.set $3 - i32.const 3612 + i32.const 3516 i32.load local.set $4 i32.const 0 @@ -29608,7 +29601,7 @@ end end ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint32Array> (; 484 ;) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint32Array> (; 482 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -29666,14 +29659,14 @@ i32.const 10 call $~lib/typedarray/Uint32Array#constructor local.tee $0 - i32.const 3456 + i32.const 3360 i32.const 0 call $~lib/typedarray/Int32Array#set<~lib/array/Array> local.get $0 i32.const 10 i32.const 2 - i32.const 18 - i32.const 5280 + i32.const 24 + i32.const 5184 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $5 @@ -29683,8 +29676,8 @@ local.get $0 i32.const 10 i32.const 2 - i32.const 18 - i32.const 5392 + i32.const 24 + i32.const 5296 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $6 @@ -29695,8 +29688,8 @@ local.get $0 i32.const 10 i32.const 2 - i32.const 18 - i32.const 5456 + i32.const 24 + i32.const 5360 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $7 @@ -29706,8 +29699,8 @@ local.get $0 i32.const 10 i32.const 2 - i32.const 18 - i32.const 5520 + i32.const 24 + i32.const 5424 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $4 @@ -29725,8 +29718,8 @@ local.get $0 i32.const 10 i32.const 2 - i32.const 18 - i32.const 5584 + i32.const 24 + i32.const 5488 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $4 @@ -29748,11 +29741,11 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (; 485 ;) (param $0 i32) + (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (; 483 ;) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - i32.const 3468 + i32.const 3372 i32.load local.get $0 call $~lib/typedarray/Int64Array#get:length @@ -29768,10 +29761,10 @@ local.get $0 i32.load offset=4 local.set $1 - i32.const 3460 + i32.const 3364 i32.load local.set $2 - i32.const 3468 + i32.const 3372 i32.load local.set $3 i32.const 0 @@ -29801,7 +29794,16 @@ end end ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> (; 486 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__unchecked_get (; 484 ;) (param $0 i32) (param $1 i32) (result i64) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> (; 485 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i64) @@ -29831,11 +29833,11 @@ local.tee $4 local.get $1 local.get $2 - call $~lib/array/Array#__unchecked_get + call $~lib/array/Array#__unchecked_get local.tee $5 i64.ne if - i32.const 5744 + i32.const 5648 i32.const 3 local.get $2 f64.convert_i32_s @@ -29861,12 +29863,12 @@ end end ) - (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (; 487 ;) (param $0 i32) + (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (; 486 ;) (param $0 i32) (local $1 f32) (local $2 i32) (local $3 i32) (local $4 i32) - i32.const 3532 + i32.const 3436 i32.load i32.const 3 i32.add @@ -29886,10 +29888,10 @@ i32.const 24 i32.add local.set $2 - i32.const 3524 + i32.const 3428 i32.load local.set $3 - i32.const 3532 + i32.const 3436 i32.load local.set $4 i32.const 0 @@ -29930,7 +29932,7 @@ end end ) - (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> (; 488 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> (; 487 ;) (param $0 i32) (param $1 i32) local.get $1 call $~lib/typedarray/Int64Array#get:length i32.const 6 @@ -29956,13 +29958,13 @@ i32.load offset=8 call $~lib/memory/memory.copy ) - (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (; 489 ;) (param $0 i32) + (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (; 488 ;) (param $0 i32) (local $1 f64) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - i32.const 3612 + i32.const 3516 i32.load i32.const 2 i32.add @@ -29982,10 +29984,10 @@ i32.const 16 i32.add local.set $2 - i32.const 3604 + i32.const 3508 i32.load local.set $3 - i32.const 3612 + i32.const 3516 i32.load local.set $4 i32.const 0 @@ -30025,7 +30027,7 @@ end end ) - (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> (; 490 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> (; 489 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $1 @@ -30075,7 +30077,7 @@ end end ) - (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> (; 491 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> (; 490 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $1 @@ -30131,11 +30133,11 @@ end end ) - (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (; 492 ;) (param $0 i32) + (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (; 491 ;) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - i32.const 3676 + i32.const 3580 i32.load i32.const 7 i32.add @@ -30155,10 +30157,10 @@ i32.const 56 i32.add local.set $1 - i32.const 3668 + i32.const 3572 i32.load local.set $2 - i32.const 3676 + i32.const 3580 i32.load local.set $3 i32.const 0 @@ -30186,7 +30188,7 @@ end end ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int64Array> (; 493 ;) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int64Array> (; 492 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -30248,8 +30250,8 @@ local.get $0 i32.const 10 i32.const 3 - i32.const 23 - i32.const 5648 + i32.const 25 + i32.const 5552 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $5 @@ -30259,8 +30261,8 @@ local.get $0 i32.const 10 i32.const 3 - i32.const 23 - i32.const 5792 + i32.const 25 + i32.const 5696 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $6 @@ -30271,8 +30273,8 @@ local.get $0 i32.const 10 i32.const 3 - i32.const 23 - i32.const 5888 + i32.const 25 + i32.const 5792 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $7 @@ -30282,8 +30284,8 @@ local.get $0 i32.const 10 i32.const 3 - i32.const 23 - i32.const 5984 + i32.const 25 + i32.const 5888 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $4 @@ -30301,8 +30303,8 @@ local.get $0 i32.const 10 i32.const 3 - i32.const 23 - i32.const 6080 + i32.const 25 + i32.const 5984 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $4 @@ -30324,7 +30326,7 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> (; 494 ;) (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> (; 493 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i64) @@ -30354,11 +30356,11 @@ local.tee $4 local.get $1 local.get $2 - call $~lib/array/Array#__unchecked_get + call $~lib/array/Array#__unchecked_get local.tee $5 i64.ne if - i32.const 6272 + i32.const 6176 i32.const 3 local.get $2 f64.convert_i32_s @@ -30384,12 +30386,12 @@ end end ) - (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (; 495 ;) (param $0 i32) + (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (; 494 ;) (param $0 i32) (local $1 f32) (local $2 i32) (local $3 i32) (local $4 i32) - i32.const 3532 + i32.const 3436 i32.load i32.const 3 i32.add @@ -30409,10 +30411,10 @@ i32.const 24 i32.add local.set $2 - i32.const 3524 + i32.const 3428 i32.load local.set $3 - i32.const 3532 + i32.const 3436 i32.load local.set $4 i32.const 0 @@ -30453,13 +30455,13 @@ end end ) - (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (; 496 ;) (param $0 i32) + (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (; 495 ;) (param $0 i32) (local $1 f64) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - i32.const 3612 + i32.const 3516 i32.load i32.const 2 i32.add @@ -30479,10 +30481,10 @@ i32.const 16 i32.add local.set $2 - i32.const 3604 + i32.const 3508 i32.load local.set $3 - i32.const 3612 + i32.const 3516 i32.load local.set $4 i32.const 0 @@ -30522,7 +30524,7 @@ end end ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint64Array> (; 497 ;) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint64Array> (; 496 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -30584,8 +30586,8 @@ local.get $0 i32.const 10 i32.const 3 - i32.const 16 - i32.const 6176 + i32.const 26 + i32.const 6080 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $5 @@ -30595,8 +30597,8 @@ local.get $0 i32.const 10 i32.const 3 - i32.const 16 - i32.const 6320 + i32.const 26 + i32.const 6224 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $6 @@ -30607,8 +30609,8 @@ local.get $0 i32.const 10 i32.const 3 - i32.const 16 - i32.const 6416 + i32.const 26 + i32.const 6320 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $7 @@ -30618,8 +30620,8 @@ local.get $0 i32.const 10 i32.const 3 - i32.const 16 - i32.const 6512 + i32.const 26 + i32.const 6416 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $4 @@ -30637,8 +30639,8 @@ local.get $0 i32.const 10 i32.const 3 - i32.const 16 - i32.const 6608 + i32.const 26 + i32.const 6512 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $4 @@ -30660,12 +30662,12 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float32Array#set<~lib/array/Array> (; 498 ;) (param $0 i32) + (func $~lib/typedarray/Float32Array#set<~lib/array/Array> (; 497 ;) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - i32.const 3468 + i32.const 3372 i32.load local.get $0 call $~lib/typedarray/Int32Array#get:length @@ -30681,10 +30683,10 @@ local.get $0 i32.load offset=4 local.set $1 - i32.const 3460 + i32.const 3364 i32.load local.set $2 - i32.const 3468 + i32.const 3372 i32.load local.set $3 i32.const 0 @@ -30714,7 +30716,7 @@ end end ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> (; 499 ;) (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> (; 498 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 f32) (local $4 i32) @@ -30756,7 +30758,7 @@ local.get $5 f32.ne if - i32.const 6768 + i32.const 6672 i32.const 3 local.get $2 f64.convert_i32_s @@ -30782,7 +30784,7 @@ end end ) - (func $~lib/typedarray/Float32Array#set<~lib/typedarray/Int64Array> (; 500 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float32Array#set<~lib/typedarray/Int64Array> (; 499 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $1 @@ -30839,7 +30841,7 @@ end end ) - (func $~lib/typedarray/Float32Array#set<~lib/typedarray/Uint8Array> (; 501 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float32Array#set<~lib/typedarray/Uint8Array> (; 500 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $1 @@ -30890,7 +30892,7 @@ end end ) - (func $~lib/typedarray/Float32Array#set<~lib/typedarray/Int16Array> (; 502 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float32Array#set<~lib/typedarray/Int16Array> (; 501 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $1 @@ -30947,11 +30949,11 @@ end end ) - (func $~lib/typedarray/Float32Array#set<~lib/array/Array> (; 503 ;) (param $0 i32) + (func $~lib/typedarray/Float32Array#set<~lib/array/Array> (; 502 ;) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - i32.const 3676 + i32.const 3580 i32.load i32.const 7 i32.add @@ -30971,10 +30973,10 @@ i32.const 28 i32.add local.set $1 - i32.const 3668 + i32.const 3572 i32.load local.set $2 - i32.const 3676 + i32.const 3580 i32.load local.set $3 i32.const 0 @@ -31003,7 +31005,7 @@ end end ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float32Array> (; 504 ;) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float32Array> (; 503 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -31066,20 +31068,20 @@ i32.const 10 i32.const 2 i32.const 19 - i32.const 6704 + i32.const 6608 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $4 call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> local.get $0 - i32.const 3520 + i32.const 3424 i32.const 3 call $~lib/typedarray/Int32Array#set<~lib/array/Array> local.get $0 i32.const 10 i32.const 2 i32.const 19 - i32.const 6816 + i32.const 6720 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $5 @@ -31091,7 +31093,7 @@ i32.const 10 i32.const 2 i32.const 19 - i32.const 6880 + i32.const 6784 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $6 @@ -31108,7 +31110,7 @@ i32.const 10 i32.const 2 i32.const 19 - i32.const 6944 + i32.const 6848 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $7 @@ -31130,11 +31132,11 @@ local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (; 505 ;) (param $0 i32) + (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (; 504 ;) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - i32.const 3468 + i32.const 3372 i32.load local.get $0 call $~lib/typedarray/Int64Array#get:length @@ -31150,10 +31152,10 @@ local.get $0 i32.load offset=4 local.set $1 - i32.const 3460 + i32.const 3364 i32.load local.set $2 - i32.const 3468 + i32.const 3372 i32.load local.set $3 i32.const 0 @@ -31184,7 +31186,7 @@ end end ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> (; 506 ;) (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> (; 505 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 f64) (local $4 i32) @@ -31226,7 +31228,7 @@ local.get $5 f64.ne if - i32.const 7104 + i32.const 7008 i32.const 3 local.get $2 f64.convert_i32_s @@ -31250,11 +31252,11 @@ end end ) - (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (; 507 ;) (param $0 i32) + (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (; 506 ;) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - i32.const 3532 + i32.const 3436 i32.load i32.const 3 i32.add @@ -31274,10 +31276,10 @@ i32.const 24 i32.add local.set $1 - i32.const 3524 + i32.const 3428 i32.load local.set $2 - i32.const 3532 + i32.const 3436 i32.load local.set $3 i32.const 0 @@ -31308,7 +31310,7 @@ end end ) - (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Int64Array> (; 508 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Int64Array> (; 507 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -31365,7 +31367,7 @@ end end ) - (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Uint8Array> (; 509 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Uint8Array> (; 508 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $1 @@ -31416,7 +31418,7 @@ end end ) - (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Int16Array> (; 510 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Int16Array> (; 509 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $1 @@ -31473,11 +31475,11 @@ end end ) - (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (; 511 ;) (param $0 i32) + (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (; 510 ;) (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - i32.const 3676 + i32.const 3580 i32.load i32.const 7 i32.add @@ -31497,10 +31499,10 @@ i32.const 56 i32.add local.set $1 - i32.const 3668 + i32.const 3572 i32.load local.set $2 - i32.const 3676 + i32.const 3580 i32.load local.set $3 i32.const 0 @@ -31529,7 +31531,7 @@ end end ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float64Array> (; 512 ;) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float64Array> (; 511 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -31592,7 +31594,7 @@ i32.const 10 i32.const 3 i32.const 20 - i32.const 7008 + i32.const 6912 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $4 @@ -31603,7 +31605,7 @@ i32.const 10 i32.const 3 i32.const 20 - i32.const 7152 + i32.const 7056 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $5 @@ -31615,7 +31617,7 @@ i32.const 10 i32.const 3 i32.const 20 - i32.const 7248 + i32.const 7152 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $6 @@ -31632,7 +31634,7 @@ i32.const 10 i32.const 3 i32.const 20 - i32.const 7344 + i32.const 7248 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $7 @@ -31654,7 +31656,7 @@ local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Float32Array> (; 513 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Float32Array> (; 512 ;) (param $0 i32) (param $1 i32) (local $2 f32) (local $3 i32) (local $4 i32) @@ -31724,7 +31726,7 @@ end end ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int32Array> (; 514 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int32Array> (; 513 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -31792,7 +31794,7 @@ end end ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint32Array> (; 515 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint32Array> (; 514 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -31849,7 +31851,7 @@ end end ) - (func $start:std/typedarray (; 516 ;) + (func $start:std/typedarray (; 515 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -33862,7 +33864,7 @@ i32.const 10 i32.const 0 i32.const 21 - i32.const 7440 + i32.const 7344 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $6 @@ -33914,7 +33916,7 @@ i32.const 10 i32.const 0 i32.const 21 - i32.const 7472 + i32.const 7376 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $7 @@ -33936,7 +33938,7 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $~start (; 517 ;) + (func $~start (; 516 ;) global.get $~started if return @@ -33946,7 +33948,7 @@ end call $start:std/typedarray ) - (func $~lib/rt/pure/decrement (; 518 ;) (param $0 i32) + (func $~lib/rt/pure/decrement (; 517 ;) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -34014,32 +34016,34 @@ i32.store offset=4 end ) - (func $~lib/rt/__visit_members (; 519 ;) (param $0 i32) - block $block$4$break - block $switch$1$default - block $switch$1$case$2 - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $switch$1$default + (func $~lib/rt/__visit_members (; 518 ;) (param $0 i32) + block $folding-inner0 + block $block$4$break + block $switch$1$default + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $folding-inner0 $folding-inner0 $folding-inner0 $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $block$4$break $switch$1$default + end + return end - return + unreachable end - unreachable - end - local.get $0 - i32.load - local.tee $0 - if local.get $0 - i32.const 7484 - i32.ge_u + i32.load + local.tee $0 if local.get $0 - i32.const 16 - i32.sub - call $~lib/rt/pure/decrement + i32.const 7388 + i32.ge_u + if + local.get $0 + i32.const 16 + i32.sub + call $~lib/rt/pure/decrement + end end end ) diff --git a/tests/compiler/std/typedarray.untouched.wat b/tests/compiler/std/typedarray.untouched.wat index 67dc9ecda7..5a9464760c 100644 --- a/tests/compiler/std/typedarray.untouched.wat +++ b/tests/compiler/std/typedarray.untouched.wat @@ -96,97 +96,93 @@ (data (i32.const 1872) "\10\00\00\00\01\00\00\00\0f\00\00\00\10\00\00\00 \07\00\00 \07\00\00,\00\00\00\0b\00\00\00") (data (i32.const 1904) "\00\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00") (data (i32.const 1920) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\000\00") - (data (i32.const 1952) "\90\01\00\00\01\00\00\00\00\00\00\00\90\01\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 2368) "\10\00\00\00\01\00\00\00\10\00\00\00\10\00\00\00\b0\07\00\00\b0\07\00\00\90\01\00\00d\00\00\00") - (data (i32.const 2400) "\02\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00,\00") - (data (i32.const 2432) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\001\00,\002\00,\003\00,\004\00,\005\00") - (data (i32.const 2480) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\000\00.\000\00") - (data (i32.const 2512) "\06\00\00\00\01\00\00\00\01\00\00\00\06\00\00\00N\00a\00N\00") - (data (i32.const 2544) "\12\00\00\00\01\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 2592) "\10\00\00\00\01\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00") - (data (i32.const 2624) "\b8\02\00\00\01\00\00\00\00\00\00\00\b8\02\00\00\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0) (global $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT i32 (i32.const 1)) @@ -218,13 +214,13 @@ (global $~lib/util/number/_K (mut i32) (i32.const 0)) (global $~lib/util/number/_frc_pow (mut i64) (i64.const 0)) (global $~lib/util/number/_exp_pow (mut i32) (i32.const 0)) - (global $std/typedarray/testArrayWrapValues i32 (i32.const 3840)) - (global $std/typedarray/setSource1 (mut i32) (i32.const 3904)) - (global $std/typedarray/setSource2 (mut i32) (i32.const 3968)) - (global $std/typedarray/setSource3 (mut i32) (i32.const 4048)) - (global $std/typedarray/setSource7 (mut i32) (i32.const 4112)) + (global $std/typedarray/testArrayWrapValues i32 (i32.const 3712)) + (global $std/typedarray/setSource1 (mut i32) (i32.const 3776)) + (global $std/typedarray/setSource2 (mut i32) (i32.const 3840)) + (global $std/typedarray/setSource3 (mut i32) (i32.const 3920)) + (global $std/typedarray/setSource7 (mut i32) (i32.const 3984)) (global $~started (mut i32) (i32.const 0)) - (global $~lib/heap/__heap_base i32 (i32.const 7932)) + (global $~lib/heap/__heap_base i32 (i32.const 7804)) (export "__setArgumentsLength" (func $~setArgumentsLength)) (export "_start" (func $~start)) (export "memory" (memory $0)) @@ -5069,7 +5065,22 @@ end end ) - (func $~lib/rt/__allocArray (; 67 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/rt/__allocBuffer (; 67 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + local.get $0 + local.get $1 + call $~lib/rt/tlsf/__alloc + local.set $3 + local.get $2 + if + local.get $3 + local.get $2 + local.get $0 + call $~lib/memory/memory.copy + end + local.get $3 + ) + (func $~lib/rt/__allocArray (; 68 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -5083,7 +5094,8 @@ local.set $5 local.get $5 i32.const 0 - call $~lib/rt/tlsf/__alloc + local.get $3 + call $~lib/rt/__allocBuffer local.set $6 local.get $4 local.get $6 @@ -5098,20 +5110,13 @@ local.get $4 local.get $0 i32.store offset=12 - local.get $3 - if - local.get $6 - local.get $3 - local.get $5 - call $~lib/memory/memory.copy - end local.get $4 ) - (func $~lib/array/Array#get:length (; 68 ;) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 69 ;) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/typedarray/Int8Array#__get (; 69 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#__get (; 70 ;) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -5130,7 +5135,7 @@ i32.add i32.load8_s ) - (func $~lib/array/Array#__unchecked_get (; 70 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 71 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -5139,7 +5144,7 @@ i32.add i32.load8_s ) - (func $~lib/array/Array#__get (; 71 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 72 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 local.get $0 @@ -5159,7 +5164,7 @@ local.set $2 local.get $2 ) - (func $std/typedarray/isInt8ArrayEqual (; 72 ;) (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/isInt8ArrayEqual (; 73 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5229,7 +5234,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int8Array#subarray (; 73 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int8Array#subarray (; 74 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5336,7 +5341,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $~lib/typedarray/Int32Array#fill (; 74 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/typedarray/Int32Array#fill (; 75 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -5433,11 +5438,11 @@ end local.get $7 ) - (func $~lib/array/Array#get:length (; 75 ;) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 76 ;) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__unchecked_get (; 76 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 77 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -5446,7 +5451,7 @@ i32.add i32.load ) - (func $~lib/array/Array#__get (; 77 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (; 78 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 local.get $0 @@ -5466,7 +5471,7 @@ local.set $2 local.get $2 ) - (func $std/typedarray/isInt32ArrayEqual (; 78 ;) (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/isInt32ArrayEqual (; 79 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5536,7 +5541,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int32Array#slice (; 79 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int32Array#slice (; 80 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5641,7 +5646,7 @@ call $~lib/rt/pure/__release local.get $9 ) - (func $~lib/typedarray/Int32Array#copyWithin (; 80 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/typedarray/Int32Array#copyWithin (; 81 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -5781,7 +5786,7 @@ call $~lib/memory/memory.copy local.get $7 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 81 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 82 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -5794,7 +5799,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Int8Array#reduce (; 82 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int8Array#reduce (; 83 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5851,7 +5856,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8> (; 83 ;) + (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8> (; 84 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -5899,7 +5904,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8Array#__set (; 84 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#__set (; 85 ;) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 @@ -5919,7 +5924,7 @@ local.get $2 i32.store8 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 85 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 86 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -5932,7 +5937,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Uint8Array#reduce (; 86 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8Array#reduce (; 87 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5989,7 +5994,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8> (; 87 ;) + (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8> (; 88 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -6035,7 +6040,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 88 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 89 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6048,7 +6053,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Uint8ClampedArray#reduce (; 89 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#reduce (; 90 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6105,7 +6110,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8> (; 90 ;) + (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8> (; 91 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -6151,7 +6156,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int16Array#__set (; 91 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int16Array#__set (; 92 ;) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 @@ -6175,7 +6180,7 @@ local.get $2 i32.store16 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 92 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 93 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6188,7 +6193,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Int16Array#reduce (; 93 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int16Array#reduce (; 94 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6245,7 +6250,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16> (; 94 ;) + (func $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16> (; 95 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -6293,7 +6298,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint16Array#__set (; 95 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint16Array#__set (; 96 ;) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 @@ -6317,7 +6322,7 @@ local.get $2 i32.store16 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 96 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 97 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6330,7 +6335,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Uint16Array#reduce (; 97 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint16Array#reduce (; 98 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6387,7 +6392,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16> (; 98 ;) + (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16> (; 99 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -6433,7 +6438,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 99 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 100 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6446,7 +6451,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Int32Array#reduce (; 100 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int32Array#reduce (; 101 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6503,7 +6508,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32> (; 101 ;) + (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32> (; 102 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -6547,7 +6552,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint32Array#__set (; 102 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint32Array#__set (; 103 ;) (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 @@ -6571,7 +6576,7 @@ local.get $2 i32.store ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 103 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 104 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -6584,7 +6589,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Uint32Array#reduce (; 104 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint32Array#reduce (; 105 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6641,7 +6646,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32> (; 105 ;) + (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32> (; 106 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -6685,7 +6690,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int64Array#__set (; 106 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $~lib/typedarray/Int64Array#__set (; 107 ;) (param $0 i32) (param $1 i32) (param $2 i64) local.get $1 local.get $0 i32.load offset=8 @@ -6709,7 +6714,7 @@ local.get $2 i64.store ) - (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 107 ;) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 108 ;) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) (local $4 i64) local.get $3 call $~lib/rt/pure/__retain @@ -6722,7 +6727,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Int64Array#reduce (; 108 ;) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) + (func $~lib/typedarray/Int64Array#reduce (; 109 ;) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) (local $3 i64) (local $4 i32) (local $5 i32) @@ -6780,7 +6785,7 @@ call $~lib/rt/pure/__release local.get $10 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64> (; 109 ;) + (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64> (; 110 ;) (local $0 i32) (local $1 i32) (local $2 i64) @@ -6824,7 +6829,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint64Array#__set (; 110 ;) (param $0 i32) (param $1 i32) (param $2 i64) + (func $~lib/typedarray/Uint64Array#__set (; 111 ;) (param $0 i32) (param $1 i32) (param $2 i64) local.get $1 local.get $0 i32.load offset=8 @@ -6848,7 +6853,7 @@ local.get $2 i64.store ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 111 ;) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + (func $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 112 ;) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) (local $4 i64) local.get $3 call $~lib/rt/pure/__retain @@ -6861,7 +6866,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Uint64Array#reduce (; 112 ;) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) + (func $~lib/typedarray/Uint64Array#reduce (; 113 ;) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) (local $3 i64) (local $4 i32) (local $5 i32) @@ -6919,7 +6924,7 @@ call $~lib/rt/pure/__release local.get $10 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64> (; 113 ;) + (func $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64> (; 114 ;) (local $0 i32) (local $1 i32) (local $2 i64) @@ -6963,7 +6968,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float32Array#__set (; 114 ;) (param $0 i32) (param $1 i32) (param $2 f32) + (func $~lib/typedarray/Float32Array#__set (; 115 ;) (param $0 i32) (param $1 i32) (param $2 f32) local.get $1 local.get $0 i32.load offset=8 @@ -6987,7 +6992,7 @@ local.get $2 f32.store ) - (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 115 ;) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) + (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 116 ;) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) (local $4 f32) local.get $3 call $~lib/rt/pure/__retain @@ -7000,7 +7005,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Float32Array#reduce (; 116 ;) (param $0 i32) (param $1 i32) (param $2 f32) (result f32) + (func $~lib/typedarray/Float32Array#reduce (; 117 ;) (param $0 i32) (param $1 i32) (param $2 f32) (result f32) (local $3 f32) (local $4 i32) (local $5 i32) @@ -7058,7 +7063,7 @@ call $~lib/rt/pure/__release local.get $10 ) - (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32> (; 117 ;) + (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32> (; 118 ;) (local $0 i32) (local $1 i32) (local $2 f32) @@ -7102,7 +7107,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 118 ;) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) + (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 119 ;) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) (local $4 f64) local.get $3 call $~lib/rt/pure/__retain @@ -7115,7 +7120,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Float64Array#reduce (; 119 ;) (param $0 i32) (param $1 i32) (param $2 f64) (result f64) + (func $~lib/typedarray/Float64Array#reduce (; 120 ;) (param $0 i32) (param $1 i32) (param $2 f64) (result f64) (local $3 f64) (local $4 i32) (local $5 i32) @@ -7173,7 +7178,7 @@ call $~lib/rt/pure/__release local.get $10 ) - (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64> (; 120 ;) + (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64> (; 121 ;) (local $0 i32) (local $1 i32) (local $2 f64) @@ -7217,7 +7222,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 121 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 122 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -7230,7 +7235,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Int8Array#reduceRight (; 122 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int8Array#reduceRight (; 123 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7286,7 +7291,7 @@ call $~lib/rt/pure/__release local.get $7 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8> (; 123 ;) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8> (; 124 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -7334,7 +7339,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 124 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 125 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -7347,7 +7352,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Uint8Array#reduceRight (; 125 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8Array#reduceRight (; 126 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7403,7 +7408,7 @@ call $~lib/rt/pure/__release local.get $7 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8> (; 126 ;) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8> (; 127 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -7449,7 +7454,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 127 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 128 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -7462,7 +7467,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Uint8ClampedArray#reduceRight (; 128 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#reduceRight (; 129 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7518,7 +7523,7 @@ call $~lib/rt/pure/__release local.get $7 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8> (; 129 ;) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8> (; 130 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -7564,7 +7569,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 130 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 131 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -7577,7 +7582,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Int16Array#reduceRight (; 131 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int16Array#reduceRight (; 132 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7633,7 +7638,7 @@ call $~lib/rt/pure/__release local.get $7 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16> (; 132 ;) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16> (; 133 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -7681,7 +7686,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 133 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 134 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -7694,7 +7699,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Uint16Array#reduceRight (; 134 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint16Array#reduceRight (; 135 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7750,7 +7755,7 @@ call $~lib/rt/pure/__release local.get $7 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16> (; 135 ;) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16> (; 136 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -7796,7 +7801,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 136 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 137 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -7809,7 +7814,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Int32Array#reduceRight (; 137 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int32Array#reduceRight (; 138 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7865,7 +7870,7 @@ call $~lib/rt/pure/__release local.get $7 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32> (; 138 ;) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32> (; 139 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -7909,7 +7914,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 139 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 140 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) local.get $3 call $~lib/rt/pure/__retain @@ -7922,7 +7927,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Uint32Array#reduceRight (; 140 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint32Array#reduceRight (; 141 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7978,7 +7983,7 @@ call $~lib/rt/pure/__release local.get $7 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32> (; 141 ;) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32> (; 142 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -8022,7 +8027,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 142 ;) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 143 ;) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) (local $4 i64) local.get $3 call $~lib/rt/pure/__retain @@ -8035,7 +8040,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Int64Array#reduceRight (; 143 ;) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) + (func $~lib/typedarray/Int64Array#reduceRight (; 144 ;) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) (local $3 i64) (local $4 i32) (local $5 i32) @@ -8092,7 +8097,7 @@ call $~lib/rt/pure/__release local.get $9 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64> (; 144 ;) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64> (; 145 ;) (local $0 i32) (local $1 i32) (local $2 i64) @@ -8136,7 +8141,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 145 ;) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 146 ;) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) (local $4 i64) local.get $3 call $~lib/rt/pure/__retain @@ -8149,7 +8154,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Uint64Array#reduceRight (; 146 ;) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) + (func $~lib/typedarray/Uint64Array#reduceRight (; 147 ;) (param $0 i32) (param $1 i32) (param $2 i64) (result i64) (local $3 i64) (local $4 i32) (local $5 i32) @@ -8206,7 +8211,7 @@ call $~lib/rt/pure/__release local.get $9 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64> (; 147 ;) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64> (; 148 ;) (local $0 i32) (local $1 i32) (local $2 i64) @@ -8250,7 +8255,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 148 ;) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 149 ;) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) (local $4 f32) local.get $3 call $~lib/rt/pure/__retain @@ -8263,7 +8268,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Float32Array#reduceRight (; 149 ;) (param $0 i32) (param $1 i32) (param $2 f32) (result f32) + (func $~lib/typedarray/Float32Array#reduceRight (; 150 ;) (param $0 i32) (param $1 i32) (param $2 f32) (result f32) (local $3 f32) (local $4 i32) (local $5 i32) @@ -8320,7 +8325,7 @@ call $~lib/rt/pure/__release local.get $9 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32> (; 150 ;) + (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32> (; 151 ;) (local $0 i32) (local $1 i32) (local $2 f32) @@ -8364,7 +8369,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 151 ;) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) + (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 152 ;) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) (local $4 f64) local.get $3 call $~lib/rt/pure/__retain @@ -8377,7 +8382,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Float64Array#reduceRight (; 152 ;) (param $0 i32) (param $1 i32) (param $2 f64) (result f64) + (func $~lib/typedarray/Float64Array#reduceRight (; 153 ;) (param $0 i32) (param $1 i32) (param $2 f64) (result f64) (local $3 f64) (local $4 i32) (local $5 i32) @@ -8434,7 +8439,7 @@ call $~lib/rt/pure/__release local.get $9 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64> (; 153 ;) + (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64> (; 154 ;) (local $0 i32) (local $1 i32) (local $2 f64) @@ -8478,7 +8483,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 154 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 155 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -8491,7 +8496,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int8Array#map (; 155 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#map (; 156 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8575,7 +8580,7 @@ call $~lib/rt/pure/__release local.get $9 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> (; 156 ;) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> (; 157 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -8650,7 +8655,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 157 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 158 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -8663,7 +8668,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint8Array#map (; 158 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#map (; 159 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8747,7 +8752,7 @@ call $~lib/rt/pure/__release local.get $9 ) - (func $~lib/typedarray/Uint8Array#__get (; 159 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#__get (; 160 ;) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -8766,7 +8771,7 @@ i32.add i32.load8_u ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> (; 160 ;) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> (; 161 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -8841,7 +8846,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 161 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 162 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -8854,7 +8859,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint8ClampedArray#map (; 162 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#map (; 163 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8938,7 +8943,7 @@ call $~lib/rt/pure/__release local.get $9 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> (; 163 ;) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> (; 164 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9013,7 +9018,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 164 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 165 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -9026,7 +9031,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int16Array#map (; 165 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#map (; 166 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9110,7 +9115,7 @@ call $~lib/rt/pure/__release local.get $9 ) - (func $~lib/typedarray/Int16Array#__get (; 166 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#__get (; 167 ;) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -9133,7 +9138,7 @@ i32.add i32.load16_s ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> (; 167 ;) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> (; 168 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9208,7 +9213,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 168 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 169 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -9221,7 +9226,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint16Array#map (; 169 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#map (; 170 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9305,7 +9310,7 @@ call $~lib/rt/pure/__release local.get $9 ) - (func $~lib/typedarray/Uint16Array#__get (; 170 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#__get (; 171 ;) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -9328,7 +9333,7 @@ i32.add i32.load16_u ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> (; 171 ;) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> (; 172 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9403,7 +9408,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 172 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 173 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -9416,7 +9421,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int32Array#map (; 173 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#map (; 174 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9500,7 +9505,7 @@ call $~lib/rt/pure/__release local.get $9 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> (; 174 ;) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> (; 175 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9575,7 +9580,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 175 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 176 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -9588,7 +9593,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint32Array#map (; 176 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#map (; 177 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9672,7 +9677,7 @@ call $~lib/rt/pure/__release local.get $9 ) - (func $~lib/typedarray/Uint32Array#__get (; 177 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#__get (; 178 ;) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -9695,7 +9700,7 @@ i32.add i32.load ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> (; 178 ;) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> (; 179 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9770,7 +9775,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 179 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 180 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) (local $3 i64) local.get $2 call $~lib/rt/pure/__retain @@ -9783,7 +9788,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int64Array#map (; 180 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#map (; 181 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9867,7 +9872,7 @@ call $~lib/rt/pure/__release local.get $9 ) - (func $~lib/typedarray/Int64Array#__get (; 181 ;) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/typedarray/Int64Array#__get (; 182 ;) (param $0 i32) (param $1 i32) (result i64) local.get $1 local.get $0 i32.load offset=8 @@ -9890,7 +9895,7 @@ i32.add i64.load ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> (; 182 ;) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> (; 183 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -9965,7 +9970,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 183 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 184 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) (local $3 i64) local.get $2 call $~lib/rt/pure/__retain @@ -9978,7 +9983,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint64Array#map (; 184 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint64Array#map (; 185 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10062,7 +10067,7 @@ call $~lib/rt/pure/__release local.get $9 ) - (func $~lib/typedarray/Uint64Array#__get (; 185 ;) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/typedarray/Uint64Array#__get (; 186 ;) (param $0 i32) (param $1 i32) (result i64) local.get $1 local.get $0 i32.load offset=8 @@ -10085,7 +10090,7 @@ i32.add i64.load ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> (; 186 ;) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> (; 187 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10160,7 +10165,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 187 ;) (param $0 f32) (param $1 i32) (param $2 i32) (result f32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 188 ;) (param $0 f32) (param $1 i32) (param $2 i32) (result f32) (local $3 f32) local.get $2 call $~lib/rt/pure/__retain @@ -10173,7 +10178,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Float32Array#map (; 188 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#map (; 189 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10257,7 +10262,7 @@ call $~lib/rt/pure/__release local.get $9 ) - (func $~lib/typedarray/Float32Array#__get (; 189 ;) (param $0 i32) (param $1 i32) (result f32) + (func $~lib/typedarray/Float32Array#__get (; 190 ;) (param $0 i32) (param $1 i32) (result f32) local.get $1 local.get $0 i32.load offset=8 @@ -10280,7 +10285,7 @@ i32.add f32.load ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> (; 190 ;) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> (; 191 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10355,7 +10360,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 191 ;) (param $0 f64) (param $1 i32) (param $2 i32) (result f64) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 192 ;) (param $0 f64) (param $1 i32) (param $2 i32) (result f64) (local $3 f64) local.get $2 call $~lib/rt/pure/__retain @@ -10368,7 +10373,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Float64Array#map (; 192 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#map (; 193 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10452,7 +10457,7 @@ call $~lib/rt/pure/__release local.get $9 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> (; 193 ;) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> (; 194 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10527,7 +10532,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 194 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 195 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -10544,7 +10549,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/rt/tlsf/reallocateBlock (; 195 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/rt/tlsf/reallocateBlock (; 196 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -10663,7 +10668,7 @@ end local.get $8 ) - (func $~lib/rt/tlsf/__realloc (; 196 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/tlsf/__realloc (; 197 ;) (param $0 i32) (param $1 i32) (result i32) call $~lib/rt/tlsf/maybeInitialize local.get $0 call $~lib/rt/tlsf/checkUsedBlock @@ -10672,7 +10677,7 @@ i32.const 16 i32.add ) - (func $~lib/typedarray/Int8Array#filter (; 197 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#filter (; 198 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10776,7 +10781,7 @@ call $~lib/rt/pure/__release local.get $11 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8> (; 198 ;) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8> (; 199 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10885,7 +10890,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 199 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 200 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -10900,7 +10905,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint8Array#filter (; 200 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#filter (; 201 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11004,7 +11009,7 @@ call $~lib/rt/pure/__release local.get $11 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8> (; 201 ;) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8> (; 202 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11113,7 +11118,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 202 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 203 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -11128,7 +11133,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint8ClampedArray#filter (; 203 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#filter (; 204 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11232,7 +11237,7 @@ call $~lib/rt/pure/__release local.get $11 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8> (; 204 ;) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8> (; 205 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11341,7 +11346,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 205 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 206 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -11358,7 +11363,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int16Array#filter (; 206 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#filter (; 207 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11462,7 +11467,7 @@ call $~lib/rt/pure/__release local.get $11 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16> (; 207 ;) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16> (; 208 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11571,7 +11576,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 208 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 209 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -11586,7 +11591,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint16Array#filter (; 209 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#filter (; 210 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11690,7 +11695,7 @@ call $~lib/rt/pure/__release local.get $11 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16> (; 210 ;) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16> (; 211 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -11799,7 +11804,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 211 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 212 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -11812,7 +11817,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int32Array#filter (; 212 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#filter (; 213 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11916,7 +11921,7 @@ call $~lib/rt/pure/__release local.get $11 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32> (; 213 ;) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32> (; 214 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12025,7 +12030,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 214 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 215 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -12038,7 +12043,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint32Array#filter (; 215 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#filter (; 216 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12142,7 +12147,7 @@ call $~lib/rt/pure/__release local.get $11 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32> (; 216 ;) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32> (; 217 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12251,7 +12256,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 217 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 218 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -12264,7 +12269,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int64Array#filter (; 218 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#filter (; 219 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12368,7 +12373,7 @@ call $~lib/rt/pure/__release local.get $12 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64> (; 219 ;) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64> (; 220 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12477,7 +12482,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 220 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 221 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -12490,7 +12495,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint64Array#filter (; 221 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint64Array#filter (; 222 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12594,7 +12599,7 @@ call $~lib/rt/pure/__release local.get $12 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64> (; 222 ;) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64> (; 223 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12703,7 +12708,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 223 ;) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 224 ;) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -12716,7 +12721,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Float32Array#filter (; 224 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#filter (; 225 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12820,7 +12825,7 @@ call $~lib/rt/pure/__release local.get $12 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32> (; 225 ;) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32> (; 226 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -12929,7 +12934,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 226 ;) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 227 ;) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -12942,7 +12947,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Float64Array#filter (; 227 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#filter (; 228 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13046,7 +13051,7 @@ call $~lib/rt/pure/__release local.get $12 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64> (; 228 ;) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64> (; 229 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -13155,7 +13160,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 229 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 230 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -13172,7 +13177,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int8Array#some (; 230 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#some (; 231 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13235,7 +13240,7 @@ local.get $6 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 231 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 232 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -13252,7 +13257,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8> (; 232 ;) + (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8> (; 233 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -13311,7 +13316,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 233 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 234 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -13326,7 +13331,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint8Array#some (; 234 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#some (; 235 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13389,7 +13394,7 @@ local.get $6 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|1 (; 235 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|1 (; 236 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -13404,7 +13409,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8> (; 236 ;) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8> (; 237 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -13463,7 +13468,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 237 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 238 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -13478,7 +13483,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint8ClampedArray#some (; 238 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#some (; 239 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13541,7 +13546,7 @@ local.get $6 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (; 239 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (; 240 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -13556,7 +13561,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8> (; 240 ;) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8> (; 241 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -13615,7 +13620,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 241 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 242 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -13632,7 +13637,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int16Array#some (; 242 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#some (; 243 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13695,7 +13700,7 @@ local.get $6 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 243 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 244 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -13712,7 +13717,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16> (; 244 ;) + (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16> (; 245 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -13771,7 +13776,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 245 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 246 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -13786,7 +13791,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint16Array#some (; 246 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#some (; 247 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13849,7 +13854,7 @@ local.get $6 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|1 (; 247 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|1 (; 248 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -13864,7 +13869,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16> (; 248 ;) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16> (; 249 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -13923,7 +13928,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 249 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 250 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -13936,7 +13941,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int32Array#some (; 250 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#some (; 251 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -13999,7 +14004,7 @@ local.get $6 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 251 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 252 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14012,7 +14017,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32> (; 252 ;) + (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32> (; 253 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -14071,7 +14076,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 253 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 254 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14084,7 +14089,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint32Array#some (; 254 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#some (; 255 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14147,7 +14152,7 @@ local.get $6 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|1 (; 255 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|1 (; 256 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14160,7 +14165,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32> (; 256 ;) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32> (; 257 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -14219,7 +14224,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 257 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 258 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14232,7 +14237,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int64Array#some (; 258 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#some (; 259 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14295,7 +14300,7 @@ local.get $6 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 259 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 260 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14308,7 +14313,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64> (; 260 ;) + (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64> (; 261 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -14367,7 +14372,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 261 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 262 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14380,7 +14385,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint64Array#some (; 262 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint64Array#some (; 263 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14443,7 +14448,7 @@ local.get $6 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|1 (; 263 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|1 (; 264 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14456,7 +14461,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64> (; 264 ;) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64> (; 265 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -14515,7 +14520,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 265 ;) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 266 ;) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14528,7 +14533,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Float32Array#some (; 266 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#some (; 267 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14591,7 +14596,7 @@ local.get $6 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 267 ;) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 268 ;) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14604,7 +14609,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32> (; 268 ;) + (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32> (; 269 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -14663,7 +14668,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 269 ;) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 270 ;) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14676,7 +14681,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Float64Array#some (; 270 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#some (; 271 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14739,7 +14744,7 @@ local.get $6 end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 271 ;) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 272 ;) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14752,7 +14757,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64> (; 272 ;) + (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64> (; 273 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -14811,7 +14816,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 273 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 274 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14828,7 +14833,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int8Array#findIndex (; 274 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#findIndex (; 275 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14891,7 +14896,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 275 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 276 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14908,7 +14913,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8> (; 276 ;) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8> (; 277 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -14968,7 +14973,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 277 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 278 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -14983,7 +14988,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint8Array#findIndex (; 278 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#findIndex (; 279 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -15046,7 +15051,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1 (; 279 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1 (; 280 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -15061,7 +15066,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8> (; 280 ;) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8> (; 281 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -15121,7 +15126,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 281 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 282 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -15136,7 +15141,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint8ClampedArray#findIndex (; 282 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#findIndex (; 283 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -15199,7 +15204,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (; 283 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (; 284 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -15214,7 +15219,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8> (; 284 ;) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8> (; 285 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -15274,7 +15279,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 285 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 286 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -15291,7 +15296,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int16Array#findIndex (; 286 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#findIndex (; 287 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -15354,7 +15359,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 287 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 288 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -15371,7 +15376,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16> (; 288 ;) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16> (; 289 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -15431,7 +15436,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 289 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 290 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -15446,7 +15451,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint16Array#findIndex (; 290 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#findIndex (; 291 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -15509,7 +15514,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1 (; 291 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1 (; 292 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -15524,7 +15529,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16> (; 292 ;) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16> (; 293 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -15584,7 +15589,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 293 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 294 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -15597,7 +15602,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int32Array#findIndex (; 294 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#findIndex (; 295 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -15660,7 +15665,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 295 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 296 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -15673,7 +15678,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32> (; 296 ;) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32> (; 297 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -15733,7 +15738,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 297 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 298 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -15746,7 +15751,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint32Array#findIndex (; 298 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#findIndex (; 299 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -15809,7 +15814,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1 (; 299 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1 (; 300 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -15822,7 +15827,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32> (; 300 ;) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32> (; 301 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -15882,7 +15887,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 301 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 302 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -15895,7 +15900,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int64Array#findIndex (; 302 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#findIndex (; 303 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -15958,7 +15963,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 303 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 304 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -15971,7 +15976,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64> (; 304 ;) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64> (; 305 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -16031,7 +16036,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 305 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 306 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -16044,7 +16049,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint64Array#findIndex (; 306 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint64Array#findIndex (; 307 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -16107,7 +16112,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1 (; 307 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1 (; 308 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -16120,7 +16125,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64> (; 308 ;) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64> (; 309 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -16180,7 +16185,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 309 ;) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 310 ;) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -16193,7 +16198,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Float32Array#findIndex (; 310 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#findIndex (; 311 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -16256,7 +16261,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 311 ;) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 312 ;) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -16269,7 +16274,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32> (; 312 ;) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32> (; 313 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -16329,7 +16334,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 313 ;) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 314 ;) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -16342,7 +16347,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Float64Array#findIndex (; 314 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#findIndex (; 315 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -16405,7 +16410,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 315 ;) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 316 ;) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -16418,7 +16423,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64> (; 316 ;) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64> (; 317 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -16478,7 +16483,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 317 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 318 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -16497,7 +16502,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int8Array#every (; 318 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#every (; 319 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -16563,7 +16568,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 319 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|1 (; 320 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -16580,7 +16585,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8> (; 320 ;) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8> (; 321 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -16639,7 +16644,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 321 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 322 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -16656,7 +16661,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint8Array#every (; 322 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#every (; 323 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -16722,7 +16727,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|1 (; 323 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|1 (; 324 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -16737,7 +16742,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8> (; 324 ;) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8> (; 325 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -16796,7 +16801,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 325 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 326 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -16813,7 +16818,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint8ClampedArray#every (; 326 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#every (; 327 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -16879,7 +16884,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (; 327 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (; 328 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -16894,7 +16899,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8> (; 328 ;) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8> (; 329 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -16953,7 +16958,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 329 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 330 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -16972,7 +16977,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int16Array#every (; 330 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#every (; 331 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -17038,7 +17043,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 331 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|1 (; 332 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -17055,7 +17060,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16> (; 332 ;) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16> (; 333 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -17114,7 +17119,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 333 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 334 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -17131,7 +17136,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint16Array#every (; 334 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#every (; 335 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -17197,7 +17202,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|1 (; 335 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|1 (; 336 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -17212,7 +17217,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16> (; 336 ;) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16> (; 337 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -17271,7 +17276,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 337 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 338 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -17286,7 +17291,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int32Array#every (; 338 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#every (; 339 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -17352,7 +17357,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 339 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|1 (; 340 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -17365,7 +17370,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32> (; 340 ;) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32> (; 341 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -17424,7 +17429,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 341 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 342 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -17439,7 +17444,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint32Array#every (; 342 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#every (; 343 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -17505,7 +17510,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|1 (; 343 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|1 (; 344 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -17518,7 +17523,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32> (; 344 ;) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32> (; 345 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -17577,7 +17582,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 345 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 346 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -17592,7 +17597,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Int64Array#every (; 346 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#every (; 347 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -17658,7 +17663,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 347 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|1 (; 348 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -17671,7 +17676,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64> (; 348 ;) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64> (; 349 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -17730,7 +17735,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 349 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 350 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -17745,7 +17750,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Uint64Array#every (; 350 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint64Array#every (; 351 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -17811,7 +17816,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|1 (; 351 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|1 (; 352 ;) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -17824,7 +17829,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64> (; 352 ;) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64> (; 353 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -17883,7 +17888,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/math/NativeMathf.mod (; 353 ;) (param $0 f32) (param $1 f32) (result f32) + (func $~lib/math/NativeMathf.mod (; 354 ;) (param $0 f32) (param $1 f32) (result f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -18131,7 +18136,7 @@ local.get $2 f32.reinterpret_i32 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 354 ;) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 355 ;) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -18146,7 +18151,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Float32Array#every (; 355 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#every (; 356 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -18212,7 +18217,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 356 ;) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|1 (; 357 ;) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -18225,7 +18230,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32> (; 357 ;) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32> (; 358 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -18284,7 +18289,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/math/NativeMath.mod (; 358 ;) (param $0 f64) (param $1 f64) (result f64) + (func $~lib/math/NativeMath.mod (; 359 ;) (param $0 f64) (param $1 f64) (result f64) (local $2 i64) (local $3 i64) (local $4 i64) @@ -18538,7 +18543,7 @@ local.get $2 f64.reinterpret_i64 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 359 ;) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 360 ;) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -18553,7 +18558,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $~lib/typedarray/Float64Array#every (; 360 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#every (; 361 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -18619,7 +18624,7 @@ local.get $6 end ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 361 ;) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|1 (; 362 ;) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -18632,7 +18637,7 @@ call $~lib/rt/pure/__release local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64> (; 362 ;) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64> (; 363 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -18691,7 +18696,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 363 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 (; 364 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -18751,7 +18756,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int8Array#forEach (; 364 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int8Array#forEach (; 365 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -18800,7 +18805,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> (; 365 ;) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> (; 366 ;) (local $0 i32) (local $1 i32) i32.const 0 @@ -18863,7 +18868,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 366 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8>~anonymous|0 (; 367 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -18919,7 +18924,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8Array#forEach (; 367 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint8Array#forEach (; 368 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -18968,7 +18973,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8> (; 368 ;) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8> (; 369 ;) (local $0 i32) (local $1 i32) i32.const 0 @@ -19025,7 +19030,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 369 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (; 370 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -19081,7 +19086,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8ClampedArray#forEach (; 370 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint8ClampedArray#forEach (; 371 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -19130,7 +19135,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8> (; 371 ;) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8> (; 372 ;) (local $0 i32) (local $1 i32) i32.const 0 @@ -19187,7 +19192,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 372 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 (; 373 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -19247,7 +19252,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int16Array#forEach (; 373 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int16Array#forEach (; 374 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -19296,7 +19301,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16> (; 374 ;) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16> (; 375 ;) (local $0 i32) (local $1 i32) i32.const 0 @@ -19359,7 +19364,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 375 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16>~anonymous|0 (; 376 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -19415,7 +19420,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint16Array#forEach (; 376 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint16Array#forEach (; 377 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -19464,7 +19469,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16> (; 377 ;) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16> (; 378 ;) (local $0 i32) (local $1 i32) i32.const 0 @@ -19521,7 +19526,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 378 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 (; 379 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -19573,7 +19578,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int32Array#forEach (; 379 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int32Array#forEach (; 380 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -19622,7 +19627,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32> (; 380 ;) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32> (; 381 ;) (local $0 i32) (local $1 i32) i32.const 0 @@ -19673,7 +19678,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 381 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32>~anonymous|0 (; 382 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -19725,7 +19730,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint32Array#forEach (; 382 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint32Array#forEach (; 383 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -19774,7 +19779,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32> (; 383 ;) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32> (; 384 ;) (local $0 i32) (local $1 i32) i32.const 0 @@ -19825,7 +19830,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 384 ;) (param $0 i64) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 (; 385 ;) (param $0 i64) (param $1 i32) (param $2 i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -19878,7 +19883,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int64Array#forEach (; 385 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int64Array#forEach (; 386 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -19927,7 +19932,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64> (; 386 ;) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64> (; 387 ;) (local $0 i32) (local $1 i32) i32.const 0 @@ -19981,7 +19986,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 387 ;) (param $0 i64) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64>~anonymous|0 (; 388 ;) (param $0 i64) (param $1 i32) (param $2 i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -20034,7 +20039,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint64Array#forEach (; 388 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint64Array#forEach (; 389 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -20083,7 +20088,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64> (; 389 ;) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64> (; 390 ;) (local $0 i32) (local $1 i32) i32.const 0 @@ -20137,7 +20142,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 390 ;) (param $0 f32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 (; 391 ;) (param $0 f32) (param $1 i32) (param $2 i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -20190,7 +20195,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float32Array#forEach (; 391 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float32Array#forEach (; 392 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -20239,7 +20244,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32> (; 392 ;) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32> (; 393 ;) (local $0 i32) (local $1 i32) i32.const 0 @@ -20293,7 +20298,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 393 ;) (param $0 f64) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 (; 394 ;) (param $0 f64) (param $1 i32) (param $2 i32) (local $3 i32) local.get $2 call $~lib/rt/pure/__retain @@ -20346,7 +20351,7 @@ local.get $2 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float64Array#forEach (; 394 ;) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#forEach (; 395 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -20395,7 +20400,7 @@ local.get $3 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64> (; 395 ;) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64> (; 396 ;) (local $0 i32) (local $1 i32) i32.const 0 @@ -20449,7 +20454,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int8Array#reverse (; 396 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Int8Array#reverse (; 397 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -20513,7 +20518,7 @@ end local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> (; 397 ;) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> (; 398 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -20698,7 +20703,7 @@ local.get $8 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8Array#reverse (; 398 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8Array#reverse (; 399 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -20762,7 +20767,7 @@ end local.get $1 ) - (func $~lib/typedarray/Uint8Array#subarray (; 399 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8Array#subarray (; 400 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -20869,7 +20874,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> (; 400 ;) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> (; 401 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -21048,7 +21053,7 @@ local.get $8 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8ClampedArray#reverse (; 401 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#reverse (; 402 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -21112,7 +21117,7 @@ end local.get $1 ) - (func $~lib/typedarray/Uint8ClampedArray#subarray (; 402 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#subarray (; 403 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -21219,7 +21224,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> (; 403 ;) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> (; 404 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -21398,7 +21403,7 @@ local.get $8 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int16Array#reverse (; 404 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Int16Array#reverse (; 405 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -21462,7 +21467,7 @@ end local.get $1 ) - (func $~lib/typedarray/Int16Array#subarray (; 405 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int16Array#subarray (; 406 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -21569,7 +21574,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> (; 406 ;) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> (; 407 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -21754,7 +21759,7 @@ local.get $8 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint16Array#reverse (; 407 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint16Array#reverse (; 408 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -21818,7 +21823,7 @@ end local.get $1 ) - (func $~lib/typedarray/Uint16Array#subarray (; 408 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint16Array#subarray (; 409 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -21925,7 +21930,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> (; 409 ;) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> (; 410 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -22104,7 +22109,7 @@ local.get $8 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int32Array#reverse (; 410 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Int32Array#reverse (; 411 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -22168,7 +22173,7 @@ end local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> (; 411 ;) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> (; 412 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -22341,7 +22346,7 @@ local.get $8 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint32Array#reverse (; 412 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint32Array#reverse (; 413 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -22405,7 +22410,7 @@ end local.get $1 ) - (func $~lib/typedarray/Uint32Array#subarray (; 413 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint32Array#subarray (; 414 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -22512,7 +22517,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> (; 414 ;) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> (; 415 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -22685,7 +22690,7 @@ local.get $8 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int64Array#reverse (; 415 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Int64Array#reverse (; 416 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -22749,7 +22754,7 @@ end local.get $1 ) - (func $~lib/typedarray/Int64Array#subarray (; 416 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int64Array#subarray (; 417 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -22856,7 +22861,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> (; 417 ;) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> (; 418 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -23032,7 +23037,7 @@ local.get $8 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint64Array#reverse (; 418 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint64Array#reverse (; 419 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -23096,7 +23101,7 @@ end local.get $1 ) - (func $~lib/typedarray/Uint64Array#subarray (; 419 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint64Array#subarray (; 420 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -23203,7 +23208,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> (; 420 ;) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> (; 421 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -23379,7 +23384,7 @@ local.get $8 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float32Array#reverse (; 421 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Float32Array#reverse (; 422 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -23443,7 +23448,7 @@ end local.get $1 ) - (func $~lib/typedarray/Float32Array#subarray (; 422 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Float32Array#subarray (; 423 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -23550,7 +23555,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> (; 423 ;) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> (; 424 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -23726,7 +23731,7 @@ local.get $8 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float64Array#reverse (; 424 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Float64Array#reverse (; 425 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -23790,7 +23795,7 @@ end local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> (; 425 ;) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> (; 426 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -23966,7 +23971,7 @@ local.get $8 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int8Array#indexOf (; 426 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int8Array#indexOf (; 427 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -24066,7 +24071,7 @@ local.get $9 end ) - (func $~lib/typedarray/Int8Array#lastIndexOf (; 427 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int8Array#lastIndexOf (; 428 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -24162,7 +24167,7 @@ local.get $9 end ) - (func $~lib/typedarray/Int8Array#lastIndexOf|trampoline (; 428 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int8Array#lastIndexOf|trampoline (; 429 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -24182,7 +24187,7 @@ local.get $2 call $~lib/typedarray/Int8Array#lastIndexOf ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int8Array,i8> (; 429 ;) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int8Array,i8> (; 430 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -24655,7 +24660,7 @@ local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8Array#indexOf (; 430 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8Array#indexOf (; 431 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -24753,7 +24758,7 @@ local.get $9 end ) - (func $~lib/typedarray/Uint8Array#lastIndexOf (; 431 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8Array#lastIndexOf (; 432 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -24847,7 +24852,7 @@ local.get $9 end ) - (func $~lib/typedarray/Uint8Array#lastIndexOf|trampoline (; 432 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8Array#lastIndexOf|trampoline (; 433 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -24867,7 +24872,7 @@ local.get $2 call $~lib/typedarray/Uint8Array#lastIndexOf ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8Array,u8> (; 433 ;) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8Array,u8> (; 434 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -25338,7 +25343,7 @@ local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8ClampedArray#indexOf (; 434 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#indexOf (; 435 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -25436,7 +25441,7 @@ local.get $9 end ) - (func $~lib/typedarray/Uint8ClampedArray#lastIndexOf (; 435 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#lastIndexOf (; 436 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -25530,7 +25535,7 @@ local.get $9 end ) - (func $~lib/typedarray/Uint8ClampedArray#lastIndexOf|trampoline (; 436 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#lastIndexOf|trampoline (; 437 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -25550,7 +25555,7 @@ local.get $2 call $~lib/typedarray/Uint8ClampedArray#lastIndexOf ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8ClampedArray,u8> (; 437 ;) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8ClampedArray,u8> (; 438 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -26021,7 +26026,7 @@ local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int16Array#indexOf (; 438 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int16Array#indexOf (; 439 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -26121,7 +26126,7 @@ local.get $9 end ) - (func $~lib/typedarray/Int16Array#lastIndexOf (; 439 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int16Array#lastIndexOf (; 440 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -26217,7 +26222,7 @@ local.get $9 end ) - (func $~lib/typedarray/Int16Array#lastIndexOf|trampoline (; 440 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int16Array#lastIndexOf|trampoline (; 441 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -26237,7 +26242,7 @@ local.get $2 call $~lib/typedarray/Int16Array#lastIndexOf ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int16Array,i16> (; 441 ;) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int16Array,i16> (; 442 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -26710,7 +26715,7 @@ local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint16Array#indexOf (; 442 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint16Array#indexOf (; 443 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -26808,7 +26813,7 @@ local.get $9 end ) - (func $~lib/typedarray/Uint16Array#lastIndexOf (; 443 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint16Array#lastIndexOf (; 444 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -26902,7 +26907,7 @@ local.get $9 end ) - (func $~lib/typedarray/Uint16Array#lastIndexOf|trampoline (; 444 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint16Array#lastIndexOf|trampoline (; 445 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -26922,7 +26927,7 @@ local.get $2 call $~lib/typedarray/Uint16Array#lastIndexOf ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint16Array,u16> (; 445 ;) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint16Array,u16> (; 446 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -27393,7 +27398,7 @@ local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int32Array#indexOf (; 446 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int32Array#indexOf (; 447 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -27489,7 +27494,7 @@ local.get $9 end ) - (func $~lib/typedarray/Int32Array#lastIndexOf (; 447 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int32Array#lastIndexOf (; 448 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -27581,7 +27586,7 @@ local.get $9 end ) - (func $~lib/typedarray/Int32Array#lastIndexOf|trampoline (; 448 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int32Array#lastIndexOf|trampoline (; 449 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -27601,7 +27606,7 @@ local.get $2 call $~lib/typedarray/Int32Array#lastIndexOf ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int32Array,i32> (; 449 ;) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int32Array,i32> (; 450 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -28070,7 +28075,7 @@ local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint32Array#indexOf (; 450 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint32Array#indexOf (; 451 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -28166,7 +28171,7 @@ local.get $9 end ) - (func $~lib/typedarray/Uint32Array#lastIndexOf (; 451 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint32Array#lastIndexOf (; 452 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -28258,7 +28263,7 @@ local.get $9 end ) - (func $~lib/typedarray/Uint32Array#lastIndexOf|trampoline (; 452 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint32Array#lastIndexOf|trampoline (; 453 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -28278,7 +28283,7 @@ local.get $2 call $~lib/typedarray/Uint32Array#lastIndexOf ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint32Array,u32> (; 453 ;) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint32Array,u32> (; 454 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -28747,7 +28752,7 @@ local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int64Array#indexOf (; 454 ;) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (func $~lib/typedarray/Int64Array#indexOf (; 455 ;) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (local $3 i32) (local $4 i64) (local $5 i32) @@ -28843,7 +28848,7 @@ local.get $9 end ) - (func $~lib/typedarray/Int64Array#lastIndexOf (; 455 ;) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (func $~lib/typedarray/Int64Array#lastIndexOf (; 456 ;) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (local $3 i32) (local $4 i64) (local $5 i32) @@ -28935,7 +28940,7 @@ local.get $9 end ) - (func $~lib/typedarray/Int64Array#lastIndexOf|trampoline (; 456 ;) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (func $~lib/typedarray/Int64Array#lastIndexOf|trampoline (; 457 ;) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -28955,7 +28960,7 @@ local.get $2 call $~lib/typedarray/Int64Array#lastIndexOf ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int64Array,i64> (; 457 ;) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int64Array,i64> (; 458 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -29425,7 +29430,7 @@ local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint64Array#indexOf (; 458 ;) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint64Array#indexOf (; 459 ;) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (local $3 i32) (local $4 i64) (local $5 i32) @@ -29521,7 +29526,7 @@ local.get $9 end ) - (func $~lib/typedarray/Uint64Array#lastIndexOf (; 459 ;) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint64Array#lastIndexOf (; 460 ;) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (local $3 i32) (local $4 i64) (local $5 i32) @@ -29613,7 +29618,7 @@ local.get $9 end ) - (func $~lib/typedarray/Uint64Array#lastIndexOf|trampoline (; 460 ;) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint64Array#lastIndexOf|trampoline (; 461 ;) (param $0 i32) (param $1 i64) (param $2 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -29633,7 +29638,7 @@ local.get $2 call $~lib/typedarray/Uint64Array#lastIndexOf ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint64Array,u64> (; 461 ;) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint64Array,u64> (; 462 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -30103,7 +30108,7 @@ local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float32Array#indexOf (; 462 ;) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + (func $~lib/typedarray/Float32Array#indexOf (; 463 ;) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) (local $3 i32) (local $4 f32) (local $5 i32) @@ -30199,7 +30204,7 @@ local.get $9 end ) - (func $~lib/typedarray/Float32Array#lastIndexOf (; 463 ;) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + (func $~lib/typedarray/Float32Array#lastIndexOf (; 464 ;) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) (local $3 i32) (local $4 f32) (local $5 i32) @@ -30291,7 +30296,7 @@ local.get $9 end ) - (func $~lib/typedarray/Float32Array#lastIndexOf|trampoline (; 464 ;) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + (func $~lib/typedarray/Float32Array#lastIndexOf|trampoline (; 465 ;) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -30311,7 +30316,7 @@ local.get $2 call $~lib/typedarray/Float32Array#lastIndexOf ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float32Array,f32> (; 465 ;) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float32Array,f32> (; 466 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -30781,7 +30786,7 @@ local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float64Array#indexOf (; 466 ;) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + (func $~lib/typedarray/Float64Array#indexOf (; 467 ;) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) (local $3 i32) (local $4 f64) (local $5 i32) @@ -30877,7 +30882,7 @@ local.get $9 end ) - (func $~lib/typedarray/Float64Array#lastIndexOf (; 467 ;) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + (func $~lib/typedarray/Float64Array#lastIndexOf (; 468 ;) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) (local $3 i32) (local $4 f64) (local $5 i32) @@ -30969,7 +30974,7 @@ local.get $9 end ) - (func $~lib/typedarray/Float64Array#lastIndexOf|trampoline (; 468 ;) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + (func $~lib/typedarray/Float64Array#lastIndexOf|trampoline (; 469 ;) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) block $1of1 block $0of1 block $outOfRange @@ -30989,7 +30994,7 @@ local.get $2 call $~lib/typedarray/Float64Array#lastIndexOf ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float64Array,f64> (; 469 ;) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float64Array,f64> (; 470 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -31459,7 +31464,7 @@ local.get $6 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float64Array#includes (; 470 ;) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + (func $~lib/typedarray/Float64Array#includes (; 471 ;) (param $0 i32) (param $1 f64) (param $2 i32) (result i32) (local $3 i32) (local $4 f64) (local $5 i32) @@ -31570,7 +31575,7 @@ br $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 end ) - (func $~lib/typedarray/Float32Array#includes (; 471 ;) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + (func $~lib/typedarray/Float32Array#includes (; 472 ;) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) (local $3 i32) (local $4 f32) (local $5 i32) @@ -31681,7 +31686,7 @@ br $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 end ) - (func $~lib/util/number/decimalCount32 (; 472 ;) (param $0 i32) (result i32) + (func $~lib/util/number/decimalCount32 (; 473 ;) (param $0 i32) (result i32) (local $1 i32) local.get $0 i32.const 100000 @@ -31747,59 +31752,55 @@ end unreachable ) - (func $~lib/util/number/utoa32_lut (; 473 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/number/utoa32_lut (; 474 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) + (local $8 i64) (local $9 i64) - (local $10 i64) + (local $10 i32) (local $11 i32) - (local $12 i32) - i32.const 2384 - i32.load offset=4 - local.set $3 loop $while-continue|0 local.get $1 i32.const 10000 i32.ge_u - local.set $4 - local.get $4 + local.set $3 + local.get $3 if local.get $1 i32.const 10000 i32.div_u - local.set $5 + local.set $4 local.get $1 i32.const 10000 i32.rem_u - local.set $6 - local.get $5 + local.set $5 + local.get $4 local.set $1 - local.get $6 + local.get $5 i32.const 100 i32.div_u - local.set $7 - local.get $6 + local.set $6 + local.get $5 i32.const 100 i32.rem_u - local.set $8 - local.get $3 - local.get $7 + local.set $7 + i32.const 1968 + local.get $6 i32.const 2 i32.shl i32.add i64.load32_u - local.set $9 - local.get $3 - local.get $8 + local.set $8 + i32.const 1968 + local.get $7 i32.const 2 i32.shl i32.add i64.load32_u - local.set $10 + local.set $9 local.get $2 i32.const 4 i32.sub @@ -31809,8 +31810,8 @@ i32.const 1 i32.shl i32.add + local.get $8 local.get $9 - local.get $10 i64.const 32 i64.shl i64.or @@ -31825,30 +31826,30 @@ local.get $1 i32.const 100 i32.div_u - local.set $4 + local.set $3 local.get $1 i32.const 100 i32.rem_u - local.set $11 - local.get $4 + local.set $10 + local.get $3 local.set $1 local.get $2 i32.const 2 i32.sub local.set $2 - local.get $3 - local.get $11 + i32.const 1968 + local.get $10 i32.const 2 i32.shl i32.add i32.load - local.set $12 + local.set $11 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store end local.get $1 @@ -31859,19 +31860,19 @@ i32.const 2 i32.sub local.set $2 - local.get $3 + i32.const 1968 local.get $1 i32.const 2 i32.shl i32.add i32.load - local.set $12 + local.set $11 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store else local.get $2 @@ -31881,17 +31882,17 @@ i32.const 48 local.get $1 i32.add - local.set $12 + local.set $11 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $12 + local.get $11 i32.store16 end ) - (func $~lib/util/number/itoa32 (; 474 ;) (param $0 i32) (result i32) + (func $~lib/util/number/itoa32 (; 475 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -31945,7 +31946,7 @@ local.get $3 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/itoa (; 475 ;) (param $0 i32) (result i32) + (func $~lib/util/number/itoa (; 476 ;) (param $0 i32) (result i32) local.get $0 i32.const 24 i32.shl @@ -31954,7 +31955,7 @@ call $~lib/util/number/itoa32 return ) - (func $~lib/string/String#get:length (; 476 ;) (param $0 i32) (result i32) + (func $~lib/string/String#get:length (; 477 ;) (param $0 i32) (result i32) local.get $0 i32.const 16 i32.sub @@ -31962,7 +31963,7 @@ i32.const 1 i32.shr_u ) - (func $~lib/util/number/itoa_stream (; 477 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 478 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -32035,7 +32036,7 @@ end local.get $3 ) - (func $~lib/string/String#substring (; 478 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#substring (; 479 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -32142,7 +32143,7 @@ local.get $11 call $~lib/rt/pure/__retain ) - (func $~lib/util/string/joinIntegerArray (; 479 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinIntegerArray (; 480 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -32285,7 +32286,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Int8Array#join (; 480 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int8Array#join (; 481 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -32301,7 +32302,7 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/util/string/compareImpl (; 481 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (func $~lib/util/string/compareImpl (; 482 ;) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -32423,7 +32424,7 @@ call $~lib/rt/pure/__release local.get $7 ) - (func $~lib/string/String.__eq (; 482 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (; 483 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 @@ -32496,12 +32497,12 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/typedarray/Int8Array#toString (; 483 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Int8Array#toString (; 484 ;) (param $0 i32) (result i32) local.get $0 - i32.const 2416 + i32.const 2384 call $~lib/typedarray/Int8Array#join ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int8Array,i8> (; 484 ;) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int8Array,i8> (; 485 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -32533,10 +32534,10 @@ i32.const 5 call $~lib/typedarray/Int8Array#__set local.get $1 - i32.const 2416 + i32.const 2384 call $~lib/typedarray/Int8Array#join local.tee $2 - i32.const 2448 + i32.const 2416 call $~lib/string/String.__eq i32.eqz if @@ -32550,7 +32551,7 @@ local.get $1 call $~lib/typedarray/Int8Array#toString local.tee $3 - i32.const 2448 + i32.const 2416 call $~lib/string/String.__eq i32.eqz if @@ -32570,7 +32571,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/util/number/utoa32 (; 485 ;) (param $0 i32) (result i32) + (func $~lib/util/number/utoa32 (; 486 ;) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -32604,14 +32605,14 @@ local.get $2 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/itoa (; 486 ;) (param $0 i32) (result i32) + (func $~lib/util/number/itoa (; 487 ;) (param $0 i32) (result i32) local.get $0 i32.const 255 i32.and call $~lib/util/number/utoa32 return ) - (func $~lib/util/number/itoa_stream (; 487 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 488 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -32654,7 +32655,7 @@ call $~lib/util/number/utoa32_lut local.get $3 ) - (func $~lib/util/string/joinIntegerArray (; 488 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinIntegerArray (; 489 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -32797,7 +32798,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Uint8Array#join (; 489 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#join (; 490 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -32813,12 +32814,12 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/typedarray/Uint8Array#toString (; 490 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8Array#toString (; 491 ;) (param $0 i32) (result i32) local.get $0 - i32.const 2416 + i32.const 2384 call $~lib/typedarray/Uint8Array#join ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8Array,u8> (; 491 ;) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8Array,u8> (; 492 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -32850,10 +32851,10 @@ i32.const 5 call $~lib/typedarray/Uint8Array#__set local.get $1 - i32.const 2416 + i32.const 2384 call $~lib/typedarray/Uint8Array#join local.tee $2 - i32.const 2448 + i32.const 2416 call $~lib/string/String.__eq i32.eqz if @@ -32867,7 +32868,7 @@ local.get $1 call $~lib/typedarray/Uint8Array#toString local.tee $3 - i32.const 2448 + i32.const 2416 call $~lib/string/String.__eq i32.eqz if @@ -32887,7 +32888,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8ClampedArray#join (; 492 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#join (; 493 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -32903,12 +32904,12 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/typedarray/Uint8ClampedArray#toString (; 493 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#toString (; 494 ;) (param $0 i32) (result i32) local.get $0 - i32.const 2416 + i32.const 2384 call $~lib/typedarray/Uint8ClampedArray#join ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8ClampedArray,u8> (; 494 ;) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8ClampedArray,u8> (; 495 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -32940,10 +32941,10 @@ i32.const 5 call $~lib/typedarray/Uint8ClampedArray#__set local.get $1 - i32.const 2416 + i32.const 2384 call $~lib/typedarray/Uint8ClampedArray#join local.tee $2 - i32.const 2448 + i32.const 2416 call $~lib/string/String.__eq i32.eqz if @@ -32957,7 +32958,7 @@ local.get $1 call $~lib/typedarray/Uint8ClampedArray#toString local.tee $3 - i32.const 2448 + i32.const 2416 call $~lib/string/String.__eq i32.eqz if @@ -32977,7 +32978,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/util/number/itoa (; 495 ;) (param $0 i32) (result i32) + (func $~lib/util/number/itoa (; 496 ;) (param $0 i32) (result i32) local.get $0 i32.const 16 i32.shl @@ -32986,7 +32987,7 @@ call $~lib/util/number/itoa32 return ) - (func $~lib/util/number/itoa_stream (; 496 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 497 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -33059,7 +33060,7 @@ end local.get $3 ) - (func $~lib/util/string/joinIntegerArray (; 497 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinIntegerArray (; 498 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -33202,7 +33203,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Int16Array#join (; 498 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#join (; 499 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -33218,12 +33219,12 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/typedarray/Int16Array#toString (; 499 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Int16Array#toString (; 500 ;) (param $0 i32) (result i32) local.get $0 - i32.const 2416 + i32.const 2384 call $~lib/typedarray/Int16Array#join ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int16Array,i16> (; 500 ;) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int16Array,i16> (; 501 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -33255,10 +33256,10 @@ i32.const 5 call $~lib/typedarray/Int16Array#__set local.get $1 - i32.const 2416 + i32.const 2384 call $~lib/typedarray/Int16Array#join local.tee $2 - i32.const 2448 + i32.const 2416 call $~lib/string/String.__eq i32.eqz if @@ -33272,7 +33273,7 @@ local.get $1 call $~lib/typedarray/Int16Array#toString local.tee $3 - i32.const 2448 + i32.const 2416 call $~lib/string/String.__eq i32.eqz if @@ -33292,14 +33293,14 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/util/number/itoa (; 501 ;) (param $0 i32) (result i32) + (func $~lib/util/number/itoa (; 502 ;) (param $0 i32) (result i32) local.get $0 i32.const 65535 i32.and call $~lib/util/number/utoa32 return ) - (func $~lib/util/number/itoa_stream (; 502 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 503 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -33342,7 +33343,7 @@ call $~lib/util/number/utoa32_lut local.get $3 ) - (func $~lib/util/string/joinIntegerArray (; 503 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinIntegerArray (; 504 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -33485,7 +33486,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Uint16Array#join (; 504 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#join (; 505 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -33501,12 +33502,12 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/typedarray/Uint16Array#toString (; 505 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint16Array#toString (; 506 ;) (param $0 i32) (result i32) local.get $0 - i32.const 2416 + i32.const 2384 call $~lib/typedarray/Uint16Array#join ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint16Array,u16> (; 506 ;) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint16Array,u16> (; 507 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -33538,10 +33539,10 @@ i32.const 5 call $~lib/typedarray/Uint16Array#__set local.get $1 - i32.const 2416 + i32.const 2384 call $~lib/typedarray/Uint16Array#join local.tee $2 - i32.const 2448 + i32.const 2416 call $~lib/string/String.__eq i32.eqz if @@ -33555,7 +33556,7 @@ local.get $1 call $~lib/typedarray/Uint16Array#toString local.tee $3 - i32.const 2448 + i32.const 2416 call $~lib/string/String.__eq i32.eqz if @@ -33575,12 +33576,12 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/util/number/itoa (; 507 ;) (param $0 i32) (result i32) + (func $~lib/util/number/itoa (; 508 ;) (param $0 i32) (result i32) local.get $0 call $~lib/util/number/itoa32 return ) - (func $~lib/util/number/itoa_stream (; 508 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 509 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -33637,7 +33638,7 @@ end local.get $3 ) - (func $~lib/util/string/joinIntegerArray (; 509 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinIntegerArray (; 510 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -33780,7 +33781,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Int32Array#join (; 510 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#join (; 511 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -33796,12 +33797,12 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/typedarray/Int32Array#toString (; 511 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Int32Array#toString (; 512 ;) (param $0 i32) (result i32) local.get $0 - i32.const 2416 + i32.const 2384 call $~lib/typedarray/Int32Array#join ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int32Array,i32> (; 512 ;) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int32Array,i32> (; 513 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -33833,10 +33834,10 @@ i32.const 5 call $~lib/typedarray/Int32Array#__set local.get $1 - i32.const 2416 + i32.const 2384 call $~lib/typedarray/Int32Array#join local.tee $2 - i32.const 2448 + i32.const 2416 call $~lib/string/String.__eq i32.eqz if @@ -33850,7 +33851,7 @@ local.get $1 call $~lib/typedarray/Int32Array#toString local.tee $3 - i32.const 2448 + i32.const 2416 call $~lib/string/String.__eq i32.eqz if @@ -33870,12 +33871,12 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/util/number/itoa (; 513 ;) (param $0 i32) (result i32) + (func $~lib/util/number/itoa (; 514 ;) (param $0 i32) (result i32) local.get $0 call $~lib/util/number/utoa32 return ) - (func $~lib/util/number/itoa_stream (; 514 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_stream (; 515 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -33912,7 +33913,7 @@ call $~lib/util/number/utoa32_lut local.get $3 ) - (func $~lib/util/string/joinIntegerArray (; 515 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinIntegerArray (; 516 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -34055,7 +34056,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Uint32Array#join (; 516 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#join (; 517 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -34071,12 +34072,12 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/typedarray/Uint32Array#toString (; 517 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint32Array#toString (; 518 ;) (param $0 i32) (result i32) local.get $0 - i32.const 2416 + i32.const 2384 call $~lib/typedarray/Uint32Array#join ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint32Array,u32> (; 518 ;) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint32Array,u32> (; 519 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -34108,10 +34109,10 @@ i32.const 5 call $~lib/typedarray/Uint32Array#__set local.get $1 - i32.const 2416 + i32.const 2384 call $~lib/typedarray/Uint32Array#join local.tee $2 - i32.const 2448 + i32.const 2416 call $~lib/string/String.__eq i32.eqz if @@ -34125,7 +34126,7 @@ local.get $1 call $~lib/typedarray/Uint32Array#toString local.tee $3 - i32.const 2448 + i32.const 2416 call $~lib/string/String.__eq i32.eqz if @@ -34145,7 +34146,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/util/number/decimalCount64 (; 519 ;) (param $0 i64) (result i32) + (func $~lib/util/number/decimalCount64 (; 520 ;) (param $0 i64) (result i32) (local $1 i32) local.get $0 i64.const 1000000000000000 @@ -34218,80 +34219,76 @@ end unreachable ) - (func $~lib/util/number/utoa64_lut (; 520 ;) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/util/number/utoa64_lut (; 521 ;) (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i64) + (local $4 i64) + (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) + (local $12 i64) (local $13 i64) - (local $14 i64) - i32.const 2384 - i32.load offset=4 - local.set $3 loop $while-continue|0 local.get $1 i64.const 100000000 i64.ge_u - local.set $4 - local.get $4 + local.set $3 + local.get $3 if local.get $1 i64.const 100000000 i64.div_u - local.set $5 + local.set $4 local.get $1 - local.get $5 + local.get $4 i64.const 100000000 i64.mul i64.sub i32.wrap_i64 - local.set $6 - local.get $5 + local.set $5 + local.get $4 local.set $1 - local.get $6 + local.get $5 i32.const 10000 i32.div_u - local.set $7 - local.get $6 + local.set $6 + local.get $5 i32.const 10000 i32.rem_u - local.set $8 - local.get $7 + local.set $7 + local.get $6 i32.const 100 i32.div_u - local.set $9 - local.get $7 + local.set $8 + local.get $6 i32.const 100 i32.rem_u - local.set $10 - local.get $8 + local.set $9 + local.get $7 i32.const 100 i32.div_u - local.set $11 - local.get $8 + local.set $10 + local.get $7 i32.const 100 i32.rem_u - local.set $12 - local.get $3 - local.get $11 + local.set $11 + i32.const 1968 + local.get $10 i32.const 2 i32.shl i32.add i64.load32_u - local.set $13 - local.get $3 - local.get $12 + local.set $12 + i32.const 1968 + local.get $11 i32.const 2 i32.shl i32.add i64.load32_u - local.set $14 + local.set $13 local.get $2 i32.const 4 i32.sub @@ -34301,26 +34298,26 @@ i32.const 1 i32.shl i32.add + local.get $12 local.get $13 - local.get $14 i64.const 32 i64.shl i64.or i64.store - local.get $3 - local.get $9 + i32.const 1968 + local.get $8 i32.const 2 i32.shl i32.add i64.load32_u - local.set $13 - local.get $3 - local.get $10 + local.set $12 + i32.const 1968 + local.get $9 i32.const 2 i32.shl i32.add i64.load32_u - local.set $14 + local.set $13 local.get $2 i32.const 4 i32.sub @@ -34330,8 +34327,8 @@ i32.const 1 i32.shl i32.add + local.get $12 local.get $13 - local.get $14 i64.const 32 i64.shl i64.or @@ -34345,7 +34342,7 @@ local.get $2 call $~lib/util/number/utoa32_lut ) - (func $~lib/util/number/itoa64 (; 521 ;) (param $0 i64) (result i32) + (func $~lib/util/number/itoa64 (; 522 ;) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -34433,12 +34430,12 @@ local.get $2 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/itoa (; 522 ;) (param $0 i64) (result i32) + (func $~lib/util/number/itoa (; 523 ;) (param $0 i64) (result i32) local.get $0 call $~lib/util/number/itoa64 return ) - (func $~lib/util/number/itoa_stream (; 523 ;) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) + (func $~lib/util/number/itoa_stream (; 524 ;) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -34523,7 +34520,7 @@ end local.get $3 ) - (func $~lib/util/string/joinIntegerArray (; 524 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinIntegerArray (; 525 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -34666,7 +34663,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Int64Array#join (; 525 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#join (; 526 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -34682,12 +34679,12 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/typedarray/Int64Array#toString (; 526 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Int64Array#toString (; 527 ;) (param $0 i32) (result i32) local.get $0 - i32.const 2416 + i32.const 2384 call $~lib/typedarray/Int64Array#join ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int64Array,i64> (; 527 ;) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int64Array,i64> (; 528 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -34719,10 +34716,10 @@ i64.const 5 call $~lib/typedarray/Int64Array#__set local.get $1 - i32.const 2416 + i32.const 2384 call $~lib/typedarray/Int64Array#join local.tee $2 - i32.const 2448 + i32.const 2416 call $~lib/string/String.__eq i32.eqz if @@ -34736,7 +34733,7 @@ local.get $1 call $~lib/typedarray/Int64Array#toString local.tee $3 - i32.const 2448 + i32.const 2416 call $~lib/string/String.__eq i32.eqz if @@ -34756,7 +34753,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/util/number/utoa64 (; 528 ;) (param $0 i64) (result i32) + (func $~lib/util/number/utoa64 (; 529 ;) (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -34822,12 +34819,12 @@ local.get $1 call $~lib/rt/pure/__retain ) - (func $~lib/util/number/itoa (; 529 ;) (param $0 i64) (result i32) + (func $~lib/util/number/itoa (; 530 ;) (param $0 i64) (result i32) local.get $0 call $~lib/util/number/utoa64 return ) - (func $~lib/util/number/itoa_stream (; 530 ;) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) + (func $~lib/util/number/itoa_stream (; 531 ;) (param $0 i32) (param $1 i32) (param $2 i64) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -34890,7 +34887,7 @@ end local.get $3 ) - (func $~lib/util/string/joinIntegerArray (; 531 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinIntegerArray (; 532 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -35033,7 +35030,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Uint64Array#join (; 532 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint64Array#join (; 533 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -35049,12 +35046,12 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/typedarray/Uint64Array#toString (; 533 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Uint64Array#toString (; 534 ;) (param $0 i32) (result i32) local.get $0 - i32.const 2416 + i32.const 2384 call $~lib/typedarray/Uint64Array#join ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint64Array,u64> (; 534 ;) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint64Array,u64> (; 535 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -35086,10 +35083,10 @@ i64.const 5 call $~lib/typedarray/Uint64Array#__set local.get $1 - i32.const 2416 + i32.const 2384 call $~lib/typedarray/Uint64Array#join local.tee $2 - i32.const 2448 + i32.const 2416 call $~lib/string/String.__eq i32.eqz if @@ -35103,7 +35100,7 @@ local.get $1 call $~lib/typedarray/Uint64Array#toString local.tee $3 - i32.const 2448 + i32.const 2416 call $~lib/string/String.__eq i32.eqz if @@ -35123,25 +35120,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/array/Array#__unchecked_get (; 535 ;) (param $0 i32) (param $1 i32) (result i64) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load - ) - (func $~lib/array/Array#__unchecked_get (; 536 ;) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s - ) - (func $~lib/util/number/genDigits (; 537 ;) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (func $~lib/util/number/genDigits (; 536 ;) (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) (local $8 i64) (local $9 i64) @@ -35154,17 +35133,16 @@ (local $16 i32) (local $17 i32) (local $18 i32) - (local $19 i32) + (local $19 i64) (local $20 i64) (local $21 i64) (local $22 i64) (local $23 i64) - (local $24 i64) + (local $24 i32) (local $25 i32) (local $26 i32) (local $27 i32) - (local $28 i32) - (local $29 i64) + (local $28 i64) i32.const 0 local.get $4 i32.sub @@ -35199,15 +35177,12 @@ local.set $14 local.get $6 local.set $15 - i32.const 3680 - i32.load offset=4 - local.set $16 loop $while-continue|0 local.get $14 i32.const 0 i32.gt_s - local.set $17 - local.get $17 + local.set $16 + local.get $16 if block $break|1 block $case10|1 @@ -35222,44 +35197,44 @@ block $case1|1 block $case0|1 local.get $14 - local.set $19 - local.get $19 + local.set $18 + local.get $18 i32.const 10 i32.eq br_if $case0|1 - local.get $19 + local.get $18 i32.const 9 i32.eq br_if $case1|1 - local.get $19 + local.get $18 i32.const 8 i32.eq br_if $case2|1 - local.get $19 + local.get $18 i32.const 7 i32.eq br_if $case3|1 - local.get $19 + local.get $18 i32.const 6 i32.eq br_if $case4|1 - local.get $19 + local.get $18 i32.const 5 i32.eq br_if $case5|1 - local.get $19 + local.get $18 i32.const 4 i32.eq br_if $case6|1 - local.get $19 + local.get $18 i32.const 3 i32.eq br_if $case7|1 - local.get $19 + local.get $18 i32.const 2 i32.eq br_if $case8|1 - local.get $19 + local.get $18 i32.const 1 i32.eq br_if $case9|1 @@ -35268,7 +35243,7 @@ local.get $12 i32.const 1000000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 1000000000 i32.rem_u @@ -35278,7 +35253,7 @@ local.get $12 i32.const 100000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 100000000 i32.rem_u @@ -35288,7 +35263,7 @@ local.get $12 i32.const 10000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 10000000 i32.rem_u @@ -35298,7 +35273,7 @@ local.get $12 i32.const 1000000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 1000000 i32.rem_u @@ -35308,7 +35283,7 @@ local.get $12 i32.const 100000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 100000 i32.rem_u @@ -35318,7 +35293,7 @@ local.get $12 i32.const 10000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 10000 i32.rem_u @@ -35328,7 +35303,7 @@ local.get $12 i32.const 1000 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 1000 i32.rem_u @@ -35338,7 +35313,7 @@ local.get $12 i32.const 100 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 100 i32.rem_u @@ -35348,7 +35323,7 @@ local.get $12 i32.const 10 i32.div_u - local.set $18 + local.set $17 local.get $12 i32.const 10 i32.rem_u @@ -35356,31 +35331,31 @@ br $break|1 end local.get $12 - local.set $18 + local.set $17 i32.const 0 local.set $12 br $break|1 end i32.const 0 - local.set $18 + local.set $17 br $break|1 end - local.get $18 + local.get $17 local.get $15 i32.or if local.get $0 local.get $15 - local.tee $19 + local.tee $18 i32.const 1 i32.add local.set $15 - local.get $19 + local.get $18 i32.const 1 i32.shl i32.add i32.const 48 - local.get $18 + local.get $17 i32.const 65535 i32.and i32.add @@ -35397,8 +35372,8 @@ i64.shl local.get $13 i64.add - local.set $20 - local.get $20 + local.set $19 + local.get $19 local.get $5 i64.le_u if @@ -35407,14 +35382,14 @@ i32.add global.set $~lib/util/number/_K local.get $0 - local.set $25 + local.set $24 local.get $15 - local.set $19 + local.set $18 local.get $5 - local.set $24 - local.get $20 local.set $23 - local.get $16 + local.get $19 + local.set $22 + i32.const 3520 local.get $14 i32.const 2 i32.shl @@ -35423,71 +35398,71 @@ local.get $7 i64.extend_i32_s i64.shl - local.set $22 - local.get $10 local.set $21 - local.get $25 - local.get $19 + local.get $10 + local.set $20 + local.get $24 + local.get $18 i32.const 1 i32.sub i32.const 1 i32.shl i32.add - local.set $26 - local.get $26 + local.set $25 + local.get $25 i32.load16_u - local.set $27 + local.set $26 loop $while-continue|3 - local.get $23 - local.get $21 + local.get $22 + local.get $20 i64.lt_u if (result i32) - local.get $24 local.get $23 - i64.sub local.get $22 + i64.sub + local.get $21 i64.ge_u else i32.const 0 end if (result i32) - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.lt_u if (result i32) i32.const 1 else - local.get $21 - local.get $23 + local.get $20 + local.get $22 i64.sub - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.sub i64.gt_u end else i32.const 0 end - local.set $28 - local.get $28 + local.set $27 + local.get $27 if - local.get $27 + local.get $26 i32.const 1 i32.sub - local.set $27 - local.get $23 + local.set $26 local.get $22 + local.get $21 i64.add - local.set $23 + local.set $22 br $while-continue|3 end end + local.get $25 local.get $26 - local.get $27 i32.store16 local.get $15 return @@ -35497,8 +35472,8 @@ end loop $while-continue|4 i32.const 1 - local.set $17 - local.get $17 + local.set $16 + local.get $16 if local.get $13 i64.const 10 @@ -35512,8 +35487,8 @@ local.get $7 i64.extend_i32_s i64.shr_u - local.set $24 - local.get $24 + local.set $23 + local.get $23 local.get $15 i64.extend_i32_s i64.or @@ -35522,16 +35497,16 @@ if local.get $0 local.get $15 - local.tee $27 + local.tee $26 i32.const 1 i32.add local.set $15 - local.get $27 + local.get $26 i32.const 1 i32.shl i32.add i32.const 48 - local.get $24 + local.get $23 i32.wrap_i64 i32.const 65535 i32.and @@ -35555,7 +35530,7 @@ i32.add global.set $~lib/util/number/_K local.get $10 - local.get $16 + i32.const 3520 i32.const 0 local.get $14 i32.sub @@ -35566,79 +35541,79 @@ i64.mul local.set $10 local.get $0 - local.set $19 + local.set $18 local.get $15 - local.set $28 + local.set $27 local.get $5 - local.set $29 + local.set $28 local.get $13 - local.set $23 - local.get $8 local.set $22 - local.get $10 + local.get $8 local.set $21 - local.get $19 - local.get $28 + local.get $10 + local.set $20 + local.get $18 + local.get $27 i32.const 1 i32.sub i32.const 1 i32.shl i32.add - local.set $27 - local.get $27 - i32.load16_u local.set $26 + local.get $26 + i32.load16_u + local.set $25 loop $while-continue|6 - local.get $23 - local.get $21 + local.get $22 + local.get $20 i64.lt_u if (result i32) - local.get $29 - local.get $23 - i64.sub + local.get $28 local.get $22 + i64.sub + local.get $21 i64.ge_u else i32.const 0 end if (result i32) - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.lt_u if (result i32) i32.const 1 else - local.get $21 - local.get $23 + local.get $20 + local.get $22 i64.sub - local.get $23 local.get $22 - i64.add local.get $21 + i64.add + local.get $20 i64.sub i64.gt_u end else i32.const 0 end - local.set $25 - local.get $25 + local.set $24 + local.get $24 if - local.get $26 + local.get $25 i32.const 1 i32.sub - local.set $26 - local.get $23 + local.set $25 local.get $22 + local.get $21 i64.add - local.set $23 + local.set $22 br $while-continue|6 end end - local.get $27 local.get $26 + local.get $25 i32.store16 local.get $15 return @@ -35648,7 +35623,7 @@ end local.get $15 ) - (func $~lib/util/number/prettify (; 538 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/prettify (; 537 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -35965,7 +35940,7 @@ end unreachable ) - (func $~lib/util/number/dtoa_core (; 539 ;) (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/number/dtoa_core (; 538 ;) (param $0 i32) (param $1 f64) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -36130,13 +36105,19 @@ i32.shl i32.sub global.set $~lib/util/number/_K - i32.const 3360 + i32.const 2608 local.get $14 - call $~lib/array/Array#__unchecked_get + i32.const 3 + i32.shl + i32.add + i64.load global.set $~lib/util/number/_frc_pow - i32.const 3584 + i32.const 3328 local.get $14 - call $~lib/array/Array#__unchecked_get + i32.const 1 + i32.shl + i32.add + i32.load16_s global.set $~lib/util/number/_exp_pow local.get $9 i64.clz @@ -36387,7 +36368,7 @@ local.get $2 i32.add ) - (func $~lib/util/number/dtoa (; 540 ;) (param $0 f64) (result i32) + (func $~lib/util/number/dtoa (; 539 ;) (param $0 f64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -36395,7 +36376,7 @@ f64.const 0 f64.eq if - i32.const 2496 + i32.const 2464 return end local.get $0 @@ -36409,11 +36390,11 @@ local.get $0 f64.ne if - i32.const 2528 + i32.const 2496 return end - i32.const 2560 - i32.const 2608 + i32.const 2528 + i32.const 2576 local.get $0 f64.const 0 f64.lt @@ -36448,7 +36429,7 @@ call $~lib/rt/tlsf/__free local.get $3 ) - (func $~lib/util/number/dtoa_stream (; 541 ;) (param $0 i32) (param $1 i32) (param $2 f64) (result i32) + (func $~lib/util/number/dtoa_stream (; 540 ;) (param $0 i32) (param $1 i32) (param $2 f64) (result i32) (local $3 i32) (local $4 i32) local.get $0 @@ -36505,8 +36486,8 @@ i32.add local.set $4 local.get $0 - i32.const 2560 - i32.const 2608 + i32.const 2528 + i32.const 2576 local.get $3 select local.get $4 @@ -36522,7 +36503,7 @@ local.get $2 call $~lib/util/number/dtoa_core ) - (func $~lib/util/string/joinFloatArray (; 542 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinFloatArray (; 541 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -36668,7 +36649,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Float32Array#join (; 543 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#join (; 542 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -36684,12 +36665,12 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/typedarray/Float32Array#toString (; 544 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Float32Array#toString (; 543 ;) (param $0 i32) (result i32) local.get $0 - i32.const 2416 + i32.const 2384 call $~lib/typedarray/Float32Array#join ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float32Array,f32> (; 545 ;) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float32Array,f32> (; 544 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -36721,10 +36702,10 @@ f32.const 5 call $~lib/typedarray/Float32Array#__set local.get $1 - i32.const 2416 + i32.const 2384 call $~lib/typedarray/Float32Array#join local.tee $2 - i32.const 3712 + i32.const 3584 call $~lib/string/String.__eq i32.eqz if @@ -36738,7 +36719,7 @@ local.get $1 call $~lib/typedarray/Float32Array#toString local.tee $3 - i32.const 3712 + i32.const 3584 call $~lib/string/String.__eq i32.eqz if @@ -36758,7 +36739,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/util/string/joinFloatArray (; 546 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinFloatArray (; 545 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -36901,7 +36882,7 @@ call $~lib/rt/pure/__release local.get $4 ) - (func $~lib/typedarray/Float64Array#join (; 547 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#join (; 546 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 call $~lib/rt/pure/__retain @@ -36917,12 +36898,12 @@ call $~lib/rt/pure/__release local.get $2 ) - (func $~lib/typedarray/Float64Array#toString (; 548 ;) (param $0 i32) (result i32) + (func $~lib/typedarray/Float64Array#toString (; 547 ;) (param $0 i32) (result i32) local.get $0 - i32.const 2416 + i32.const 2384 call $~lib/typedarray/Float64Array#join ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float64Array,f64> (; 549 ;) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float64Array,f64> (; 548 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -36954,10 +36935,10 @@ f64.const 5 call $~lib/typedarray/Float64Array#__set local.get $1 - i32.const 2416 + i32.const 2384 call $~lib/typedarray/Float64Array#join local.tee $2 - i32.const 3712 + i32.const 3584 call $~lib/string/String.__eq i32.eqz if @@ -36971,7 +36952,7 @@ local.get $1 call $~lib/typedarray/Float64Array#toString local.tee $3 - i32.const 3712 + i32.const 3584 call $~lib/string/String.__eq i32.eqz if @@ -36991,7 +36972,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (; 550 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#constructor (; 549 ;) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 i32.const 1073741808 @@ -37015,13 +36996,13 @@ local.get $2 call $~lib/rt/pure/__retain ) - (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 551 ;) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (; 550 ;) (param $0 i32) (result i32) local.get $0 i32.const 16 i32.sub i32.load offset=12 ) - (func $~lib/typedarray/Uint8Array.wrap (; 552 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8Array.wrap (; 551 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -37142,7 +37123,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $~lib/typedarray/Uint8Array.wrap|trampoline (; 553 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8Array.wrap|trampoline (; 552 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $2of2 block $1of2 block $0of2 @@ -37165,7 +37146,7 @@ local.get $2 call $~lib/typedarray/Uint8Array.wrap ) - (func $~lib/arraybuffer/ArrayBuffer#slice (; 554 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#slice (; 553 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -37248,7 +37229,7 @@ local.get $7 call $~lib/rt/pure/__retain ) - (func $~lib/typedarray/Int8Array.wrap (; 555 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int8Array.wrap (; 554 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -37369,7 +37350,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $~lib/typedarray/Int8Array.wrap|trampoline (; 556 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int8Array.wrap|trampoline (; 555 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $2of2 block $1of2 block $0of2 @@ -37392,7 +37373,7 @@ local.get $2 call $~lib/typedarray/Int8Array.wrap ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8> (; 557 ;) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8> (; 556 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -37506,7 +37487,7 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8Array,u8> (; 558 ;) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8Array,u8> (; 557 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -37618,7 +37599,7 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8ClampedArray.wrap (; 559 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray.wrap (; 558 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -37739,7 +37720,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $~lib/typedarray/Uint8ClampedArray.wrap|trampoline (; 560 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray.wrap|trampoline (; 559 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $2of2 block $1of2 block $0of2 @@ -37762,7 +37743,7 @@ local.get $2 call $~lib/typedarray/Uint8ClampedArray.wrap ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8> (; 561 ;) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8> (; 560 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -37874,7 +37855,7 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int16Array.wrap (; 562 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int16Array.wrap (; 561 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -37995,7 +37976,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $~lib/typedarray/Int16Array.wrap|trampoline (; 563 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int16Array.wrap|trampoline (; 562 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $2of2 block $1of2 block $0of2 @@ -38018,7 +37999,7 @@ local.get $2 call $~lib/typedarray/Int16Array.wrap ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16> (; 564 ;) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16> (; 563 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -38132,7 +38113,7 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint16Array.wrap (; 565 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint16Array.wrap (; 564 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -38253,7 +38234,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $~lib/typedarray/Uint16Array.wrap|trampoline (; 566 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint16Array.wrap|trampoline (; 565 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $2of2 block $1of2 block $0of2 @@ -38276,7 +38257,7 @@ local.get $2 call $~lib/typedarray/Uint16Array.wrap ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16> (; 567 ;) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16> (; 566 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -38388,7 +38369,7 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int32Array.wrap (; 568 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int32Array.wrap (; 567 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -38509,7 +38490,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $~lib/typedarray/Int32Array.wrap|trampoline (; 569 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int32Array.wrap|trampoline (; 568 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $2of2 block $1of2 block $0of2 @@ -38532,7 +38513,7 @@ local.get $2 call $~lib/typedarray/Int32Array.wrap ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32> (; 570 ;) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32> (; 569 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -38642,7 +38623,7 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint32Array.wrap (; 571 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint32Array.wrap (; 570 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -38763,7 +38744,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $~lib/typedarray/Uint32Array.wrap|trampoline (; 572 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint32Array.wrap|trampoline (; 571 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $2of2 block $1of2 block $0of2 @@ -38786,7 +38767,7 @@ local.get $2 call $~lib/typedarray/Uint32Array.wrap ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32> (; 573 ;) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32> (; 572 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -38896,7 +38877,7 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int64Array.wrap (; 574 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int64Array.wrap (; 573 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -39017,7 +38998,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $~lib/typedarray/Int64Array.wrap|trampoline (; 575 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int64Array.wrap|trampoline (; 574 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $2of2 block $1of2 block $0of2 @@ -39040,7 +39021,7 @@ local.get $2 call $~lib/typedarray/Int64Array.wrap ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64> (; 576 ;) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64> (; 575 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -39151,7 +39132,7 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint64Array.wrap (; 577 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint64Array.wrap (; 576 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -39272,7 +39253,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $~lib/typedarray/Uint64Array.wrap|trampoline (; 578 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint64Array.wrap|trampoline (; 577 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $2of2 block $1of2 block $0of2 @@ -39295,7 +39276,7 @@ local.get $2 call $~lib/typedarray/Uint64Array.wrap ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64> (; 579 ;) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64> (; 578 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -39406,7 +39387,7 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float32Array.wrap (; 580 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Float32Array.wrap (; 579 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -39527,7 +39508,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $~lib/typedarray/Float32Array.wrap|trampoline (; 581 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Float32Array.wrap|trampoline (; 580 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $2of2 block $1of2 block $0of2 @@ -39550,7 +39531,7 @@ local.get $2 call $~lib/typedarray/Float32Array.wrap ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32> (; 582 ;) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32> (; 581 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -39661,7 +39642,7 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float64Array.wrap (; 583 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Float64Array.wrap (; 582 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -39782,7 +39763,7 @@ call $~lib/rt/pure/__release local.get $8 ) - (func $~lib/typedarray/Float64Array.wrap|trampoline (; 584 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Float64Array.wrap|trampoline (; 583 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) block $2of2 block $1of2 block $0of2 @@ -39805,7 +39786,7 @@ local.get $2 call $~lib/typedarray/Float64Array.wrap ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64> (; 585 ;) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64> (; 584 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -39916,7 +39897,7 @@ local.get $7 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (; 586 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (; 585 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -40018,7 +39999,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> (; 587 ;) (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> (; 586 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -40067,7 +40048,7 @@ local.get $6 i32.ne if - i32.const 4176 + i32.const 4048 i32.const 3 local.get $3 f64.convert_i32_s @@ -40101,11 +40082,11 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/array/Array#get:length (; 588 ;) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 587 ;) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (; 589 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (; 588 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -40220,7 +40201,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> (; 590 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> (; 589 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -40322,11 +40303,11 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/array/Array#get:length (; 591 ;) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 590 ;) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (; 592 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (; 591 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -40441,7 +40422,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> (; 593 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> (; 592 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -40508,7 +40489,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> (; 594 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> (; 593 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -40610,7 +40591,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (; 595 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (; 594 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -40677,7 +40658,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> (; 596 ;) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> (; 595 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -40754,7 +40735,7 @@ i32.const 10 i32.const 0 i32.const 14 - i32.const 4144 + i32.const 4016 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $6 @@ -40767,7 +40748,7 @@ i32.const 10 i32.const 0 i32.const 14 - i32.const 4224 + i32.const 4096 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $7 @@ -40780,7 +40761,7 @@ i32.const 10 i32.const 0 i32.const 14 - i32.const 4256 + i32.const 4128 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $8 @@ -40793,7 +40774,7 @@ i32.const 10 i32.const 0 i32.const 14 - i32.const 4288 + i32.const 4160 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $9 @@ -40816,7 +40797,7 @@ i32.const 10 i32.const 0 i32.const 14 - i32.const 4320 + i32.const 4192 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $5 @@ -40840,7 +40821,7 @@ local.get $8 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (; 597 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (; 596 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -40942,11 +40923,11 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/array/Array#get:length (; 598 ;) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 597 ;) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__unchecked_get (; 599 ;) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__unchecked_get (; 598 ;) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 local.get $1 @@ -40955,7 +40936,7 @@ i32.add i32.load8_u ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> (; 600 ;) (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> (; 599 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -41004,7 +40985,7 @@ local.get $6 i32.ne if - i32.const 4384 + i32.const 4256 i32.const 3 local.get $3 f64.convert_i32_s @@ -41038,7 +41019,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (; 601 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (; 600 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -41153,7 +41134,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int64Array> (; 602 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int64Array> (; 601 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -41255,7 +41236,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (; 603 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (; 602 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -41370,7 +41351,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8Array#set<~lib/typedarray/Uint8Array> (; 604 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#set<~lib/typedarray/Uint8Array> (; 603 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -41437,7 +41418,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int16Array> (; 605 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int16Array> (; 604 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -41539,7 +41520,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (; 606 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (; 605 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -41606,7 +41587,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> (; 607 ;) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> (; 606 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -41683,7 +41664,7 @@ i32.const 10 i32.const 0 i32.const 21 - i32.const 4352 + i32.const 4224 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $6 @@ -41696,7 +41677,7 @@ i32.const 10 i32.const 0 i32.const 21 - i32.const 4432 + i32.const 4304 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $7 @@ -41709,7 +41690,7 @@ i32.const 10 i32.const 0 i32.const 21 - i32.const 4464 + i32.const 4336 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $8 @@ -41722,7 +41703,7 @@ i32.const 10 i32.const 0 i32.const 21 - i32.const 4496 + i32.const 4368 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $9 @@ -41745,7 +41726,7 @@ i32.const 10 i32.const 0 i32.const 21 - i32.const 4528 + i32.const 4400 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $5 @@ -41769,7 +41750,7 @@ local.get $8 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (; 608 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (; 607 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -41886,7 +41867,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> (; 609 ;) (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> (; 608 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -41935,7 +41916,7 @@ local.get $6 i32.ne if - i32.const 4592 + i32.const 4464 i32.const 3 local.get $3 f64.convert_i32_s @@ -41969,7 +41950,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (; 610 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (; 609 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -42088,7 +42069,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> (; 611 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> (; 610 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -42209,7 +42190,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (; 612 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (; 611 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -42328,7 +42309,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint8Array> (; 613 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint8Array> (; 612 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -42395,7 +42376,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> (; 614 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> (; 613 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -42512,7 +42493,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (; 615 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (; 614 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -42629,7 +42610,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> (; 616 ;) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> (; 615 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -42706,7 +42687,7 @@ i32.const 10 i32.const 0 i32.const 21 - i32.const 4560 + i32.const 4432 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $6 @@ -42719,7 +42700,7 @@ i32.const 10 i32.const 0 i32.const 21 - i32.const 4656 + i32.const 4528 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $7 @@ -42732,7 +42713,7 @@ i32.const 10 i32.const 0 i32.const 21 - i32.const 4688 + i32.const 4560 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $8 @@ -42745,7 +42726,7 @@ i32.const 10 i32.const 0 i32.const 21 - i32.const 4720 + i32.const 4592 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $9 @@ -42768,7 +42749,7 @@ i32.const 10 i32.const 0 i32.const 21 - i32.const 4752 + i32.const 4624 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $5 @@ -42792,7 +42773,7 @@ local.get $8 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (; 617 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (; 616 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -42894,10 +42875,19 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/array/Array#get:length (; 618 ;) (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (; 617 ;) (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) + (func $~lib/array/Array#__unchecked_get (; 618 ;) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_s + ) (func $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> (; 619 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -42947,7 +42937,7 @@ local.get $6 i32.ne if - i32.const 4832 + i32.const 4704 i32.const 3 local.get $3 f64.convert_i32_s @@ -43660,8 +43650,8 @@ local.get $4 i32.const 10 i32.const 1 - i32.const 18 - i32.const 4784 + i32.const 22 + i32.const 4656 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $6 @@ -43673,8 +43663,8 @@ local.get $4 i32.const 10 i32.const 1 - i32.const 18 - i32.const 4880 + i32.const 22 + i32.const 4752 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $7 @@ -43686,8 +43676,8 @@ local.get $4 i32.const 10 i32.const 1 - i32.const 18 - i32.const 4928 + i32.const 22 + i32.const 4800 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $8 @@ -43699,8 +43689,8 @@ local.get $4 i32.const 10 i32.const 1 - i32.const 18 - i32.const 4976 + i32.const 22 + i32.const 4848 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $9 @@ -43722,8 +43712,8 @@ local.get $4 i32.const 10 i32.const 1 - i32.const 18 - i32.const 5024 + i32.const 22 + i32.const 4896 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $5 @@ -43911,7 +43901,7 @@ local.get $6 i32.ne if - i32.const 5120 + i32.const 4992 i32.const 3 local.get $3 f64.convert_i32_s @@ -44624,8 +44614,8 @@ local.get $4 i32.const 10 i32.const 1 - i32.const 22 - i32.const 5072 + i32.const 23 + i32.const 4944 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $6 @@ -44637,8 +44627,8 @@ local.get $4 i32.const 10 i32.const 1 - i32.const 22 - i32.const 5168 + i32.const 23 + i32.const 5040 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $7 @@ -44650,8 +44640,8 @@ local.get $4 i32.const 10 i32.const 1 - i32.const 22 - i32.const 5216 + i32.const 23 + i32.const 5088 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $8 @@ -44663,8 +44653,8 @@ local.get $4 i32.const 10 i32.const 1 - i32.const 22 - i32.const 5264 + i32.const 23 + i32.const 5136 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $9 @@ -44686,8 +44676,8 @@ local.get $4 i32.const 10 i32.const 1 - i32.const 22 - i32.const 5312 + i32.const 23 + i32.const 5184 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $5 @@ -44827,7 +44817,7 @@ local.get $6 i32.ne if - i32.const 5424 + i32.const 5296 i32.const 3 local.get $3 f64.convert_i32_s @@ -45576,7 +45566,7 @@ i32.const 10 i32.const 2 i32.const 15 - i32.const 5360 + i32.const 5232 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $6 @@ -45589,7 +45579,7 @@ i32.const 10 i32.const 2 i32.const 15 - i32.const 5472 + i32.const 5344 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $7 @@ -45602,7 +45592,7 @@ i32.const 10 i32.const 2 i32.const 15 - i32.const 5536 + i32.const 5408 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $8 @@ -45615,7 +45605,7 @@ i32.const 10 i32.const 2 i32.const 15 - i32.const 5600 + i32.const 5472 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $9 @@ -45638,7 +45628,7 @@ i32.const 10 i32.const 2 i32.const 15 - i32.const 5664 + i32.const 5536 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $5 @@ -45791,7 +45781,7 @@ local.get $6 i32.ne if - i32.const 5792 + i32.const 5664 i32.const 3 local.get $3 f64.convert_i32_s @@ -46539,8 +46529,8 @@ local.get $4 i32.const 10 i32.const 2 - i32.const 16 - i32.const 5728 + i32.const 24 + i32.const 5600 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $6 @@ -46552,8 +46542,8 @@ local.get $4 i32.const 10 i32.const 2 - i32.const 16 - i32.const 5840 + i32.const 24 + i32.const 5712 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $7 @@ -46565,8 +46555,8 @@ local.get $4 i32.const 10 i32.const 2 - i32.const 16 - i32.const 5904 + i32.const 24 + i32.const 5776 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $8 @@ -46578,8 +46568,8 @@ local.get $4 i32.const 10 i32.const 2 - i32.const 16 - i32.const 5968 + i32.const 24 + i32.const 5840 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $9 @@ -46601,8 +46591,8 @@ local.get $4 i32.const 10 i32.const 2 - i32.const 16 - i32.const 6032 + i32.const 24 + i32.const 5904 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $5 @@ -46790,7 +46780,7 @@ local.get $6 i64.ne if - i32.const 6192 + i32.const 6064 i32.const 3 local.get $3 f64.convert_i32_s @@ -47503,8 +47493,8 @@ local.get $4 i32.const 10 i32.const 3 - i32.const 23 - i32.const 6096 + i32.const 25 + i32.const 5968 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $6 @@ -47516,8 +47506,8 @@ local.get $4 i32.const 10 i32.const 3 - i32.const 23 - i32.const 6240 + i32.const 25 + i32.const 6112 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $7 @@ -47529,8 +47519,8 @@ local.get $4 i32.const 10 i32.const 3 - i32.const 23 - i32.const 6336 + i32.const 25 + i32.const 6208 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $8 @@ -47542,8 +47532,8 @@ local.get $4 i32.const 10 i32.const 3 - i32.const 23 - i32.const 6432 + i32.const 25 + i32.const 6304 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $9 @@ -47565,8 +47555,8 @@ local.get $4 i32.const 10 i32.const 3 - i32.const 23 - i32.const 6528 + i32.const 25 + i32.const 6400 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $5 @@ -47696,7 +47686,16 @@ local.get $0 i32.load offset=12 ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> (; 671 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__unchecked_get (; 671 ;) (param $0 i32) (param $1 i32) (result i64) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> (; 672 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -47745,7 +47744,7 @@ local.get $6 i64.ne if - i32.const 6720 + i32.const 6592 i32.const 3 local.get $3 f64.convert_i32_s @@ -47779,7 +47778,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (; 672 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (; 673 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -47894,7 +47893,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint64Array#set<~lib/typedarray/Int64Array> (; 673 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint64Array#set<~lib/typedarray/Int64Array> (; 674 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -47961,7 +47960,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (; 674 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (; 675 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -48076,7 +48075,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint64Array#set<~lib/typedarray/Uint8Array> (; 675 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint64Array#set<~lib/typedarray/Uint8Array> (; 676 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -48178,7 +48177,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint64Array#set<~lib/typedarray/Int16Array> (; 676 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint64Array#set<~lib/typedarray/Int16Array> (; 677 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -48280,7 +48279,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (; 677 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (; 678 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -48382,7 +48381,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint64Array> (; 678 ;) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint64Array> (; 679 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -48458,8 +48457,8 @@ local.get $4 i32.const 10 i32.const 3 - i32.const 17 - i32.const 6624 + i32.const 26 + i32.const 6496 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $6 @@ -48471,8 +48470,8 @@ local.get $4 i32.const 10 i32.const 3 - i32.const 17 - i32.const 6768 + i32.const 26 + i32.const 6640 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $7 @@ -48484,8 +48483,8 @@ local.get $4 i32.const 10 i32.const 3 - i32.const 17 - i32.const 6864 + i32.const 26 + i32.const 6736 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $8 @@ -48497,8 +48496,8 @@ local.get $4 i32.const 10 i32.const 3 - i32.const 17 - i32.const 6960 + i32.const 26 + i32.const 6832 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $9 @@ -48520,8 +48519,8 @@ local.get $4 i32.const 10 i32.const 3 - i32.const 17 - i32.const 7056 + i32.const 26 + i32.const 6928 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $5 @@ -48545,7 +48544,7 @@ local.get $8 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float32Array#set<~lib/array/Array> (; 679 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float32Array#set<~lib/array/Array> (; 680 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -48648,7 +48647,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/array/Array#__unchecked_get (; 680 ;) (param $0 i32) (param $1 i32) (result f32) + (func $~lib/array/Array#__unchecked_get (; 681 ;) (param $0 i32) (param $1 i32) (result f32) local.get $0 i32.load offset=4 local.get $1 @@ -48657,7 +48656,7 @@ i32.add f32.load ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> (; 681 ;) (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> (; 682 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -48706,7 +48705,7 @@ local.get $6 f32.ne if - i32.const 7216 + i32.const 7088 i32.const 3 local.get $3 f64.convert_i32_s @@ -48740,7 +48739,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float32Array#set<~lib/array/Array> (; 682 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float32Array#set<~lib/array/Array> (; 683 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -48807,7 +48806,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float32Array#set<~lib/typedarray/Int64Array> (; 683 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float32Array#set<~lib/typedarray/Int64Array> (; 684 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -48910,7 +48909,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float32Array#set<~lib/typedarray/Uint8Array> (; 684 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float32Array#set<~lib/typedarray/Uint8Array> (; 685 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -49013,7 +49012,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float32Array#set<~lib/typedarray/Int16Array> (; 685 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float32Array#set<~lib/typedarray/Int16Array> (; 686 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -49116,7 +49115,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float32Array#set<~lib/array/Array> (; 686 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float32Array#set<~lib/array/Array> (; 687 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -49219,7 +49218,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float32Array> (; 687 ;) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float32Array> (; 688 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -49296,7 +49295,7 @@ i32.const 10 i32.const 2 i32.const 19 - i32.const 7152 + i32.const 7024 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $6 @@ -49309,7 +49308,7 @@ i32.const 10 i32.const 2 i32.const 19 - i32.const 7264 + i32.const 7136 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $7 @@ -49322,7 +49321,7 @@ i32.const 10 i32.const 2 i32.const 19 - i32.const 7328 + i32.const 7200 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $8 @@ -49343,7 +49342,7 @@ i32.const 10 i32.const 2 i32.const 19 - i32.const 7392 + i32.const 7264 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $9 @@ -49367,7 +49366,7 @@ local.get $8 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (; 688 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (; 689 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -49470,7 +49469,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/array/Array#__unchecked_get (; 689 ;) (param $0 i32) (param $1 i32) (result f64) + (func $~lib/array/Array#__unchecked_get (; 690 ;) (param $0 i32) (param $1 i32) (result f64) local.get $0 i32.load offset=4 local.get $1 @@ -49479,7 +49478,7 @@ i32.add f64.load ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> (; 690 ;) (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> (; 691 ;) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -49528,7 +49527,7 @@ local.get $6 f64.ne if - i32.const 7552 + i32.const 7424 i32.const 3 local.get $3 f64.convert_i32_s @@ -49560,7 +49559,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (; 691 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (; 692 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -49663,7 +49662,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Int64Array> (; 692 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Int64Array> (; 693 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -49766,7 +49765,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Uint8Array> (; 693 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Uint8Array> (; 694 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -49869,7 +49868,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Int16Array> (; 694 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Int16Array> (; 695 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -49972,7 +49971,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (; 695 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (; 696 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -50075,7 +50074,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float64Array> (; 696 ;) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float64Array> (; 697 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -50152,7 +50151,7 @@ i32.const 10 i32.const 3 i32.const 20 - i32.const 7456 + i32.const 7328 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $6 @@ -50165,7 +50164,7 @@ i32.const 10 i32.const 3 i32.const 20 - i32.const 7600 + i32.const 7472 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $7 @@ -50178,7 +50177,7 @@ i32.const 10 i32.const 3 i32.const 20 - i32.const 7696 + i32.const 7568 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $8 @@ -50199,7 +50198,7 @@ i32.const 10 i32.const 3 i32.const 20 - i32.const 7792 + i32.const 7664 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $9 @@ -50223,7 +50222,7 @@ local.get $8 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Float32Array> (; 697 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Float32Array> (; 698 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -50342,7 +50341,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int32Array> (; 698 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int32Array> (; 699 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -50459,7 +50458,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint32Array> (; 699 ;) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint32Array> (; 700 ;) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -50573,7 +50572,7 @@ local.get $1 call $~lib/rt/pure/__release ) - (func $start:std/typedarray (; 700 ;) + (func $start:std/typedarray (; 701 ;) (local $0 i32) (local $1 i32) (local $2 i32) @@ -52743,7 +52742,7 @@ i32.const 10 i32.const 0 i32.const 21 - i32.const 7888 + i32.const 7760 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $23 @@ -52800,7 +52799,7 @@ i32.const 10 i32.const 0 i32.const 21 - i32.const 7920 + i32.const 7792 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain local.tee $20 @@ -52822,7 +52821,7 @@ local.get $20 call $~lib/rt/pure/__release ) - (func $~start (; 701 ;) + (func $~start (; 702 ;) global.get $~started if return @@ -52832,10 +52831,10 @@ end call $start:std/typedarray ) - (func $~lib/rt/pure/__collect (; 702 ;) + (func $~lib/rt/pure/__collect (; 703 ;) return ) - (func $~lib/rt/pure/decrement (; 703 ;) (param $0 i32) + (func $~lib/rt/pure/decrement (; 704 ;) (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 @@ -52912,7 +52911,7 @@ i32.store offset=4 end ) - (func $~lib/rt/pure/__visit (; 704 ;) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 705 ;) (param $0 i32) (param $1 i32) local.get $0 global.get $~lib/heap/__heap_base i32.lt_u @@ -52936,110 +52935,137 @@ i32.sub call $~lib/rt/pure/decrement ) - (func $~lib/array/Array#__visit_impl (; 705 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 706 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 706 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 707 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 707 ;) (param $0 i32) (param $1 i32) + (func $~lib/staticarray/StaticArray#__visit_impl (; 708 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 708 ;) (param $0 i32) (param $1 i32) + (func $~lib/staticarray/StaticArray#__visit_impl (; 709 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 709 ;) (param $0 i32) (param $1 i32) + (func $~lib/staticarray/StaticArray#__visit_impl (; 710 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 710 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 711 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 711 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 712 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 712 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 713 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 713 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 714 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/array/Array#__visit_impl (; 714 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 715 ;) (param $0 i32) (param $1 i32) nop ) - (func $~lib/rt/__visit_members (; 715 ;) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 716 ;) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/array/Array#__visit_impl (; 717 ;) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/array/Array#__visit_impl (; 718 ;) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/rt/__visit_members (; 719 ;) (param $0 i32) (param $1 i32) (local $2 i32) block $block$4$break block $switch$1$default - block $switch$1$case$25 - block $switch$1$case$24 - block $switch$1$case$23 - block $switch$1$case$22 - block $switch$1$case$21 - block $switch$1$case$20 - block $switch$1$case$19 - block $switch$1$case$18 - block $switch$1$case$17 - block $switch$1$case$16 - block $switch$1$case$4 - block $switch$1$case$2 + block $switch$1$case$28 + block $switch$1$case$27 + block $switch$1$case$26 + block $switch$1$case$25 + block $switch$1$case$24 + block $switch$1$case$23 + block $switch$1$case$22 + block $switch$1$case$21 + block $switch$1$case$20 + block $switch$1$case$19 + block $switch$1$case$18 + block $switch$1$case$17 + block $switch$1$case$16 + block $switch$1$case$4 + block $switch$1$case$2 + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$16 $switch$1$case$17 $switch$1$case$18 $switch$1$case$19 $switch$1$case$20 $switch$1$case$21 $switch$1$case$22 $switch$1$case$23 $switch$1$case$24 $switch$1$case$25 $switch$1$case$26 $switch$1$case$27 $switch$1$case$28 $switch$1$default + end + return + end + br $block$4$break + end local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $switch$1$case$2 $switch$1$case$2 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$4 $switch$1$case$16 $switch$1$case$17 $switch$1$case$18 $switch$1$case$19 $switch$1$case$20 $switch$1$case$21 $switch$1$case$22 $switch$1$case$23 $switch$1$case$24 $switch$1$case$25 $switch$1$default + local.get $1 + call $~lib/array/Array#__visit_impl + br $block$4$break end - return + local.get $0 + local.get $1 + call $~lib/array/Array#__visit_impl + br $block$4$break end - br $block$4$break + local.get $0 + local.get $1 + call $~lib/staticarray/StaticArray#__visit_impl + return end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl - br $block$4$break + call $~lib/staticarray/StaticArray#__visit_impl + return end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl - br $block$4$break + call $~lib/staticarray/StaticArray#__visit_impl + return end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl + call $~lib/array/Array#__visit_impl br $block$4$break end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl + call $~lib/array/Array#__visit_impl br $block$4$break end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl + call $~lib/array/Array#__visit_impl br $block$4$break end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl + call $~lib/array/Array#__visit_impl br $block$4$break end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl + call $~lib/array/Array#__visit_impl br $block$4$break end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl + call $~lib/array/Array#__visit_impl br $block$4$break end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl + call $~lib/array/Array#__visit_impl br $block$4$break end local.get $0 local.get $1 - call $~lib/array/Array#__visit_impl + call $~lib/array/Array#__visit_impl br $block$4$break end unreachable