diff options
Diffstat (limited to 'test/wasm2asm/f64.2asm.js')
-rw-r--r-- | test/wasm2asm/f64.2asm.js | 40 |
1 files changed, 18 insertions, 22 deletions
diff --git a/test/wasm2asm/f64.2asm.js b/test/wasm2asm/f64.2asm.js index 5b6358f27..5f3adbacd 100644 --- a/test/wasm2asm/f64.2asm.js +++ b/test/wasm2asm/f64.2asm.js @@ -122,28 +122,24 @@ function asmFunc(global, env, buffer) { return +(+HEAPF64[0 >> 3]); } - function __wasm_nearest_f64($0) { - $0 = +$0; - var $2 = 0.0, $1 = 0.0, $3 = 0.0, $34 = 0.0, $32 = 0.0, $4 = 0.0, $28 = 0.0; - $1 = Math_ceil($0); - $2 = Math_floor($0); - $3 = $0 - $2; - if ($3 < .5) $34 = $2; else { - if ($3 > .5) $32 = $1; else { - $4 = $2 / 2.0; - if ($4 - Math_floor($4) == 0.0) $28 = $2; else $28 = $1; - $32 = $28; - } - $34 = $32; - } - return +$34; - } - - function __wasm_trunc_f64($0) { - $0 = +$0; - var $7 = 0.0; - if ($0 < 0.0) $7 = Math_ceil($0); else $7 = Math_floor($0); - return +$7; + function __wasm_nearest_f64(var$0) { + var$0 = +var$0; + var var$1 = 0.0, var$2 = 0.0, wasm2asm_f64$0 = 0.0, wasm2asm_f64$1 = 0.0, wasm2asm_i32$0 = 0; + var$1 = Math_floor(var$0); + var$2 = var$0 - var$1; + if ((var$2 < .5 | 0) == (0 | 0)) block : { + var$0 = Math_ceil(var$0); + if (var$2 > .5) return +var$0; + var$2 = var$1 * .5; + var$1 = (wasm2asm_i32$0 = var$2 - Math_floor(var$2) == 0.0, wasm2asm_f64$0 = var$1, wasm2asm_f64$1 = var$0, wasm2asm_i32$0 ? wasm2asm_f64$0 : wasm2asm_f64$1); + }; + return +var$1; + } + + function __wasm_trunc_f64(var$0) { + var$0 = +var$0; + var wasm2asm_f64$0 = 0.0, wasm2asm_f64$1 = 0.0, wasm2asm_i32$0 = 0; + return +(wasm2asm_i32$0 = var$0 < 0.0, wasm2asm_f64$0 = Math_ceil(var$0), wasm2asm_f64$1 = Math_floor(var$0), wasm2asm_i32$0 ? wasm2asm_f64$0 : wasm2asm_f64$1); } return { |