(module
 (type $v128_v128_=>_v128 (func (param v128 v128) (result v128)))
 (type $v128_=>_v128 (func (param v128) (result v128)))
 (type $v128_i32_=>_v128 (func (param v128 i32) (result v128)))
 (type $i32_=>_v128 (func (param i32) (result v128)))
 (type $v128_=>_i32 (func (param v128) (result i32)))
 (type $none_=>_v128 (func (result v128)))
 (type $v128_v128_v128_=>_v128 (func (param v128 v128 v128) (result v128)))
 (type $i32_v128_=>_none (func (param i32 v128)))
 (type $v128_=>_i64 (func (param v128) (result i64)))
 (type $v128_=>_f32 (func (param v128) (result f32)))
 (type $v128_=>_f64 (func (param v128) (result f64)))
 (type $f32_=>_v128 (func (param f32) (result v128)))
 (type $f64_=>_v128 (func (param f64) (result v128)))
 (type $v128_i64_=>_v128 (func (param v128 i64) (result v128)))
 (type $v128_f32_=>_v128 (func (param v128 f32) (result v128)))
 (type $v128_f64_=>_v128 (func (param v128 f64) (result v128)))
 (memory $0 1 1)
 (func $0 (; 0 ;) (param $0 i32) (result v128)
  (v128.load
   (local.get $0)
  )
 )
 (func $1 (; 1 ;) (param $0 i32) (param $1 v128)
  (v128.store
   (local.get $0)
   (local.get $1)
  )
 )
 (func $2 (; 2 ;) (result v128)
  (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
 )
 (func $3 (; 3 ;) (result v128)
  (v128.const i32x4 0x00020001 0x00040003 0x00060005 0x00080007)
 )
 (func $4 (; 4 ;) (result v128)
  (v128.const i32x4 0x00000001 0x00000002 0x00000003 0x00000004)
 )
 (func $5 (; 5 ;) (result v128)
  (v128.const i32x4 0x00000001 0x00000000 0x00000002 0x00000000)
 )
 (func $6 (; 6 ;) (result v128)
  (v128.const i32x4 0x3f800000 0x40000000 0x40400000 0x40800000)
 )
 (func $7 (; 7 ;) (result v128)
  (v128.const i32x4 0x00000000 0x3ff00000 0x00000000 0x40000000)
 )
 (func $8 (; 8 ;) (param $0 v128) (param $1 v128) (result v128)
  (v8x16.shuffle 0 17 2 19 4 21 6 23 8 25 10 27 12 29 14 31
   (local.get $0)
   (local.get $1)
  )
 )
 (func $9 (; 9 ;) (param $0 i32) (result v128)
  (i8x16.splat
   (local.get $0)
  )
 )
 (func $10 (; 10 ;) (param $0 v128) (result i32)
  (i8x16.extract_lane_s 0
   (local.get $0)
  )
 )
 (func $11 (; 11 ;) (param $0 v128) (result i32)
  (i8x16.extract_lane_u 0
   (local.get $0)
  )
 )
 (func $12 (; 12 ;) (param $0 v128) (param $1 i32) (result v128)
  (i8x16.replace_lane 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $13 (; 13 ;) (param $0 i32) (result v128)
  (i16x8.splat
   (local.get $0)
  )
 )
 (func $14 (; 14 ;) (param $0 v128) (result i32)
  (i16x8.extract_lane_s 0
   (local.get $0)
  )
 )
 (func $15 (; 15 ;) (param $0 v128) (result i32)
  (i16x8.extract_lane_u 0
   (local.get $0)
  )
 )
 (func $16 (; 16 ;) (param $0 v128) (param $1 i32) (result v128)
  (i16x8.replace_lane 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $17 (; 17 ;) (param $0 i32) (result v128)
  (i32x4.splat
   (local.get $0)
  )
 )
 (func $18 (; 18 ;) (param $0 v128) (result i32)
  (i32x4.extract_lane 0
   (local.get $0)
  )
 )
 (func $19 (; 19 ;) (param $0 v128) (param $1 i32) (result v128)
  (i32x4.replace_lane 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $20 (; 20 ;) (param $0 v128) (result i64)
  (i64x2.extract_lane 0
   (local.get $0)
  )
 )
 (func $21 (; 21 ;) (param $0 v128) (param $1 i64) (result v128)
  (i64x2.replace_lane 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $22 (; 22 ;) (param $0 f32) (result v128)
  (f32x4.splat
   (local.get $0)
  )
 )
 (func $23 (; 23 ;) (param $0 v128) (result f32)
  (f32x4.extract_lane 0
   (local.get $0)
  )
 )
 (func $24 (; 24 ;) (param $0 v128) (param $1 f32) (result v128)
  (f32x4.replace_lane 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $25 (; 25 ;) (param $0 f64) (result v128)
  (f64x2.splat
   (local.get $0)
  )
 )
 (func $26 (; 26 ;) (param $0 v128) (result f64)
  (f64x2.extract_lane 0
   (local.get $0)
  )
 )
 (func $27 (; 27 ;) (param $0 v128) (param $1 f64) (result v128)
  (f64x2.replace_lane 0
   (local.get $0)
   (local.get $1)
  )
 )
 (func $28 (; 28 ;) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.eq
   (local.get $0)
   (local.get $1)
  )
 )
 (func $29 (; 29 ;) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.ne
   (local.get $0)
   (local.get $1)
  )
 )
 (func $30 (; 30 ;) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.lt_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $31 (; 31 ;) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.lt_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $32 (; 32 ;) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.gt_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $33 (; 33 ;) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.gt_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $34 (; 34 ;) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.le_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $35 (; 35 ;) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.le_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $36 (; 36 ;) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.ge_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $37 (; 37 ;) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.ge_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $38 (; 38 ;) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.eq
   (local.get $0)
   (local.get $1)
  )
 )
 (func $39 (; 39 ;) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.ne
   (local.get $0)
   (local.get $1)
  )
 )
 (func $40 (; 40 ;) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.lt_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $41 (; 41 ;) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.lt_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $42 (; 42 ;) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.gt_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $43 (; 43 ;) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.gt_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $44 (; 44 ;) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.le_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $45 (; 45 ;) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.le_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $46 (; 46 ;) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.ge_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $47 (; 47 ;) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.ge_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $48 (; 48 ;) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.eq
   (local.get $0)
   (local.get $1)
  )
 )
 (func $49 (; 49 ;) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.ne
   (local.get $0)
   (local.get $1)
  )
 )
 (func $50 (; 50 ;) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.lt_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $51 (; 51 ;) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.lt_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $52 (; 52 ;) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.gt_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $53 (; 53 ;) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.gt_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $54 (; 54 ;) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.le_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $55 (; 55 ;) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.le_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $56 (; 56 ;) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.ge_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $57 (; 57 ;) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.ge_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $58 (; 58 ;) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.eq
   (local.get $0)
   (local.get $1)
  )
 )
 (func $59 (; 59 ;) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.ne
   (local.get $0)
   (local.get $1)
  )
 )
 (func $60 (; 60 ;) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.lt
   (local.get $0)
   (local.get $1)
  )
 )
 (func $61 (; 61 ;) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.gt
   (local.get $0)
   (local.get $1)
  )
 )
 (func $62 (; 62 ;) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.le
   (local.get $0)
   (local.get $1)
  )
 )
 (func $63 (; 63 ;) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.ge
   (local.get $0)
   (local.get $1)
  )
 )
 (func $64 (; 64 ;) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.eq
   (local.get $0)
   (local.get $1)
  )
 )
 (func $65 (; 65 ;) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.ne
   (local.get $0)
   (local.get $1)
  )
 )
 (func $66 (; 66 ;) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.lt
   (local.get $0)
   (local.get $1)
  )
 )
 (func $67 (; 67 ;) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.gt
   (local.get $0)
   (local.get $1)
  )
 )
 (func $68 (; 68 ;) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.le
   (local.get $0)
   (local.get $1)
  )
 )
 (func $69 (; 69 ;) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.ge
   (local.get $0)
   (local.get $1)
  )
 )
 (func $70 (; 70 ;) (param $0 v128) (result v128)
  (v128.not
   (local.get $0)
  )
 )
 (func $71 (; 71 ;) (param $0 v128) (param $1 v128) (result v128)
  (v128.and
   (local.get $0)
   (local.get $1)
  )
 )
 (func $72 (; 72 ;) (param $0 v128) (param $1 v128) (result v128)
  (v128.or
   (local.get $0)
   (local.get $1)
  )
 )
 (func $73 (; 73 ;) (param $0 v128) (param $1 v128) (result v128)
  (v128.xor
   (local.get $0)
   (local.get $1)
  )
 )
 (func $74 (; 74 ;) (param $0 v128) (param $1 v128) (result v128)
  (v128.andnot
   (local.get $0)
   (local.get $1)
  )
 )
 (func $75 (; 75 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128)
  (v128.bitselect
   (local.get $0)
   (local.get $1)
   (local.get $2)
  )
 )
 (func $76 (; 76 ;) (param $0 v128) (result v128)
  (i8x16.neg
   (local.get $0)
  )
 )
 (func $77 (; 77 ;) (param $0 v128) (result i32)
  (i8x16.any_true
   (local.get $0)
  )
 )
 (func $78 (; 78 ;) (param $0 v128) (result i32)
  (i8x16.all_true
   (local.get $0)
  )
 )
 (func $79 (; 79 ;) (param $0 v128) (param $1 i32) (result v128)
  (i8x16.shl
   (local.get $0)
   (local.get $1)
  )
 )
 (func $80 (; 80 ;) (param $0 v128) (param $1 i32) (result v128)
  (i8x16.shr_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $81 (; 81 ;) (param $0 v128) (param $1 i32) (result v128)
  (i8x16.shr_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $82 (; 82 ;) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.add
   (local.get $0)
   (local.get $1)
  )
 )
 (func $83 (; 83 ;) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.add_saturate_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $84 (; 84 ;) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.add_saturate_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $85 (; 85 ;) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.sub
   (local.get $0)
   (local.get $1)
  )
 )
 (func $86 (; 86 ;) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.sub_saturate_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $87 (; 87 ;) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.sub_saturate_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $88 (; 88 ;) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.mul
   (local.get $0)
   (local.get $1)
  )
 )
 (func $89 (; 89 ;) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.min_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $90 (; 90 ;) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.min_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $91 (; 91 ;) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.max_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $92 (; 92 ;) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.max_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $93 (; 93 ;) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.avgr_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $94 (; 94 ;) (param $0 v128) (result v128)
  (i16x8.neg
   (local.get $0)
  )
 )
 (func $95 (; 95 ;) (param $0 v128) (result i32)
  (i16x8.any_true
   (local.get $0)
  )
 )
 (func $96 (; 96 ;) (param $0 v128) (result i32)
  (i16x8.all_true
   (local.get $0)
  )
 )
 (func $97 (; 97 ;) (param $0 v128) (param $1 i32) (result v128)
  (i16x8.shl
   (local.get $0)
   (local.get $1)
  )
 )
 (func $98 (; 98 ;) (param $0 v128) (param $1 i32) (result v128)
  (i16x8.shr_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $99 (; 99 ;) (param $0 v128) (param $1 i32) (result v128)
  (i16x8.shr_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $100 (; 100 ;) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.add
   (local.get $0)
   (local.get $1)
  )
 )
 (func $101 (; 101 ;) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.add_saturate_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $102 (; 102 ;) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.add_saturate_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $103 (; 103 ;) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.sub
   (local.get $0)
   (local.get $1)
  )
 )
 (func $104 (; 104 ;) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.sub_saturate_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $105 (; 105 ;) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.sub_saturate_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $106 (; 106 ;) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.mul
   (local.get $0)
   (local.get $1)
  )
 )
 (func $107 (; 107 ;) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.min_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $108 (; 108 ;) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.min_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $109 (; 109 ;) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.max_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $110 (; 110 ;) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.max_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $111 (; 111 ;) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.avgr_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $112 (; 112 ;) (param $0 v128) (result v128)
  (i32x4.neg
   (local.get $0)
  )
 )
 (func $113 (; 113 ;) (param $0 v128) (result i32)
  (i32x4.any_true
   (local.get $0)
  )
 )
 (func $114 (; 114 ;) (param $0 v128) (result i32)
  (i32x4.all_true
   (local.get $0)
  )
 )
 (func $115 (; 115 ;) (param $0 v128) (param $1 i32) (result v128)
  (i32x4.shl
   (local.get $0)
   (local.get $1)
  )
 )
 (func $116 (; 116 ;) (param $0 v128) (param $1 i32) (result v128)
  (i32x4.shr_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $117 (; 117 ;) (param $0 v128) (param $1 i32) (result v128)
  (i32x4.shr_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $118 (; 118 ;) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.add
   (local.get $0)
   (local.get $1)
  )
 )
 (func $119 (; 119 ;) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.sub
   (local.get $0)
   (local.get $1)
  )
 )
 (func $120 (; 120 ;) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.mul
   (local.get $0)
   (local.get $1)
  )
 )
 (func $121 (; 121 ;) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.min_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $122 (; 122 ;) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.min_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $123 (; 123 ;) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.max_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $124 (; 124 ;) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.max_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $125 (; 125 ;) (param $0 v128) (param $1 v128) (result v128)
  (i32x4.dot_i16x8_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $126 (; 126 ;) (param $0 v128) (result v128)
  (i64x2.neg
   (local.get $0)
  )
 )
 (func $127 (; 127 ;) (param $0 v128) (result i32)
  (i64x2.any_true
   (local.get $0)
  )
 )
 (func $128 (; 128 ;) (param $0 v128) (result i32)
  (i64x2.all_true
   (local.get $0)
  )
 )
 (func $129 (; 129 ;) (param $0 v128) (param $1 i32) (result v128)
  (i64x2.shl
   (local.get $0)
   (local.get $1)
  )
 )
 (func $130 (; 130 ;) (param $0 v128) (param $1 i32) (result v128)
  (i64x2.shr_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $131 (; 131 ;) (param $0 v128) (param $1 i32) (result v128)
  (i64x2.shr_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $132 (; 132 ;) (param $0 v128) (param $1 v128) (result v128)
  (i64x2.add
   (local.get $0)
   (local.get $1)
  )
 )
 (func $133 (; 133 ;) (param $0 v128) (param $1 v128) (result v128)
  (i64x2.sub
   (local.get $0)
   (local.get $1)
  )
 )
 (func $134 (; 134 ;) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.add
   (local.get $0)
   (local.get $1)
  )
 )
 (func $135 (; 135 ;) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.sub
   (local.get $0)
   (local.get $1)
  )
 )
 (func $136 (; 136 ;) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.mul
   (local.get $0)
   (local.get $1)
  )
 )
 (func $137 (; 137 ;) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.div
   (local.get $0)
   (local.get $1)
  )
 )
 (func $138 (; 138 ;) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.min
   (local.get $0)
   (local.get $1)
  )
 )
 (func $139 (; 139 ;) (param $0 v128) (param $1 v128) (result v128)
  (f32x4.max
   (local.get $0)
   (local.get $1)
  )
 )
 (func $140 (; 140 ;) (param $0 v128) (result v128)
  (f32x4.abs
   (local.get $0)
  )
 )
 (func $141 (; 141 ;) (param $0 v128) (result v128)
  (f32x4.neg
   (local.get $0)
  )
 )
 (func $142 (; 142 ;) (param $0 v128) (result v128)
  (f32x4.sqrt
   (local.get $0)
  )
 )
 (func $143 (; 143 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128)
  (f32x4.qfma
   (local.get $0)
   (local.get $1)
   (local.get $2)
  )
 )
 (func $144 (; 144 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128)
  (f32x4.qfms
   (local.get $0)
   (local.get $1)
   (local.get $2)
  )
 )
 (func $145 (; 145 ;) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.add
   (local.get $0)
   (local.get $1)
  )
 )
 (func $146 (; 146 ;) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.sub
   (local.get $0)
   (local.get $1)
  )
 )
 (func $147 (; 147 ;) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.mul
   (local.get $0)
   (local.get $1)
  )
 )
 (func $148 (; 148 ;) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.div
   (local.get $0)
   (local.get $1)
  )
 )
 (func $149 (; 149 ;) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.min
   (local.get $0)
   (local.get $1)
  )
 )
 (func $150 (; 150 ;) (param $0 v128) (param $1 v128) (result v128)
  (f64x2.max
   (local.get $0)
   (local.get $1)
  )
 )
 (func $151 (; 151 ;) (param $0 v128) (result v128)
  (f64x2.abs
   (local.get $0)
  )
 )
 (func $152 (; 152 ;) (param $0 v128) (result v128)
  (f64x2.neg
   (local.get $0)
  )
 )
 (func $153 (; 153 ;) (param $0 v128) (result v128)
  (f64x2.sqrt
   (local.get $0)
  )
 )
 (func $154 (; 154 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128)
  (f64x2.qfma
   (local.get $0)
   (local.get $1)
   (local.get $2)
  )
 )
 (func $155 (; 155 ;) (param $0 v128) (param $1 v128) (param $2 v128) (result v128)
  (f64x2.qfms
   (local.get $0)
   (local.get $1)
   (local.get $2)
  )
 )
 (func $156 (; 156 ;) (param $0 v128) (result v128)
  (i32x4.trunc_sat_f32x4_s
   (local.get $0)
  )
 )
 (func $157 (; 157 ;) (param $0 v128) (result v128)
  (i32x4.trunc_sat_f32x4_u
   (local.get $0)
  )
 )
 (func $158 (; 158 ;) (param $0 v128) (result v128)
  (i64x2.trunc_sat_f64x2_s
   (local.get $0)
  )
 )
 (func $159 (; 159 ;) (param $0 v128) (result v128)
  (i64x2.trunc_sat_f64x2_u
   (local.get $0)
  )
 )
 (func $160 (; 160 ;) (param $0 v128) (result v128)
  (f32x4.convert_i32x4_s
   (local.get $0)
  )
 )
 (func $161 (; 161 ;) (param $0 v128) (result v128)
  (f32x4.convert_i32x4_u
   (local.get $0)
  )
 )
 (func $162 (; 162 ;) (param $0 v128) (result v128)
  (f64x2.convert_i64x2_s
   (local.get $0)
  )
 )
 (func $163 (; 163 ;) (param $0 v128) (result v128)
  (f64x2.convert_i64x2_u
   (local.get $0)
  )
 )
 (func $164 (; 164 ;) (param $0 i32) (result v128)
  (v8x16.load_splat
   (local.get $0)
  )
 )
 (func $165 (; 165 ;) (param $0 i32) (result v128)
  (v16x8.load_splat
   (local.get $0)
  )
 )
 (func $166 (; 166 ;) (param $0 i32) (result v128)
  (v32x4.load_splat
   (local.get $0)
  )
 )
 (func $167 (; 167 ;) (param $0 i32) (result v128)
  (v64x2.load_splat
   (local.get $0)
  )
 )
 (func $168 (; 168 ;) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.narrow_i16x8_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $169 (; 169 ;) (param $0 v128) (param $1 v128) (result v128)
  (i8x16.narrow_i16x8_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $170 (; 170 ;) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.narrow_i32x4_s
   (local.get $0)
   (local.get $1)
  )
 )
 (func $171 (; 171 ;) (param $0 v128) (param $1 v128) (result v128)
  (i16x8.narrow_i32x4_u
   (local.get $0)
   (local.get $1)
  )
 )
 (func $172 (; 172 ;) (param $0 v128) (result v128)
  (i16x8.widen_low_i8x16_s
   (local.get $0)
  )
 )
 (func $173 (; 173 ;) (param $0 v128) (result v128)
  (i16x8.widen_high_i8x16_s
   (local.get $0)
  )
 )
 (func $174 (; 174 ;) (param $0 v128) (result v128)
  (i16x8.widen_low_i8x16_u
   (local.get $0)
  )
 )
 (func $175 (; 175 ;) (param $0 v128) (result v128)
  (i16x8.widen_high_i8x16_u
   (local.get $0)
  )
 )
 (func $176 (; 176 ;) (param $0 v128) (result v128)
  (i32x4.widen_low_i16x8_s
   (local.get $0)
  )
 )
 (func $177 (; 177 ;) (param $0 v128) (result v128)
  (i32x4.widen_high_i16x8_s
   (local.get $0)
  )
 )
 (func $178 (; 178 ;) (param $0 v128) (result v128)
  (i32x4.widen_low_i16x8_u
   (local.get $0)
  )
 )
 (func $179 (; 179 ;) (param $0 v128) (result v128)
  (i32x4.widen_high_i16x8_u
   (local.get $0)
  )
 )
 (func $180 (; 180 ;) (param $0 i32) (result v128)
  (i16x8.load8x8_u
   (local.get $0)
  )
 )
 (func $181 (; 181 ;) (param $0 i32) (result v128)
  (i16x8.load8x8_s
   (local.get $0)
  )
 )
 (func $182 (; 182 ;) (param $0 i32) (result v128)
  (i32x4.load16x4_s
   (local.get $0)
  )
 )
 (func $183 (; 183 ;) (param $0 i32) (result v128)
  (i32x4.load16x4_u
   (local.get $0)
  )
 )
 (func $184 (; 184 ;) (param $0 i32) (result v128)
  (i64x2.load32x2_s
   (local.get $0)
  )
 )
 (func $185 (; 185 ;) (param $0 i32) (result v128)
  (i64x2.load32x2_u
   (local.get $0)
  )
 )
 (func $186 (; 186 ;) (param $0 v128) (param $1 v128) (result v128)
  (v8x16.swizzle
   (local.get $0)
   (local.get $1)
  )
 )
)

