(module
 (type $v128_v128_=>_v128 (func (param v128 v128) (result v128)))
 (type $v128_=>_v128 (func (param v128) (result v128)))
 (type $i32_=>_v128 (func (param i32) (result v128)))
 (type $v128_i32_=>_v128 (func (param v128 i32) (result v128)))
 (type $v128_=>_i32 (func (param v128) (result i32)))
 (type $i32_v128_=>_none (func (param i32 v128)))
 (type $i32_v128_=>_v128 (func (param i32 v128) (result v128)))
 (type $none_=>_v128 (func (result v128)))
 (type $f32_=>_v128 (func (param f32) (result v128)))
 (type $f64_=>_v128 (func (param f64) (result v128)))
 (type $v128_=>_i64 (func (param v128) (result i64)))
 (type $v128_i64_=>_v128 (func (param v128 i64) (result v128)))
 (type $v128_=>_f32 (func (param v128) (result f32)))
 (type $v128_f32_=>_v128 (func (param v128 f32) (result v128)))
 (type $v128_=>_f64 (func (param v128) (result f64)))
 (type $v128_f64_=>_v128 (func (param v128 f64) (result v128)))
 (type $v128_v128_v128_=>_v128 (func (param v128 v128 v128) (result v128)))
 (memory $0 1 1)
 (func $v128.load (type $i32_=>_v128) (param $0 i32) (result v128)
  (v128.load
   (local.get $0)
  )
 )
 (func $v128.load8x8_s (type $i32_=>_v128) (param $0 i32) (result v128)
  (v128.load8x8_s
   (local.get $0)
  )
 )
 (func $v128.load8x8_u (type $i32_=>_v128) (param $0 i32) (result v128)
  (v128.load8x8_u
   (local.get $0)
  )
 )
 (func $v128.load16x4_s (type $i32_=>_v128) (param $0 i32) (result v128)
  (v128.load16x4_s
   (local.get $0)
  )
 )
 (func $v128.load16x4_u (type $i32_=>_v128) (param $0 i32) (result v128)
  (v128.load16x4_u
   (local.get $0)
  )
 )
 (func $v128.load32x2_s (type $i32_=>_v128) (param $0 i32) (result v128)
  (v128.load32x2_s
   (local.get $0)
  )
 )
 (func $v128.load32x2_u (type $i32_=>_v128) (param $0 i32) (result v128)
  (v128.load32x2_u
   (local.get $0)
  )
 )
 (func $v128.load8_splat (type $i32_=>_v128) (param $0 i32) (result v128)
  (v128.load8_splat
   (local.get $0)
  )
 )
 (func $v128.load16_splat (type $i32_=>_v128) (param $0 i32) (result v128)
  (v128.load16_splat
   (local.get $0)
  )
 )
 (func $v128.load32_splat (type $i32_=>_v128) (param $0 i32) (result v128)
  (v128.load32_splat
   (local.get $0)
  )
 )
 (func $v128.load64_splat (type $i32_=>_v128) (param $0 i32) (result v128)
  (v128.load64_splat
   (local.get $0)
  )
 )
 (func $v128.store (type $i32_v128_=>_none) (param $0 i32) (param $1 v128)
  (v128.store
   (local.get $0)
   (local.get $1)
  )
 )
 (func $v128.const.i8x16 (type $none_=>_v128) (result v128)
  (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
 )
 (func $v128.const.i16x8 (type $none_=>_v128) (result v128)
  (v128.const i32x4 0x00020001 0x00040003 0x00060005 0x00080007)
 )
 (func $v128.const.i32x4 (type $none_=>_v128) (result v128)
  (v128.const i32x4 0x00000001 0x00000002 0x00000003 0x00000004)
 )
 (func $v128.const.i64x2 (type $none_=>_v128) (result v128)
  (v128.const i32x4 0x00000001 0x00000000 0x00000002 0x00000000)
 )
 (func $v128.const.f32x4 (type $none_=>_v128) (result v128)
  (v128.const i32x4 0x3f800000 0x40000000 0x40400000 0x40800000)
 )
 (func $v128.const.f64x2 (type $none_=>_v128) (result v128)
  (v128.const i32x4 0x00000000 0x3ff00000 0x00000000 0x40000000)
 )
 (func $i8x16.shuffle (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.shuffle 0 17 2 19 4 21 6 23 8 25 10 27 12 29 14 31
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i8x16.swizzle (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.swizzle
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i8x16.splat (type $i32_=>_v128) (param $0 i32) (result v128)
  (i8x16.splat
   (local.get $0)
  )
 )
 (func $i16x8.splat (type $i32_=>_v128) (param $0 i32) (result v128)
  (i16x8.splat
   (local.get $0)
  )
 )
 (func $f32x4.splat (type $f32_=>_v128) (param $0 f32) (result v128)
  (f32x4.splat
   (local.get $0)
  )
 )
 (func $f64x2.splat (type $f64_=>_v128) (param $0 f64) (result v128)
  (f64x2.splat
   (local.get $0)
  )
 )
 (func $i8x16.extract_lane_s (type $v128_=>_i32) (param $0 v128) (result i32)
  (i8x16.extract_lane_s 0
   (local.get $0)
  )
 )
 (func $i8x16.extract_lane_u (type $v128_=>_i32) (param $0 v128) (result i32)
  (i8x16.extract_lane_u 0
   (local.get $0)
  )
 )
 (func $i8x16.replace_lane (type $v128_i32_=>_v128) (param $0 v128) (param $1 i32) (result v128)
  (i8x16.replace_lane 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.extract_lane_s (type $v128_=>_i32) (param $0 v128) (result i32)
  (i16x8.extract_lane_s 0
   (local.get $0)
  )
 )
 (func $i16x8.extract_lane_u (type $v128_=>_i32) (param $0 v128) (result i32)
  (i16x8.extract_lane_u 0
   (local.get $0)
  )
 )
 (func $i16x8.replace_lane (type $v128_i32_=>_v128) (param $0 v128) (param $1 i32) (result v128)
  (i16x8.replace_lane 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.extract_lane (type $v128_=>_i32) (param $0 v128) (result i32)
  (i32x4.extract_lane 0
   (local.get $0)
  )
 )
 (func $i32x4.replace_lane (type $v128_i32_=>_v128) (param $0 v128) (param $1 i32) (result v128)
  (i32x4.replace_lane 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i64x2.extract_lane (type $v128_=>_i64) (param $0 v128) (result i64)
  (i64x2.extract_lane 0
   (local.get $0)
  )
 )
 (func $i64x2.replace_lane (type $v128_i64_=>_v128) (param $0 v128) (param $1 i64) (result v128)
  (i64x2.replace_lane 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f32x4.extract_lane (type $v128_=>_f32) (param $0 v128) (result f32)
  (f32x4.extract_lane 0
   (local.get $0)
  )
 )
 (func $f32x4.replace_lane (type $v128_f32_=>_v128) (param $0 v128) (param $1 f32) (result v128)
  (f32x4.replace_lane 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f64x2.extract_lane (type $v128_=>_f64) (param $0 v128) (result f64)
  (f64x2.extract_lane 0
   (local.get $0)
  )
 )
 (func $f64x2.replace_lane (type $v128_f64_=>_v128) (param $0 v128) (param $1 f64) (result v128)
  (f64x2.replace_lane 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i8x16.eq (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.eq
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i8x16.ne (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.ne
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i8x16.lt_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.lt_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i8x16.lt_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.lt_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i8x16.gt_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.gt_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i8x16.gt_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.gt_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i8x16.le_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.le_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i8x16.le_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.le_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i8x16.ge_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.ge_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i8x16.ge_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.ge_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.eq (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.eq
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.ne (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.ne
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.lt_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.lt_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.lt_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.lt_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.gt_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.gt_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.gt_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.gt_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.le_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.le_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.le_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.le_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.ge_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.ge_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.ge_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.ge_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.eq (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.eq
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.ne (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.ne
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.lt_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.lt_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.lt_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.lt_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.gt_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.gt_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.gt_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.gt_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.le_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.le_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.le_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.le_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.ge_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.ge_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.ge_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.ge_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f32x4.eq (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.eq
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f32x4.ne (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.ne
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f32x4.lt (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.lt
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f32x4.gt (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.gt
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f32x4.le (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.le
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f32x4.ge (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.ge
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f64x2.eq (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.eq
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f64x2.ne (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.ne
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f64x2.lt (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.lt
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f64x2.gt (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.gt
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f64x2.le (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.le
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f64x2.ge (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.ge
   (local.get $0)
   (local.get $1)
  )
 )
 (func $v128.not (type $v128_=>_v128) (param $0 v128) (result v128)
  (v128.not
   (local.get $0)
  )
 )
 (func $v128.and (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (v128.and
   (local.get $0)
   (local.get $1)
  )
 )
 (func $v128.andnot (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (v128.andnot
   (local.get $0)
   (local.get $1)
  )
 )
 (func $v128.or (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (v128.or
   (local.get $0)
   (local.get $1)
  )
 )
 (func $v128.xor (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (v128.xor
   (local.get $0)
   (local.get $1)
  )
 )
 (func $v128.bitselect (type $v128_v128_v128_=>_v128) (param $0 v128) (param $1 v128) (param $2 v128) (result v128)
  (v128.bitselect
   (local.get $0)
   (local.get $1)
   (local.get $2)
  )
 )
 (func $v128.any_true (type $v128_=>_i32) (param $0 v128) (result i32)
  (v128.any_true
   (local.get $0)
  )
 )
 (func $v128.load8_lane (type $i32_v128_=>_v128) (param $0 i32) (param $1 v128) (result v128)
  (v128.load8_lane 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $v128.load16_lane (type $i32_v128_=>_v128) (param $0 i32) (param $1 v128) (result v128)
  (v128.load16_lane 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $v128.load32_lane (type $i32_v128_=>_v128) (param $0 i32) (param $1 v128) (result v128)
  (v128.load32_lane 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $v128.load64_lane (type $i32_v128_=>_v128) (param $0 i32) (param $1 v128) (result v128)
  (v128.load64_lane 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $v128.load64_lane_align (type $i32_v128_=>_v128) (param $0 i32) (param $1 v128) (result v128)
  (v128.load64_lane align=1 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $v128.load64_lane_offset (type $i32_v128_=>_v128) (param $0 i32) (param $1 v128) (result v128)
  (v128.load64_lane offset=32 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $v128.load64_lane_align_offset (type $i32_v128_=>_v128) (param $0 i32) (param $1 v128) (result v128)
  (v128.load64_lane offset=32 align=1 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $v128.store8_lane (type $i32_v128_=>_none) (param $0 i32) (param $1 v128)
  (v128.store8_lane 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $v128.store16_lane (type $i32_v128_=>_none) (param $0 i32) (param $1 v128)
  (v128.store16_lane 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $v128.store32_lane (type $i32_v128_=>_none) (param $0 i32) (param $1 v128)
  (v128.store32_lane 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $v128.store64_lane (type $i32_v128_=>_none) (param $0 i32) (param $1 v128)
  (v128.store64_lane 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $v128.store64_lane_align (type $i32_v128_=>_none) (param $0 i32) (param $1 v128)
  (v128.store64_lane align=1 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $v128.store64_lane_offset (type $i32_v128_=>_none) (param $0 i32) (param $1 v128)
  (v128.store64_lane offset=32 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $v128.store64_lane_align_offset (type $i32_v128_=>_none) (param $0 i32) (param $1 v128)
  (v128.store64_lane offset=32 align=1 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $v128.load32_zero (type $i32_=>_v128) (param $0 i32) (result v128)
  (v128.load32_zero
   (local.get $0)
  )
 )
 (func $v128.load64_zero (type $i32_=>_v128) (param $0 i32) (result v128)
  (v128.load64_zero
   (local.get $0)
  )
 )
 (func $f32x4.demote_f64x2_zero (type $v128_=>_v128) (param $0 v128) (result v128)
  (f32x4.demote_f64x2_zero
   (local.get $0)
  )
 )
 (func $f64x2.promote_low_f32x4 (type $v128_=>_v128) (param $0 v128) (result v128)
  (f64x2.promote_low_f32x4
   (local.get $0)
  )
 )
 (func $i8x16.abs (type $v128_=>_v128) (param $0 v128) (result v128)
  (i8x16.abs
   (local.get $0)
  )
 )
 (func $i8x16.neg (type $v128_=>_v128) (param $0 v128) (result v128)
  (i8x16.neg
   (local.get $0)
  )
 )
 (func $i8x16.popcnt (type $v128_=>_v128) (param $0 v128) (result v128)
  (i8x16.popcnt
   (local.get $0)
  )
 )
 (func $i8x16.all_true (type $v128_=>_i32) (param $0 v128) (result i32)
  (i8x16.all_true
   (local.get $0)
  )
 )
 (func $i8x16.bitmask (type $v128_=>_i32) (param $0 v128) (result i32)
  (i8x16.bitmask
   (local.get $0)
  )
 )
 (func $i8x16.narrow_i16x8_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.narrow_i16x8_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i8x16.narrow_i16x8_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.narrow_i16x8_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f32x4.ceil (type $v128_=>_v128) (param $0 v128) (result v128)
  (f32x4.ceil
   (local.get $0)
  )
 )
 (func $f32x4.floor (type $v128_=>_v128) (param $0 v128) (result v128)
  (f32x4.floor
   (local.get $0)
  )
 )
 (func $f32x4.trunc (type $v128_=>_v128) (param $0 v128) (result v128)
  (f32x4.trunc
   (local.get $0)
  )
 )
 (func $f32x4.nearest (type $v128_=>_v128) (param $0 v128) (result v128)
  (f32x4.nearest
   (local.get $0)
  )
 )
 (func $i8x16.shl (type $v128_i32_=>_v128) (param $0 v128) (param $1 i32) (result v128)
  (i8x16.shl
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i8x16.shr_s (type $v128_i32_=>_v128) (param $0 v128) (param $1 i32) (result v128)
  (i8x16.shr_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i8x16.shr_u (type $v128_i32_=>_v128) (param $0 v128) (param $1 i32) (result v128)
  (i8x16.shr_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i8x16.add (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.add
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i8x16.add_sat_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.add_sat_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i8x16.add_sat_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.add_sat_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i8x16.sub (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.sub
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i8x16.sub_sat_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.sub_sat_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i8x16.sub_sat_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.sub_sat_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f64x2.ceil (type $v128_=>_v128) (param $0 v128) (result v128)
  (f64x2.ceil
   (local.get $0)
  )
 )
 (func $f64x2.floor (type $v128_=>_v128) (param $0 v128) (result v128)
  (f64x2.floor
   (local.get $0)
  )
 )
 (func $i8x16.min_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.min_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i8x16.min_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.min_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i8x16.max_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.max_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i8x16.max_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.max_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f64x2.trunc (type $v128_=>_v128) (param $0 v128) (result v128)
  (f64x2.trunc
   (local.get $0)
  )
 )
 (func $i8x16.avgr_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.avgr_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.extadd_pairwise_i8x16_s (type $v128_=>_v128) (param $0 v128) (result v128)
  (i16x8.extadd_pairwise_i8x16_s
   (local.get $0)
  )
 )
 (func $i16x8.extadd_pairwise_i8x16_u (type $v128_=>_v128) (param $0 v128) (result v128)
  (i16x8.extadd_pairwise_i8x16_u
   (local.get $0)
  )
 )
 (func $i32x4.extadd_pairwise_i16x8_s (type $v128_=>_v128) (param $0 v128) (result v128)
  (i32x4.extadd_pairwise_i16x8_s
   (local.get $0)
  )
 )
 (func $i32x4.extadd_pairwise_i16x8_u (type $v128_=>_v128) (param $0 v128) (result v128)
  (i32x4.extadd_pairwise_i16x8_u
   (local.get $0)
  )
 )
 (func $i16x8.abs (type $v128_=>_v128) (param $0 v128) (result v128)
  (i16x8.abs
   (local.get $0)
  )
 )
 (func $i16x8.neg (type $v128_=>_v128) (param $0 v128) (result v128)
  (i16x8.neg
   (local.get $0)
  )
 )
 (func $i16x8.q15mulr_sat_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.q15mulr_sat_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.all_true (type $v128_=>_i32) (param $0 v128) (result i32)
  (i16x8.all_true
   (local.get $0)
  )
 )
 (func $i16x8.bitmask (type $v128_=>_i32) (param $0 v128) (result i32)
  (i16x8.bitmask
   (local.get $0)
  )
 )
 (func $i16x8.narrow_i32x4_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.narrow_i32x4_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.narrow_i32x4_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.narrow_i32x4_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.extend_low_i8x16_s (type $v128_=>_v128) (param $0 v128) (result v128)
  (i16x8.extend_low_i8x16_s
   (local.get $0)
  )
 )
 (func $i16x8.extend_high_i8x16_s (type $v128_=>_v128) (param $0 v128) (result v128)
  (i16x8.extend_high_i8x16_s
   (local.get $0)
  )
 )
 (func $i16x8.extend_low_i8x16_u (type $v128_=>_v128) (param $0 v128) (result v128)
  (i16x8.extend_low_i8x16_u
   (local.get $0)
  )
 )
 (func $i16x8.extend_high_i8x16_u (type $v128_=>_v128) (param $0 v128) (result v128)
  (i16x8.extend_high_i8x16_u
   (local.get $0)
  )
 )
 (func $i16x8.shl (type $v128_i32_=>_v128) (param $0 v128) (param $1 i32) (result v128)
  (i16x8.shl
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.shr_s (type $v128_i32_=>_v128) (param $0 v128) (param $1 i32) (result v128)
  (i16x8.shr_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.shr_u (type $v128_i32_=>_v128) (param $0 v128) (param $1 i32) (result v128)
  (i16x8.shr_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.add (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.add
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.add_sat_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.add_sat_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.add_sat_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.add_sat_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.sub (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.sub
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.sub_sat_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.sub_sat_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.sub_sat_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.sub_sat_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f64x2.nearest (type $v128_=>_v128) (param $0 v128) (result v128)
  (f64x2.nearest
   (local.get $0)
  )
 )
 (func $i16x8.mul (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.mul
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.min_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.min_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.min_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.min_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.max_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.max_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.max_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.max_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.avgr_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.avgr_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.extmul_low_i8x16_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.extmul_low_i8x16_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.extmul_high_i8x16_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.extmul_high_i8x16_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.extmul_low_i8x16_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.extmul_low_i8x16_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i16x8.extmul_high_i8x16_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.extmul_high_i8x16_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.abs (type $v128_=>_v128) (param $0 v128) (result v128)
  (i32x4.abs
   (local.get $0)
  )
 )
 (func $i32x4.neg (type $v128_=>_v128) (param $0 v128) (result v128)
  (i32x4.neg
   (local.get $0)
  )
 )
 (func $i32x4.all_true (type $v128_=>_i32) (param $0 v128) (result i32)
  (i32x4.all_true
   (local.get $0)
  )
 )
 (func $i32x4.bitmask (type $v128_=>_i32) (param $0 v128) (result i32)
  (i32x4.bitmask
   (local.get $0)
  )
 )
 (func $i32x4.extend_low_i16x8_s (type $v128_=>_v128) (param $0 v128) (result v128)
  (i32x4.extend_low_i16x8_s
   (local.get $0)
  )
 )
 (func $i32x4.extend_high_i16x8_s (type $v128_=>_v128) (param $0 v128) (result v128)
  (i32x4.extend_high_i16x8_s
   (local.get $0)
  )
 )
 (func $i32x4.extend_low_i16x8_u (type $v128_=>_v128) (param $0 v128) (result v128)
  (i32x4.extend_low_i16x8_u
   (local.get $0)
  )
 )
 (func $i32x4.extend_high_i16x8_u (type $v128_=>_v128) (param $0 v128) (result v128)
  (i32x4.extend_high_i16x8_u
   (local.get $0)
  )
 )
 (func $i32x4.shl (type $v128_i32_=>_v128) (param $0 v128) (param $1 i32) (result v128)
  (i32x4.shl
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.shr_s (type $v128_i32_=>_v128) (param $0 v128) (param $1 i32) (result v128)
  (i32x4.shr_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.shr_u (type $v128_i32_=>_v128) (param $0 v128) (param $1 i32) (result v128)
  (i32x4.shr_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.add (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.add
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.sub (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.sub
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.mul (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.mul
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.min_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.min_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.min_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.min_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.max_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.max_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.max_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.max_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.dot_i16x8_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.dot_i16x8_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.extmul_low_i16x8_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.extmul_low_i16x8_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.extmul_high_i16x8_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.extmul_high_i16x8_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.extmul_low_i16x8_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.extmul_low_i16x8_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.extmul_high_i16x8_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.extmul_high_i16x8_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i64x2.abs (type $v128_=>_v128) (param $0 v128) (result v128)
  (i64x2.abs
   (local.get $0)
  )
 )
 (func $i64x2.neg (type $v128_=>_v128) (param $0 v128) (result v128)
  (i64x2.neg
   (local.get $0)
  )
 )
 (func $i64x2.all_true (type $v128_=>_i32) (param $0 v128) (result i32)
  (i64x2.all_true
   (local.get $0)
  )
 )
 (func $i64x2.bitmask (type $v128_=>_i32) (param $0 v128) (result i32)
  (i64x2.bitmask
   (local.get $0)
  )
 )
 (func $i64x2.extend_low_i32x4_s (type $v128_=>_v128) (param $0 v128) (result v128)
  (i64x2.extend_low_i32x4_s
   (local.get $0)
  )
 )
 (func $i64x2.extend_high_i32x4_s (type $v128_=>_v128) (param $0 v128) (result v128)
  (i64x2.extend_high_i32x4_s
   (local.get $0)
  )
 )
 (func $i64x2.extend_low_i32x4_u (type $v128_=>_v128) (param $0 v128) (result v128)
  (i64x2.extend_low_i32x4_u
   (local.get $0)
  )
 )
 (func $i64x2.extend_high_i32x4_u (type $v128_=>_v128) (param $0 v128) (result v128)
  (i64x2.extend_high_i32x4_u
   (local.get $0)
  )
 )
 (func $i64x2.shl (type $v128_i32_=>_v128) (param $0 v128) (param $1 i32) (result v128)
  (i64x2.shl
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i64x2.shr_s (type $v128_i32_=>_v128) (param $0 v128) (param $1 i32) (result v128)
  (i64x2.shr_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i64x2.shr_u (type $v128_i32_=>_v128) (param $0 v128) (param $1 i32) (result v128)
  (i64x2.shr_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i64x2.add (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i64x2.add
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i64x2.sub (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i64x2.sub
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i64x2.mul (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i64x2.mul
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i64x2.eq (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i64x2.eq
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i64x2.ne (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i64x2.ne
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i64x2.lt_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i64x2.lt_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i64x2.gt_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i64x2.gt_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i64x2.le_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i64x2.le_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i64x2.ge_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i64x2.ge_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i64x2.extmul_low_i32x4_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i64x2.extmul_low_i32x4_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i64x2.extmul_high_i32x4_s (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i64x2.extmul_high_i32x4_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i64x2.extmul_low_i32x4_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i64x2.extmul_low_i32x4_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i64x2.extmul_high_i32x4_u (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (i64x2.extmul_high_i32x4_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f32x4.abs (type $v128_=>_v128) (param $0 v128) (result v128)
  (f32x4.abs
   (local.get $0)
  )
 )
 (func $f32x4.neg (type $v128_=>_v128) (param $0 v128) (result v128)
  (f32x4.neg
   (local.get $0)
  )
 )
 (func $f32x4.sqrt (type $v128_=>_v128) (param $0 v128) (result v128)
  (f32x4.sqrt
   (local.get $0)
  )
 )
 (func $f32x4.add (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.add
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f32x4.sub (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.sub
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f32x4.mul (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.mul
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f32x4.div (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.div
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f32x4.min (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.min
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f32x4.max (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.max
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f32x4.pmin (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.pmin
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f32x4.pmax (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.pmax
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f64x2.abs (type $v128_=>_v128) (param $0 v128) (result v128)
  (f64x2.abs
   (local.get $0)
  )
 )
 (func $f64x2.neg (type $v128_=>_v128) (param $0 v128) (result v128)
  (f64x2.neg
   (local.get $0)
  )
 )
 (func $f64x2.sqrt (type $v128_=>_v128) (param $0 v128) (result v128)
  (f64x2.sqrt
   (local.get $0)
  )
 )
 (func $f64x2.add (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.add
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f64x2.sub (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.sub
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f64x2.mul (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.mul
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f64x2.div (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.div
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f64x2.min (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.min
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f64x2.max (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.max
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f64x2.pmin (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.pmin
   (local.get $0)
   (local.get $1)
  )
 )
 (func $f64x2.pmax (type $v128_v128_=>_v128) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.pmax
   (local.get $0)
   (local.get $1)
  )
 )
 (func $i32x4.trunc_sat_f32x4_s (type $v128_=>_v128) (param $0 v128) (result v128)
  (i32x4.trunc_sat_f32x4_s
   (local.get $0)
  )
 )
 (func $i32x4.trunc_sat_f32x4_u (type $v128_=>_v128) (param $0 v128) (result v128)
  (i32x4.trunc_sat_f32x4_u
   (local.get $0)
  )
 )
 (func $f32x4.convert_i32x4_s (type $v128_=>_v128) (param $0 v128) (result v128)
  (f32x4.convert_i32x4_s
   (local.get $0)
  )
 )
 (func $f32x4.convert_i32x4_u (type $v128_=>_v128) (param $0 v128) (result v128)
  (f32x4.convert_i32x4_u
   (local.get $0)
  )
 )
 (func $i32x4.trunc_sat_f64x2_s_zero (type $v128_=>_v128) (param $0 v128) (result v128)
  (i32x4.trunc_sat_f64x2_s_zero
   (local.get $0)
  )
 )
 (func $i32x4.trunc_sat_f64x2_u_zero (type $v128_=>_v128) (param $0 v128) (result v128)
  (i32x4.trunc_sat_f64x2_u_zero
   (local.get $0)
  )
 )
 (func $f64x2.convert_low_i32x4_s (type $v128_=>_v128) (param $0 v128) (result v128)
  (f64x2.convert_low_i32x4_s
   (local.get $0)
  )
 )
 (func $f64x2.convert_low_i32x4_u (type $v128_=>_v128) (param $0 v128) (result v128)
  (f64x2.convert_low_i32x4_u
   (local.get $0)
  )
 )
)

