function asmFunc(global, env, buffer) { "almost asm"; var HEAP8 = new global.Int8Array(buffer); var HEAP16 = new global.Int16Array(buffer); var HEAP32 = new global.Int32Array(buffer); var HEAPU8 = new global.Uint8Array(buffer); var HEAPU16 = new global.Uint16Array(buffer); var HEAPU32 = new global.Uint32Array(buffer); var HEAPF32 = new global.Float32Array(buffer); var HEAPF64 = new global.Float64Array(buffer); var Math_imul = global.Math.imul; var Math_fround = global.Math.fround; var Math_abs = global.Math.abs; var Math_clz32 = global.Math.clz32; var Math_min = global.Math.min; var Math_max = global.Math.max; var Math_floor = global.Math.floor; var Math_ceil = global.Math.ceil; var Math_sqrt = global.Math.sqrt; var abort = env.abort; var nan = global.NaN; var infinity = global.Infinity; var i64toi32_i32$HIGH_BITS = 0; function $1($0) { $0 = $0 | 0; return __wasm_popcnt_i32($0 | 0) | 0 | 0; } function $2($0, $1_1, $2_1, $3_1) { $0 = $0 | 0; $1_1 = $1_1 | 0; $2_1 = $2_1 | 0; $3_1 = $3_1 | 0; var $4_1 = 0; $1_1 = __wasm_popcnt_i64($0 | 0, $1_1 | 0) | 0; $0 = i64toi32_i32$HIGH_BITS; $4_1 = $1_1; $1_1 = $3_1; return ($4_1 | 0) == ($2_1 | 0) & ($0 | 0) == ($1_1 | 0) | 0 | 0; } function $3($0, $1_1, $2_1) { $0 = $0 | 0; $1_1 = $1_1 | 0; $2_1 = $2_1 | 0; var $3_1 = 0; $3_1 = 0; return ($0 | 0) == ($1_1 | 0) & ($3_1 | 0) == ($2_1 | 0) | 0 | 0; } function $4($0, $1_1, $2_1) { $0 = $0 | 0; $1_1 = $1_1 | 0; $2_1 = $2_1 | 0; var $3_1 = 0, $4_1 = 0; $3_1 = $0; $4_1 = $3_1 >> 31 | 0; $3_1 = $2_1; return ($0 | 0) == ($1_1 | 0) & ($4_1 | 0) == ($3_1 | 0) | 0 | 0; } function $5($0, $1_1) { $0 = $0 | 0; $1_1 = $1_1 | 0; return !($0 | $1_1 | 0) | 0; } function $6($0) { $0 = $0 | 0; return Math_clz32($0) | 0; } function $7($0) { $0 = $0 | 0; return __wasm_ctz_i32($0 | 0) | 0 | 0; } function $8($0, $1_1, $2_1, $3_1) { $0 = $0 | 0; $1_1 = $1_1 | 0; $2_1 = $2_1 | 0; $3_1 = $3_1 | 0; var $4_1 = 0, $5_1 = 0; $4_1 = $0; $5_1 = Math_clz32($1_1); $0 = 0; if (($5_1 | 0) == (32 | 0)) { $4_1 = Math_clz32($4_1) + 32 | 0 } else { $4_1 = $5_1 } $1_1 = $3_1; $5_1 = $2_1; return ($4_1 | 0) == ($5_1 | 0) & ($0 | 0) == ($1_1 | 0) | 0 | 0; } function $9($0, $1_1, $2_1, $3_1) { $0 = $0 | 0; $1_1 = $1_1 | 0; $2_1 = $2_1 | 0; $3_1 = $3_1 | 0; var $4_1 = 0; $1_1 = __wasm_ctz_i64($0 | 0, $1_1 | 0) | 0; $0 = i64toi32_i32$HIGH_BITS; $4_1 = $1_1; $1_1 = $3_1; return ($4_1 | 0) == ($2_1 | 0) & ($0 | 0) == ($1_1 | 0) | 0 | 0; } function legalstub$2($0, $1_1, $2_1, $3_1) { $0 = $0 | 0; $1_1 = $1_1 | 0; $2_1 = $2_1 | 0; $3_1 = $3_1 | 0; var $4_1 = 0, $5_1 = 0, $6_1 = 0, $7_1 = 0, $8_1 = 0, $9_1 = 0; $6_1 = 0; $7_1 = $0; $8_1 = $6_1; $6_1 = 0; $4_1 = 32; $5_1 = $4_1 & 31 | 0; if (32 >>> 0 <= ($4_1 & 63 | 0) >>> 0) { { $0 = $1_1 << $5_1 | 0; $4_1 = 0; } } else { { $0 = ((1 << $5_1 | 0) - 1 | 0) & ($1_1 >>> (32 - $5_1 | 0) | 0) | 0 | ($6_1 << $5_1 | 0) | 0; $4_1 = $1_1 << $5_1 | 0; } } $1_1 = $0; $0 = $8_1; $6_1 = $7_1; $1_1 = $0 | $1_1 | 0; $9_1 = $6_1 | $4_1 | 0; $7_1 = $1_1; $1_1 = 0; $8_1 = $1_1; $1_1 = 0; $0 = $3_1; $4_1 = 32; $5_1 = $4_1 & 31 | 0; if (32 >>> 0 <= ($4_1 & 63 | 0) >>> 0) { { $6_1 = $0 << $5_1 | 0; $4_1 = 0; } } else { { $6_1 = ((1 << $5_1 | 0) - 1 | 0) & ($0 >>> (32 - $5_1 | 0) | 0) | 0 | ($1_1 << $5_1 | 0) | 0; $4_1 = $0 << $5_1 | 0; } } $0 = $6_1; $6_1 = $8_1; $1_1 = $2_1; $0 = $6_1 | $0 | 0; $2_1 = $1_1 | $4_1 | 0; $1_1 = $0; $0 = $7_1; return $2($9_1 | 0, $0 | 0, $2_1 | 0, $1_1 | 0) | 0 | 0; } function legalstub$3($0, $1_1, $2_1) { $0 = $0 | 0; $1_1 = $1_1 | 0; $2_1 = $2_1 | 0; var $3_1 = 0, $4_1 = 0, $5_1 = 0, $6_1 = 0, $7_1 = 0; $7_1 = $0; $3_1 = 0; $0 = $3_1; $3_1 = 0; $4_1 = 32; $5_1 = $4_1 & 31 | 0; if (32 >>> 0 <= ($4_1 & 63 | 0) >>> 0) { { $6_1 = $2_1 << $5_1 | 0; $4_1 = 0; } } else { { $6_1 = ((1 << $5_1 | 0) - 1 | 0) & ($2_1 >>> (32 - $5_1 | 0) | 0) | 0 | ($3_1 << $5_1 | 0) | 0; $4_1 = $2_1 << $5_1 | 0; } } $2_1 = $6_1; $6_1 = $0; $3_1 = $1_1; $2_1 = $6_1 | $2_1 | 0; return $3($7_1 | 0, $3_1 | $4_1 | 0 | 0, $2_1 | 0) | 0 | 0; } function legalstub$4($0, $1_1, $2_1) { $0 = $0 | 0; $1_1 = $1_1 | 0; $2_1 = $2_1 | 0; var $3_1 = 0, $4_1 = 0, $5_1 = 0, $6_1 = 0, $7_1 = 0; $7_1 = $0; $3_1 = 0; $0 = $3_1; $3_1 = 0; $4_1 = 32; $5_1 = $4_1 & 31 | 0; if (32 >>> 0 <= ($4_1 & 63 | 0) >>> 0) { { $6_1 = $2_1 << $5_1 | 0; $4_1 = 0; } } else { { $6_1 = ((1 << $5_1 | 0) - 1 | 0) & ($2_1 >>> (32 - $5_1 | 0) | 0) | 0 | ($3_1 << $5_1 | 0) | 0; $4_1 = $2_1 << $5_1 | 0; } } $2_1 = $6_1; $6_1 = $0; $3_1 = $1_1; $2_1 = $6_1 | $2_1 | 0; return $4($7_1 | 0, $3_1 | $4_1 | 0 | 0, $2_1 | 0) | 0 | 0; } function legalstub$5($0, $1_1) { $0 = $0 | 0; $1_1 = $1_1 | 0; var $2_1 = 0, $3_1 = 0, $4_1 = 0, $5_1 = 0, $6_1 = 0; $2_1 = 0; $6_1 = $2_1; $2_1 = 0; $3_1 = 32; $4_1 = $3_1 & 31 | 0; if (32 >>> 0 <= ($3_1 & 63 | 0) >>> 0) { { $5_1 = $1_1 << $4_1 | 0; $3_1 = 0; } } else { { $5_1 = ((1 << $4_1 | 0) - 1 | 0) & ($1_1 >>> (32 - $4_1 | 0) | 0) | 0 | ($2_1 << $4_1 | 0) | 0; $3_1 = $1_1 << $4_1 | 0; } } $1_1 = $5_1; $5_1 = $6_1; $2_1 = $0; $1_1 = $5_1 | $1_1 | 0; return $5($2_1 | $3_1 | 0 | 0, $1_1 | 0) | 0 | 0; } function legalstub$8($0, $1_1, $2_1, $3_1) { $0 = $0 | 0; $1_1 = $1_1 | 0; $2_1 = $2_1 | 0; $3_1 = $3_1 | 0; var $4_1 = 0, $5_1 = 0, $6_1 = 0, $7_1 = 0, $8_1 = 0, $9_1 = 0; $6_1 = 0; $7_1 = $0; $8_1 = $6_1; $6_1 = 0; $4_1 = 32; $5_1 = $4_1 & 31 | 0; if (32 >>> 0 <= ($4_1 & 63 | 0) >>> 0) { { $0 = $1_1 << $5_1 | 0; $4_1 = 0; } } else { { $0 = ((1 << $5_1 | 0) - 1 | 0) & ($1_1 >>> (32 - $5_1 | 0) | 0) | 0 | ($6_1 << $5_1 | 0) | 0; $4_1 = $1_1 << $5_1 | 0; } } $1_1 = $0; $0 = $8_1; $6_1 = $7_1; $1_1 = $0 | $1_1 | 0; $9_1 = $6_1 | $4_1 | 0; $7_1 = $1_1; $1_1 = 0; $8_1 = $1_1; $1_1 = 0; $0 = $3_1; $4_1 = 32; $5_1 = $4_1 & 31 | 0; if (32 >>> 0 <= ($4_1 & 63 | 0) >>> 0) { { $6_1 = $0 << $5_1 | 0; $4_1 = 0; } } else { { $6_1 = ((1 << $5_1 | 0) - 1 | 0) & ($0 >>> (32 - $5_1 | 0) | 0) | 0 | ($1_1 << $5_1 | 0) | 0; $4_1 = $0 << $5_1 | 0; } } $0 = $6_1; $6_1 = $8_1; $1_1 = $2_1; $0 = $6_1 | $0 | 0; $2_1 = $1_1 | $4_1 | 0; $1_1 = $0; $0 = $7_1; return $8($9_1 | 0, $0 | 0, $2_1 | 0, $1_1 | 0) | 0 | 0; } function legalstub$9($0, $1_1, $2_1, $3_1) { $0 = $0 | 0; $1_1 = $1_1 | 0; $2_1 = $2_1 | 0; $3_1 = $3_1 | 0; var $4_1 = 0, $5_1 = 0, $6_1 = 0, $7_1 = 0, $8_1 = 0, $9_1 = 0; $6_1 = 0; $7_1 = $0; $8_1 = $6_1; $6_1 = 0; $4_1 = 32; $5_1 = $4_1 & 31 | 0; if (32 >>> 0 <= ($4_1 & 63 | 0) >>> 0) { { $0 = $1_1 << $5_1 | 0; $4_1 = 0; } } else { { $0 = ((1 << $5_1 | 0) - 1 | 0) & ($1_1 >>> (32 - $5_1 | 0) | 0) | 0 | ($6_1 << $5_1 | 0) | 0; $4_1 = $1_1 << $5_1 | 0; } } $1_1 = $0; $0 = $8_1; $6_1 = $7_1; $1_1 = $0 | $1_1 | 0; $9_1 = $6_1 | $4_1 | 0; $7_1 = $1_1; $1_1 = 0; $8_1 = $1_1; $1_1 = 0; $0 = $3_1; $4_1 = 32; $5_1 = $4_1 & 31 | 0; if (32 >>> 0 <= ($4_1 & 63 | 0) >>> 0) { { $6_1 = $0 << $5_1 | 0; $4_1 = 0; } } else { { $6_1 = ((1 << $5_1 | 0) - 1 | 0) & ($0 >>> (32 - $5_1 | 0) | 0) | 0 | ($1_1 << $5_1 | 0) | 0; $4_1 = $0 << $5_1 | 0; } } $0 = $6_1; $6_1 = $8_1; $1_1 = $2_1; $0 = $6_1 | $0 | 0; $2_1 = $1_1 | $4_1 | 0; $1_1 = $0; $0 = $7_1; return $9($9_1 | 0, $0 | 0, $2_1 | 0, $1_1 | 0) | 0 | 0; } function __wasm_ctz_i32($0) { $0 = $0 | 0; if ($0) { return 31 - Math_clz32(($0 + -1 | 0) ^ $0 | 0) | 0 | 0 } return 32 | 0; } function __wasm_ctz_i64($0, $1_1) { $0 = $0 | 0; $1_1 = $1_1 | 0; var $2_1 = 0, $3_1 = 0, $4_1 = 0, $5_1 = 0, $6_1 = 0; $3_1 = $1_1; if (!!($0 | $3_1 | 0)) { { $3_1 = $1_1; $2_1 = $0; $6_1 = -1; $4_1 = -1; $2_1 = $2_1 + $4_1 | 0; $5_1 = $3_1 + $6_1 | 0; if ($2_1 >>> 0 < $4_1 >>> 0) { $5_1 = $5_1 + 1 | 0 } $3_1 = $2_1; $2_1 = $1_1; $4_1 = $0; $2_1 = $5_1 ^ $2_1 | 0; $3_1 = $3_1 ^ $4_1 | 0; $4_1 = Math_clz32($2_1); $5_1 = 0; if (($4_1 | 0) == (32 | 0)) { $4_1 = Math_clz32($3_1) + 32 | 0 } $2_1 = $5_1; $5_1 = 0; $3_1 = 63; $6_1 = $3_1 - $4_1 | 0; $2_1 = ($3_1 >>> 0 < $4_1 >>> 0) + $2_1 | 0; $2_1 = $5_1 - $2_1 | 0; $3_1 = $6_1; i64toi32_i32$HIGH_BITS = $2_1; return $3_1 | 0; } } $3_1 = 0; $2_1 = 64; i64toi32_i32$HIGH_BITS = $3_1; return $2_1 | 0; } function __wasm_popcnt_i32($0) { $0 = $0 | 0; var $1_1 = 0, $2_1 = 0; label$1 : { label$2 : while (1) { $2_1 = $1_1; if (!$0) { break label$1 } $0 = $0 & ($0 - 1 | 0) | 0; $1_1 = $1_1 + 1 | 0; continue label$2; }; } return $2_1 | 0; } function __wasm_popcnt_i64($0, $1_1) { $0 = $0 | 0; $1_1 = $1_1 | 0; var $2_1 = 0, $3_1 = 0, $4_1 = 0, $5_1 = 0, $6_1 = 0, $7_1 = 0, $8_1 = 0; label$1 : { label$2 : while (1) { $4_1 = $1_1; $3_1 = !($0 | $4_1 | 0); $4_1 = $7_1; $2_1 = $8_1; if ($3_1) { break label$1 } $4_1 = $1_1; $3_1 = $0; $2_1 = 0; $6_1 = 1; $5_1 = $3_1 - $6_1 | 0; $2_1 = ($3_1 >>> 0 < $6_1 >>> 0) + $2_1 | 0; $2_1 = $4_1 - $2_1 | 0; $0 = $2_1; $2_1 = $4_1; $4_1 = $3_1; $3_1 = $0; $3_1 = $2_1 & $3_1 | 0; $0 = $4_1 & $5_1 | 0; $1_1 = $3_1; $3_1 = $7_1; $2_1 = $8_1; $4_1 = 0; $6_1 = 1; $2_1 = $2_1 + $6_1 | 0; $5_1 = $3_1 + $4_1 | 0; if ($2_1 >>> 0 < $6_1 >>> 0) { $5_1 = $5_1 + 1 | 0 } $8_1 = $2_1; $7_1 = $5_1; continue label$2; }; } $5_1 = $4_1; i64toi32_i32$HIGH_BITS = $5_1; return $2_1 | 0; } var FUNCTION_TABLE = []; return { "i32_popcnt": $1, "check_popcnt_i64": legalstub$2, "check_extend_ui32": legalstub$3, "check_extend_si32": legalstub$4, "check_eqz_i64": legalstub$5, "i32_clz": $6, "i32_ctz": $7, "check_clz_i64": legalstub$8, "check_ctz_i64": legalstub$9 }; } var memasmFunc = new ArrayBuffer(65536); var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc); export var i32_popcnt = retasmFunc.i32_popcnt; export var check_popcnt_i64 = retasmFunc.check_popcnt_i64; export var check_extend_ui32 = retasmFunc.check_extend_ui32; export var check_extend_si32 = retasmFunc.check_extend_si32; export var check_eqz_i64 = retasmFunc.check_eqz_i64; export var i32_clz = retasmFunc.i32_clz; export var i32_ctz = retasmFunc.i32_ctz; export var check_clz_i64 = retasmFunc.check_clz_i64; export var check_ctz_i64 = retasmFunc.check_ctz_i64;