diff options
author | Alon Zakai <azakai@google.com> | 2019-05-01 17:18:04 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-01 17:18:04 -0700 |
commit | af459403bc6e1bb99468ad05f351665143193082 (patch) | |
tree | fd6b0c2e0bd14822c3e3bb1e0f4a3b42c78bb56c /test/wasm2js/call.2asm.js | |
parent | 2bd3758a22131cfd6925b3fd995657b211095c90 (diff) | |
download | binaryen-af459403bc6e1bb99468ad05f351665143193082.tar.gz binaryen-af459403bc6e1bb99468ad05f351665143193082.tar.bz2 binaryen-af459403bc6e1bb99468ad05f351665143193082.zip |
wasm2js: don't run coalesce-locals if not optimizing (#2076)
That pass is very slow on unoptimized code (super-linear on the number of locals, which if unoptimized can be massive due to flatten).
Diffstat (limited to 'test/wasm2js/call.2asm.js')
-rw-r--r-- | test/wasm2js/call.2asm.js | 893 |
1 files changed, 509 insertions, 384 deletions
diff --git a/test/wasm2js/call.2asm.js b/test/wasm2js/call.2asm.js index ca4d4a3ef..06025681f 100644 --- a/test/wasm2js/call.2asm.js +++ b/test/wasm2js/call.2asm.js @@ -46,10 +46,12 @@ function asmFunc(global, env, buffer) { return $0 | 0; } - function id_i64($0, $1) { + function id_i64($0, $0$hi) { $0 = $0 | 0; - $1 = $1 | 0; - i64toi32_i32$HIGH_BITS = $1; + $0$hi = $0$hi | 0; + var i64toi32_i32$0 = 0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; return $0 | 0; } @@ -69,11 +71,13 @@ function asmFunc(global, env, buffer) { return $1 | 0; } - function i32_i64($0, $1, $2) { + function i32_i64($0, $1, $1$hi) { $0 = $0 | 0; $1 = $1 | 0; - $2 = $2 | 0; - i64toi32_i32$HIGH_BITS = $2; + $1$hi = $1$hi | 0; + var i64toi32_i32$0 = 0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; return $1 | 0; } @@ -83,11 +87,11 @@ function asmFunc(global, env, buffer) { return Math_fround($1); } - function i64_f64($0, $1, $2) { + function i64_f64($0, $0$hi, $1) { $0 = $0 | 0; - $1 = $1 | 0; - $2 = +$2; - return +$2; + $0$hi = $0$hi | 0; + $1 = +$1; + return +$1; } function $12() { @@ -95,11 +99,11 @@ function asmFunc(global, env, buffer) { } function $13() { - var $0 = 0, $1 = 0; - $0 = const_i64() | 0; - $1 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$HIGH_BITS = $1; - return $0 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = const_i64() | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; } function $14() { @@ -115,12 +119,12 @@ function asmFunc(global, env, buffer) { } function $17() { - var $0 = 0, $1 = 0; - $0 = 0; - $0 = id_i64(64 | 0, $0 | 0) | 0; - $1 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$HIGH_BITS = $1; - return $0 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$0 = id_i64(64 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; } function $18() { @@ -136,12 +140,12 @@ function asmFunc(global, env, buffer) { } function $21() { - var $0 = 0, $1 = 0; - $0 = 0; - $0 = i32_i64(32 | 0, 64 | 0, $0 | 0) | 0; - $1 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$HIGH_BITS = $1; - return $0 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = 0; + i64toi32_i32$0 = i32_i64(32 | 0, 64 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; } function $22() { @@ -152,164 +156,182 @@ function asmFunc(global, env, buffer) { return +(+i64_f64(64 | 0, 0 | 0, +(64.1))); } - function fac($0, $1) { + function fac($0, $0$hi) { $0 = $0 | 0; - $1 = $1 | 0; - var $2 = 0, $3 = 0, $4 = 0; - $3 = $1; - if (!($0 | $3 | 0)) { + $0$hi = $0$hi | 0; + var i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $8 = 0, $8$hi = 0, i64toi32_i32$3 = 0, $6 = 0, $6$hi = 0; + i64toi32_i32$0 = $0$hi; + if (!($0 | i64toi32_i32$0 | 0)) { { - $3 = 0; - $2 = 1; - $1 = $3; + i64toi32_i32$0 = 0; + $8 = 1; + $8$hi = i64toi32_i32$0; } } else { { - $3 = $1; - $1 = $0; - $4 = 1; - $2 = ($1 >>> 0 < $4 >>> 0) + 0 | 0; - $2 = $3 - $2 | 0; - $2 = fac($1 - $4 | 0 | 0, $2 | 0) | 0; - $1 = i64toi32_i32$HIGH_BITS; - $4 = $2; - $2 = $1; - $2 = __wasm_i64_mul($0 | 0, $3 | 0, $4 | 0, $2 | 0) | 0; - $1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$2 = $0; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + 0 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + i64toi32_i32$5 = fac(i64toi32_i32$2 - i64toi32_i32$3 | 0 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $6 = i64toi32_i32$5; + $6$hi = i64toi32_i32$2; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$5 = $6$hi; + i64toi32_i32$5 = __wasm_i64_mul($0 | 0, i64toi32_i32$0 | 0, $6 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $8 = i64toi32_i32$5; + $8$hi = i64toi32_i32$2; } } - i64toi32_i32$HIGH_BITS = $1; - return $2 | 0; + i64toi32_i32$2 = $8$hi; + i64toi32_i32$5 = $8; + i64toi32_i32$HIGH_BITS = i64toi32_i32$2; + return i64toi32_i32$5 | 0; } - function fac_acc($0, $1, $2, $3) { + function fac_acc($0, $0$hi, $1, $1$hi) { $0 = $0 | 0; + $0$hi = $0$hi | 0; $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0; - $5 = $1; - if (!($0 | $5 | 0)) { + $1$hi = $1$hi | 0; + var i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $11 = 0, $11$hi = 0, i64toi32_i32$3 = 0, $6 = 0, $6$hi = 0, $9 = 0, $9$hi = 0; + i64toi32_i32$0 = $0$hi; + if (!($0 | i64toi32_i32$0 | 0)) { { - $5 = $3; - $4 = $2; - $1 = $5; + i64toi32_i32$0 = $1$hi; + $11 = $1; + $11$hi = i64toi32_i32$0; } } else { { - $5 = $1; - $4 = $0; - $6 = 1; - $1 = ($4 >>> 0 < $6 >>> 0) + 0 | 0; - $1 = $5 - $1 | 0; - $7 = $4 - $6 | 0; - $6 = $1; - $1 = $5; - $4 = $3; - $4 = __wasm_i64_mul($0 | 0, $1 | 0, $2 | 0, $4 | 0) | 0; - $1 = i64toi32_i32$HIGH_BITS; - $0 = $4; - $4 = $1; - $1 = $6; - $4 = fac_acc($7 | 0, $1 | 0, $0 | 0, $4 | 0) | 0; - $1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$2 = $0; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + 0 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $6 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + $6$hi = i64toi32_i32$5; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$5 = $1$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = __wasm_i64_mul($0 | 0, i64toi32_i32$5 | 0, $1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $9 = i64toi32_i32$2; + $9$hi = i64toi32_i32$5; + i64toi32_i32$5 = $6$hi; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$2 = fac_acc($6 | 0, i64toi32_i32$5 | 0, $9 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $11 = i64toi32_i32$2; + $11$hi = i64toi32_i32$5; } } - i64toi32_i32$HIGH_BITS = $1; - return $4 | 0; + i64toi32_i32$5 = $11$hi; + i64toi32_i32$2 = $11; + i64toi32_i32$HIGH_BITS = i64toi32_i32$5; + return i64toi32_i32$2 | 0; } - function fib($0, $1) { + function fib($0, $0$hi) { $0 = $0 | 0; - $1 = $1 | 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - $5 = $1; - $3 = $0; - $2 = 0; - $4 = 1; - if ($5 >>> 0 < $2 >>> 0 | (($5 | 0) == ($2 | 0) & $3 >>> 0 <= $4 >>> 0 | 0) | 0) { + $0$hi = $0$hi | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$6 = 0, $10 = 0, $10$hi = 0, $5 = 0, $5$hi = 0, $8 = 0, $8$hi = 0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$2 = $0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 1; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0 | 0) | 0) { { - $3 = 0; - $1 = 1; - $5 = $3; + i64toi32_i32$2 = 0; + $10 = 1; + $10$hi = i64toi32_i32$2; } } else { { - $3 = $1; - $4 = $0; - $5 = 0; - $2 = 2; - $6 = $4 - $2 | 0; - $2 = $4 >>> 0 < $2 >>> 0; - $1 = $2 + $5 | 0; - $1 = $3 - $1 | 0; - $1 = fib($6 | 0, $1 | 0) | 0; - $4 = i64toi32_i32$HIGH_BITS; - $7 = $1; - $8 = $4; - $4 = $3; - $3 = $0; - $1 = 0; - $2 = 1; - $5 = $3 - $2 | 0; - $2 = $3 >>> 0 < $2 >>> 0; - $6 = $2 + $1 | 0; - $6 = $4 - $6 | 0; - $6 = fib($5 | 0, $6 | 0) | 0; - $3 = i64toi32_i32$HIGH_BITS; - $0 = $6; - $6 = $3; - $3 = $8; - $4 = $7; - $2 = $0; - $1 = $4 + $2 | 0; - $5 = $3 + $6 | 0; - if ($1 >>> 0 < $2 >>> 0) { - $5 = $5 + 1 | 0 + i64toi32_i32$2 = $0$hi; + i64toi32_i32$3 = $0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 2; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + i64toi32_i32$5 = fib(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $5 = i64toi32_i32$5; + $5$hi = i64toi32_i32$3; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $0; + i64toi32_i32$5 = 0; + i64toi32_i32$1 = 1; + i64toi32_i32$0 = i64toi32_i32$2 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$4 | 0; + i64toi32_i32$4 = fib(i64toi32_i32$0 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $8 = i64toi32_i32$4; + $8$hi = i64toi32_i32$2; + i64toi32_i32$2 = $5$hi; + i64toi32_i32$3 = $5; + i64toi32_i32$4 = $8$hi; + i64toi32_i32$1 = $8; + i64toi32_i32$5 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 } + $10 = i64toi32_i32$5; + $10$hi = i64toi32_i32$0; } } - $4 = $1; - i64toi32_i32$HIGH_BITS = $5; - return $4 | 0; + i64toi32_i32$0 = $10$hi; + i64toi32_i32$3 = $10; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$3 | 0; } - function even($0, $1) { + function even($0, $0$hi) { $0 = $0 | 0; - $1 = $1 | 0; - var $2 = 0, $3 = 0; - $2 = $1; - if (!($0 | $2 | 0)) { - $0 = 44 + $0$hi = $0$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $6 = 0, i64toi32_i32$3 = 0; + i64toi32_i32$0 = $0$hi; + if (!($0 | i64toi32_i32$0 | 0)) { + $6 = 44 } else { { - $2 = $1; - $1 = 1; - $3 = ($0 >>> 0 < $1 >>> 0) + 0 | 0; - $3 = $2 - $3 | 0; - $0 = odd($0 - $1 | 0 | 0, $3 | 0) | 0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = ($0 >>> 0 < i64toi32_i32$3 >>> 0) + 0 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $6 = odd($0 - i64toi32_i32$3 | 0 | 0, i64toi32_i32$5 | 0) | 0; } } - return $0 | 0; + return $6 | 0; } - function odd($0, $1) { + function odd($0, $0$hi) { $0 = $0 | 0; - $1 = $1 | 0; - var $2 = 0, $3 = 0; - $2 = $1; - if (!($0 | $2 | 0)) { - $0 = 99 + $0$hi = $0$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $6 = 0, i64toi32_i32$3 = 0; + i64toi32_i32$0 = $0$hi; + if (!($0 | i64toi32_i32$0 | 0)) { + $6 = 99 } else { { - $2 = $1; - $1 = 1; - $3 = ($0 >>> 0 < $1 >>> 0) + 0 | 0; - $3 = $2 - $3 | 0; - $0 = even($0 - $1 | 0 | 0, $3 | 0) | 0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$5 = ($0 >>> 0 < i64toi32_i32$3 >>> 0) + 0 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $6 = even($0 - i64toi32_i32$3 | 0 | 0, i64toi32_i32$5 | 0) | 0; } } - return $0 | 0; + return $6 | 0; } function runaway() { @@ -325,95 +347,134 @@ function asmFunc(global, env, buffer) { } function legalstub$13() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0; - $0 = $13() | 0; - $2 = i64toi32_i32$HIGH_BITS; - $4 = $0; - $5 = $2; - $3 = 32; - $1 = $3 & 31 | 0; - if (32 >>> 0 <= ($3 & 63 | 0) >>> 0) { - $0 = $2 >>> $1 | 0 + var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0; + i64toi32_i32$0 = $13() | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $0 = i64toi32_i32$0; + $0$hi = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$0 = 0; + $7 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } } else { - $0 = (((1 << $1 | 0) - 1 | 0) & $2 | 0) << (32 - $1 | 0) | 0 | ($0 >>> $1 | 0) | 0 + { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $7 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } } - setTempRet0($0 | 0); - return $4 | 0; + setTempRet0($7 | 0); + i64toi32_i32$0 = $0$hi; + return $0 | 0; } function legalstub$17() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0; - $0 = $17() | 0; - $2 = i64toi32_i32$HIGH_BITS; - $4 = $0; - $5 = $2; - $3 = 32; - $1 = $3 & 31 | 0; - if (32 >>> 0 <= ($3 & 63 | 0) >>> 0) { - $0 = $2 >>> $1 | 0 + var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0; + i64toi32_i32$0 = $17() | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $0 = i64toi32_i32$0; + $0$hi = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$0 = 0; + $7 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } } else { - $0 = (((1 << $1 | 0) - 1 | 0) & $2 | 0) << (32 - $1 | 0) | 0 | ($0 >>> $1 | 0) | 0 + { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $7 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } } - setTempRet0($0 | 0); - return $4 | 0; + setTempRet0($7 | 0); + i64toi32_i32$0 = $0$hi; + return $0 | 0; } function legalstub$21() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0; - $0 = $21() | 0; - $2 = i64toi32_i32$HIGH_BITS; - $4 = $0; - $5 = $2; - $3 = 32; - $1 = $3 & 31 | 0; - if (32 >>> 0 <= ($3 & 63 | 0) >>> 0) { - $0 = $2 >>> $1 | 0 + var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7 = 0, $0 = 0, $0$hi = 0, i64toi32_i32$2 = 0; + i64toi32_i32$0 = $21() | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $0 = i64toi32_i32$0; + $0$hi = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$0 = 0; + $7 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } } else { - $0 = (((1 << $1 | 0) - 1 | 0) & $2 | 0) << (32 - $1 | 0) | 0 | ($0 >>> $1 | 0) | 0 + { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $7 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } } - setTempRet0($0 | 0); - return $4 | 0; + setTempRet0($7 | 0); + i64toi32_i32$0 = $0$hi; + return $0 | 0; } function legalstub$fac($0, $1) { $0 = $0 | 0; $1 = $1 | 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - $3 = 0; - $5 = $0; - $6 = $3; - $3 = 0; - $4 = 32; - $2 = $4 & 31 | 0; - if (32 >>> 0 <= ($4 & 63 | 0) >>> 0) { - { - $0 = $1 << $2 | 0; - $4 = 0; + var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2 = 0, $2$hi = 0; + i64toi32_i32$0 = 0; + $4 = $0; + $4$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $12_1 = 0; } } else { { - $0 = ((1 << $2 | 0) - 1 | 0) & ($1 >>> (32 - $2 | 0) | 0) | 0 | ($3 << $2 | 0) | 0; - $4 = $1 << $2 | 0; + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } } - $1 = $0; - $0 = $6; - $3 = $5; - $1 = $0 | $1 | 0; - $1 = fac($3 | $4 | 0 | 0, $1 | 0) | 0; - $3 = i64toi32_i32$HIGH_BITS; - $6 = $1; - $5 = $3; - $0 = $1; - $4 = 32; - $2 = $4 & 31 | 0; - if (32 >>> 0 <= ($4 & 63 | 0) >>> 0) { - $0 = $3 >>> $2 | 0 + $7$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$0 = $4; + i64toi32_i32$2 = $7$hi; + i64toi32_i32$3 = $12_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$2 = fac(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $2 = i64toi32_i32$2; + $2$hi = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$2 = 0; + $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } } else { - $0 = (((1 << $2 | 0) - 1 | 0) & $3 | 0) << (32 - $2 | 0) | 0 | ($0 >>> $2 | 0) | 0 + { + i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } } - setTempRet0($0 | 0); - return $6 | 0; + setTempRet0($13_1 | 0); + i64toi32_i32$2 = $2$hi; + return $2 | 0; } function legalstub$fac_acc($0, $1, $2, $3) { @@ -421,236 +482,300 @@ function asmFunc(global, env, buffer) { $1 = $1 | 0; $2 = $2 | 0; $3 = $3 | 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - $6 = 0; - $7 = $0; - $8 = $6; - $6 = 0; - $5 = 32; - $4 = $5 & 31 | 0; - if (32 >>> 0 <= ($5 & 63 | 0) >>> 0) { - { - $0 = $1 << $4 | 0; - $5 = 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $21_1 = 0, $22_1 = 0, $23_1 = 0, $6 = 0, $6$hi = 0, $9$hi = 0, $10 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4 = 0, $4$hi = 0; + i64toi32_i32$0 = 0; + $6 = $0; + $6$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $21_1 = 0; } } else { { - $0 = ((1 << $4 | 0) - 1 | 0) & ($1 >>> (32 - $4 | 0) | 0) | 0 | ($6 << $4 | 0) | 0; - $5 = $1 << $4 | 0; + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $21_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } } - $1 = $0; - $0 = $8; - $6 = $7; - $1 = $0 | $1 | 0; - $9 = $6 | $5 | 0; - $7 = $1; - $1 = 0; - $8 = $1; - $1 = 0; - $0 = $3; - $5 = 32; - $4 = $5 & 31 | 0; - if (32 >>> 0 <= ($5 & 63 | 0) >>> 0) { - { - $6 = $0 << $4 | 0; - $5 = 0; + $9$hi = i64toi32_i32$1; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$0 = $6; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$3 = $21_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $10 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $10$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $12_1 = $2; + $12$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $22_1 = 0; } } else { { - $6 = ((1 << $4 | 0) - 1 | 0) & ($0 >>> (32 - $4 | 0) | 0) | 0 | ($1 << $4 | 0) | 0; - $5 = $0 << $4 | 0; + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $22_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; } } - $0 = $6; - $6 = $8; - $1 = $2; - $0 = $6 | $0 | 0; - $2 = $1 | $5 | 0; - $1 = $0; - $0 = $7; - $1 = fac_acc($9 | 0, $0 | 0, $2 | 0, $1 | 0) | 0; - $0 = i64toi32_i32$HIGH_BITS; - $3 = $1; - $2 = $0; - $6 = $1; - $5 = 32; - $4 = $5 & 31 | 0; - if (32 >>> 0 <= ($5 & 63 | 0) >>> 0) { - $0 = $0 >>> $4 | 0 + $15$hi = i64toi32_i32$0; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$2 = $12_1; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$3 = $22_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $16_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $16$hi = i64toi32_i32$1; + i64toi32_i32$1 = $10$hi; + i64toi32_i32$2 = $16$hi; + i64toi32_i32$2 = fac_acc($10 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $4 = i64toi32_i32$2; + $4$hi = i64toi32_i32$1; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$2 = 0; + $23_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } } else { - $0 = (((1 << $4 | 0) - 1 | 0) & $0 | 0) << (32 - $4 | 0) | 0 | ($6 >>> $4 | 0) | 0 + { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $23_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } } - setTempRet0($0 | 0); - return $3 | 0; + setTempRet0($23_1 | 0); + i64toi32_i32$2 = $4$hi; + return $4 | 0; } function legalstub$fib($0, $1) { $0 = $0 | 0; $1 = $1 | 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - $3 = 0; - $5 = $0; - $6 = $3; - $3 = 0; - $4 = 32; - $2 = $4 & 31 | 0; - if (32 >>> 0 <= ($4 & 63 | 0) >>> 0) { - { - $0 = $1 << $2 | 0; - $4 = 0; + var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12_1 = 0, $13_1 = 0, $4 = 0, $4$hi = 0, $7$hi = 0, $2 = 0, $2$hi = 0; + i64toi32_i32$0 = 0; + $4 = $0; + $4$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $12_1 = 0; } } else { { - $0 = ((1 << $2 | 0) - 1 | 0) & ($1 >>> (32 - $2 | 0) | 0) | 0 | ($3 << $2 | 0) | 0; - $4 = $1 << $2 | 0; + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $12_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } } - $1 = $0; - $0 = $6; - $3 = $5; - $1 = $0 | $1 | 0; - $1 = fib($3 | $4 | 0 | 0, $1 | 0) | 0; - $3 = i64toi32_i32$HIGH_BITS; - $6 = $1; - $5 = $3; - $0 = $1; - $4 = 32; - $2 = $4 & 31 | 0; - if (32 >>> 0 <= ($4 & 63 | 0) >>> 0) { - $0 = $3 >>> $2 | 0 + $7$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$0 = $4; + i64toi32_i32$2 = $7$hi; + i64toi32_i32$3 = $12_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$2 = fib(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $2 = i64toi32_i32$2; + $2$hi = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$2 = 0; + $13_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } } else { - $0 = (((1 << $2 | 0) - 1 | 0) & $3 | 0) << (32 - $2 | 0) | 0 | ($0 >>> $2 | 0) | 0 + { + i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $13_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } } - setTempRet0($0 | 0); - return $6 | 0; + setTempRet0($13_1 | 0); + i64toi32_i32$2 = $2$hi; + return $2 | 0; } function legalstub$even($0, $1) { $0 = $0 | 0; $1 = $1 | 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - $2 = 0; - $6 = $2; - $2 = 0; - $3 = 32; - $4 = $3 & 31 | 0; - if (32 >>> 0 <= ($3 & 63 | 0) >>> 0) { + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $10 = 0, $3 = 0, $3$hi = 0, $6$hi = 0; + i64toi32_i32$0 = 0; + $3 = $0; + $3$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { { - $5 = $1 << $4 | 0; - $3 = 0; + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $10 = 0; } } else { { - $5 = ((1 << $4 | 0) - 1 | 0) & ($1 >>> (32 - $4 | 0) | 0) | 0 | ($2 << $4 | 0) | 0; - $3 = $1 << $4 | 0; + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $10 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } } - $1 = $5; - $5 = $6; - $2 = $0; - $1 = $5 | $1 | 0; - return even($2 | $3 | 0 | 0, $1 | 0) | 0 | 0; + $6$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$0 = $3; + i64toi32_i32$2 = $6$hi; + i64toi32_i32$3 = $10; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + return even(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0 | 0; } function legalstub$odd($0, $1) { $0 = $0 | 0; $1 = $1 | 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - $2 = 0; - $6 = $2; - $2 = 0; - $3 = 32; - $4 = $3 & 31 | 0; - if (32 >>> 0 <= ($3 & 63 | 0) >>> 0) { + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $10 = 0, $3 = 0, $3$hi = 0, $6$hi = 0; + i64toi32_i32$0 = 0; + $3 = $0; + $3$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { { - $5 = $1 << $4 | 0; - $3 = 0; + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $10 = 0; } } else { { - $5 = ((1 << $4 | 0) - 1 | 0) & ($1 >>> (32 - $4 | 0) | 0) | 0 | ($2 << $4 | 0) | 0; - $3 = $1 << $4 | 0; + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $10 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } } - $1 = $5; - $5 = $6; - $2 = $0; - $1 = $5 | $1 | 0; - return odd($2 | $3 | 0 | 0, $1 | 0) | 0 | 0; - } - - function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE($0, $1, $2, $3) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0, $11 = 0; - $5 = $2; - $9 = $5 >>> 16 | 0; - $10 = $0 >>> 16 | 0; - $11 = Math_imul($9, $10); - $8 = $5; - $6 = $0; - $7 = 32; - $4 = $7 & 31 | 0; - if (32 >>> 0 <= ($7 & 63 | 0) >>> 0) { - $1 = $1 >>> $4 | 0 + $6$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$0 = $3; + i64toi32_i32$2 = $6$hi; + i64toi32_i32$3 = $10; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + return odd(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0 | 0; + } + + function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, var$2 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, var$3 = 0, var$4 = 0, var$5 = 0, $21_1 = 0, $22_1 = 0, var$6 = 0, $24 = 0, $17_1 = 0, $18_1 = 0, $23_1 = 0, $29 = 0, $45 = 0, $56$hi = 0, $62$hi = 0; + i64toi32_i32$0 = var$1$hi; + var$2 = var$1; + var$4 = var$2 >>> 16 | 0; + i64toi32_i32$0 = var$0$hi; + var$3 = var$0; + var$5 = var$3 >>> 16 | 0; + $17_1 = Math_imul(var$4, var$5); + $18_1 = var$2; + i64toi32_i32$2 = var$3; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$1 = 0; + $21_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } } else { - $1 = (((1 << $4 | 0) - 1 | 0) & $1 | 0) << (32 - $4 | 0) | 0 | ($6 >>> $4 | 0) | 0 + { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $21_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } } - $6 = $11 + Math_imul($8, $1) | 0; - $1 = $2; - $7 = 32; - $4 = $7 & 31 | 0; - if (32 >>> 0 <= ($7 & 63 | 0) >>> 0) { - $1 = $3 >>> $4 | 0 + $23_1 = $17_1 + Math_imul($18_1, $21_1) | 0; + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$2 = 0; + $22_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } } else { - $1 = (((1 << $4 | 0) - 1 | 0) & $3 | 0) << (32 - $4 | 0) | 0 | ($1 >>> $4 | 0) | 0 + { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $22_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } } - $1 = $6 + Math_imul($1, $0) | 0; - $5 = $5 & 65535 | 0; - $0 = $0 & 65535 | 0; - $8 = Math_imul($5, $0); - $5 = ($8 >>> 16 | 0) + Math_imul($5, $10) | 0; - $1 = $1 + ($5 >>> 16 | 0) | 0; - $5 = ($5 & 65535 | 0) + Math_imul($9, $0) | 0; - $6 = 0; - $3 = $1 + ($5 >>> 16 | 0) | 0; - $7 = 32; - $4 = $7 & 31 | 0; - if (32 >>> 0 <= ($7 & 63 | 0) >>> 0) { - { - $1 = $3 << $4 | 0; - $6 = 0; + $29 = $23_1 + Math_imul($22_1, var$3) | 0; + var$2 = var$2 & 65535 | 0; + var$3 = var$3 & 65535 | 0; + var$6 = Math_imul(var$2, var$3); + var$2 = (var$6 >>> 16 | 0) + Math_imul(var$2, var$5) | 0; + $45 = $29 + (var$2 >>> 16 | 0) | 0; + var$2 = (var$2 & 65535 | 0) + Math_imul(var$4, var$3) | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $45 + (var$2 >>> 16 | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $24 = 0; } } else { { - $1 = ((1 << $4 | 0) - 1 | 0) & ($3 >>> (32 - $4 | 0) | 0) | 0 | ($6 << $4 | 0) | 0; - $6 = $3 << $4 | 0; + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $24 = i64toi32_i32$1 << i64toi32_i32$4 | 0; } } - $0 = $1; - $1 = 0; - $2 = $1; - $1 = $0; - $3 = $2; - $7 = $5 << 16 | 0 | ($8 & 65535 | 0) | 0; - $3 = $1 | $3 | 0; - $6 = $6 | $7 | 0; - i64toi32_i32$HIGH_BITS = $3; - return $6 | 0; - } - - function __wasm_i64_mul($0, $1, $2, $3) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - $3 = $3 | 0; - $3 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE($0 | 0, $1 | 0, $2 | 0, $3 | 0) | 0; - $1 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$HIGH_BITS = $1; - return $3 | 0; + $56$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $62$hi = i64toi32_i32$0; + i64toi32_i32$0 = $56$hi; + i64toi32_i32$2 = $24; + i64toi32_i32$1 = $62$hi; + i64toi32_i32$3 = var$2 << 16 | 0 | (var$6 & 65535 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + i64toi32_i32$2 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$2 | 0; + } + + function __wasm_i64_mul(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$0 = var$1$hi; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$1 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; } var FUNCTION_TABLE = []; |