| import { setTempRet0 } from 'env'; |
| |
| function asmFunc(env) { |
| var Math_imul = Math.imul; |
| var Math_fround = Math.fround; |
| var Math_abs = Math.abs; |
| var Math_clz32 = Math.clz32; |
| var Math_min = Math.min; |
| var Math_max = Math.max; |
| var Math_floor = Math.floor; |
| var Math_ceil = Math.ceil; |
| var Math_trunc = Math.trunc; |
| var Math_sqrt = Math.sqrt; |
| var abort = env.abort; |
| var nan = NaN; |
| var infinity = Infinity; |
| var setTempRet0 = env.setTempRet0; |
| var i64toi32_i32$HIGH_BITS = 0; |
| function $0($0_1, $1) { |
| $0_1 = $0_1 | 0; |
| $1 = $1 | 0; |
| var $2 = 0, $3 = 0, $4 = 0; |
| $2 = $1; |
| $3 = 1; |
| while (1) { |
| if ($0_1 | $2) { |
| $3 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE($0_1, $2, $3, $4); |
| $4 = i64toi32_i32$HIGH_BITS; |
| $1 = $0_1; |
| $0_1 = $0_1 - 1 | 0; |
| $2 = $2 - ($1 >>> 0 < 1) | 0; |
| continue; |
| } |
| break; |
| }; |
| i64toi32_i32$HIGH_BITS = $4; |
| return $3 | 0; |
| } |
| |
| function legalstub$0($0_1, $1) { |
| $0_1 = $0($0_1, $1); |
| setTempRet0(i64toi32_i32$HIGH_BITS | 0); |
| return $0_1; |
| } |
| |
| function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE($0_1, $1, $2, $3) { |
| var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; |
| $4 = $2 >>> 16 | 0; |
| $5 = $0_1 >>> 16 | 0; |
| $9 = Math_imul($4, $5); |
| $6 = $2 & 65535; |
| $7 = $0_1 & 65535; |
| $8 = Math_imul($6, $7); |
| $5 = ($8 >>> 16 | 0) + Math_imul($5, $6) | 0; |
| $4 = ($5 & 65535) + Math_imul($4, $7) | 0; |
| $0_1 = (Math_imul($1, $2) + $9 | 0) + Math_imul($0_1, $3) + ($5 >>> 16) + ($4 >>> 16) | 0; |
| $1 = $8 & 65535 | $4 << 16; |
| i64toi32_i32$HIGH_BITS = $0_1; |
| return $1; |
| } |
| |
| return { |
| "fac_expr": legalstub$0, |
| "fac_stack": legalstub$0, |
| "fac_stack_raw": legalstub$0, |
| "fac_mixed": legalstub$0, |
| "fac_mixed_raw": legalstub$0 |
| }; |
| } |
| |
| var retasmFunc = asmFunc( { abort: function() { throw new Error('abort'); }, |
| setTempRet0 |
| }); |
| export var fac_expr = retasmFunc.fac_expr; |
| export var fac_stack = retasmFunc.fac_stack; |
| export var fac_stack_raw = retasmFunc.fac_stack_raw; |
| export var fac_mixed = retasmFunc.fac_mixed; |
| export var fac_mixed_raw = retasmFunc.fac_mixed_raw; |