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/endianness.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/endianness.2asm.js')
-rw-r--r-- | test/wasm2js/endianness.2asm.js | 941 |
1 files changed, 532 insertions, 409 deletions
diff --git a/test/wasm2js/endianness.2asm.js b/test/wasm2js/endianness.2asm.js index 0ccf6719f..81cf13022 100644 --- a/test/wasm2js/endianness.2asm.js +++ b/test/wasm2js/endianness.2asm.js @@ -54,549 +54,672 @@ function asmFunc(global, env, buffer) { var infinity = global.Infinity; var setTempRet0 = env.setTempRet0; var i64toi32_i32$HIGH_BITS = 0; - function i16_store_little($0, $1) { - $0 = $0 | 0; - $1 = $1 | 0; - HEAP8[$0 >> 0] = $1; - HEAP8[($0 + 1 | 0) >> 0] = $1 >>> 8 | 0; - } - - function i32_store_little($0, $1) { - $0 = $0 | 0; - $1 = $1 | 0; - i16_store_little($0 | 0, $1 | 0); - i16_store_little($0 + 2 | 0 | 0, $1 >>> 16 | 0 | 0); - } - - function i64_store_little($0, $1, $2) { - $0 = $0 | 0; - $1 = $1 | 0; - $2 = $2 | 0; - var $3 = 0, $4 = 0; - i32_store_little($0 | 0, $1 | 0); - $0 = $0 + 4 | 0; - $4 = 32; - $3 = $4 & 31 | 0; - if (32 >>> 0 <= ($4 & 63 | 0) >>> 0) { - $1 = $2 >>> $3 | 0 + function i16_store_little(address, value) { + address = address | 0; + value = value | 0; + HEAP8[address >> 0] = value; + HEAP8[(address + 1 | 0) >> 0] = value >>> 8 | 0; + } + + function i32_store_little(address, value) { + address = address | 0; + value = value | 0; + i16_store_little(address | 0, value | 0); + i16_store_little(address + 2 | 0 | 0, value >>> 16 | 0 | 0); + } + + function i64_store_little(address, value, value$hi) { + address = address | 0; + value = value | 0; + value$hi = value$hi | 0; + var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $9_1 = 0, $6_1 = 0, i64toi32_i32$2 = 0; + i64toi32_i32$0 = value$hi; + i32_store_little(address | 0, value | 0); + $6_1 = address + 4 | 0; + i64toi32_i32$2 = value; + 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; + $9_1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } } else { - $1 = (((1 << $3 | 0) - 1 | 0) & $2 | 0) << (32 - $3 | 0) | 0 | ($1 >>> $3 | 0) | 0 + { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $9_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; + } } - i32_store_little($0 | 0, $1 | 0); + i32_store_little($6_1 | 0, $9_1 | 0); } - function i16_load_little($0) { - $0 = $0 | 0; - return HEAPU8[$0 >> 0] | 0 | ((HEAPU8[($0 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | 0; + function i16_load_little(address) { + address = address | 0; + return HEAPU8[address >> 0] | 0 | ((HEAPU8[(address + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | 0; } - function i32_load_little($0) { - $0 = $0 | 0; - return i16_load_little($0 | 0) | 0 | ((i16_load_little($0 + 2 | 0 | 0) | 0) << 16 | 0) | 0 | 0; + function i32_load_little(address) { + address = address | 0; + return i16_load_little(address | 0) | 0 | ((i16_load_little(address + 2 | 0 | 0) | 0) << 16 | 0) | 0 | 0; } - function i64_load_little($0) { - $0 = $0 | 0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6_1 = 0; - $1 = 0; - $5 = i32_load_little($0 | 0) | 0; - $6_1 = $1; - $1 = 0; - $0 = i32_load_little($0 + 4 | 0 | 0) | 0; - $2 = 32; - $3 = $2 & 31 | 0; - if (32 >>> 0 <= ($2 & 63 | 0) >>> 0) { - { - $4 = $0 << $3 | 0; - $2 = 0; + function i64_load_little(address) { + address = address | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $9_1 = 0, $3 = 0, $3$hi = 0, $8$hi = 0; + i64toi32_i32$0 = 0; + $3 = i32_load_little(address | 0) | 0; + $3$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = i32_load_little(address + 4 | 0 | 0) | 0; + 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; + $9_1 = 0; } } else { { - $4 = ((1 << $3 | 0) - 1 | 0) & ($0 >>> (32 - $3 | 0) | 0) | 0 | ($1 << $3 | 0) | 0; - $2 = $0 << $3 | 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; + $9_1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; } } - $0 = $4; - $4 = $6_1; - $1 = $5; - $0 = $4 | $0 | 0; - $1 = $1 | $2 | 0; - i64toi32_i32$HIGH_BITS = $0; - return $1 | 0; - } - - function $6($0) { - $0 = $0 | 0; - i16_store_little(0 | 0, $0 | 0); + $8$hi = i64toi32_i32$1; + i64toi32_i32$1 = $3$hi; + i64toi32_i32$0 = $3; + i64toi32_i32$2 = $8$hi; + i64toi32_i32$3 = $9_1; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$0 = i64toi32_i32$0 | i64toi32_i32$3 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$2; + return i64toi32_i32$0 | 0; + } + + function $6(value) { + value = value | 0; + i16_store_little(0 | 0, value | 0); return HEAP16[0 >> 1] | 0 | 0; } - function $7($0) { - $0 = $0 | 0; - i16_store_little(0 | 0, $0 | 0); + function $7(value) { + value = value | 0; + i16_store_little(0 | 0, value | 0); return HEAPU16[0 >> 1] | 0 | 0; } - function $8($0) { - $0 = $0 | 0; - i32_store_little(0 | 0, $0 | 0); + function $8(value) { + value = value | 0; + i32_store_little(0 | 0, value | 0); return HEAP32[0 >> 2] | 0 | 0; } - function $9($0, $1) { - $0 = $0 | 0; - $1 = $1 | 0; - i16_store_little(0 | 0, $0 | 0); - $1 = HEAP16[0 >> 1] | 0; - $0 = $1 >> 31 | 0; - i64toi32_i32$HIGH_BITS = $0; - return $1 | 0; - } - - function $10($0, $1) { - $0 = $0 | 0; - $1 = $1 | 0; - i16_store_little(0 | 0, $0 | 0); - $1 = HEAPU16[0 >> 1] | 0; - $0 = 0; - i64toi32_i32$HIGH_BITS = $0; - return $1 | 0; - } - - function $11($0, $1) { - $0 = $0 | 0; - $1 = $1 | 0; - i32_store_little(0 | 0, $0 | 0); - $1 = HEAP32[0 >> 2] | 0; - $0 = $1 >> 31 | 0; - i64toi32_i32$HIGH_BITS = $0; - return $1 | 0; - } - - function $12($0, $1) { - $0 = $0 | 0; - $1 = $1 | 0; - i32_store_little(0 | 0, $0 | 0); - $1 = HEAP32[0 >> 2] | 0; - $0 = 0; - i64toi32_i32$HIGH_BITS = $0; - return $1 | 0; - } - - function $13($0, $1) { - $0 = $0 | 0; - $1 = $1 | 0; - i64_store_little(0 | 0, $0 | 0, $1 | 0); - $0 = 0; - $1 = HEAP32[$0 >> 2] | 0; - $0 = HEAP32[($0 + 4 | 0) >> 2] | 0; - i64toi32_i32$HIGH_BITS = $0; - return $1 | 0; - } - - function $14($0) { - $0 = Math_fround($0); - i32_store_little(0 | 0, (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(0)) | 0); + function $9(value, value$hi) { + value = value | 0; + value$hi = value$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = value$hi; + i16_store_little(0 | 0, value | 0); + i64toi32_i32$0 = HEAP16[0 >> 1] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $10(value, value$hi) { + value = value | 0; + value$hi = value$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = value$hi; + i16_store_little(0 | 0, value | 0); + i64toi32_i32$0 = HEAPU16[0 >> 1] | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $11(value, value$hi) { + value = value | 0; + value$hi = value$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = value$hi; + i32_store_little(0 | 0, value | 0); + i64toi32_i32$0 = HEAP32[0 >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $12(value, value$hi) { + value = value | 0; + value$hi = value$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = value$hi; + i32_store_little(0 | 0, value | 0); + i64toi32_i32$0 = HEAP32[0 >> 2] | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $13(value, value$hi) { + value = value | 0; + value$hi = value$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = value$hi; + i64_store_little(0 | 0, value | 0, i64toi32_i32$0 | 0); + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $14(value) { + value = Math_fround(value); + i32_store_little(0 | 0, (wasm2js_scratch_store_f32(value), wasm2js_scratch_load_i32(0)) | 0); return Math_fround(Math_fround(HEAPF32[0 >> 2])); } - function $15($0) { - $0 = +$0; - var $1 = 0; - wasm2js_scratch_store_f64(+$0); - $1 = wasm2js_scratch_load_i32(1 | 0) | 0; - i64_store_little(0 | 0, wasm2js_scratch_load_i32(0 | 0) | 0 | 0, $1 | 0); + function $15(value) { + value = +value; + var i64toi32_i32$0 = 0; + wasm2js_scratch_store_f64(+value); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64_store_little(0 | 0, wasm2js_scratch_load_i32(0 | 0) | 0 | 0, i64toi32_i32$0 | 0); return +(+HEAPF64[0 >> 3]); } - function $16($0) { - $0 = $0 | 0; - HEAP16[0 >> 1] = $0; + function $16(value) { + value = value | 0; + HEAP16[0 >> 1] = value; return i16_load_little(0 | 0) | 0 | 0; } - function $17($0) { - $0 = $0 | 0; - HEAP32[0 >> 2] = $0; + function $17(value) { + value = value | 0; + HEAP32[0 >> 2] = value; return i32_load_little(0 | 0) | 0 | 0; } - function $18($0, $1) { - $0 = $0 | 0; - $1 = $1 | 0; - HEAP16[0 >> 1] = $0; - $1 = 0; - $0 = i16_load_little(0 | 0) | 0; - i64toi32_i32$HIGH_BITS = $1; - return $0 | 0; - } - - function $19($0, $1) { - $0 = $0 | 0; - $1 = $1 | 0; - HEAP32[0 >> 2] = $0; - $1 = 0; - $0 = i32_load_little(0 | 0) | 0; - i64toi32_i32$HIGH_BITS = $1; - return $0 | 0; - } - - function $20($0, $1) { - $0 = $0 | 0; - $1 = $1 | 0; - var $2 = 0; - $2 = 0; - HEAP32[$2 >> 2] = $0; - HEAP32[($2 + 4 | 0) >> 2] = $1; - $1 = i64_load_little(0 | 0) | 0; - $2 = i64toi32_i32$HIGH_BITS; - i64toi32_i32$HIGH_BITS = $2; - return $1 | 0; - } - - function $21($0) { - $0 = Math_fround($0); - HEAPF32[0 >> 2] = $0; + function $18(value, value$hi) { + value = value | 0; + value$hi = value$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = value$hi; + HEAP16[0 >> 1] = value; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = i16_load_little(0 | 0) | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function $19(value, value$hi) { + value = value | 0; + value$hi = value$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = value$hi; + HEAP32[0 >> 2] = value; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = i32_load_little(0 | 0) | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function $20(value, value$hi) { + value = value | 0; + value$hi = value$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0; + i64toi32_i32$0 = value$hi; + i64toi32_i32$1 = 0; + HEAP32[i64toi32_i32$1 >> 2] = value; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = i64_load_little(0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function $21(value) { + value = Math_fround(value); + HEAPF32[0 >> 2] = value; return Math_fround((wasm2js_scratch_store_i32(0, i32_load_little(0 | 0) | 0), wasm2js_scratch_load_f32())); } - function $22($0) { - $0 = +$0; - var $1 = 0, $2 = 0; - HEAPF64[0 >> 3] = $0; - $1 = i64_load_little(0 | 0) | 0; - $2 = i64toi32_i32$HIGH_BITS; - wasm2js_scratch_store_i32(0 | 0, $1 | 0); - wasm2js_scratch_store_i32(1 | 0, $2 | 0); + function $22(value) { + value = +value; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + HEAPF64[0 >> 3] = value; + i64toi32_i32$0 = i64_load_little(0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); return +(+wasm2js_scratch_load_f64()); } function legalstub$9($0, $1) { $0 = $0 | 0; $1 = $1 | 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6_1 = 0; - $3 = 0; - $5 = $0; - $6_1 = $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_1; - $3 = $5; - $1 = $0 | $1 | 0; - $1 = $9($3 | $4 | 0 | 0, $1 | 0) | 0; - $3 = i64toi32_i32$HIGH_BITS; - $6_1 = $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 = $9(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_1 | 0; + setTempRet0($13_1 | 0); + i64toi32_i32$2 = $2$hi; + return $2 | 0; } function legalstub$10($0, $1) { $0 = $0 | 0; $1 = $1 | 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6_1 = 0; - $3 = 0; - $5 = $0; - $6_1 = $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_1; - $3 = $5; - $1 = $0 | $1 | 0; - $1 = $10($3 | $4 | 0 | 0, $1 | 0) | 0; - $3 = i64toi32_i32$HIGH_BITS; - $6_1 = $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 = $10(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_1 | 0; + setTempRet0($13_1 | 0); + i64toi32_i32$2 = $2$hi; + return $2 | 0; } function legalstub$11($0, $1) { $0 = $0 | 0; $1 = $1 | 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6_1 = 0; - $3 = 0; - $5 = $0; - $6_1 = $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_1; - $3 = $5; - $1 = $0 | $1 | 0; - $1 = $11($3 | $4 | 0 | 0, $1 | 0) | 0; - $3 = i64toi32_i32$HIGH_BITS; - $6_1 = $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 = $11(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_1 | 0; + setTempRet0($13_1 | 0); + i64toi32_i32$2 = $2$hi; + return $2 | 0; } function legalstub$12($0, $1) { $0 = $0 | 0; $1 = $1 | 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6_1 = 0; - $3 = 0; - $5 = $0; - $6_1 = $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_1; - $3 = $5; - $1 = $0 | $1 | 0; - $1 = $12($3 | $4 | 0 | 0, $1 | 0) | 0; - $3 = i64toi32_i32$HIGH_BITS; - $6_1 = $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 = $12(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_1 | 0; + setTempRet0($13_1 | 0); + i64toi32_i32$2 = $2$hi; + return $2 | 0; } function legalstub$13($0, $1) { $0 = $0 | 0; $1 = $1 | 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6_1 = 0; - $3 = 0; - $5 = $0; - $6_1 = $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_1; - $3 = $5; - $1 = $0 | $1 | 0; - $1 = $13($3 | $4 | 0 | 0, $1 | 0) | 0; - $3 = i64toi32_i32$HIGH_BITS; - $6_1 = $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 = $13(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_1 | 0; + setTempRet0($13_1 | 0); + i64toi32_i32$2 = $2$hi; + return $2 | 0; } function legalstub$18($0, $1) { $0 = $0 | 0; $1 = $1 | 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6_1 = 0; - $3 = 0; - $5 = $0; - $6_1 = $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_1; - $3 = $5; - $1 = $0 | $1 | 0; - $1 = $18($3 | $4 | 0 | 0, $1 | 0) | 0; - $3 = i64toi32_i32$HIGH_BITS; - $6_1 = $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 = $18(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_1 | 0; + setTempRet0($13_1 | 0); + i64toi32_i32$2 = $2$hi; + return $2 | 0; } function legalstub$19($0, $1) { $0 = $0 | 0; $1 = $1 | 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6_1 = 0; - $3 = 0; - $5 = $0; - $6_1 = $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_1; - $3 = $5; - $1 = $0 | $1 | 0; - $1 = $19($3 | $4 | 0 | 0, $1 | 0) | 0; - $3 = i64toi32_i32$HIGH_BITS; - $6_1 = $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 = $19(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_1 | 0; + setTempRet0($13_1 | 0); + i64toi32_i32$2 = $2$hi; + return $2 | 0; } function legalstub$20($0, $1) { $0 = $0 | 0; $1 = $1 | 0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6_1 = 0; - $3 = 0; - $5 = $0; - $6_1 = $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_1; - $3 = $5; - $1 = $0 | $1 | 0; - $1 = $20($3 | $4 | 0 | 0, $1 | 0) | 0; - $3 = i64toi32_i32$HIGH_BITS; - $6_1 = $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 = $20(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_1 | 0; + setTempRet0($13_1 | 0); + i64toi32_i32$2 = $2$hi; + return $2 | 0; } var FUNCTION_TABLE = []; |