import * as env from 'env';

  var bufferView;

  var scratchBuffer = new ArrayBuffer(16);
  var i32ScratchView = new Int32Array(scratchBuffer);
  var f32ScratchView = new Float32Array(scratchBuffer);
  var f64ScratchView = new Float64Array(scratchBuffer);
  
  function wasm2js_scratch_load_i32(index) {
    return i32ScratchView[index];
  }
      
  function wasm2js_scratch_store_i32(index, value) {
    i32ScratchView[index] = value;
  }
      
  function wasm2js_scratch_load_f64() {
    return f64ScratchView[0];
  }
      
  function wasm2js_scratch_store_f64(value) {
    f64ScratchView[0] = value;
  }
      
  function wasm2js_scratch_load_f32() {
    return f32ScratchView[2];
  }
      
function asmFunc(imports) {
 var buffer = new ArrayBuffer(65536);
 var HEAP8 = new Int8Array(buffer);
 var HEAP16 = new Int16Array(buffer);
 var HEAP32 = new Int32Array(buffer);
 var HEAPU8 = new Uint8Array(buffer);
 var HEAPU16 = new Uint16Array(buffer);
 var HEAPU32 = new Uint32Array(buffer);
 var HEAPF32 = new Float32Array(buffer);
 var HEAPF64 = new Float64Array(buffer);
 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 env = imports.env;
 var setTempRet0 = env.setTempRet0;
 var i64toi32_i32$HIGH_BITS = 0;
 function $0() {
  return HEAPU8[0] | HEAPU8[1] << 8 | (HEAPU8[2] << 16 | HEAPU8[3] << 24);
 }
 
 function $2() {
  return Math_fround((wasm2js_scratch_store_i32(2, HEAPU8[0] | HEAPU8[1] << 8 | (HEAPU8[2] << 16 | HEAPU8[3] << 24)), wasm2js_scratch_load_f32()));
 }
 
 function $3() {
  var $0_1 = 0;
  $0_1 = HEAPU8[4] | HEAPU8[5] << 8 | (HEAPU8[6] << 16 | HEAPU8[7] << 24);
  wasm2js_scratch_store_i32(0, HEAPU8[0] | HEAPU8[1] << 8 | (HEAPU8[2] << 16 | HEAPU8[3] << 24));
  wasm2js_scratch_store_i32(1, $0_1 | 0);
  return +wasm2js_scratch_load_f64();
 }
 
 function $4() {
  HEAP8[0] = 0;
  HEAP8[1] = 0;
  HEAP8[2] = 0;
  HEAP8[3] = 0;
 }
 
 function $5() {
  HEAP8[0] = 0;
  HEAP8[1] = 0;
  HEAP8[2] = 0;
  HEAP8[3] = 0;
  HEAP8[4] = 0;
  HEAP8[5] = 0;
  HEAP8[6] = 0;
  HEAP8[7] = 0;
 }
 
 function $7() {
  var $0_1 = 0, $1 = 0;
  wasm2js_scratch_store_f64(0.0);
  $0_1 = wasm2js_scratch_load_i32(1) | 0;
  $1 = wasm2js_scratch_load_i32(0) | 0;
  HEAP8[0] = $1;
  HEAP8[1] = $1 >>> 8;
  HEAP8[2] = $1 >>> 16;
  HEAP8[3] = $1 >>> 24;
  HEAP8[4] = $0_1;
  HEAP8[5] = $0_1 >>> 8;
  HEAP8[6] = $0_1 >>> 16;
  HEAP8[7] = $0_1 >>> 24;
 }
 
 function legalstub$1() {
  var $0_1 = 0;
  i64toi32_i32$HIGH_BITS = HEAPU8[4] | HEAPU8[5] << 8 | (HEAPU8[6] << 16 | HEAPU8[7] << 24);
  $0_1 = HEAPU8[0] | HEAPU8[1] << 8 | (HEAPU8[2] << 16 | HEAPU8[3] << 24);
  setTempRet0(i64toi32_i32$HIGH_BITS | 0);
  return $0_1;
 }
 
 bufferView = HEAPU8;
 function __wasm_memory_size() {
  return buffer.byteLength / 65536 | 0;
 }
 
 return {
  "i32_load": $0, 
  "i64_load": legalstub$1, 
  "f32_load": $2, 
  "f64_load": $3, 
  "i32_store": $4, 
  "i64_store": $5, 
  "f32_store": $4, 
  "f64_store": $7
 };
}

var retasmFunc = asmFunc({
  "env": env,
});
export var i32_load = retasmFunc.i32_load;
export var i64_load = retasmFunc.i64_load;
export var f32_load = retasmFunc.f32_load;
export var f64_load = retasmFunc.f64_load;
export var i32_store = retasmFunc.i32_store;
export var i64_store = retasmFunc.i64_store;
export var f32_store = retasmFunc.f32_store;
export var f64_store = retasmFunc.f64_store;