diff options
author | Alon Zakai <alonzakai@gmail.com> | 2019-04-19 15:22:55 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-19 15:22:55 -0700 |
commit | db14d0477f2715e3071687f42b77d8712477d83e (patch) | |
tree | 7cb4f679bfc18cbb7d4a87db0b3d5a02f6bcaeed /test/wasm2js/i64.2asm.js | |
parent | a4baf2152d11c28964025759d2702fe7c48d321e (diff) | |
download | binaryen-db14d0477f2715e3071687f42b77d8712477d83e.tar.gz binaryen-db14d0477f2715e3071687f42b77d8712477d83e.tar.bz2 binaryen-db14d0477f2715e3071687f42b77d8712477d83e.zip |
wasm2js2 import fixes (#2031)
* Don't assume function types exist in legalize-js-interface.
* Properly handle (ignore) imports in RemoveNonJSOps - do not try to recurse into them.
* Run legalize-js-interface and remove-unused-module-elements in wasm2js, the first is necessary, the last is nice to have.
Diffstat (limited to 'test/wasm2js/i64.2asm.js')
-rw-r--r-- | test/wasm2js/i64.2asm.js | 2193 |
1 files changed, 2163 insertions, 30 deletions
diff --git a/test/wasm2js/i64.2asm.js b/test/wasm2js/i64.2asm.js index b20523a0d..bafb0da5b 100644 --- a/test/wasm2js/i64.2asm.js +++ b/test/wasm2js/i64.2asm.js @@ -1,4 +1,5 @@ import { __tempMemory__ } from 'env'; +import { setTempRet0 } from 'env'; function asmFunc(global, env, buffer) { "almost asm"; @@ -22,6 +23,7 @@ function asmFunc(global, env, buffer) { var abort = env.abort; var nan = global.NaN; var infinity = global.Infinity; + var setTempRet0 = env.setTempRet0; var __tempMemory__ = env.__tempMemory__ | 0; var i64toi32_i32$HIGH_BITS = 0; function $0(x, x$hi, y, y$hi) { @@ -564,6 +566,2137 @@ function asmFunc(global, env, buffer) { return i64toi32_i32$0 >>> 0 > y$hi >>> 0 | ((i64toi32_i32$0 | 0) == (y$hi | 0) & x >>> 0 >= y >>> 0 | 0) | 0 | 0; } + function legalstub$0($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 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_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0; + i64toi32_i32$0 = 0; + $6_1 = $0_1; + $6$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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 { + { + 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; + } + } + $9$hi = i64toi32_i32$1; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$3 = $21_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $10$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $12_1 = $2_1; + $12$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + 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 { + { + 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; + } + } + $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 = $0($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $4_1 = 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 { + { + 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($23_1 | 0); + i64toi32_i32$2 = $4$hi; + return $4_1 | 0; + } + + function legalstub$1($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 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_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0; + i64toi32_i32$0 = 0; + $6_1 = $0_1; + $6$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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 { + { + 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; + } + } + $9$hi = i64toi32_i32$1; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$3 = $21_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $10$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $12_1 = $2_1; + $12$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + 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 { + { + 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; + } + } + $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 = $1($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $4_1 = 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 { + { + 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($23_1 | 0); + i64toi32_i32$2 = $4$hi; + return $4_1 | 0; + } + + function legalstub$2($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 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_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0; + i64toi32_i32$0 = 0; + $6_1 = $0_1; + $6$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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 { + { + 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; + } + } + $9$hi = i64toi32_i32$1; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$3 = $21_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $10$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $12_1 = $2_1; + $12$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + 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 { + { + 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; + } + } + $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 = $2($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $4_1 = 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 { + { + 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($23_1 | 0); + i64toi32_i32$2 = $4$hi; + return $4_1 | 0; + } + + function legalstub$3($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 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_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0; + i64toi32_i32$0 = 0; + $6_1 = $0_1; + $6$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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 { + { + 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; + } + } + $9$hi = i64toi32_i32$1; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$3 = $21_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $10$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $12_1 = $2_1; + $12$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + 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 { + { + 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; + } + } + $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 = $3($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $4_1 = 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 { + { + 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($23_1 | 0); + i64toi32_i32$2 = $4$hi; + return $4_1 | 0; + } + + function legalstub$4($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 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_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0; + i64toi32_i32$0 = 0; + $6_1 = $0_1; + $6$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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 { + { + 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; + } + } + $9$hi = i64toi32_i32$1; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$3 = $21_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $10$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $12_1 = $2_1; + $12$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + 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 { + { + 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; + } + } + $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 = $4($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $4_1 = 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 { + { + 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($23_1 | 0); + i64toi32_i32$2 = $4$hi; + return $4_1 | 0; + } + + function legalstub$5($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 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_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0; + i64toi32_i32$0 = 0; + $6_1 = $0_1; + $6$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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 { + { + 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; + } + } + $9$hi = i64toi32_i32$1; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$3 = $21_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $10$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $12_1 = $2_1; + $12$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + 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 { + { + 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; + } + } + $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 = $5($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $4_1 = 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 { + { + 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($23_1 | 0); + i64toi32_i32$2 = $4$hi; + return $4_1 | 0; + } + + function legalstub$6($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 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_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0; + i64toi32_i32$0 = 0; + $6_1 = $0_1; + $6$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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 { + { + 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; + } + } + $9$hi = i64toi32_i32$1; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$3 = $21_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $10$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $12_1 = $2_1; + $12$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + 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 { + { + 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; + } + } + $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 = $6($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $4_1 = 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 { + { + 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($23_1 | 0); + i64toi32_i32$2 = $4$hi; + return $4_1 | 0; + } + + function legalstub$7($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 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_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0; + i64toi32_i32$0 = 0; + $6_1 = $0_1; + $6$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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 { + { + 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; + } + } + $9$hi = i64toi32_i32$1; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$3 = $21_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $10$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $12_1 = $2_1; + $12$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + 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 { + { + 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; + } + } + $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 = $7($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $4_1 = 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 { + { + 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($23_1 | 0); + i64toi32_i32$2 = $4$hi; + return $4_1 | 0; + } + + function legalstub$8($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 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_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0; + i64toi32_i32$0 = 0; + $6_1 = $0_1; + $6$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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 { + { + 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; + } + } + $9$hi = i64toi32_i32$1; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$3 = $21_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $10$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $12_1 = $2_1; + $12$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + 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 { + { + 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; + } + } + $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 = $8($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $4_1 = 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 { + { + 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($23_1 | 0); + i64toi32_i32$2 = $4$hi; + return $4_1 | 0; + } + + function legalstub$9($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 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_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0; + i64toi32_i32$0 = 0; + $6_1 = $0_1; + $6$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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 { + { + 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; + } + } + $9$hi = i64toi32_i32$1; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$3 = $21_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $10$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $12_1 = $2_1; + $12$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + 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 { + { + 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; + } + } + $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 = $9($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $4_1 = 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 { + { + 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($23_1 | 0); + i64toi32_i32$2 = $4$hi; + return $4_1 | 0; + } + + function legalstub$10($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 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_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0; + i64toi32_i32$0 = 0; + $6_1 = $0_1; + $6$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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 { + { + 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; + } + } + $9$hi = i64toi32_i32$1; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$3 = $21_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $10$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $12_1 = $2_1; + $12$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + 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 { + { + 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; + } + } + $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 = $10($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $4_1 = 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 { + { + 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($23_1 | 0); + i64toi32_i32$2 = $4$hi; + return $4_1 | 0; + } + + function legalstub$11($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 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_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0; + i64toi32_i32$0 = 0; + $6_1 = $0_1; + $6$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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 { + { + 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; + } + } + $9$hi = i64toi32_i32$1; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$3 = $21_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $10$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $12_1 = $2_1; + $12$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + 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 { + { + 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; + } + } + $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 = $11($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $4_1 = 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 { + { + 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($23_1 | 0); + i64toi32_i32$2 = $4$hi; + return $4_1 | 0; + } + + function legalstub$12($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 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_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0; + i64toi32_i32$0 = 0; + $6_1 = $0_1; + $6$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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 { + { + 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; + } + } + $9$hi = i64toi32_i32$1; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$3 = $21_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $10$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $12_1 = $2_1; + $12$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + 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 { + { + 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; + } + } + $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 = $12($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $4_1 = 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 { + { + 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($23_1 | 0); + i64toi32_i32$2 = $4$hi; + return $4_1 | 0; + } + + function legalstub$13($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 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_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0; + i64toi32_i32$0 = 0; + $6_1 = $0_1; + $6$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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 { + { + 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; + } + } + $9$hi = i64toi32_i32$1; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$3 = $21_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $10$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $12_1 = $2_1; + $12$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + 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 { + { + 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; + } + } + $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 = $13($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $4_1 = 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 { + { + 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($23_1 | 0); + i64toi32_i32$2 = $4$hi; + return $4_1 | 0; + } + + function legalstub$14($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 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_1 = 0, $6$hi = 0, $9$hi = 0, $10_1 = 0, $10$hi = 0, $12_1 = 0, $12$hi = 0, $15$hi = 0, $16_1 = 0, $16$hi = 0, $4_1 = 0, $4$hi = 0; + i64toi32_i32$0 = 0; + $6_1 = $0_1; + $6$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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 { + { + 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; + } + } + $9$hi = i64toi32_i32$1; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$0 = $6_1; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$3 = $21_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $10_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $10$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $12_1 = $2_1; + $12$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + 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 { + { + 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; + } + } + $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 = $14($10_1 | 0, i64toi32_i32$1 | 0, $16_1 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $4_1 = 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 { + { + 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($23_1 | 0); + i64toi32_i32$2 = $4$hi; + return $4_1 | 0; + } + + function legalstub$15($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 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_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0; + i64toi32_i32$0 = 0; + $4_1 = $0_1; + $4$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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 { + { + 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; + } + } + $7$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = $7$hi; + i64toi32_i32$3 = $12_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$2 = $15(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $2_1 = 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 { + { + 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($13_1 | 0); + i64toi32_i32$2 = $2$hi; + return $2_1 | 0; + } + + function legalstub$16($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 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_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0; + i64toi32_i32$0 = 0; + $4_1 = $0_1; + $4$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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 { + { + 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; + } + } + $7$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = $7$hi; + i64toi32_i32$3 = $12_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$2 = $16(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $2_1 = 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 { + { + 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($13_1 | 0); + i64toi32_i32$2 = $2$hi; + return $2_1 | 0; + } + + function legalstub$17($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 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_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0; + i64toi32_i32$0 = 0; + $4_1 = $0_1; + $4$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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 { + { + 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; + } + } + $7$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$0 = $4_1; + i64toi32_i32$2 = $7$hi; + i64toi32_i32$3 = $12_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$2 = $17(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $2_1 = 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 { + { + 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($13_1 | 0); + i64toi32_i32$2 = $2$hi; + return $2_1 | 0; + } + + function legalstub$18($0_1, $1_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $10_1 = 0, $3_1 = 0, $3$hi = 0, $6$hi = 0; + i64toi32_i32$0 = 0; + $3_1 = $0_1; + $3$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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; + $10_1 = 0; + } + } else { + { + 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_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + } + $6$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$0 = $3_1; + i64toi32_i32$2 = $6$hi; + i64toi32_i32$3 = $10_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + return $18(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0 | 0; + } + + function legalstub$19($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $20_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11_1 = 0, $11$hi = 0, $14$hi = 0, $15_1 = 0, $15$hi = 0; + i64toi32_i32$0 = 0; + $5_1 = $0_1; + $5$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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; + $19_1 = 0; + } + } else { + { + 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; + $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + } + $8$hi = i64toi32_i32$1; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = $8$hi; + i64toi32_i32$3 = $19_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $9$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $11_1 = $2_1; + $11$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + 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; + $20_1 = 0; + } + } else { + { + 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; + $20_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + } + $14$hi = i64toi32_i32$0; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$3 = $20_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $15_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $15$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$2 = $15$hi; + return $19($9_1 | 0, i64toi32_i32$1 | 0, $15_1 | 0, i64toi32_i32$2 | 0) | 0 | 0; + } + + function legalstub$20($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $20_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11_1 = 0, $11$hi = 0, $14$hi = 0, $15_1 = 0, $15$hi = 0; + i64toi32_i32$0 = 0; + $5_1 = $0_1; + $5$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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; + $19_1 = 0; + } + } else { + { + 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; + $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + } + $8$hi = i64toi32_i32$1; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = $8$hi; + i64toi32_i32$3 = $19_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $9$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $11_1 = $2_1; + $11$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + 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; + $20_1 = 0; + } + } else { + { + 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; + $20_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + } + $14$hi = i64toi32_i32$0; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$3 = $20_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $15_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $15$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$2 = $15$hi; + return $20($9_1 | 0, i64toi32_i32$1 | 0, $15_1 | 0, i64toi32_i32$2 | 0) | 0 | 0; + } + + function legalstub$21($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $20_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11_1 = 0, $11$hi = 0, $14$hi = 0, $15_1 = 0, $15$hi = 0; + i64toi32_i32$0 = 0; + $5_1 = $0_1; + $5$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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; + $19_1 = 0; + } + } else { + { + 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; + $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + } + $8$hi = i64toi32_i32$1; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = $8$hi; + i64toi32_i32$3 = $19_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $9$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $11_1 = $2_1; + $11$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + 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; + $20_1 = 0; + } + } else { + { + 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; + $20_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + } + $14$hi = i64toi32_i32$0; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$3 = $20_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $15_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $15$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$2 = $15$hi; + return $21($9_1 | 0, i64toi32_i32$1 | 0, $15_1 | 0, i64toi32_i32$2 | 0) | 0 | 0; + } + + function legalstub$22($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $20_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11_1 = 0, $11$hi = 0, $14$hi = 0, $15_1 = 0, $15$hi = 0; + i64toi32_i32$0 = 0; + $5_1 = $0_1; + $5$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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; + $19_1 = 0; + } + } else { + { + 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; + $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + } + $8$hi = i64toi32_i32$1; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = $8$hi; + i64toi32_i32$3 = $19_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $9$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $11_1 = $2_1; + $11$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + 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; + $20_1 = 0; + } + } else { + { + 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; + $20_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + } + $14$hi = i64toi32_i32$0; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$3 = $20_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $15_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $15$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$2 = $15$hi; + return $22($9_1 | 0, i64toi32_i32$1 | 0, $15_1 | 0, i64toi32_i32$2 | 0) | 0 | 0; + } + + function legalstub$23($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $20_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11_1 = 0, $11$hi = 0, $14$hi = 0, $15_1 = 0, $15$hi = 0; + i64toi32_i32$0 = 0; + $5_1 = $0_1; + $5$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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; + $19_1 = 0; + } + } else { + { + 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; + $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + } + $8$hi = i64toi32_i32$1; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = $8$hi; + i64toi32_i32$3 = $19_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $9$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $11_1 = $2_1; + $11$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + 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; + $20_1 = 0; + } + } else { + { + 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; + $20_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + } + $14$hi = i64toi32_i32$0; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$3 = $20_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $15_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $15$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$2 = $15$hi; + return $23($9_1 | 0, i64toi32_i32$1 | 0, $15_1 | 0, i64toi32_i32$2 | 0) | 0 | 0; + } + + function legalstub$24($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $20_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11_1 = 0, $11$hi = 0, $14$hi = 0, $15_1 = 0, $15$hi = 0; + i64toi32_i32$0 = 0; + $5_1 = $0_1; + $5$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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; + $19_1 = 0; + } + } else { + { + 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; + $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + } + $8$hi = i64toi32_i32$1; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = $8$hi; + i64toi32_i32$3 = $19_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $9$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $11_1 = $2_1; + $11$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + 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; + $20_1 = 0; + } + } else { + { + 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; + $20_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + } + $14$hi = i64toi32_i32$0; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$3 = $20_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $15_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $15$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$2 = $15$hi; + return $24($9_1 | 0, i64toi32_i32$1 | 0, $15_1 | 0, i64toi32_i32$2 | 0) | 0 | 0; + } + + function legalstub$25($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $20_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11_1 = 0, $11$hi = 0, $14$hi = 0, $15_1 = 0, $15$hi = 0; + i64toi32_i32$0 = 0; + $5_1 = $0_1; + $5$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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; + $19_1 = 0; + } + } else { + { + 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; + $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + } + $8$hi = i64toi32_i32$1; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = $8$hi; + i64toi32_i32$3 = $19_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $9$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $11_1 = $2_1; + $11$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + 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; + $20_1 = 0; + } + } else { + { + 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; + $20_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + } + $14$hi = i64toi32_i32$0; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$3 = $20_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $15_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $15$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$2 = $15$hi; + return $25($9_1 | 0, i64toi32_i32$1 | 0, $15_1 | 0, i64toi32_i32$2 | 0) | 0 | 0; + } + + function legalstub$26($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $20_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11_1 = 0, $11$hi = 0, $14$hi = 0, $15_1 = 0, $15$hi = 0; + i64toi32_i32$0 = 0; + $5_1 = $0_1; + $5$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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; + $19_1 = 0; + } + } else { + { + 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; + $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + } + $8$hi = i64toi32_i32$1; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = $8$hi; + i64toi32_i32$3 = $19_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $9$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $11_1 = $2_1; + $11$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + 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; + $20_1 = 0; + } + } else { + { + 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; + $20_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + } + $14$hi = i64toi32_i32$0; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$3 = $20_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $15_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $15$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$2 = $15$hi; + return $26($9_1 | 0, i64toi32_i32$1 | 0, $15_1 | 0, i64toi32_i32$2 | 0) | 0 | 0; + } + + function legalstub$27($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $20_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11_1 = 0, $11$hi = 0, $14$hi = 0, $15_1 = 0, $15$hi = 0; + i64toi32_i32$0 = 0; + $5_1 = $0_1; + $5$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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; + $19_1 = 0; + } + } else { + { + 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; + $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + } + $8$hi = i64toi32_i32$1; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = $8$hi; + i64toi32_i32$3 = $19_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $9$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $11_1 = $2_1; + $11$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + 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; + $20_1 = 0; + } + } else { + { + 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; + $20_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + } + $14$hi = i64toi32_i32$0; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$3 = $20_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $15_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $15$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$2 = $15$hi; + return $27($9_1 | 0, i64toi32_i32$1 | 0, $15_1 | 0, i64toi32_i32$2 | 0) | 0 | 0; + } + + function legalstub$28($0_1, $1_1, $2_1, $3_1) { + $0_1 = $0_1 | 0; + $1_1 = $1_1 | 0; + $2_1 = $2_1 | 0; + $3_1 = $3_1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $19_1 = 0, $20_1 = 0, $5_1 = 0, $5$hi = 0, $8$hi = 0, $9_1 = 0, $9$hi = 0, $11_1 = 0, $11$hi = 0, $14$hi = 0, $15_1 = 0, $15$hi = 0; + i64toi32_i32$0 = 0; + $5_1 = $0_1; + $5$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1_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; + $19_1 = 0; + } + } else { + { + 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; + $19_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + } + $8$hi = i64toi32_i32$1; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$0 = $5_1; + i64toi32_i32$2 = $8$hi; + i64toi32_i32$3 = $19_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + $9_1 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + $9$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $11_1 = $2_1; + $11$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $3_1; + 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; + $20_1 = 0; + } + } else { + { + 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; + $20_1 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + } + $14$hi = i64toi32_i32$0; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$2 = $11_1; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$3 = $20_1; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $15_1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $15$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$2 = $15$hi; + return $28($9_1 | 0, i64toi32_i32$1 | 0, $15_1 | 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; @@ -1807,40 +3940,40 @@ function asmFunc(global, env, buffer) { var FUNCTION_TABLE = []; return { - add: $0, - sub: $1, - mul: $2, - div_s: $3, - div_u: $4, - rem_s: $5, - rem_u: $6, - and: $7, - or: $8, - xor: $9, - shl: $10, - shr_s: $11, - shr_u: $12, - rotl: $13, - rotr: $14, - clz: $15, - ctz: $16, - popcnt: $17, - eqz: $18, - eq: $19, - ne: $20, - lt_s: $21, - lt_u: $22, - le_s: $23, - le_u: $24, - gt_s: $25, - gt_u: $26, - ge_s: $27, - ge_u: $28 + add: legalstub$0, + sub: legalstub$1, + mul: legalstub$2, + div_s: legalstub$3, + div_u: legalstub$4, + rem_s: legalstub$5, + rem_u: legalstub$6, + and: legalstub$7, + or: legalstub$8, + xor: legalstub$9, + shl: legalstub$10, + shr_s: legalstub$11, + shr_u: legalstub$12, + rotl: legalstub$13, + rotr: legalstub$14, + clz: legalstub$15, + ctz: legalstub$16, + popcnt: legalstub$17, + eqz: legalstub$18, + eq: legalstub$19, + ne: legalstub$20, + lt_s: legalstub$21, + lt_u: legalstub$22, + le_s: legalstub$23, + le_u: legalstub$24, + gt_s: legalstub$25, + gt_u: legalstub$26, + ge_s: legalstub$27, + ge_u: legalstub$28 }; } const memasmFunc = new ArrayBuffer(65536); -const retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc); +const retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0},memasmFunc); export const add = retasmFunc.add; export const sub = retasmFunc.sub; export const mul = retasmFunc.mul; |