Update dependencies (#93)

This commit is contained in:
Max Graey 2018-05-03 19:25:32 +03:00 committed by Daniel Wirtz
parent 061976ee0c
commit 8997561670
9 changed files with 405 additions and 391 deletions

View File

@ -150,7 +150,7 @@ function asmFunc(global, env, buffer) {
function $lib_array_Array_Body__constructor($0, $1) {
$0 = $0 | 0;
$1 = $1 | 0;
var $2 = 0, $3 = 0, $4 = 0, $5 = 0;
var $2 = 0, $3 = 0, $4 = 0;
if ($1 >>> 0 > 268435454 >>> 0) {
abort(0 | 0, 4 | 0, 23 | 0, 39 | 0);
abort();
@ -160,13 +160,12 @@ function asmFunc(global, env, buffer) {
$4 = $lib_allocator_arena_allocate_memory(1 << (32 - Math_clz32($2 + 7 | 0) | 0) | 0 | 0) | 0;
HEAP32[$4 >> 2] = $2;
$2 = $4;
if ($0) $5 = $0; else {
if (($0 | 0) == (0 | 0)) {
$0 = $lib_allocator_arena_allocate_memory(8 | 0) | 0;
HEAP32[$0 >> 2] = 0;
HEAP32[($0 + 4 | 0) >> 2] = 0;
$5 = $0;
}
HEAP32[$5 >> 2] = $2;
HEAP32[$0 >> 2] = $2;
HEAP32[($0 + 4 | 0) >> 2] = $1;
$lib_memory_set_memory($2 + 8 | 0 | 0, 0 | 0, $3 | 0);
return $0 | 0;
@ -176,24 +175,21 @@ function asmFunc(global, env, buffer) {
$0 = $0 | 0;
$1 = $1 | 0;
var $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0;
$2 = $1;
$8 = HEAP32[($2 + 4 | 0) >> 2] | 0;
$8 = HEAP32[($1 + 4 | 0) >> 2] | 0;
continue_0 : do {
if (($3 | 0) < ($8 | 0)) {
$2 = $3;
$2 = HEAPU32[(((HEAPU32[$1 >> 2] | 0) + ($2 << 2 | 0) | 0) + 8 | 0) >> 2] | 0;
$4 = +HEAPF64[($2 + 48 | 0) >> 3];
$5 = $5 + +HEAPF64[($2 + 24 | 0) >> 3] * $4;
$6 = $6 + +HEAPF64[($2 + 32 | 0) >> 3] * $4;
$7 = $7 + +HEAPF64[($2 + 40 | 0) >> 3] * $4;
$3 = $3 + 1 | 0;
if (($2 | 0) < ($8 | 0)) {
$3 = HEAPU32[(((HEAPU32[$1 >> 2] | 0) + ($2 << 2 | 0) | 0) + 8 | 0) >> 2] | 0;
$4 = +HEAPF64[($3 + 48 | 0) >> 3];
$5 = $5 + +HEAPF64[($3 + 24 | 0) >> 3] * $4;
$6 = $6 + +HEAPF64[($3 + 32 | 0) >> 3] * $4;
$7 = $7 + +HEAPF64[($3 + 40 | 0) >> 3] * $4;
$2 = $2 + 1 | 0;
continue continue_0;
}
break continue_0;
} while (1);
$2 = $1;
$2 = HEAPU32[$2 >> 2] | 0;
if (0 >>> 0 < ((HEAP32[$2 >> 2] | 0) >>> 2 | 0) >>> 0) $9 = HEAPU32[(($2 + 0 | 0) + 8 | 0) >> 2] | 0; else abort();
$2 = HEAPU32[$1 >> 2] | 0;
if (0 >>> 0 < ((HEAP32[$2 >> 2] | 0) >>> 2 | 0) >>> 0) $9 = HEAPU32[($2 + 8 | 0) >> 2] | 0; else abort();
$2 = $9;
HEAPF64[($2 + 24 | 0) >> 3] = -$5 / 39.47841760435743;
HEAPF64[($2 + 32 | 0) >> 3] = -$6 / 39.47841760435743;
@ -206,23 +202,19 @@ function asmFunc(global, env, buffer) {
}
function assembly_index_init() {
var $2 = 0, $0 = 0, $1 = 0;
var $0 = 0, $1 = 0, $2 = 0;
$1 = $lib_array_Array_Body__constructor(0 | 0, 5 | 0) | 0;
$2 = $1;
$0 = assembly_index_Body_constructor(0 | 0, +(0.0), +(0.0), +(0.0), +(0.0), +(0.0), +(0.0), +(39.47841760435743)) | 0;
HEAP32[(((HEAPU32[$2 >> 2] | 0) + 0 | 0) + 8 | 0) >> 2] = $0;
$0 = $1;
$2 = assembly_index_Body_constructor(0 | 0, +(0.0), +(0.0), +(0.0), +(0.0), +(0.0), +(0.0), +(39.47841760435743)) | 0;
HEAP32[((HEAPU32[$0 >> 2] | 0) + 8 | 0) >> 2] = $2;
$0 = assembly_index_Body_constructor(0 | 0, +(4.841431442464721), +(-1.1603200440274284), +(-.10362204447112311), +(.606326392995832), +(2.81198684491626), +(-.02521836165988763), +(.03769367487038949)) | 0;
$2 = $1;
HEAP32[(((HEAPU32[$2 >> 2] | 0) + 4 | 0) + 8 | 0) >> 2] = $0;
HEAP32[(((HEAPU32[$1 >> 2] | 0) + 4 | 0) + 8 | 0) >> 2] = $0;
$0 = assembly_index_Body_constructor(0 | 0, +(8.34336671824458), +(4.124798564124305), +(-.4035234171143214), +(-1.0107743461787924), +(1.8256623712304119), +(.008415761376584154), +(.011286326131968767)) | 0;
$2 = $1;
HEAP32[(((HEAPU32[$2 >> 2] | 0) + 8 | 0) + 8 | 0) >> 2] = $0;
HEAP32[(((HEAPU32[$1 >> 2] | 0) + 8 | 0) + 8 | 0) >> 2] = $0;
$0 = assembly_index_Body_constructor(0 | 0, +(12.894369562139131), +(-15.111151401698631), +(-.22330757889265573), +(1.0827910064415354), +(.8687130181696082), +(-.010832637401363636), +(1.7237240570597112e-03)) | 0;
$2 = $1;
HEAP32[(((HEAPU32[$2 >> 2] | 0) + 12 | 0) + 8 | 0) >> 2] = $0;
HEAP32[(((HEAPU32[$1 >> 2] | 0) + 12 | 0) + 8 | 0) >> 2] = $0;
$0 = assembly_index_Body_constructor(0 | 0, +(15.379697114850917), +(-25.919314609987964), +(.17925877295037118), +(.979090732243898), +(.5946989986476762), +(-.034755955504078104), +(2.0336868699246304e-03)) | 0;
$2 = $1;
HEAP32[(((HEAPU32[$2 >> 2] | 0) + 16 | 0) + 8 | 0) >> 2] = $0;
HEAP32[(((HEAPU32[$1 >> 2] | 0) + 16 | 0) + 8 | 0) >> 2] = $0;
assembly_index_system = assembly_index_NBodySystem_constructor(0 | 0, $1 | 0) | 0;
}
@ -241,52 +233,48 @@ function asmFunc(global, env, buffer) {
function assembly_index_NBodySystem_advance($0, $1) {
$0 = $0 | 0;
$1 = +$1;
var $2 = 0, $3 = 0, $4 = 0.0, $9 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0;
var $2 = 0, $3 = 0.0, $9 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0;
$13 = HEAPU32[$0 >> 2] | 0;
$0 = $13;
$14 = HEAP32[($0 + 4 | 0) >> 2] | 0;
$14 = HEAP32[($13 + 4 | 0) >> 2] | 0;
continue_0 : do {
if ($5 >>> 0 < $14 >>> 0) {
$0 = $13;
$3 = $5;
$0 = HEAPU32[(((HEAPU32[$0 >> 2] | 0) + ($3 << 2 | 0) | 0) + 8 | 0) >> 2] | 0;
if ($4 >>> 0 < $14 >>> 0) {
$0 = HEAPU32[(((HEAPU32[$13 >> 2] | 0) + ($4 << 2 | 0) | 0) + 8 | 0) >> 2] | 0;
$15 = +HEAPF64[$0 >> 3];
$16 = +HEAPF64[($0 + 8 | 0) >> 3];
$17 = +HEAPF64[($0 + 16 | 0) >> 3];
$6 = +HEAPF64[($0 + 24 | 0) >> 3];
$7 = +HEAPF64[($0 + 32 | 0) >> 3];
$8 = +HEAPF64[($0 + 40 | 0) >> 3];
$5 = +HEAPF64[($0 + 24 | 0) >> 3];
$6 = +HEAPF64[($0 + 32 | 0) >> 3];
$7 = +HEAPF64[($0 + 40 | 0) >> 3];
$18 = +HEAPF64[($0 + 48 | 0) >> 3];
$3 = $5 + 1 | 0;
$8 = $4 + 1 | 0;
continue_1 : do {
if ($3 >>> 0 < $14 >>> 0) {
$2 = $13;
$2 = HEAPU32[(((HEAPU32[$2 >> 2] | 0) + ($3 << 2 | 0) | 0) + 8 | 0) >> 2] | 0;
if ($8 >>> 0 < $14 >>> 0) {
$2 = HEAPU32[(((HEAPU32[$13 >> 2] | 0) + ($8 << 2 | 0) | 0) + 8 | 0) >> 2] | 0;
$10 = $15 - +HEAPF64[$2 >> 3];
$11 = $16 - +HEAPF64[($2 + 8 | 0) >> 3];
$12 = $17 - +HEAPF64[($2 + 16 | 0) >> 3];
$4 = $10 * $10 + $11 * $11 + $12 * $12;
$9 = $1 / ($4 * Math_sqrt($4));
$4 = $18 * $9;
$3 = $10 * $10 + $11 * $11 + $12 * $12;
$9 = $1 / ($3 * Math_sqrt($3));
$3 = $18 * $9;
$9 = +HEAPF64[($2 + 48 | 0) >> 3] * $9;
$6 = $6 - $10 * $9;
$7 = $7 - $11 * $9;
$8 = $8 - $12 * $9;
HEAPF64[($2 + 24 | 0) >> 3] = +HEAPF64[($2 + 24 | 0) >> 3] + $10 * $4;
HEAPF64[($2 + 32 | 0) >> 3] = +HEAPF64[($2 + 32 | 0) >> 3] + $11 * $4;
HEAPF64[($2 + 40 | 0) >> 3] = +HEAPF64[($2 + 40 | 0) >> 3] + $12 * $4;
$3 = $3 + 1 | 0;
$5 = $5 - $10 * $9;
$6 = $6 - $11 * $9;
$7 = $7 - $12 * $9;
HEAPF64[($2 + 24 | 0) >> 3] = +HEAPF64[($2 + 24 | 0) >> 3] + $10 * $3;
HEAPF64[($2 + 32 | 0) >> 3] = +HEAPF64[($2 + 32 | 0) >> 3] + $11 * $3;
HEAPF64[($2 + 40 | 0) >> 3] = +HEAPF64[($2 + 40 | 0) >> 3] + $12 * $3;
$8 = $8 + 1 | 0;
continue continue_1;
}
break continue_1;
} while (1);
HEAPF64[($0 + 24 | 0) >> 3] = $6;
HEAPF64[($0 + 32 | 0) >> 3] = $7;
HEAPF64[($0 + 40 | 0) >> 3] = $8;
HEAPF64[$0 >> 3] = +HEAPF64[$0 >> 3] + $1 * $6;
HEAPF64[($0 + 8 | 0) >> 3] = +HEAPF64[($0 + 8 | 0) >> 3] + $1 * $7;
HEAPF64[($0 + 16 | 0) >> 3] = +HEAPF64[($0 + 16 | 0) >> 3] + $1 * $8;
$5 = $5 + 1 | 0;
HEAPF64[($0 + 24 | 0) >> 3] = $5;
HEAPF64[($0 + 32 | 0) >> 3] = $6;
HEAPF64[($0 + 40 | 0) >> 3] = $7;
HEAPF64[$0 >> 3] = +HEAPF64[$0 >> 3] + $1 * $5;
HEAPF64[($0 + 8 | 0) >> 3] = +HEAPF64[($0 + 8 | 0) >> 3] + $1 * $6;
HEAPF64[($0 + 16 | 0) >> 3] = +HEAPF64[($0 + 16 | 0) >> 3] + $1 * $7;
$4 = $4 + 1 | 0;
continue continue_0;
}
break continue_0;
@ -295,41 +283,36 @@ function asmFunc(global, env, buffer) {
function assembly_index_NBodySystem_energy($0) {
$0 = $0 | 0;
var $1 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $10 = 0.0, $11 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0;
var $1 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $10 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0;
$4 = HEAPU32[$0 >> 2] | 0;
$0 = $4;
$5 = HEAP32[($0 + 4 | 0) >> 2] | 0;
$5 = HEAP32[($4 + 4 | 0) >> 2] | 0;
continue_0 : do {
if ($3 >>> 0 < $5 >>> 0) {
$0 = $4;
$2 = $3;
$0 = HEAPU32[(((HEAPU32[$0 >> 2] | 0) + ($2 << 2 | 0) | 0) + 8 | 0) >> 2] | 0;
$0 = HEAPU32[(((HEAPU32[$4 >> 2] | 0) + ($3 << 2 | 0) | 0) + 8 | 0) >> 2] | 0;
$7 = +HEAPF64[$0 >> 3];
$8 = +HEAPF64[($0 + 8 | 0) >> 3];
$9 = +HEAPF64[($0 + 16 | 0) >> 3];
$12 = $1;
$11 = $1;
$10 = +HEAPF64[($0 + 48 | 0) >> 3];
$1 = +HEAPF64[($0 + 24 | 0) >> 3];
$13 = $1 * $1;
$12 = $1 * $1;
$1 = +HEAPF64[($0 + 32 | 0) >> 3];
$14 = $13 + $1 * $1;
$13 = $12 + $1 * $1;
$1 = +HEAPF64[($0 + 40 | 0) >> 3];
$1 = $12 + .5 * $10 * ($14 + $1 * $1);
$1 = $11 + .5 * $10 * ($13 + $1 * $1);
$0 = $3 + 1 | 0;
continue_1 : do {
if ($0 >>> 0 < $5 >>> 0) {
$15 = $7;
$11 = $0;
$2 = $4;
$2 = HEAPU32[$2 >> 2] | 0;
if ($11 >>> 0 < ((HEAP32[$2 >> 2] | 0) >>> 2 | 0) >>> 0) $16 = HEAPU32[(($2 + ($11 << 2 | 0) | 0) + 8 | 0) >> 2] | 0; else abort();
$2 = $16;
$6 = $15 - +HEAPF64[$2 >> 3];
$17 = $1;
$14 = $7;
$2 = HEAPU32[$4 >> 2] | 0;
if ($0 >>> 0 < ((HEAP32[$2 >> 2] | 0) >>> 2 | 0) >>> 0) $15 = HEAPU32[(($2 + ($0 << 2 | 0) | 0) + 8 | 0) >> 2] | 0; else abort();
$2 = $15;
$6 = $14 - +HEAPF64[$2 >> 3];
$16 = $1;
$1 = $8 - +HEAPF64[($2 + 8 | 0) >> 3];
$18 = $6 * $6 + $1 * $1;
$17 = $6 * $6 + $1 * $1;
$1 = $9 - +HEAPF64[($2 + 16 | 0) >> 3];
$1 = $17 - $10 * +HEAPF64[($2 + 48 | 0) >> 3] / Math_sqrt($18 + $1 * $1);
$1 = $16 - $10 * +HEAPF64[($2 + 48 | 0) >> 3] / Math_sqrt($17 + $1 * $1);
$0 = $0 + 1 | 0;
continue continue_1;
}

Binary file not shown.

View File

@ -534,11 +534,11 @@
(set_local $2
(get_local $4)
)
(i32.store
(if (result i32)
(if
(i32.eqz
(get_local $0)
(get_local $0)
(block (result i32)
)
(block
(i32.store
(tee_local $0
(call $~lib/allocator/arena/allocate_memory
@ -551,9 +551,10 @@
(get_local $0)
(i32.const 0)
)
)
)
(i32.store
(get_local $0)
)
)
(get_local $2)
)
(i32.store offset=4
@ -580,30 +581,26 @@
(local $8 i32)
(set_local $8
(i32.load offset=4
(tee_local $2
(get_local $1)
)
)
)
(loop $continue|0
(if
(i32.lt_s
(get_local $3)
(get_local $2)
(get_local $8)
)
(block
(set_local $4
(f64.load offset=48
(tee_local $2
(tee_local $3
(i32.load offset=8
(i32.add
(i32.load
(get_local $1)
)
(i32.shl
(tee_local $2
(get_local $3)
)
(get_local $2)
(i32.const 2)
)
)
@ -616,7 +613,7 @@
(get_local $5)
(f64.mul
(f64.load offset=24
(get_local $2)
(get_local $3)
)
(get_local $4)
)
@ -627,7 +624,7 @@
(get_local $6)
(f64.mul
(f64.load offset=32
(get_local $2)
(get_local $3)
)
(get_local $4)
)
@ -638,15 +635,15 @@
(get_local $7)
(f64.mul
(f64.load offset=40
(get_local $2)
(get_local $3)
)
(get_local $4)
)
)
)
(set_local $3
(set_local $2
(i32.add
(get_local $3)
(get_local $2)
(i32.const 1)
)
)
@ -663,20 +660,15 @@
(i32.load
(tee_local $2
(i32.load
(tee_local $2
(get_local $1)
)
)
)
)
(i32.const 2)
)
)
(i32.load offset=8
(i32.add
(get_local $2)
(i32.const 0)
)
)
(unreachable)
)
@ -729,7 +721,7 @@
(call $assembly/index/NBodySystem#constructor
(i32.const 0)
(block (result i32)
(set_local $2
(set_local $0
(tee_local $1
(call $~lib/array/Array<Body>#constructor
(i32.const 0)
@ -737,7 +729,7 @@
)
)
)
(set_local $0
(set_local $2
(call $assembly/index/Body#constructor
(i32.const 0)
(f64.const 0)
@ -750,14 +742,11 @@
)
)
(i32.store offset=8
(i32.add
(i32.load
(get_local $2)
)
(i32.const 0)
)
(get_local $0)
)
(get_local $2)
)
(set_local $0
(call $assembly/index/Body#constructor
(i32.const 0)
@ -773,10 +762,8 @@
(i32.store offset=8
(i32.add
(i32.load
(tee_local $2
(get_local $1)
)
)
(i32.const 4)
)
(get_local $0)
@ -796,10 +783,8 @@
(i32.store offset=8
(i32.add
(i32.load
(tee_local $2
(get_local $1)
)
)
(i32.const 8)
)
(get_local $0)
@ -819,10 +804,8 @@
(i32.store offset=8
(i32.add
(i32.load
(tee_local $2
(get_local $1)
)
)
(i32.const 12)
)
(get_local $0)
@ -842,10 +825,8 @@
(i32.store offset=8
(i32.add
(i32.load
(tee_local $2
(get_local $1)
)
)
(i32.const 16)
)
(get_local $0)
@ -898,12 +879,12 @@
)
(func $assembly/index/NBodySystem#advance (; 8 ;) (type $iFv) (param $0 i32) (param $1 f64)
(local $2 i32)
(local $3 i32)
(local $4 f64)
(local $5 i32)
(local $3 f64)
(local $4 i32)
(local $5 f64)
(local $6 f64)
(local $7 f64)
(local $8 f64)
(local $8 i32)
(local $9 f64)
(local $10 f64)
(local $11 f64)
@ -916,7 +897,6 @@
(local $18 f64)
(set_local $14
(i32.load offset=4
(tee_local $0
(tee_local $13
(i32.load
(get_local $0)
@ -924,11 +904,10 @@
)
)
)
)
(loop $continue|0
(if
(i32.lt_u
(get_local $5)
(get_local $4)
(get_local $14)
)
(block
@ -938,14 +917,10 @@
(i32.load offset=8
(i32.add
(i32.load
(tee_local $0
(get_local $13)
)
)
(i32.shl
(tee_local $3
(get_local $5)
)
(get_local $4)
(i32.const 2)
)
)
@ -963,17 +938,17 @@
(get_local $0)
)
)
(set_local $6
(set_local $5
(f64.load offset=24
(get_local $0)
)
)
(set_local $7
(set_local $6
(f64.load offset=32
(get_local $0)
)
)
(set_local $8
(set_local $7
(f64.load offset=40
(get_local $0)
)
@ -983,27 +958,27 @@
(get_local $0)
)
)
(set_local $3
(set_local $8
(i32.add
(get_local $5)
(get_local $4)
(i32.const 1)
)
)
(loop $continue|1
(if
(i32.lt_u
(get_local $3)
(get_local $8)
(get_local $14)
)
(block
(set_local $4
(set_local $3
(f64.mul
(get_local $18)
(tee_local $9
(f64.div
(get_local $1)
(f64.mul
(tee_local $4
(tee_local $3
(f64.add
(f64.add
(f64.mul
@ -1015,12 +990,10 @@
(i32.load offset=8
(i32.add
(i32.load
(tee_local $2
(get_local $13)
)
)
(i32.shl
(get_local $3)
(get_local $8)
(i32.const 2)
)
)
@ -1057,16 +1030,16 @@
)
)
(f64.sqrt
(get_local $4)
(get_local $3)
)
)
)
)
)
)
(set_local $6
(set_local $5
(f64.sub
(get_local $6)
(get_local $5)
(f64.mul
(get_local $10)
(tee_local $9
@ -1080,18 +1053,18 @@
)
)
)
(set_local $7
(set_local $6
(f64.sub
(get_local $7)
(get_local $6)
(f64.mul
(get_local $11)
(get_local $9)
)
)
)
(set_local $8
(set_local $7
(f64.sub
(get_local $8)
(get_local $7)
(f64.mul
(get_local $12)
(get_local $9)
@ -1106,7 +1079,7 @@
)
(f64.mul
(get_local $10)
(get_local $4)
(get_local $3)
)
)
)
@ -1118,7 +1091,7 @@
)
(f64.mul
(get_local $11)
(get_local $4)
(get_local $3)
)
)
)
@ -1130,13 +1103,13 @@
)
(f64.mul
(get_local $12)
(get_local $4)
)
)
)
(set_local $3
(i32.add
(get_local $3)
)
)
)
(set_local $8
(i32.add
(get_local $8)
(i32.const 1)
)
)
@ -1146,15 +1119,15 @@
)
(f64.store offset=24
(get_local $0)
(get_local $6)
(get_local $5)
)
(f64.store offset=32
(get_local $0)
(get_local $7)
(get_local $6)
)
(f64.store offset=40
(get_local $0)
(get_local $8)
(get_local $7)
)
(f64.store
(get_local $0)
@ -1164,7 +1137,7 @@
)
(f64.mul
(get_local $1)
(get_local $6)
(get_local $5)
)
)
)
@ -1176,7 +1149,7 @@
)
(f64.mul
(get_local $1)
(get_local $7)
(get_local $6)
)
)
)
@ -1188,13 +1161,13 @@
)
(f64.mul
(get_local $1)
(get_local $8)
(get_local $7)
)
)
)
(set_local $5
(set_local $4
(i32.add
(get_local $5)
(get_local $4)
(i32.const 1)
)
)
@ -1214,10 +1187,8 @@
(local $8 f64)
(local $9 f64)
(local $10 f64)
(local $11 i32)
(set_local $5
(i32.load offset=4
(tee_local $0
(tee_local $4
(i32.load
(get_local $0)
@ -1225,7 +1196,6 @@
)
)
)
)
(loop $continue|0
(if
(i32.lt_u
@ -1239,14 +1209,10 @@
(i32.load offset=8
(i32.add
(i32.load
(tee_local $0
(get_local $4)
)
)
(i32.shl
(tee_local $2
(get_local $3)
)
(i32.const 2)
)
)
@ -1327,19 +1293,15 @@
(tee_local $2
(if (result i32)
(i32.lt_u
(tee_local $11
(get_local $0)
)
(i32.shr_u
(i32.load
(tee_local $2
(i32.load
(tee_local $2
(get_local $4)
)
)
)
)
(i32.const 2)
)
)
@ -1347,7 +1309,7 @@
(i32.add
(get_local $2)
(i32.shl
(get_local $11)
(get_local $0)
(i32.const 2)
)
)

200
package-lock.json generated
View File

@ -4,6 +4,16 @@
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@mrmlnc/readdir-enhanced": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
"integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
"dev": true,
"requires": {
"call-me-maybe": "^1.0.1",
"glob-to-regexp": "^0.3.0"
}
},
"@protobufjs/utf8": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
@ -338,9 +348,9 @@
}
},
"babel-core": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz",
"integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=",
"version": "6.26.3",
"resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz",
"integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==",
"dev": true,
"requires": {
"babel-code-frame": "^6.26.0",
@ -353,15 +363,15 @@
"babel-traverse": "^6.26.0",
"babel-types": "^6.26.0",
"babylon": "^6.18.0",
"convert-source-map": "^1.5.0",
"debug": "^2.6.8",
"convert-source-map": "^1.5.1",
"debug": "^2.6.9",
"json5": "^0.5.1",
"lodash": "^4.17.4",
"minimatch": "^3.0.4",
"path-is-absolute": "^1.0.1",
"private": "^0.1.7",
"private": "^0.1.8",
"slash": "^1.0.0",
"source-map": "^0.5.6"
"source-map": "^0.5.7"
},
"dependencies": {
"babylon": {
@ -828,9 +838,9 @@
}
},
"babel-plugin-transform-es2015-modules-commonjs": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz",
"integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=",
"version": "6.26.2",
"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz",
"integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==",
"dev": true,
"requires": {
"babel-plugin-transform-strict-mode": "^6.24.1",
@ -1257,9 +1267,9 @@
"dev": true
},
"binaryen": {
"version": "46.0.0-nightly.20180427",
"resolved": "https://registry.npmjs.org/binaryen/-/binaryen-46.0.0-nightly.20180427.tgz",
"integrity": "sha512-pPG9B3c2n27udyDPkLrhTJcP0ut0fK56RLH/jWUcvAIUMJXgZY3hmxLZMuUiPc2+kERZroKNxpdMf3HRmf/UnQ=="
"version": "47.0.0-nightly.20180503",
"resolved": "https://registry.npmjs.org/binaryen/-/binaryen-47.0.0-nightly.20180503.tgz",
"integrity": "sha512-kYOHR+3v9iFPHnsbBWXem5c+mYpgWEOvK52KcMa4Af87L1/u89/0A4itry2Y3NKLhiFxx1oIO+k7RDPKG3zV3g=="
},
"binaryextensions": {
"version": "2.1.1",
@ -1494,6 +1504,12 @@
}
}
},
"call-me-maybe": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
"integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
"dev": true
},
"camelcase": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
@ -1767,9 +1783,9 @@
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
},
"colors": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/colors/-/colors-1.2.1.tgz",
"integrity": "sha512-s8+wktIuDSLffCywiwSxQOMqtPxML11a/dtHE17tMn4B1MSWw/C22EKf7M2KGUBcDaVFEGT+S8N02geDXeuNKg==",
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/colors/-/colors-1.2.3.tgz",
"integrity": "sha512-qTfM2pNFeMZcLvf/RbrVAzDEVttZjFhaApfx9dplNjvHSX88Ui66zBRb/4YGob/xUWxDceirgoC1lT676asfCQ==",
"dev": true
},
"commander": {
@ -1998,9 +2014,9 @@
}
},
"deep-extend": {
"version": "0.4.2",
"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz",
"integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=",
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz",
"integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==",
"dev": true
},
"define-property": {
@ -2085,6 +2101,16 @@
"randombytes": "^2.0.0"
}
},
"dir-glob": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz",
"integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==",
"dev": true,
"requires": {
"arrify": "^1.0.1",
"path-type": "^3.0.0"
}
},
"domain-browser": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
@ -2492,6 +2518,19 @@
"integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
"dev": true
},
"fast-glob": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.1.tgz",
"integrity": "sha512-wSyW1TBK3ia5V+te0rGPXudeMHoUQW6O5Y9oATiaGhpENmEifPDlOdhpsnlj5HoG6ttIvGiY1DdCmI9X2xGMhg==",
"dev": true,
"requires": {
"@mrmlnc/readdir-enhanced": "^2.2.1",
"glob-parent": "^3.1.0",
"is-glob": "^4.0.0",
"merge2": "^1.2.1",
"micromatch": "^3.1.10"
}
},
"fast-json-stable-stringify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
@ -2566,9 +2605,9 @@
}
},
"flow-parser": {
"version": "0.70.0",
"resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.70.0.tgz",
"integrity": "sha512-gGdyVUZWswG5jcINrVDHd3RY4nJptBTAx9mR9thGsrGGmAUR7omgJXQSpR+fXrLtxSTAea3HpAZNU/yzRJc2Cg==",
"version": "0.71.0",
"resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.71.0.tgz",
"integrity": "sha512-rXSvqSBLf8aRI6T3P99jMcUYvZoO1KZcKDkzGJmXvYdNAgRKu7sfGNtxEsn3cX4TgungBuJpX+K8aHRC9/B5MA==",
"dev": true
},
"flush-write-stream": {
@ -3360,6 +3399,12 @@
}
}
},
"glob-to-regexp": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
"integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
"dev": true
},
"global-modules": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
@ -3412,9 +3457,9 @@
}
},
"got": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/got/-/got-8.3.0.tgz",
"integrity": "sha512-kBNy/S2CGwrYgDSec5KTWGKUvupwkkTVAjIsVFF2shXO13xpZdFP4d4kxa//CLX2tN/rV0aYwK8vY6UKWGn2vQ==",
"version": "8.3.1",
"resolved": "https://registry.npmjs.org/got/-/got-8.3.1.tgz",
"integrity": "sha512-tiLX+bnYm5A56T5N/n9Xo89vMaO1mrS9qoDqj3u/anVooqGozvY/HbXzEpDfbNeKsHCBpK40gSbz8wGYSp3i1w==",
"dev": true,
"requires": {
"@sindresorhus/is": "^0.7.0",
@ -3696,6 +3741,12 @@
"integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
"dev": true
},
"ignore": {
"version": "3.3.8",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.8.tgz",
"integrity": "sha512-pUh+xUQQhQzevjRHHFqqcTy0/dP/kS9I8HSrUydhihjuD09W6ldVWFtIrwhXdUJHis3i2rZNqEHpZH/cbinFbg==",
"dev": true
},
"import-local": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz",
@ -4088,6 +4139,12 @@
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
},
"isbinaryfile": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz",
"integrity": "sha1-Sj6XTsDLqQBNP8bN5yCeppNopiE=",
"dev": true
},
"isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
@ -4511,7 +4568,7 @@
},
"onetime": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
"resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
"integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
"dev": true
},
@ -4622,7 +4679,7 @@
},
"onetime": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
"resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
"integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
"dev": true
},
@ -4740,16 +4797,17 @@
}
},
"mem-fs-editor": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-3.0.2.tgz",
"integrity": "sha1-3Qpuryu4prN3QAZ6pUnrUwEFr58=",
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-4.0.1.tgz",
"integrity": "sha512-54fptqhSZX1sSYsVVInG2qzUWPPrEv/6qYxHAwXJZQfzDcviJcL+7p/wmupg8SdAOi42m/vilMBemx3D6Sz22g==",
"dev": true,
"requires": {
"commondir": "^1.0.1",
"deep-extend": "^0.4.0",
"ejs": "^2.3.1",
"deep-extend": "^0.5.1",
"ejs": "^2.5.9",
"glob": "^7.0.3",
"globby": "^6.1.0",
"globby": "^8.0.0",
"isbinaryfile": "^3.0.2",
"mkdirp": "^0.5.0",
"multimatch": "^2.0.0",
"rimraf": "^2.2.8",
@ -4758,9 +4816,9 @@
},
"dependencies": {
"clone": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
"integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz",
"integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=",
"dev": true
},
"clone-stats": {
@ -4769,6 +4827,21 @@
"integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=",
"dev": true
},
"globby": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz",
"integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==",
"dev": true,
"requires": {
"array-union": "^1.0.1",
"dir-glob": "^2.0.0",
"fast-glob": "^2.0.2",
"glob": "^7.1.2",
"ignore": "^3.3.5",
"pify": "^3.0.0",
"slash": "^1.0.0"
}
},
"replace-ext": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
@ -4801,6 +4874,12 @@
"readable-stream": "^2.0.1"
}
},
"merge2": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.1.tgz",
"integrity": "sha512-wUqcG5pxrAcaFI1lkqkMnk3Q7nUxV/NWfpAFSeWUwG9TRODnBDCUHa75mi3o3vLWQ5N4CQERWCauSlP0I3ZqUg==",
"dev": true
},
"micromatch": {
"version": "3.1.10",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
@ -5269,7 +5348,7 @@
},
"onetime": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
"resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
"integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
"dev": true
},
@ -6751,9 +6830,9 @@
}
},
"ts-node": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-5.0.1.tgz",
"integrity": "sha512-XK7QmDcNHVmZkVtkiwNDWiERRHPyU8nBqZB1+iv2UhOG0q3RQ9HsZ2CMqISlFbxjrYFGfG2mX7bW4dAyxBVzUw==",
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-6.0.2.tgz",
"integrity": "sha512-H/KWK27B3JJAc5WFOBBUxN638DukbV8PptdQgiHWPO2SGDVJzuVOl8Ye0XJ5+FiZIdFtgUuGOJRV4c/XBQ5dBg==",
"requires": {
"arrify": "^1.0.0",
"chalk": "^2.3.0",
@ -7338,9 +7417,9 @@
}
},
"webpack-cli": {
"version": "2.0.15",
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-2.0.15.tgz",
"integrity": "sha512-bjNeIUO51D4OsmZ5ufzcpzVoacjxfWNfeBZKYL3jc+EMfCME3TyfdCPSUoKiOnebQChfupQuIRpAnx7L4l3Hew==",
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-2.1.2.tgz",
"integrity": "sha512-2C6bs9gORlzCSgkNZTnj8hnXMxe3g2v+yqiUdB+1l/I3sI36ND4zZStV00yq0eGjE5CNu0eqOQr7YYe+42H2Yw==",
"dev": true,
"requires": {
"chalk": "^2.3.2",
@ -7368,7 +7447,7 @@
"webpack-addons": "^1.1.5",
"yargs": "^11.1.0",
"yeoman-environment": "^2.0.0",
"yeoman-generator": "^2.0.3"
"yeoman-generator": "^2.0.4"
}
},
"webpack-sources": {
@ -7591,26 +7670,26 @@
}
},
"yeoman-generator": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-2.0.4.tgz",
"integrity": "sha512-Sgvz3MAkOpEIobcpW3rjEl6bOTNnl8SkibP9z7hYKfIGIlw0QDC2k0MAeXvyE2pLqc2M0Duql+6R7/W9GrJojg==",
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-2.0.5.tgz",
"integrity": "sha512-rV6tJ8oYzm4mmdF2T3wjY+Q42jKF2YiiD0VKfJ8/0ZYwmhCKC9Xs2346HVLPj/xE13i68psnFJv7iS6gWRkeAg==",
"dev": true,
"requires": {
"async": "^2.6.0",
"chalk": "^2.3.0",
"cli-table": "^0.3.1",
"cross-spawn": "^5.1.0",
"cross-spawn": "^6.0.5",
"dargs": "^5.1.0",
"dateformat": "^3.0.2",
"dateformat": "^3.0.3",
"debug": "^3.1.0",
"detect-conflict": "^1.0.0",
"error": "^7.0.2",
"find-up": "^2.1.0",
"github-username": "^4.0.0",
"istextorbinary": "^2.1.0",
"lodash": "^4.17.4",
"istextorbinary": "^2.2.1",
"lodash": "^4.17.10",
"make-dir": "^1.1.0",
"mem-fs-editor": "^3.0.2",
"mem-fs-editor": "^4.0.0",
"minimist": "^1.2.0",
"pretty-bytes": "^4.0.2",
"read-chunk": "^2.1.0",
@ -7632,17 +7711,6 @@
"lodash": "^4.14.0"
}
},
"cross-spawn": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
"integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
"dev": true,
"requires": {
"lru-cache": "^4.0.1",
"shebang-command": "^1.2.0",
"which": "^1.2.9"
}
},
"debug": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
@ -7651,6 +7719,12 @@
"requires": {
"ms": "2.0.0"
}
},
"lodash": {
"version": "4.17.10",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
"integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
"dev": true
}
}
},

View File

@ -12,11 +12,11 @@
},
"dependencies": {
"@protobufjs/utf8": "^1.1.0",
"binaryen": "46.0.0-nightly.20180427",
"binaryen": "47.0.0-nightly.20180503",
"glob": "^7.1.2",
"long": "^4.0.0",
"minimist": "^1.2.0",
"ts-node": "^5.0.1"
"ts-node": "^6.0.2"
},
"devDependencies": {
"@types/node": "^9.6.6",
@ -30,7 +30,7 @@
"typedoc-plugin-external-module-name": "^1.1.1",
"typescript": "^2.8.3",
"webpack": "^4.6.0",
"webpack-cli": "^2.0.15"
"webpack-cli": "^2.1.2"
},
"main": "index.js",
"types": "index.d.ts",

View File

@ -545,7 +545,7 @@ export class ASTBuilder {
}
visitIntegerLiteralExpression(node: IntegerLiteralExpression): void {
this.sb.push(node.value.toString());
this.sb.push(i64_to_string(node.value));
}
visitStringLiteral(str: string, singleQuoted: bool = false): void {

View File

@ -2999,14 +2999,13 @@
)
)
)
(if
(set_local $5
(if (result f64)
(i32.gt_u
(get_local $1)
(i32.const 1043333120)
)
(set_local $5
(get_local $0)
)
(return
(f64.add
(f64.const 1)
@ -3015,6 +3014,7 @@
)
)
)
)
(set_local $0
(f64.add
(f64.const 1)

View File

@ -5710,14 +5710,13 @@
)
)
)
(if
(set_local $5
(if (result f64)
(i32.gt_u
(get_local $1)
(i32.const 1043333120)
)
(set_local $5
(get_local $0)
)
(return
(f64.add
(f64.const 1)
@ -5726,6 +5725,7 @@
)
)
)
)
(set_local $0
(f64.add
(f64.const 1)
@ -6083,7 +6083,8 @@
)
)
)
(if
(set_local $2
(if (result i32)
(i32.lt_u
(get_local $2)
(i32.const 855638016)
@ -6091,7 +6092,6 @@
(return
(get_local $0)
)
(set_local $2
(i32.const 0)
)
)
@ -6466,19 +6466,18 @@
)
)
)
(if
(set_local $3
(if (result f32)
(i32.gt_u
(get_local $1)
(i32.const 956301312)
)
(block
(block (result f32)
(set_local $1
(i32.const 0)
)
(set_local $3
(get_local $0)
)
)
(return
(f32.add
(f32.const 1)
@ -6487,6 +6486,7 @@
)
)
)
)
(set_local $0
(f32.add
(f32.const 1)

View File

@ -787,7 +787,10 @@
(get_local $0)
)
(block
(if
(br_if $break|1
(i32.ge_s
(tee_local $2
(if (result i32)
(i32.and
(if (result i32)
(tee_local $0
@ -808,13 +811,11 @@
)
(i32.const 1)
)
(set_local $2
(i32.sub
(get_local $2)
(i32.const 48)
)
)
(if
(if (result i32)
(i32.and
(if (result i32)
(tee_local $0
@ -831,13 +832,11 @@
)
(i32.const 1)
)
(set_local $2
(i32.sub
(get_local $2)
(i32.const 55)
)
)
(if
(if (result i32)
(i32.and
(if (result i32)
(tee_local $0
@ -854,19 +853,15 @@
)
(i32.const 1)
)
(set_local $2
(i32.sub
(get_local $2)
(i32.const 87)
)
)
(br $break|1)
)
)
)
(br_if $break|1
(i32.ge_s
(get_local $2)
)
(get_local $1)
)
)