  // BinaryenTypeNone: 0
  // []
  // BinaryenTypeUnreachable: 1
  // [ 1 ]
  // BinaryenTypeInt32: 2
  // [ 2 ]
  // BinaryenTypeInt64: 3
  // [ 3 ]
  // BinaryenTypeFloat32: 4
  // [ 4 ]
  // BinaryenTypeFloat64: 5
  // [ 5 ]
  // BinaryenTypeVec128: 6
  // [ 6 ]
  // BinaryenTypeAnyref: 7
  // [ 7 ]
  // BinaryenTypeExnref: 8
  // [ 8 ]
  // BinaryenTypeAuto: -1
  // 9 [ 2, 2 ]
  // 9 [ 2, 2 ]
  // 10 [ 4, 4 ]
Binaryen.Features.MVP: 0
Binaryen.Features.Atomics: 1
Binaryen.Features.BulkMemory: 16
Binaryen.Features.MutableGlobals: 2
Binaryen.Features.NontrappingFPToInt: 4
Binaryen.Features.SignExt: 32
Binaryen.Features.SIMD128: 8
Binaryen.Features.ExceptionHandling: 64
Binaryen.Features.TailCall: 128
Binaryen.Features.ReferenceTypes: 256
Binaryen.Features.All: 511
BinaryenInvalidId: 0
BinaryenBlockId: 1
BinaryenIfId: 2
BinaryenLoopId: 3
BinaryenBreakId: 4
BinaryenSwitchId: 5
BinaryenCallId: 6
BinaryenCallIndirectId: 7
BinaryenLocalGetId: 8
BinaryenLocalSetId: 9
BinaryenGlobalGetId: 10
BinaryenGlobalSetId: 11
BinaryenLoadId: 12
BinaryenStoreId: 13
BinaryenConstId: 14
BinaryenUnaryId: 15
BinaryenBinaryId: 16
BinaryenSelectId: 17
BinaryenDropId: 18
BinaryenReturnId: 19
BinaryenHostId: 20
BinaryenNopId: 21
BinaryenUnreachableId: 22
BinaryenAtomicCmpxchgId: 24
BinaryenAtomicRMWId: 23
BinaryenAtomicWaitId: 25
BinaryenAtomicNotifyId: 26
BinaryenSIMDExtractId: 28
BinaryenSIMDReplaceId: 29
BinaryenSIMDShuffleId: 30
BinaryenSIMDTernaryId: 31
BinaryenSIMDShiftId: 32
BinaryenSIMDLoadId: 33
MemoryInitId: 34
DataDropId: 35
MemoryCopyId: 36
MemoryFillId: 37
TryId: 40
ThrowId: 41
RethrowId: 42
BrOnExnId: 43
PushId: 38
PopId: 39
getExpressionInfo={"id":15,"type":4,"op":6}
(f32.neg
 (f32.const -33.61199951171875)
)

getExpressionInfo(i32.const)={"id":14,"type":2,"value":5}
getExpressionInfo(i64.const)={"id":14,"type":3,"value":{"low":6,"high":7}}
getExpressionInfo(f32.const)={"id":14,"type":4,"value":8.5}
getExpressionInfo(f64.const)={"id":14,"type":5,"value":9.5}
(module
 (type $iiIfF (func (param i32 i64 f32 f64) (result i32)))
 (type $fiF (func (param i32 f64) (result f32)))
 (type $v (func))
 (type $3 (func))
 (import "module" "base" (global $a-global-imp i32))
 (import "module" "base" (global $a-mut-global-imp (mut i32)))
 (import "module" "base" (func $an-imported (param i32 f64) (result f32)))
 (import "module" "base" (event $a-event-imp (attr 0) (param i32)))
 (memory $0 (shared 1 256))
 (data (i32.const 10) "hello, world")
 (data passive "I am passive")
 (table $0 1 funcref)
 (elem (i32.const 0) "$kitchen()sinker")
 (global $a-global i32 (i32.const 1))
 (event $a-event (attr 0) (param i32))
 (export "kitchen_sinker" (func "$kitchen()sinker"))
 (export "a-global-exp" (global $a-global))
 (export "a-event-exp" (event $a-event))
 (export "mem" (memory $0))
 (start $starter)
 (func "$kitchen()sinker" (; 1 ;) (type $iiIfF) (param $0 i32) (param $1 i64) (param $2 f32) (param $3 f64) (result i32)
  (local $4 i32)
  (local $5 exnref)
  (block $the-body (result i32)
   (block $the-nothing
    (drop
     (block $the-value (result i32)
      (drop
       (i32.clz
        (i32.const -10)
       )
      )
      (drop
       (i64.ctz
        (i64.const -22)
       )
      )
      (drop
       (i32.popcnt
        (i32.const -10)
       )
      )
      (drop
       (f32.neg
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (f64.abs
        (f64.const -9005.841)
       )
      )
      (drop
       (f32.ceil
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (f64.floor
        (f64.const -9005.841)
       )
      )
      (drop
       (f32.trunc
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (f32.nearest
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (f64.sqrt
        (f64.const -9005.841)
       )
      )
      (drop
       (i32.eqz
        (i32.const -10)
       )
      )
      (drop
       (i64.extend_i32_s
        (i32.const -10)
       )
      )
      (drop
       (i64.extend_i32_u
        (i32.const -10)
       )
      )
      (drop
       (i32.wrap_i64
        (i64.const -22)
       )
      )
      (drop
       (i32.trunc_f32_s
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i64.trunc_f32_s
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i32.trunc_f32_u
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i64.trunc_f32_u
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i32.trunc_f64_s
        (f64.const -9005.841)
       )
      )
      (drop
       (i64.trunc_f64_s
        (f64.const -9005.841)
       )
      )
      (drop
       (i32.trunc_f64_u
        (f64.const -9005.841)
       )
      )
      (drop
       (i64.trunc_f64_u
        (f64.const -9005.841)
       )
      )
      (drop
       (i32.trunc_sat_f32_s
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i64.trunc_sat_f32_s
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i32.trunc_sat_f32_u
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i64.trunc_sat_f32_u
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i32.trunc_sat_f64_s
        (f64.const -9005.841)
       )
      )
      (drop
       (i64.trunc_sat_f64_s
        (f64.const -9005.841)
       )
      )
      (drop
       (i32.trunc_sat_f64_u
        (f64.const -9005.841)
       )
      )
      (drop
       (i64.trunc_sat_f64_u
        (f64.const -9005.841)
       )
      )
      (drop
       (i32.reinterpret_f32
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i64.reinterpret_f64
        (f64.const -9005.841)
       )
      )
      (drop
       (f32.convert_i32_s
        (i32.const -10)
       )
      )
      (drop
       (f64.convert_i32_s
        (i32.const -10)
       )
      )
      (drop
       (f32.convert_i32_u
        (i32.const -10)
       )
      )
      (drop
       (f64.convert_i32_u
        (i32.const -10)
       )
      )
      (drop
       (f32.convert_i64_s
        (i64.const -22)
       )
      )
      (drop
       (f64.convert_i64_s
        (i64.const -22)
       )
      )
      (drop
       (f32.convert_i64_u
        (i64.const -22)
       )
      )
      (drop
       (f64.convert_i64_u
        (i64.const -22)
       )
      )
      (drop
       (f64.promote_f32
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (f32.demote_f64
        (f64.const -9005.841)
       )
      )
      (drop
       (f32.reinterpret_i32
        (i32.const -10)
       )
      )
      (drop
       (f64.reinterpret_i64
        (i64.const -22)
       )
      )
      (drop
       (i8x16.splat
        (i32.const 42)
       )
      )
      (drop
       (i16x8.splat
        (i32.const 42)
       )
      )
      (drop
       (i32x4.splat
        (i32.const 42)
       )
      )
      (drop
       (i64x2.splat
        (i64.const 1958505087099)
       )
      )
      (drop
       (f32x4.splat
        (f32.const 42)
       )
      )
      (drop
       (f64x2.splat
        (f64.const 42)
       )
      )
      (drop
       (v128.not
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.neg
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.any_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.all_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.neg
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.any_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.all_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.neg
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.any_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.all_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.neg
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.any_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.all_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.abs
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.neg
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.sqrt
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.abs
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.neg
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.sqrt
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.trunc_sat_f32x4_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.trunc_sat_f32x4_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.trunc_sat_f64x2_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.trunc_sat_f64x2_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.convert_i32x4_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.convert_i32x4_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.convert_i64x2_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.convert_i64x2_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.widen_low_i8x16_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.widen_high_i8x16_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.widen_low_i8x16_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.widen_high_i8x16_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.widen_low_i16x8_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.widen_high_i16x8_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.widen_low_i16x8_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.widen_high_i16x8_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32.add
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (f64.sub
        (f64.const -9005.841)
        (f64.const -9007.333)
       )
      )
      (drop
       (i32.div_s
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.div_u
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i64.rem_s
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i32.rem_u
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i32.and
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.or
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i32.xor
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.shl
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i64.shr_u
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i32.shr_s
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i32.rotl
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.rotr
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (f32.div
        (f32.const -33.61199951171875)
        (f32.const -62.5)
       )
      )
      (drop
       (f64.copysign
        (f64.const -9005.841)
        (f64.const -9007.333)
       )
      )
      (drop
       (f32.min
        (f32.const -33.61199951171875)
        (f32.const -62.5)
       )
      )
      (drop
       (f64.max
        (f64.const -9005.841)
        (f64.const -9007.333)
       )
      )
      (drop
       (i32.eq
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (f32.ne
        (f32.const -33.61199951171875)
        (f32.const -62.5)
       )
      )
      (drop
       (i32.lt_s
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.lt_u
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i64.le_s
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i32.le_u
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.gt_s
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i32.gt_u
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i32.ge_s
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.ge_u
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (f32.lt
        (f32.const -33.61199951171875)
        (f32.const -62.5)
       )
      )
      (drop
       (f64.le
        (f64.const -9005.841)
        (f64.const -9007.333)
       )
      )
      (drop
       (f64.gt
        (f64.const -9005.841)
        (f64.const -9007.333)
       )
      )
      (drop
       (f32.ge
        (f32.const -33.61199951171875)
        (f32.const -62.5)
       )
      )
      (drop
       (i8x16.eq
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.ne
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.lt_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.lt_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.gt_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.gt_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.le_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.le_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.ge_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.ge_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.eq
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.ne
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.lt_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.lt_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.gt_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.gt_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.le_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.le_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.ge_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.ge_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.eq
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.ne
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.lt_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.lt_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.gt_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.gt_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.le_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.le_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.ge_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.ge_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.eq
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.ne
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.lt
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.gt
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.le
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.ge
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.ge
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.ne
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.lt
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.gt
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.le
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.ge
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (v128.and
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (v128.or
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (v128.xor
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (v128.andnot
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.add
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.add_saturate_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.add_saturate_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.sub
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.sub_saturate_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.sub_saturate_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.mul
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.min_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.min_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.max_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.max_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.add
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.add_saturate_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.add_saturate_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.sub
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.sub_saturate_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.sub_saturate_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.mul
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.min_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.min_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.max_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.max_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.add
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.sub
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.mul
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.min_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.min_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.max_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.max_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.dot_i16x8_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.add
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.sub
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.add
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.sub
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.mul
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.div
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.min
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.max
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.add
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.sub
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.mul
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.div
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.min
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.max
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.narrow_i16x8_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.narrow_i16x8_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.narrow_i32x4_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.narrow_i32x4_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (v8x16.swizzle
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.extract_lane_s 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.extract_lane_u 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.extract_lane_s 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.extract_lane_u 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.extract_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.extract_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.extract_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.extract_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.replace_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 42)
       )
      )
      (drop
       (i8x16.replace_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 42)
       )
      )
      (drop
       (i32x4.replace_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 42)
       )
      )
      (drop
       (i64x2.replace_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i64.const 184683593770)
       )
      )
      (drop
       (f32x4.replace_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (f32.const 42)
       )
      )
      (drop
       (f64x2.replace_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (f64.const 42)
       )
      )
      (drop
       (i8x16.shl
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i8x16.shr_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i8x16.shr_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i16x8.shl
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i16x8.shr_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i16x8.shr_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i32x4.shl
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i32x4.shr_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i32x4.shr_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i64x2.shl
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i64x2.shr_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i64x2.shr_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (v8x16.load_splat
        (i32.const 128)
       )
      )
      (drop
       (v16x8.load_splat offset=16 align=1
        (i32.const 128)
       )
      )
      (drop
       (v32x4.load_splat offset=16
        (i32.const 128)
       )
      )
      (drop
       (v64x2.load_splat align=4
        (i32.const 128)
       )
      )
      (drop
       (i16x8.load8x8_s
        (i32.const 128)
       )
      )
      (drop
       (i16x8.load8x8_u
        (i32.const 128)
       )
      )
      (drop
       (i32x4.load16x4_s
        (i32.const 128)
       )
      )
      (drop
       (i32x4.load16x4_u
        (i32.const 128)
       )
      )
      (drop
       (i64x2.load32x2_s
        (i32.const 128)
       )
      )
      (drop
       (i64x2.load32x2_u
        (i32.const 128)
       )
      )
      (drop
       (v8x16.shuffle 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (v128.bitselect
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.qfma
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.qfms
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.qfma
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.qfms
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (memory.init 0
       (i32.const 1024)
       (i32.const 0)
       (i32.const 12)
      )
      (data.drop 0)
      (memory.copy
       (i32.const 2048)
       (i32.const 1024)
       (i32.const 12)
      )
      (memory.fill
       (i32.const 0)
       (i32.const 42)
       (i32.const 1024)
      )
      (block
      )
      (if
       (i32.const 1)
       (drop
        (i32.const 2)
       )
       (drop
        (i32.const 3)
       )
      )
      (if
       (i32.const 4)
       (drop
        (i32.const 5)
       )
      )
      (drop
       (loop $in (result i32)
        (i32.const 0)
       )
      )
      (drop
       (loop (result i32)
        (i32.const 0)
       )
      )
      (drop
       (br_if $the-value
        (i32.const 1)
        (i32.const 0)
       )
      )
      (br_if $the-nothing
       (i32.const 2)
      )
      (br $the-value
       (i32.const 3)
      )
      (br $the-nothing)
      (br_table $the-value $the-value
       (i32.const 1)
       (i32.const 0)
      )
      (br_table $the-nothing $the-nothing
       (i32.const 2)
      )
      (drop
       (i32.eqz
        (call "$kitchen()sinker"
         (i32.const 13)
         (i64.const 37)
         (f32.const 1.2999999523162842)
         (f64.const 3.7)
        )
       )
      )
      (drop
       (i32.eqz
        (i32.trunc_f32_s
         (call $an-imported
          (i32.const 13)
          (f64.const 3.7)
         )
        )
       )
      )
      (drop
       (i32.eqz
        (call_indirect (type $iiIfF)
         (i32.const 13)
         (i64.const 37)
         (f32.const 1.2999999523162842)
         (f64.const 3.7)
         (i32.const 2449)
        )
       )
      )
      (drop
       (local.get $0)
      )
      (local.set $0
       (i32.const 101)
      )
      (drop
       (local.tee $0
        (i32.const 102)
       )
      )
      (drop
       (i32.load
        (i32.const 1)
       )
      )
      (drop
       (i64.load16_s offset=2 align=1
        (i32.const 8)
       )
      )
      (drop
       (f32.load
        (i32.const 2)
       )
      )
      (drop
       (f64.load offset=2
        (i32.const 9)
       )
      )
      (i32.store
       (i32.const 10)
       (i32.const 11)
      )
      (i64.store offset=2 align=4
       (i32.const 110)
       (i64.const 111)
      )
      (drop
       (select
        (i32.const 3)
        (i32.const 5)
        (i32.const 1)
       )
      )
      (return
       (i32.const 1337)
      )
      (return_call "$kitchen()sinker"
       (i32.const 13)
       (i64.const 37)
       (f32.const 1.2999999523162842)
       (f64.const 3.7)
      )
      (return_call_indirect (type $iiIfF)
       (i32.const 13)
       (i64.const 37)
       (f32.const 1.2999999523162842)
       (f64.const 3.7)
       (i32.const 2449)
      )
      (try
       (throw $a-event
        (i32.const 0)
       )
       (catch
        (local.set $5
         (exnref.pop)
        )
        (drop
         (block $try-block (result i32)
          (rethrow
           (br_on_exn $try-block $a-event
            (local.get $5)
           )
          )
         )
        )
       )
      )
      (i32.atomic.store
       (i32.const 0)
       (i32.atomic.load
        (i32.const 0)
       )
      )
      (drop
       (i32.atomic.wait
        (i32.const 0)
        (i32.const 0)
        (i64.const 0)
       )
      )
      (drop
       (atomic.notify
        (i32.const 0)
        (i32.const 0)
       )
      )
      (atomic.fence)
      (push
       (i32.pop)
      )
      (push
       (i64.pop)
      )
      (push
       (f32.pop)
      )
      (push
       (f64.pop)
      )
      (push
       (v128.pop)
      )
      (push
       (anyref.pop)
      )
      (push
       (exnref.pop)
      )
      (nop)
      (unreachable)
     )
    )
   )
   (i32.const 42)
  )
 )
 (func $starter (; 2 ;) (type $v)
  (nop)
 )
)

(module
 (type $iiIfF (func (param i32 i64 f32 f64) (result i32)))
 (type $fiF (func (param i32 f64) (result f32)))
 (type $v (func))
 (type $3 (func))
 (import "module" "base" (global $a-global-imp i32))
 (import "module" "base" (global $a-mut-global-imp (mut i32)))
 (import "module" "base" (func $an-imported (param i32 f64) (result f32)))
 (import "module" "base" (event $a-event-imp (attr 0) (param i32)))
 (memory $0 (shared 1 256))
 (data (i32.const 10) "hello, world")
 (data passive "I am passive")
 (table $0 1 funcref)
 (elem (i32.const 0) "$kitchen()sinker")
 (global $a-global i32 (i32.const 1))
 (event $a-event (attr 0) (param i32))
 (export "kitchen_sinker" (func "$kitchen()sinker"))
 (export "a-global-exp" (global $a-global))
 (export "a-event-exp" (event $a-event))
 (export "mem" (memory $0))
 (start $starter)
 (func "$kitchen()sinker" (; 1 ;) (type $iiIfF) (param $0 i32) (param $1 i64) (param $2 f32) (param $3 f64) (result i32)
  (local $4 i32)
  (local $5 exnref)
  (block $the-body (result i32)
   (block $the-nothing
    (drop
     (block $the-value (result i32)
      (drop
       (i32.clz
        (i32.const -10)
       )
      )
      (drop
       (i64.ctz
        (i64.const -22)
       )
      )
      (drop
       (i32.popcnt
        (i32.const -10)
       )
      )
      (drop
       (f32.neg
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (f64.abs
        (f64.const -9005.841)
       )
      )
      (drop
       (f32.ceil
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (f64.floor
        (f64.const -9005.841)
       )
      )
      (drop
       (f32.trunc
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (f32.nearest
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (f64.sqrt
        (f64.const -9005.841)
       )
      )
      (drop
       (i32.eqz
        (i32.const -10)
       )
      )
      (drop
       (i64.extend_i32_s
        (i32.const -10)
       )
      )
      (drop
       (i64.extend_i32_u
        (i32.const -10)
       )
      )
      (drop
       (i32.wrap_i64
        (i64.const -22)
       )
      )
      (drop
       (i32.trunc_f32_s
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i64.trunc_f32_s
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i32.trunc_f32_u
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i64.trunc_f32_u
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i32.trunc_f64_s
        (f64.const -9005.841)
       )
      )
      (drop
       (i64.trunc_f64_s
        (f64.const -9005.841)
       )
      )
      (drop
       (i32.trunc_f64_u
        (f64.const -9005.841)
       )
      )
      (drop
       (i64.trunc_f64_u
        (f64.const -9005.841)
       )
      )
      (drop
       (i32.trunc_sat_f32_s
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i64.trunc_sat_f32_s
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i32.trunc_sat_f32_u
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i64.trunc_sat_f32_u
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i32.trunc_sat_f64_s
        (f64.const -9005.841)
       )
      )
      (drop
       (i64.trunc_sat_f64_s
        (f64.const -9005.841)
       )
      )
      (drop
       (i32.trunc_sat_f64_u
        (f64.const -9005.841)
       )
      )
      (drop
       (i64.trunc_sat_f64_u
        (f64.const -9005.841)
       )
      )
      (drop
       (i32.reinterpret_f32
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i64.reinterpret_f64
        (f64.const -9005.841)
       )
      )
      (drop
       (f32.convert_i32_s
        (i32.const -10)
       )
      )
      (drop
       (f64.convert_i32_s
        (i32.const -10)
       )
      )
      (drop
       (f32.convert_i32_u
        (i32.const -10)
       )
      )
      (drop
       (f64.convert_i32_u
        (i32.const -10)
       )
      )
      (drop
       (f32.convert_i64_s
        (i64.const -22)
       )
      )
      (drop
       (f64.convert_i64_s
        (i64.const -22)
       )
      )
      (drop
       (f32.convert_i64_u
        (i64.const -22)
       )
      )
      (drop
       (f64.convert_i64_u
        (i64.const -22)
       )
      )
      (drop
       (f64.promote_f32
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (f32.demote_f64
        (f64.const -9005.841)
       )
      )
      (drop
       (f32.reinterpret_i32
        (i32.const -10)
       )
      )
      (drop
       (f64.reinterpret_i64
        (i64.const -22)
       )
      )
      (drop
       (i8x16.splat
        (i32.const 42)
       )
      )
      (drop
       (i16x8.splat
        (i32.const 42)
       )
      )
      (drop
       (i32x4.splat
        (i32.const 42)
       )
      )
      (drop
       (i64x2.splat
        (i64.const 1958505087099)
       )
      )
      (drop
       (f32x4.splat
        (f32.const 42)
       )
      )
      (drop
       (f64x2.splat
        (f64.const 42)
       )
      )
      (drop
       (v128.not
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.neg
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.any_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.all_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.neg
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.any_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.all_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.neg
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.any_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.all_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.neg
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.any_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.all_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.abs
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.neg
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.sqrt
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.abs
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.neg
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.sqrt
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.trunc_sat_f32x4_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.trunc_sat_f32x4_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.trunc_sat_f64x2_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.trunc_sat_f64x2_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.convert_i32x4_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.convert_i32x4_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.convert_i64x2_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.convert_i64x2_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.widen_low_i8x16_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.widen_high_i8x16_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.widen_low_i8x16_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.widen_high_i8x16_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.widen_low_i16x8_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.widen_high_i16x8_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.widen_low_i16x8_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.widen_high_i16x8_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32.add
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (f64.sub
        (f64.const -9005.841)
        (f64.const -9007.333)
       )
      )
      (drop
       (i32.div_s
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.div_u
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i64.rem_s
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i32.rem_u
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i32.and
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.or
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i32.xor
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.shl
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i64.shr_u
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i32.shr_s
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i32.rotl
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.rotr
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (f32.div
        (f32.const -33.61199951171875)
        (f32.const -62.5)
       )
      )
      (drop
       (f64.copysign
        (f64.const -9005.841)
        (f64.const -9007.333)
       )
      )
      (drop
       (f32.min
        (f32.const -33.61199951171875)
        (f32.const -62.5)
       )
      )
      (drop
       (f64.max
        (f64.const -9005.841)
        (f64.const -9007.333)
       )
      )
      (drop
       (i32.eq
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (f32.ne
        (f32.const -33.61199951171875)
        (f32.const -62.5)
       )
      )
      (drop
       (i32.lt_s
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.lt_u
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i64.le_s
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i32.le_u
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.gt_s
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i32.gt_u
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i32.ge_s
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.ge_u
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (f32.lt
        (f32.const -33.61199951171875)
        (f32.const -62.5)
       )
      )
      (drop
       (f64.le
        (f64.const -9005.841)
        (f64.const -9007.333)
       )
      )
      (drop
       (f64.gt
        (f64.const -9005.841)
        (f64.const -9007.333)
       )
      )
      (drop
       (f32.ge
        (f32.const -33.61199951171875)
        (f32.const -62.5)
       )
      )
      (drop
       (i8x16.eq
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.ne
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.lt_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.lt_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.gt_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.gt_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.le_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.le_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.ge_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.ge_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.eq
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.ne
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.lt_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.lt_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.gt_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.gt_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.le_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.le_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.ge_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.ge_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.eq
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.ne
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.lt_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.lt_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.gt_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.gt_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.le_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.le_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.ge_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.ge_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.eq
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.ne
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.lt
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.gt
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.le
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.ge
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.ge
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.ne
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.lt
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.gt
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.le
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.ge
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (v128.and
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (v128.or
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (v128.xor
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (v128.andnot
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.add
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.add_saturate_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.add_saturate_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.sub
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.sub_saturate_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.sub_saturate_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.mul
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.min_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.min_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.max_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.max_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.add
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.add_saturate_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.add_saturate_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.sub
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.sub_saturate_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.sub_saturate_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.mul
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.min_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.min_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.max_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.max_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.add
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.sub
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.mul
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.min_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.min_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.max_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.max_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.dot_i16x8_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.add
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.sub
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.add
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.sub
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.mul
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.div
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.min
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.max
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.add
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.sub
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.mul
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.div
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.min
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.max
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.narrow_i16x8_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.narrow_i16x8_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.narrow_i32x4_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.narrow_i32x4_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (v8x16.swizzle
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.extract_lane_s 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.extract_lane_u 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.extract_lane_s 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.extract_lane_u 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.extract_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.extract_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.extract_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.extract_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.replace_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 42)
       )
      )
      (drop
       (i8x16.replace_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 42)
       )
      )
      (drop
       (i32x4.replace_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 42)
       )
      )
      (drop
       (i64x2.replace_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i64.const 184683593770)
       )
      )
      (drop
       (f32x4.replace_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (f32.const 42)
       )
      )
      (drop
       (f64x2.replace_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (f64.const 42)
       )
      )
      (drop
       (i8x16.shl
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i8x16.shr_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i8x16.shr_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i16x8.shl
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i16x8.shr_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i16x8.shr_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i32x4.shl
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i32x4.shr_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i32x4.shr_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i64x2.shl
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i64x2.shr_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i64x2.shr_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (v8x16.load_splat
        (i32.const 128)
       )
      )
      (drop
       (v16x8.load_splat offset=16 align=1
        (i32.const 128)
       )
      )
      (drop
       (v32x4.load_splat offset=16
        (i32.const 128)
       )
      )
      (drop
       (v64x2.load_splat align=4
        (i32.const 128)
       )
      )
      (drop
       (i16x8.load8x8_s
        (i32.const 128)
       )
      )
      (drop
       (i16x8.load8x8_u
        (i32.const 128)
       )
      )
      (drop
       (i32x4.load16x4_s
        (i32.const 128)
       )
      )
      (drop
       (i32x4.load16x4_u
        (i32.const 128)
       )
      )
      (drop
       (i64x2.load32x2_s
        (i32.const 128)
       )
      )
      (drop
       (i64x2.load32x2_u
        (i32.const 128)
       )
      )
      (drop
       (v8x16.shuffle 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (v128.bitselect
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.qfma
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.qfms
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.qfma
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.qfms
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (memory.init 0
       (i32.const 1024)
       (i32.const 0)
       (i32.const 12)
      )
      (data.drop 0)
      (memory.copy
       (i32.const 2048)
       (i32.const 1024)
       (i32.const 12)
      )
      (memory.fill
       (i32.const 0)
       (i32.const 42)
       (i32.const 1024)
      )
      (block
      )
      (if
       (i32.const 1)
       (drop
        (i32.const 2)
       )
       (drop
        (i32.const 3)
       )
      )
      (if
       (i32.const 4)
       (drop
        (i32.const 5)
       )
      )
      (drop
       (loop $in (result i32)
        (i32.const 0)
       )
      )
      (drop
       (loop (result i32)
        (i32.const 0)
       )
      )
      (drop
       (br_if $the-value
        (i32.const 1)
        (i32.const 0)
       )
      )
      (br_if $the-nothing
       (i32.const 2)
      )
      (br $the-value
       (i32.const 3)
      )
      (br $the-nothing)
      (br_table $the-value $the-value
       (i32.const 1)
       (i32.const 0)
      )
      (br_table $the-nothing $the-nothing
       (i32.const 2)
      )
      (drop
       (i32.eqz
        (call "$kitchen()sinker"
         (i32.const 13)
         (i64.const 37)
         (f32.const 1.2999999523162842)
         (f64.const 3.7)
        )
       )
      )
      (drop
       (i32.eqz
        (i32.trunc_f32_s
         (call $an-imported
          (i32.const 13)
          (f64.const 3.7)
         )
        )
       )
      )
      (drop
       (i32.eqz
        (call_indirect (type $iiIfF)
         (i32.const 13)
         (i64.const 37)
         (f32.const 1.2999999523162842)
         (f64.const 3.7)
         (i32.const 2449)
        )
       )
      )
      (drop
       (local.get $0)
      )
      (local.set $0
       (i32.const 101)
      )
      (drop
       (local.tee $0
        (i32.const 102)
       )
      )
      (drop
       (i32.load
        (i32.const 1)
       )
      )
      (drop
       (i64.load16_s offset=2 align=1
        (i32.const 8)
       )
      )
      (drop
       (f32.load
        (i32.const 2)
       )
      )
      (drop
       (f64.load offset=2
        (i32.const 9)
       )
      )
      (i32.store
       (i32.const 10)
       (i32.const 11)
      )
      (i64.store offset=2 align=4
       (i32.const 110)
       (i64.const 111)
      )
      (drop
       (select
        (i32.const 3)
        (i32.const 5)
        (i32.const 1)
       )
      )
      (return
       (i32.const 1337)
      )
      (return_call "$kitchen()sinker"
       (i32.const 13)
       (i64.const 37)
       (f32.const 1.2999999523162842)
       (f64.const 3.7)
      )
      (return_call_indirect (type $iiIfF)
       (i32.const 13)
       (i64.const 37)
       (f32.const 1.2999999523162842)
       (f64.const 3.7)
       (i32.const 2449)
      )
      (try
       (throw $a-event
        (i32.const 0)
       )
       (catch
        (local.set $5
         (exnref.pop)
        )
        (drop
         (block $try-block (result i32)
          (rethrow
           (br_on_exn $try-block $a-event
            (local.get $5)
           )
          )
         )
        )
       )
      )
      (i32.atomic.store
       (i32.const 0)
       (i32.atomic.load
        (i32.const 0)
       )
      )
      (drop
       (i32.atomic.wait
        (i32.const 0)
        (i32.const 0)
        (i64.const 0)
       )
      )
      (drop
       (atomic.notify
        (i32.const 0)
        (i32.const 0)
       )
      )
      (atomic.fence)
      (push
       (i32.pop)
      )
      (push
       (i64.pop)
      )
      (push
       (f32.pop)
      )
      (push
       (f64.pop)
      )
      (push
       (v128.pop)
      )
      (push
       (anyref.pop)
      )
      (push
       (exnref.pop)
      )
      (nop)
      (unreachable)
     )
    )
   )
   (i32.const 42)
  )
 )
 (func $starter (; 2 ;) (type $v)
  (nop)
 )
)

raw:
(module
 (type $v (func))
 (type $vi (func (param i32)))
 (type $i (func (result i32)))
 (import "module" "check" (func $check (param i32)))
 (func $just-one-block (; 1 ;) (type $v)
  (local $0 i32)
  (call $check
   (i32.const 1337)
  )
 )
 (func $two-blocks (; 2 ;) (type $v)
  (local $0 i32)
  (block
   (call $check
    (i32.const 0)
   )
   (call $check
    (i32.const 1)
   )
  )
 )
 (func $two-blocks-plus-code (; 3 ;) (type $v)
  (local $0 i32)
  (block
   (block
    (call $check
     (i32.const 0)
    )
    (drop
     (i32.const 77)
    )
   )
   (call $check
    (i32.const 1)
   )
  )
 )
 (func $loop (; 4 ;) (type $v)
  (local $0 i32)
  (loop $shape$0$continue
   (block
    (call $check
     (i32.const 0)
    )
    (call $check
     (i32.const 1)
    )
   )
   (block
    (br $shape$0$continue)
   )
  )
 )
 (func $loop-plus-code (; 5 ;) (type $v)
  (local $0 i32)
  (loop $shape$0$continue
   (block
    (block
     (call $check
      (i32.const 0)
     )
     (drop
      (i32.const 33)
     )
    )
    (call $check
     (i32.const 1)
    )
   )
   (block
    (drop
     (i32.const -66)
    )
    (br $shape$0$continue)
   )
  )
 )
 (func $split (; 6 ;) (type $v)
  (local $0 i32)
  (call $check
   (i32.const 0)
  )
  (if
   (i32.const 55)
   (block
    (call $check
     (i32.const 1)
    )
   )
   (block
    (call $check
     (i32.const 2)
    )
   )
  )
 )
 (func $split-plus-code (; 7 ;) (type $v)
  (local $0 i32)
  (call $check
   (i32.const 0)
  )
  (if
   (i32.const 55)
   (block
    (drop
     (i32.const 10)
    )
    (block
     (call $check
      (i32.const 1)
     )
    )
   )
   (block
    (drop
     (i32.const 20)
    )
    (block
     (call $check
      (i32.const 2)
     )
    )
   )
  )
 )
 (func $if (; 8 ;) (type $v)
  (local $0 i32)
  (block $block$3$break
   (call $check
    (i32.const 0)
   )
   (if
    (i32.const 55)
    (block
     (call $check
      (i32.const 1)
     )
     (block
      (br $block$3$break)
     )
    )
    (br $block$3$break)
   )
  )
  (block
   (call $check
    (i32.const 2)
   )
  )
 )
 (func $if-plus-code (; 9 ;) (type $v)
  (local $0 i32)
  (block $block$3$break
   (call $check
    (i32.const 0)
   )
   (if
    (i32.const 55)
    (block
     (drop
      (i32.const -1)
     )
     (block
      (call $check
       (i32.const 1)
      )
      (block
       (drop
        (i32.const -3)
       )
       (br $block$3$break)
      )
     )
    )
    (block
     (drop
      (i32.const -2)
     )
     (br $block$3$break)
    )
   )
  )
  (block
   (call $check
    (i32.const 2)
   )
  )
 )
 (func $if-else (; 10 ;) (type $v)
  (local $0 i32)
  (block $block$4$break
   (call $check
    (i32.const 0)
   )
   (if
    (i32.const 55)
    (block
     (call $check
      (i32.const 1)
     )
     (block
      (br $block$4$break)
     )
    )
    (block
     (call $check
      (i32.const 2)
     )
     (block
      (br $block$4$break)
     )
    )
   )
  )
  (block
   (call $check
    (i32.const 3)
   )
  )
 )
 (func $loop-tail (; 11 ;) (type $v)
  (local $0 i32)
  (block $block$3$break
   (loop $shape$0$continue
    (block
     (call $check
      (i32.const 0)
     )
     (call $check
      (i32.const 1)
     )
    )
    (if
     (i32.const 10)
     (br $shape$0$continue)
     (br $block$3$break)
    )
   )
  )
  (block
   (call $check
    (i32.const 2)
   )
  )
 )
 (func $nontrivial-loop-plus-phi-to-head (; 12 ;) (type $v)
  (local $0 i32)
  (block $block$2$break
   (call $check
    (i32.const 0)
   )
   (block
    (drop
     (i32.const 10)
    )
    (br $block$2$break)
   )
  )
  (block
   (block $block$7$break
    (block $block$4$break
     (loop $shape$1$continue
      (block $block$3$break
       (call $check
        (i32.const 1)
       )
       (if
        (i32.const -2)
        (br $block$3$break)
        (block
         (drop
          (i32.const 20)
         )
         (br $block$7$break)
        )
       )
      )
      (block
       (call $check
        (i32.const 2)
       )
       (if
        (i32.const -6)
        (br $block$4$break)
        (block
         (drop
          (i32.const 30)
         )
         (br $shape$1$continue)
        )
       )
      )
     )
    )
    (block
     (block $block$6$break
      (call $check
       (i32.const 3)
      )
      (if
       (i32.const -10)
       (block
        (call $check
         (i32.const 4)
        )
        (block
         (br $block$6$break)
        )
       )
       (br $block$6$break)
      )
     )
     (block
      (call $check
       (i32.const 5)
      )
      (block
       (drop
        (i32.const 40)
       )
       (br $block$7$break)
      )
     )
    )
   )
   (block
    (call $check
     (i32.const 6)
    )
   )
  )
 )
 (func $switch (; 13 ;) (type $v)
  (local $0 i32)
  (call $check
   (i32.const 0)
  )
  (block $switch$1$leave
   (block $switch$1$default
    (block $switch$1$case$3
     (block $switch$1$case$2
      (br_table $switch$1$default $switch$1$default $switch$1$case$2 $switch$1$default $switch$1$case$3 $switch$1$case$2 $switch$1$default
       (i32.const -99)
      )
     )
     (block
      (block
       (call $check
        (i32.const 1)
       )
      )
     )
     (br $switch$1$leave)
    )
    (block
     (drop
      (i32.const 55)
     )
     (block
      (call $check
       (i32.const 2)
      )
     )
    )
    (br $switch$1$leave)
   )
   (block
    (block
     (call $check
      (i32.const 3)
     )
    )
   )
   (br $switch$1$leave)
  )
 )
 (func $duffs-device (; 14 ;) (type $v)
  (local $0 i32)
  (local $1 i32)
  (local $2 i64)
  (local $3 i32)
  (local $4 f32)
  (local $5 f64)
  (local $6 i32)
  (block
   (block $block$3$break
    (block $block$2$break
     (call $check
      (i32.const 0)
     )
     (if
      (i32.const 10)
      (block
       (local.set $3
        (i32.const 2)
       )
       (br $block$2$break)
      )
      (block
       (local.set $3
        (i32.const 3)
       )
       (br $block$3$break)
      )
     )
    )
   )
  )
  (loop $shape$1$continue
   (if
    (i32.eq
     (local.get $3)
     (i32.const 2)
    )
    (block
     (local.set $3
      (i32.const 0)
     )
     (call $check
      (i32.const 1)
     )
     (block
      (local.set $3
       (i32.const 3)
      )
      (br $shape$1$continue)
     )
    )
    (if
     (i32.eq
      (local.get $3)
      (i32.const 3)
     )
     (block
      (local.set $3
       (i32.const 0)
      )
      (call $check
       (i32.const 2)
      )
      (block
       (local.set $3
        (i32.const 2)
       )
       (br $shape$1$continue)
      )
     )
    )
   )
  )
 )
 (func $return (; 15 ;) (type $i) (result i32)
  (local $0 i32)
  (block
   (call $check
    (i32.const 42)
   )
   (return
    (i32.const 1337)
   )
  )
 )
)

optimized:
(module
)

module loaded from binary form:
(module
 (type $0 (func (param i32 i32)))
 (type $1 (func (param i32 i32) (result i32)))
 (global $global$0 i32 (i32.const 3))
 (event $event$0 (attr 0) (param i32 i32))
 (func $adder (; 0 ;) (type $1) (param $0 i32) (param $1 i32) (result i32)
  (i32.add
   (local.get $0)
   (local.get $1)
  )
 )
)

(module
 (type $vi (func (param i32)))
 (type $v (func))
 (import "spectest" "print" (func $print-i32 (param i32)))
 (start $starter)
 (func $starter (; 1 ;) (type $v)
  (call $print-i32
   (i32.const 1234)
  )
 )
)

1234 : i32
(module
 (type $v (func))
 (func $func (; 0 ;) (type $v)
  (local $0 i32)
  (local.set $0
   (i64.const 1234)
  )
 )
)

[wasm-validator error in function func] i32 != i64: local.set type must match function, on 
[none] (local.set $0
 [i64] (i64.const 1234)
)
validation: 0
// beginning a Binaryen API trace
#include <math.h>
#include <map>
#include "binaryen-c.h"
int main() {
  std::map<size_t, BinaryenFunctionTypeRef> functionTypes;
  std::map<size_t, BinaryenExpressionRef> expressions;
  std::map<size_t, BinaryenFunctionRef> functions;
  std::map<size_t, BinaryenGlobalRef> globals;
  std::map<size_t, BinaryenEventRef> events;
  std::map<size_t, BinaryenExportRef> exports;
  std::map<size_t, RelooperBlockRef> relooperBlocks;
  BinaryenModuleRef the_module = NULL;
  RelooperRef the_relooper = NULL;
  the_module = BinaryenModuleCreate();
  expressions[size_t(NULL)] = BinaryenExpressionRef(NULL);
  BinaryenAddEvent(the_module, "a-event", 0, 2, 0);
  expressions[1] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  expressions[2] = BinaryenConst(the_module, BinaryenLiteralInt64(2));
  expressions[3] = BinaryenConst(the_module, BinaryenLiteralFloat32(3.14));
  expressions[4] = BinaryenConst(the_module, BinaryenLiteralFloat64(2.1828));
  expressions[5] = BinaryenConst(the_module, BinaryenLiteralFloat32(NAN));
  expressions[6] = BinaryenConst(the_module, BinaryenLiteralFloat64(NAN));
  {
    BinaryenType paramTypes[] = { 2, 3, 4, 5 };
    functionTypes[0] = BinaryenAddFunctionType(the_module, "iiIfF", 2, paramTypes, 4);
  }
  expressions[7] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  expressions[8] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
  expressions[9] = BinaryenConst(the_module, BinaryenLiteralInt32(3));
  expressions[10] = BinaryenConst(the_module, BinaryenLiteralInt32(4));
  expressions[11] = BinaryenConst(the_module, BinaryenLiteralInt32(5));
  expressions[12] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  expressions[13] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  expressions[14] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  expressions[15] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  expressions[16] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  expressions[17] = BinaryenConst(the_module, BinaryenLiteralInt32(3));
  expressions[18] = BinaryenConst(the_module, BinaryenLiteralInt32(5));
  expressions[19] = BinaryenConst(the_module, BinaryenLiteralInt32(10));
  expressions[20] = BinaryenConst(the_module, BinaryenLiteralInt32(11));
  expressions[21] = BinaryenConst(the_module, BinaryenLiteralInt32(110));
  expressions[22] = BinaryenConst(the_module, BinaryenLiteralInt64(111));
  expressions[23] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
  expressions[24] = BinaryenUnary(the_module, 0, expressions[23]);
  expressions[25] = BinaryenConst(the_module, BinaryenLiteralInt64(-22));
  expressions[26] = BinaryenUnary(the_module, 3, expressions[25]);
  expressions[27] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
  expressions[28] = BinaryenUnary(the_module, 4, expressions[27]);
  expressions[29] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
  expressions[30] = BinaryenUnary(the_module, 6, expressions[29]);
  expressions[31] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
  expressions[32] = BinaryenUnary(the_module, 9, expressions[31]);
  expressions[33] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
  expressions[34] = BinaryenUnary(the_module, 10, expressions[33]);
  expressions[35] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
  expressions[36] = BinaryenUnary(the_module, 13, expressions[35]);
  expressions[37] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
  expressions[38] = BinaryenUnary(the_module, 14, expressions[37]);
  expressions[39] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
  expressions[40] = BinaryenUnary(the_module, 16, expressions[39]);
  expressions[41] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
  expressions[42] = BinaryenUnary(the_module, 19, expressions[41]);
  expressions[43] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
  expressions[44] = BinaryenUnary(the_module, 20, expressions[43]);
  expressions[45] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
  expressions[46] = BinaryenUnary(the_module, 22, expressions[45]);
  expressions[47] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
  expressions[48] = BinaryenUnary(the_module, 23, expressions[47]);
  expressions[49] = BinaryenConst(the_module, BinaryenLiteralInt64(-22));
  expressions[50] = BinaryenUnary(the_module, 24, expressions[49]);
  expressions[51] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
  expressions[52] = BinaryenUnary(the_module, 25, expressions[51]);
  expressions[53] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
  expressions[54] = BinaryenUnary(the_module, 26, expressions[53]);
  expressions[55] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
  expressions[56] = BinaryenUnary(the_module, 27, expressions[55]);
  expressions[57] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
  expressions[58] = BinaryenUnary(the_module, 28, expressions[57]);
  expressions[59] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
  expressions[60] = BinaryenUnary(the_module, 29, expressions[59]);
  expressions[61] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
  expressions[62] = BinaryenUnary(the_module, 30, expressions[61]);
  expressions[63] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
  expressions[64] = BinaryenUnary(the_module, 31, expressions[63]);
  expressions[65] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
  expressions[66] = BinaryenUnary(the_module, 32, expressions[65]);
  expressions[67] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
  expressions[68] = BinaryenUnary(the_module, 52, expressions[67]);
  expressions[69] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
  expressions[70] = BinaryenUnary(the_module, 56, expressions[69]);
  expressions[71] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
  expressions[72] = BinaryenUnary(the_module, 53, expressions[71]);
  expressions[73] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
  expressions[74] = BinaryenUnary(the_module, 57, expressions[73]);
  expressions[75] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
  expressions[76] = BinaryenUnary(the_module, 54, expressions[75]);
  expressions[77] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
  expressions[78] = BinaryenUnary(the_module, 58, expressions[77]);
  expressions[79] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
  expressions[80] = BinaryenUnary(the_module, 55, expressions[79]);
  expressions[81] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
  expressions[82] = BinaryenUnary(the_module, 59, expressions[81]);
  expressions[83] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
  expressions[84] = BinaryenUnary(the_module, 33, expressions[83]);
  expressions[85] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
  expressions[86] = BinaryenUnary(the_module, 34, expressions[85]);
  expressions[87] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
  expressions[88] = BinaryenUnary(the_module, 35, expressions[87]);
  expressions[89] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
  expressions[90] = BinaryenUnary(the_module, 36, expressions[89]);
  expressions[91] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
  expressions[92] = BinaryenUnary(the_module, 37, expressions[91]);
  expressions[93] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
  expressions[94] = BinaryenUnary(the_module, 38, expressions[93]);
  expressions[95] = BinaryenConst(the_module, BinaryenLiteralInt64(-22));
  expressions[96] = BinaryenUnary(the_module, 39, expressions[95]);
  expressions[97] = BinaryenConst(the_module, BinaryenLiteralInt64(-22));
  expressions[98] = BinaryenUnary(the_module, 40, expressions[97]);
  expressions[99] = BinaryenConst(the_module, BinaryenLiteralInt64(-22));
  expressions[100] = BinaryenUnary(the_module, 41, expressions[99]);
  expressions[101] = BinaryenConst(the_module, BinaryenLiteralInt64(-22));
  expressions[102] = BinaryenUnary(the_module, 42, expressions[101]);
  expressions[103] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
  expressions[104] = BinaryenUnary(the_module, 43, expressions[103]);
  expressions[105] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
  expressions[106] = BinaryenUnary(the_module, 44, expressions[105]);
  expressions[107] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
  expressions[108] = BinaryenUnary(the_module, 45, expressions[107]);
  expressions[109] = BinaryenConst(the_module, BinaryenLiteralInt64(-22));
  expressions[110] = BinaryenUnary(the_module, 46, expressions[109]);
  expressions[111] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
  expressions[112] = BinaryenUnary(the_module, 60, expressions[111]);
  expressions[113] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
  expressions[114] = BinaryenUnary(the_module, 61, expressions[113]);
  expressions[115] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
  expressions[116] = BinaryenUnary(the_module, 62, expressions[115]);
  expressions[117] = BinaryenConst(the_module, BinaryenLiteralInt64(1958505087099));
  expressions[118] = BinaryenUnary(the_module, 63, expressions[117]);
  expressions[119] = BinaryenConst(the_module, BinaryenLiteralFloat32(42));
  expressions[120] = BinaryenUnary(the_module, 64, expressions[119]);
  expressions[121] = BinaryenConst(the_module, BinaryenLiteralFloat64(42));
  expressions[122] = BinaryenUnary(the_module, 65, expressions[121]);
  {
    uint8_t t0[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[123] = BinaryenConst(the_module, BinaryenLiteralVec128(t0));
  }
  expressions[124] = BinaryenUnary(the_module, 66, expressions[123]);
  {
    uint8_t t1[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[125] = BinaryenConst(the_module, BinaryenLiteralVec128(t1));
  }
  expressions[126] = BinaryenUnary(the_module, 67, expressions[125]);
  {
    uint8_t t2[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[127] = BinaryenConst(the_module, BinaryenLiteralVec128(t2));
  }
  expressions[128] = BinaryenUnary(the_module, 68, expressions[127]);
  {
    uint8_t t3[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[129] = BinaryenConst(the_module, BinaryenLiteralVec128(t3));
  }
  expressions[130] = BinaryenUnary(the_module, 69, expressions[129]);
  {
    uint8_t t4[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[131] = BinaryenConst(the_module, BinaryenLiteralVec128(t4));
  }
  expressions[132] = BinaryenUnary(the_module, 70, expressions[131]);
  {
    uint8_t t5[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[133] = BinaryenConst(the_module, BinaryenLiteralVec128(t5));
  }
  expressions[134] = BinaryenUnary(the_module, 71, expressions[133]);
  {
    uint8_t t6[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[135] = BinaryenConst(the_module, BinaryenLiteralVec128(t6));
  }
  expressions[136] = BinaryenUnary(the_module, 72, expressions[135]);
  {
    uint8_t t7[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[137] = BinaryenConst(the_module, BinaryenLiteralVec128(t7));
  }
  expressions[138] = BinaryenUnary(the_module, 73, expressions[137]);
  {
    uint8_t t8[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[139] = BinaryenConst(the_module, BinaryenLiteralVec128(t8));
  }
  expressions[140] = BinaryenUnary(the_module, 74, expressions[139]);
  {
    uint8_t t9[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[141] = BinaryenConst(the_module, BinaryenLiteralVec128(t9));
  }
  expressions[142] = BinaryenUnary(the_module, 75, expressions[141]);
  {
    uint8_t t10[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[143] = BinaryenConst(the_module, BinaryenLiteralVec128(t10));
  }
  expressions[144] = BinaryenUnary(the_module, 76, expressions[143]);
  {
    uint8_t t11[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[145] = BinaryenConst(the_module, BinaryenLiteralVec128(t11));
  }
  expressions[146] = BinaryenUnary(the_module, 77, expressions[145]);
  {
    uint8_t t12[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[147] = BinaryenConst(the_module, BinaryenLiteralVec128(t12));
  }
  expressions[148] = BinaryenUnary(the_module, 78, expressions[147]);
  {
    uint8_t t13[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[149] = BinaryenConst(the_module, BinaryenLiteralVec128(t13));
  }
  expressions[150] = BinaryenUnary(the_module, 79, expressions[149]);
  {
    uint8_t t14[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[151] = BinaryenConst(the_module, BinaryenLiteralVec128(t14));
  }
  expressions[152] = BinaryenUnary(the_module, 80, expressions[151]);
  {
    uint8_t t15[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[153] = BinaryenConst(the_module, BinaryenLiteralVec128(t15));
  }
  expressions[154] = BinaryenUnary(the_module, 81, expressions[153]);
  {
    uint8_t t16[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[155] = BinaryenConst(the_module, BinaryenLiteralVec128(t16));
  }
  expressions[156] = BinaryenUnary(the_module, 82, expressions[155]);
  {
    uint8_t t17[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[157] = BinaryenConst(the_module, BinaryenLiteralVec128(t17));
  }
  expressions[158] = BinaryenUnary(the_module, 83, expressions[157]);
  {
    uint8_t t18[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[159] = BinaryenConst(the_module, BinaryenLiteralVec128(t18));
  }
  expressions[160] = BinaryenUnary(the_module, 84, expressions[159]);
  {
    uint8_t t19[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[161] = BinaryenConst(the_module, BinaryenLiteralVec128(t19));
  }
  expressions[162] = BinaryenUnary(the_module, 85, expressions[161]);
  {
    uint8_t t20[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[163] = BinaryenConst(the_module, BinaryenLiteralVec128(t20));
  }
  expressions[164] = BinaryenUnary(the_module, 86, expressions[163]);
  {
    uint8_t t21[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[165] = BinaryenConst(the_module, BinaryenLiteralVec128(t21));
  }
  expressions[166] = BinaryenUnary(the_module, 87, expressions[165]);
  {
    uint8_t t22[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[167] = BinaryenConst(the_module, BinaryenLiteralVec128(t22));
  }
  expressions[168] = BinaryenUnary(the_module, 88, expressions[167]);
  {
    uint8_t t23[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[169] = BinaryenConst(the_module, BinaryenLiteralVec128(t23));
  }
  expressions[170] = BinaryenUnary(the_module, 89, expressions[169]);
  {
    uint8_t t24[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[171] = BinaryenConst(the_module, BinaryenLiteralVec128(t24));
  }
  expressions[172] = BinaryenUnary(the_module, 90, expressions[171]);
  {
    uint8_t t25[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[173] = BinaryenConst(the_module, BinaryenLiteralVec128(t25));
  }
  expressions[174] = BinaryenUnary(the_module, 91, expressions[173]);
  {
    uint8_t t26[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[175] = BinaryenConst(the_module, BinaryenLiteralVec128(t26));
  }
  expressions[176] = BinaryenUnary(the_module, 92, expressions[175]);
  {
    uint8_t t27[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[177] = BinaryenConst(the_module, BinaryenLiteralVec128(t27));
  }
  expressions[178] = BinaryenUnary(the_module, 93, expressions[177]);
  {
    uint8_t t28[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[179] = BinaryenConst(the_module, BinaryenLiteralVec128(t28));
  }
  expressions[180] = BinaryenUnary(the_module, 94, expressions[179]);
  {
    uint8_t t29[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[181] = BinaryenConst(the_module, BinaryenLiteralVec128(t29));
  }
  expressions[182] = BinaryenUnary(the_module, 95, expressions[181]);
  {
    uint8_t t30[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[183] = BinaryenConst(the_module, BinaryenLiteralVec128(t30));
  }
  expressions[184] = BinaryenUnary(the_module, 96, expressions[183]);
  {
    uint8_t t31[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[185] = BinaryenConst(the_module, BinaryenLiteralVec128(t31));
  }
  expressions[186] = BinaryenUnary(the_module, 97, expressions[185]);
  {
    uint8_t t32[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[187] = BinaryenConst(the_module, BinaryenLiteralVec128(t32));
  }
  expressions[188] = BinaryenUnary(the_module, 98, expressions[187]);
  {
    uint8_t t33[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[189] = BinaryenConst(the_module, BinaryenLiteralVec128(t33));
  }
  expressions[190] = BinaryenUnary(the_module, 99, expressions[189]);
  {
    uint8_t t34[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[191] = BinaryenConst(the_module, BinaryenLiteralVec128(t34));
  }
  expressions[192] = BinaryenUnary(the_module, 100, expressions[191]);
  expressions[193] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
  expressions[194] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
  expressions[195] = BinaryenBinary(the_module, 0, expressions[193], expressions[194]);
  expressions[196] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
  expressions[197] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33));
  expressions[198] = BinaryenBinary(the_module, 64, expressions[196], expressions[197]);
  expressions[199] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
  expressions[200] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
  expressions[201] = BinaryenBinary(the_module, 3, expressions[199], expressions[200]);
  expressions[202] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
  expressions[203] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
  expressions[204] = BinaryenBinary(the_module, 29, expressions[202], expressions[203]);
  expressions[205] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
  expressions[206] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
  expressions[207] = BinaryenBinary(the_module, 30, expressions[205], expressions[206]);
  expressions[208] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
  expressions[209] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
  expressions[210] = BinaryenBinary(the_module, 6, expressions[208], expressions[209]);
  expressions[211] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
  expressions[212] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
  expressions[213] = BinaryenBinary(the_module, 7, expressions[211], expressions[212]);
  expressions[214] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
  expressions[215] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
  expressions[216] = BinaryenBinary(the_module, 33, expressions[214], expressions[215]);
  expressions[217] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
  expressions[218] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
  expressions[219] = BinaryenBinary(the_module, 9, expressions[217], expressions[218]);
  expressions[220] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
  expressions[221] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
  expressions[222] = BinaryenBinary(the_module, 35, expressions[220], expressions[221]);
  expressions[223] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
  expressions[224] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
  expressions[225] = BinaryenBinary(the_module, 36, expressions[223], expressions[224]);
  expressions[226] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
  expressions[227] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
  expressions[228] = BinaryenBinary(the_module, 12, expressions[226], expressions[227]);
  expressions[229] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
  expressions[230] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
  expressions[231] = BinaryenBinary(the_module, 13, expressions[229], expressions[230]);
  expressions[232] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
  expressions[233] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
  expressions[234] = BinaryenBinary(the_module, 39, expressions[232], expressions[233]);
  expressions[235] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
  expressions[236] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5));
  expressions[237] = BinaryenBinary(the_module, 53, expressions[235], expressions[236]);
  expressions[238] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
  expressions[239] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33));
  expressions[240] = BinaryenBinary(the_module, 67, expressions[238], expressions[239]);
  expressions[241] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
  expressions[242] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5));
  expressions[243] = BinaryenBinary(the_module, 55, expressions[241], expressions[242]);
  expressions[244] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
  expressions[245] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33));
  expressions[246] = BinaryenBinary(the_module, 69, expressions[244], expressions[245]);
  expressions[247] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
  expressions[248] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
  expressions[249] = BinaryenBinary(the_module, 15, expressions[247], expressions[248]);
  expressions[250] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
  expressions[251] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5));
  expressions[252] = BinaryenBinary(the_module, 58, expressions[250], expressions[251]);
  expressions[253] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
  expressions[254] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
  expressions[255] = BinaryenBinary(the_module, 17, expressions[253], expressions[254]);
  expressions[256] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
  expressions[257] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
  expressions[258] = BinaryenBinary(the_module, 43, expressions[256], expressions[257]);
  expressions[259] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
  expressions[260] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
  expressions[261] = BinaryenBinary(the_module, 44, expressions[259], expressions[260]);
  expressions[262] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
  expressions[263] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
  expressions[264] = BinaryenBinary(the_module, 20, expressions[262], expressions[263]);
  expressions[265] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
  expressions[266] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
  expressions[267] = BinaryenBinary(the_module, 46, expressions[265], expressions[266]);
  expressions[268] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
  expressions[269] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
  expressions[270] = BinaryenBinary(the_module, 22, expressions[268], expressions[269]);
  expressions[271] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
  expressions[272] = BinaryenConst(the_module, BinaryenLiteralInt32(-11));
  expressions[273] = BinaryenBinary(the_module, 23, expressions[271], expressions[272]);
  expressions[274] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967274));
  expressions[275] = BinaryenConst(the_module, BinaryenLiteralInt64(4294967273));
  expressions[276] = BinaryenBinary(the_module, 49, expressions[274], expressions[275]);
  expressions[277] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
  expressions[278] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5));
  expressions[279] = BinaryenBinary(the_module, 59, expressions[277], expressions[278]);
  expressions[280] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
  expressions[281] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33));
  expressions[282] = BinaryenBinary(the_module, 73, expressions[280], expressions[281]);
  expressions[283] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9005.84));
  expressions[284] = BinaryenConst(the_module, BinaryenLiteralFloat64(-9007.33));
  expressions[285] = BinaryenBinary(the_module, 74, expressions[283], expressions[284]);
  expressions[286] = BinaryenConst(the_module, BinaryenLiteralFloat32(-33.612));
  expressions[287] = BinaryenConst(the_module, BinaryenLiteralFloat32(-62.5));
  expressions[288] = BinaryenBinary(the_module, 62, expressions[286], expressions[287]);
  {
    uint8_t t35[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[289] = BinaryenConst(the_module, BinaryenLiteralVec128(t35));
  }
  {
    uint8_t t36[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[290] = BinaryenConst(the_module, BinaryenLiteralVec128(t36));
  }
  expressions[291] = BinaryenBinary(the_module, 76, expressions[289], expressions[290]);
  {
    uint8_t t37[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[292] = BinaryenConst(the_module, BinaryenLiteralVec128(t37));
  }
  {
    uint8_t t38[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[293] = BinaryenConst(the_module, BinaryenLiteralVec128(t38));
  }
  expressions[294] = BinaryenBinary(the_module, 77, expressions[292], expressions[293]);
  {
    uint8_t t39[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[295] = BinaryenConst(the_module, BinaryenLiteralVec128(t39));
  }
  {
    uint8_t t40[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[296] = BinaryenConst(the_module, BinaryenLiteralVec128(t40));
  }
  expressions[297] = BinaryenBinary(the_module, 78, expressions[295], expressions[296]);
  {
    uint8_t t41[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[298] = BinaryenConst(the_module, BinaryenLiteralVec128(t41));
  }
  {
    uint8_t t42[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[299] = BinaryenConst(the_module, BinaryenLiteralVec128(t42));
  }
  expressions[300] = BinaryenBinary(the_module, 79, expressions[298], expressions[299]);
  {
    uint8_t t43[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[301] = BinaryenConst(the_module, BinaryenLiteralVec128(t43));
  }
  {
    uint8_t t44[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[302] = BinaryenConst(the_module, BinaryenLiteralVec128(t44));
  }
  expressions[303] = BinaryenBinary(the_module, 80, expressions[301], expressions[302]);
  {
    uint8_t t45[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[304] = BinaryenConst(the_module, BinaryenLiteralVec128(t45));
  }
  {
    uint8_t t46[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[305] = BinaryenConst(the_module, BinaryenLiteralVec128(t46));
  }
  expressions[306] = BinaryenBinary(the_module, 81, expressions[304], expressions[305]);
  {
    uint8_t t47[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[307] = BinaryenConst(the_module, BinaryenLiteralVec128(t47));
  }
  {
    uint8_t t48[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[308] = BinaryenConst(the_module, BinaryenLiteralVec128(t48));
  }
  expressions[309] = BinaryenBinary(the_module, 82, expressions[307], expressions[308]);
  {
    uint8_t t49[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[310] = BinaryenConst(the_module, BinaryenLiteralVec128(t49));
  }
  {
    uint8_t t50[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[311] = BinaryenConst(the_module, BinaryenLiteralVec128(t50));
  }
  expressions[312] = BinaryenBinary(the_module, 83, expressions[310], expressions[311]);
  {
    uint8_t t51[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[313] = BinaryenConst(the_module, BinaryenLiteralVec128(t51));
  }
  {
    uint8_t t52[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[314] = BinaryenConst(the_module, BinaryenLiteralVec128(t52));
  }
  expressions[315] = BinaryenBinary(the_module, 84, expressions[313], expressions[314]);
  {
    uint8_t t53[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[316] = BinaryenConst(the_module, BinaryenLiteralVec128(t53));
  }
  {
    uint8_t t54[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[317] = BinaryenConst(the_module, BinaryenLiteralVec128(t54));
  }
  expressions[318] = BinaryenBinary(the_module, 85, expressions[316], expressions[317]);
  {
    uint8_t t55[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[319] = BinaryenConst(the_module, BinaryenLiteralVec128(t55));
  }
  {
    uint8_t t56[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[320] = BinaryenConst(the_module, BinaryenLiteralVec128(t56));
  }
  expressions[321] = BinaryenBinary(the_module, 86, expressions[319], expressions[320]);
  {
    uint8_t t57[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[322] = BinaryenConst(the_module, BinaryenLiteralVec128(t57));
  }
  {
    uint8_t t58[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[323] = BinaryenConst(the_module, BinaryenLiteralVec128(t58));
  }
  expressions[324] = BinaryenBinary(the_module, 87, expressions[322], expressions[323]);
  {
    uint8_t t59[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[325] = BinaryenConst(the_module, BinaryenLiteralVec128(t59));
  }
  {
    uint8_t t60[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[326] = BinaryenConst(the_module, BinaryenLiteralVec128(t60));
  }
  expressions[327] = BinaryenBinary(the_module, 88, expressions[325], expressions[326]);
  {
    uint8_t t61[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[328] = BinaryenConst(the_module, BinaryenLiteralVec128(t61));
  }
  {
    uint8_t t62[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[329] = BinaryenConst(the_module, BinaryenLiteralVec128(t62));
  }
  expressions[330] = BinaryenBinary(the_module, 89, expressions[328], expressions[329]);
  {
    uint8_t t63[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[331] = BinaryenConst(the_module, BinaryenLiteralVec128(t63));
  }
  {
    uint8_t t64[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[332] = BinaryenConst(the_module, BinaryenLiteralVec128(t64));
  }
  expressions[333] = BinaryenBinary(the_module, 90, expressions[331], expressions[332]);
  {
    uint8_t t65[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[334] = BinaryenConst(the_module, BinaryenLiteralVec128(t65));
  }
  {
    uint8_t t66[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[335] = BinaryenConst(the_module, BinaryenLiteralVec128(t66));
  }
  expressions[336] = BinaryenBinary(the_module, 91, expressions[334], expressions[335]);
  {
    uint8_t t67[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[337] = BinaryenConst(the_module, BinaryenLiteralVec128(t67));
  }
  {
    uint8_t t68[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[338] = BinaryenConst(the_module, BinaryenLiteralVec128(t68));
  }
  expressions[339] = BinaryenBinary(the_module, 92, expressions[337], expressions[338]);
  {
    uint8_t t69[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[340] = BinaryenConst(the_module, BinaryenLiteralVec128(t69));
  }
  {
    uint8_t t70[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[341] = BinaryenConst(the_module, BinaryenLiteralVec128(t70));
  }
  expressions[342] = BinaryenBinary(the_module, 93, expressions[340], expressions[341]);
  {
    uint8_t t71[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[343] = BinaryenConst(the_module, BinaryenLiteralVec128(t71));
  }
  {
    uint8_t t72[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[344] = BinaryenConst(the_module, BinaryenLiteralVec128(t72));
  }
  expressions[345] = BinaryenBinary(the_module, 94, expressions[343], expressions[344]);
  {
    uint8_t t73[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[346] = BinaryenConst(the_module, BinaryenLiteralVec128(t73));
  }
  {
    uint8_t t74[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[347] = BinaryenConst(the_module, BinaryenLiteralVec128(t74));
  }
  expressions[348] = BinaryenBinary(the_module, 95, expressions[346], expressions[347]);
  {
    uint8_t t75[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[349] = BinaryenConst(the_module, BinaryenLiteralVec128(t75));
  }
  {
    uint8_t t76[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[350] = BinaryenConst(the_module, BinaryenLiteralVec128(t76));
  }
  expressions[351] = BinaryenBinary(the_module, 96, expressions[349], expressions[350]);
  {
    uint8_t t77[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[352] = BinaryenConst(the_module, BinaryenLiteralVec128(t77));
  }
  {
    uint8_t t78[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[353] = BinaryenConst(the_module, BinaryenLiteralVec128(t78));
  }
  expressions[354] = BinaryenBinary(the_module, 97, expressions[352], expressions[353]);
  {
    uint8_t t79[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[355] = BinaryenConst(the_module, BinaryenLiteralVec128(t79));
  }
  {
    uint8_t t80[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[356] = BinaryenConst(the_module, BinaryenLiteralVec128(t80));
  }
  expressions[357] = BinaryenBinary(the_module, 98, expressions[355], expressions[356]);
  {
    uint8_t t81[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[358] = BinaryenConst(the_module, BinaryenLiteralVec128(t81));
  }
  {
    uint8_t t82[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[359] = BinaryenConst(the_module, BinaryenLiteralVec128(t82));
  }
  expressions[360] = BinaryenBinary(the_module, 99, expressions[358], expressions[359]);
  {
    uint8_t t83[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[361] = BinaryenConst(the_module, BinaryenLiteralVec128(t83));
  }
  {
    uint8_t t84[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[362] = BinaryenConst(the_module, BinaryenLiteralVec128(t84));
  }
  expressions[363] = BinaryenBinary(the_module, 100, expressions[361], expressions[362]);
  {
    uint8_t t85[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[364] = BinaryenConst(the_module, BinaryenLiteralVec128(t85));
  }
  {
    uint8_t t86[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[365] = BinaryenConst(the_module, BinaryenLiteralVec128(t86));
  }
  expressions[366] = BinaryenBinary(the_module, 101, expressions[364], expressions[365]);
  {
    uint8_t t87[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[367] = BinaryenConst(the_module, BinaryenLiteralVec128(t87));
  }
  {
    uint8_t t88[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[368] = BinaryenConst(the_module, BinaryenLiteralVec128(t88));
  }
  expressions[369] = BinaryenBinary(the_module, 102, expressions[367], expressions[368]);
  {
    uint8_t t89[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[370] = BinaryenConst(the_module, BinaryenLiteralVec128(t89));
  }
  {
    uint8_t t90[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[371] = BinaryenConst(the_module, BinaryenLiteralVec128(t90));
  }
  expressions[372] = BinaryenBinary(the_module, 103, expressions[370], expressions[371]);
  {
    uint8_t t91[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[373] = BinaryenConst(the_module, BinaryenLiteralVec128(t91));
  }
  {
    uint8_t t92[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[374] = BinaryenConst(the_module, BinaryenLiteralVec128(t92));
  }
  expressions[375] = BinaryenBinary(the_module, 104, expressions[373], expressions[374]);
  {
    uint8_t t93[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[376] = BinaryenConst(the_module, BinaryenLiteralVec128(t93));
  }
  {
    uint8_t t94[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[377] = BinaryenConst(the_module, BinaryenLiteralVec128(t94));
  }
  expressions[378] = BinaryenBinary(the_module, 105, expressions[376], expressions[377]);
  {
    uint8_t t95[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[379] = BinaryenConst(the_module, BinaryenLiteralVec128(t95));
  }
  {
    uint8_t t96[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[380] = BinaryenConst(the_module, BinaryenLiteralVec128(t96));
  }
  expressions[381] = BinaryenBinary(the_module, 106, expressions[379], expressions[380]);
  {
    uint8_t t97[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[382] = BinaryenConst(the_module, BinaryenLiteralVec128(t97));
  }
  {
    uint8_t t98[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[383] = BinaryenConst(the_module, BinaryenLiteralVec128(t98));
  }
  expressions[384] = BinaryenBinary(the_module, 107, expressions[382], expressions[383]);
  {
    uint8_t t99[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[385] = BinaryenConst(the_module, BinaryenLiteralVec128(t99));
  }
  {
    uint8_t t100[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[386] = BinaryenConst(the_module, BinaryenLiteralVec128(t100));
  }
  expressions[387] = BinaryenBinary(the_module, 108, expressions[385], expressions[386]);
  {
    uint8_t t101[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[388] = BinaryenConst(the_module, BinaryenLiteralVec128(t101));
  }
  {
    uint8_t t102[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[389] = BinaryenConst(the_module, BinaryenLiteralVec128(t102));
  }
  expressions[390] = BinaryenBinary(the_module, 109, expressions[388], expressions[389]);
  {
    uint8_t t103[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[391] = BinaryenConst(the_module, BinaryenLiteralVec128(t103));
  }
  {
    uint8_t t104[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[392] = BinaryenConst(the_module, BinaryenLiteralVec128(t104));
  }
  expressions[393] = BinaryenBinary(the_module, 110, expressions[391], expressions[392]);
  {
    uint8_t t105[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[394] = BinaryenConst(the_module, BinaryenLiteralVec128(t105));
  }
  {
    uint8_t t106[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[395] = BinaryenConst(the_module, BinaryenLiteralVec128(t106));
  }
  expressions[396] = BinaryenBinary(the_module, 111, expressions[394], expressions[395]);
  {
    uint8_t t107[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[397] = BinaryenConst(the_module, BinaryenLiteralVec128(t107));
  }
  {
    uint8_t t108[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[398] = BinaryenConst(the_module, BinaryenLiteralVec128(t108));
  }
  expressions[399] = BinaryenBinary(the_module, 111, expressions[397], expressions[398]);
  {
    uint8_t t109[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[400] = BinaryenConst(the_module, BinaryenLiteralVec128(t109));
  }
  {
    uint8_t t110[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[401] = BinaryenConst(the_module, BinaryenLiteralVec128(t110));
  }
  expressions[402] = BinaryenBinary(the_module, 113, expressions[400], expressions[401]);
  {
    uint8_t t111[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[403] = BinaryenConst(the_module, BinaryenLiteralVec128(t111));
  }
  {
    uint8_t t112[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[404] = BinaryenConst(the_module, BinaryenLiteralVec128(t112));
  }
  expressions[405] = BinaryenBinary(the_module, 114, expressions[403], expressions[404]);
  {
    uint8_t t113[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[406] = BinaryenConst(the_module, BinaryenLiteralVec128(t113));
  }
  {
    uint8_t t114[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[407] = BinaryenConst(the_module, BinaryenLiteralVec128(t114));
  }
  expressions[408] = BinaryenBinary(the_module, 115, expressions[406], expressions[407]);
  {
    uint8_t t115[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[409] = BinaryenConst(the_module, BinaryenLiteralVec128(t115));
  }
  {
    uint8_t t116[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[410] = BinaryenConst(the_module, BinaryenLiteralVec128(t116));
  }
  expressions[411] = BinaryenBinary(the_module, 116, expressions[409], expressions[410]);
  {
    uint8_t t117[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[412] = BinaryenConst(the_module, BinaryenLiteralVec128(t117));
  }
  {
    uint8_t t118[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[413] = BinaryenConst(the_module, BinaryenLiteralVec128(t118));
  }
  expressions[414] = BinaryenBinary(the_module, 117, expressions[412], expressions[413]);
  {
    uint8_t t119[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[415] = BinaryenConst(the_module, BinaryenLiteralVec128(t119));
  }
  {
    uint8_t t120[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[416] = BinaryenConst(the_module, BinaryenLiteralVec128(t120));
  }
  expressions[417] = BinaryenBinary(the_module, 118, expressions[415], expressions[416]);
  {
    uint8_t t121[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[418] = BinaryenConst(the_module, BinaryenLiteralVec128(t121));
  }
  {
    uint8_t t122[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[419] = BinaryenConst(the_module, BinaryenLiteralVec128(t122));
  }
  expressions[420] = BinaryenBinary(the_module, 119, expressions[418], expressions[419]);
  {
    uint8_t t123[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[421] = BinaryenConst(the_module, BinaryenLiteralVec128(t123));
  }
  {
    uint8_t t124[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[422] = BinaryenConst(the_module, BinaryenLiteralVec128(t124));
  }
  expressions[423] = BinaryenBinary(the_module, 120, expressions[421], expressions[422]);
  {
    uint8_t t125[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[424] = BinaryenConst(the_module, BinaryenLiteralVec128(t125));
  }
  {
    uint8_t t126[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[425] = BinaryenConst(the_module, BinaryenLiteralVec128(t126));
  }
  expressions[426] = BinaryenBinary(the_module, 121, expressions[424], expressions[425]);
  {
    uint8_t t127[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[427] = BinaryenConst(the_module, BinaryenLiteralVec128(t127));
  }
  {
    uint8_t t128[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[428] = BinaryenConst(the_module, BinaryenLiteralVec128(t128));
  }
  expressions[429] = BinaryenBinary(the_module, 122, expressions[427], expressions[428]);
  {
    uint8_t t129[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[430] = BinaryenConst(the_module, BinaryenLiteralVec128(t129));
  }
  {
    uint8_t t130[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[431] = BinaryenConst(the_module, BinaryenLiteralVec128(t130));
  }
  expressions[432] = BinaryenBinary(the_module, 123, expressions[430], expressions[431]);
  {
    uint8_t t131[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[433] = BinaryenConst(the_module, BinaryenLiteralVec128(t131));
  }
  {
    uint8_t t132[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[434] = BinaryenConst(the_module, BinaryenLiteralVec128(t132));
  }
  expressions[435] = BinaryenBinary(the_module, 124, expressions[433], expressions[434]);
  {
    uint8_t t133[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[436] = BinaryenConst(the_module, BinaryenLiteralVec128(t133));
  }
  {
    uint8_t t134[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[437] = BinaryenConst(the_module, BinaryenLiteralVec128(t134));
  }
  expressions[438] = BinaryenBinary(the_module, 125, expressions[436], expressions[437]);
  {
    uint8_t t135[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[439] = BinaryenConst(the_module, BinaryenLiteralVec128(t135));
  }
  {
    uint8_t t136[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[440] = BinaryenConst(the_module, BinaryenLiteralVec128(t136));
  }
  expressions[441] = BinaryenBinary(the_module, 126, expressions[439], expressions[440]);
  {
    uint8_t t137[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[442] = BinaryenConst(the_module, BinaryenLiteralVec128(t137));
  }
  {
    uint8_t t138[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[443] = BinaryenConst(the_module, BinaryenLiteralVec128(t138));
  }
  expressions[444] = BinaryenBinary(the_module, 127, expressions[442], expressions[443]);
  {
    uint8_t t139[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[445] = BinaryenConst(the_module, BinaryenLiteralVec128(t139));
  }
  {
    uint8_t t140[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[446] = BinaryenConst(the_module, BinaryenLiteralVec128(t140));
  }
  expressions[447] = BinaryenBinary(the_module, 128, expressions[445], expressions[446]);
  {
    uint8_t t141[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[448] = BinaryenConst(the_module, BinaryenLiteralVec128(t141));
  }
  {
    uint8_t t142[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[449] = BinaryenConst(the_module, BinaryenLiteralVec128(t142));
  }
  expressions[450] = BinaryenBinary(the_module, 129, expressions[448], expressions[449]);
  {
    uint8_t t143[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[451] = BinaryenConst(the_module, BinaryenLiteralVec128(t143));
  }
  {
    uint8_t t144[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[452] = BinaryenConst(the_module, BinaryenLiteralVec128(t144));
  }
  expressions[453] = BinaryenBinary(the_module, 130, expressions[451], expressions[452]);
  {
    uint8_t t145[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[454] = BinaryenConst(the_module, BinaryenLiteralVec128(t145));
  }
  {
    uint8_t t146[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[455] = BinaryenConst(the_module, BinaryenLiteralVec128(t146));
  }
  expressions[456] = BinaryenBinary(the_module, 131, expressions[454], expressions[455]);
  {
    uint8_t t147[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[457] = BinaryenConst(the_module, BinaryenLiteralVec128(t147));
  }
  {
    uint8_t t148[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[458] = BinaryenConst(the_module, BinaryenLiteralVec128(t148));
  }
  expressions[459] = BinaryenBinary(the_module, 132, expressions[457], expressions[458]);
  {
    uint8_t t149[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[460] = BinaryenConst(the_module, BinaryenLiteralVec128(t149));
  }
  {
    uint8_t t150[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[461] = BinaryenConst(the_module, BinaryenLiteralVec128(t150));
  }
  expressions[462] = BinaryenBinary(the_module, 133, expressions[460], expressions[461]);
  {
    uint8_t t151[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[463] = BinaryenConst(the_module, BinaryenLiteralVec128(t151));
  }
  {
    uint8_t t152[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[464] = BinaryenConst(the_module, BinaryenLiteralVec128(t152));
  }
  expressions[465] = BinaryenBinary(the_module, 134, expressions[463], expressions[464]);
  {
    uint8_t t153[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[466] = BinaryenConst(the_module, BinaryenLiteralVec128(t153));
  }
  {
    uint8_t t154[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[467] = BinaryenConst(the_module, BinaryenLiteralVec128(t154));
  }
  expressions[468] = BinaryenBinary(the_module, 135, expressions[466], expressions[467]);
  {
    uint8_t t155[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[469] = BinaryenConst(the_module, BinaryenLiteralVec128(t155));
  }
  {
    uint8_t t156[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[470] = BinaryenConst(the_module, BinaryenLiteralVec128(t156));
  }
  expressions[471] = BinaryenBinary(the_module, 136, expressions[469], expressions[470]);
  {
    uint8_t t157[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[472] = BinaryenConst(the_module, BinaryenLiteralVec128(t157));
  }
  {
    uint8_t t158[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[473] = BinaryenConst(the_module, BinaryenLiteralVec128(t158));
  }
  expressions[474] = BinaryenBinary(the_module, 137, expressions[472], expressions[473]);
  {
    uint8_t t159[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[475] = BinaryenConst(the_module, BinaryenLiteralVec128(t159));
  }
  {
    uint8_t t160[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[476] = BinaryenConst(the_module, BinaryenLiteralVec128(t160));
  }
  expressions[477] = BinaryenBinary(the_module, 138, expressions[475], expressions[476]);
  {
    uint8_t t161[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[478] = BinaryenConst(the_module, BinaryenLiteralVec128(t161));
  }
  {
    uint8_t t162[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[479] = BinaryenConst(the_module, BinaryenLiteralVec128(t162));
  }
  expressions[480] = BinaryenBinary(the_module, 139, expressions[478], expressions[479]);
  {
    uint8_t t163[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[481] = BinaryenConst(the_module, BinaryenLiteralVec128(t163));
  }
  {
    uint8_t t164[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[482] = BinaryenConst(the_module, BinaryenLiteralVec128(t164));
  }
  expressions[483] = BinaryenBinary(the_module, 140, expressions[481], expressions[482]);
  {
    uint8_t t165[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[484] = BinaryenConst(the_module, BinaryenLiteralVec128(t165));
  }
  {
    uint8_t t166[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[485] = BinaryenConst(the_module, BinaryenLiteralVec128(t166));
  }
  expressions[486] = BinaryenBinary(the_module, 141, expressions[484], expressions[485]);
  {
    uint8_t t167[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[487] = BinaryenConst(the_module, BinaryenLiteralVec128(t167));
  }
  {
    uint8_t t168[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[488] = BinaryenConst(the_module, BinaryenLiteralVec128(t168));
  }
  expressions[489] = BinaryenBinary(the_module, 142, expressions[487], expressions[488]);
  {
    uint8_t t169[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[490] = BinaryenConst(the_module, BinaryenLiteralVec128(t169));
  }
  {
    uint8_t t170[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[491] = BinaryenConst(the_module, BinaryenLiteralVec128(t170));
  }
  expressions[492] = BinaryenBinary(the_module, 143, expressions[490], expressions[491]);
  {
    uint8_t t171[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[493] = BinaryenConst(the_module, BinaryenLiteralVec128(t171));
  }
  {
    uint8_t t172[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[494] = BinaryenConst(the_module, BinaryenLiteralVec128(t172));
  }
  expressions[495] = BinaryenBinary(the_module, 144, expressions[493], expressions[494]);
  {
    uint8_t t173[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[496] = BinaryenConst(the_module, BinaryenLiteralVec128(t173));
  }
  {
    uint8_t t174[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[497] = BinaryenConst(the_module, BinaryenLiteralVec128(t174));
  }
  expressions[498] = BinaryenBinary(the_module, 145, expressions[496], expressions[497]);
  {
    uint8_t t175[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[499] = BinaryenConst(the_module, BinaryenLiteralVec128(t175));
  }
  {
    uint8_t t176[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[500] = BinaryenConst(the_module, BinaryenLiteralVec128(t176));
  }
  expressions[501] = BinaryenBinary(the_module, 146, expressions[499], expressions[500]);
  {
    uint8_t t177[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[502] = BinaryenConst(the_module, BinaryenLiteralVec128(t177));
  }
  {
    uint8_t t178[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[503] = BinaryenConst(the_module, BinaryenLiteralVec128(t178));
  }
  expressions[504] = BinaryenBinary(the_module, 147, expressions[502], expressions[503]);
  {
    uint8_t t179[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[505] = BinaryenConst(the_module, BinaryenLiteralVec128(t179));
  }
  {
    uint8_t t180[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[506] = BinaryenConst(the_module, BinaryenLiteralVec128(t180));
  }
  expressions[507] = BinaryenBinary(the_module, 148, expressions[505], expressions[506]);
  {
    uint8_t t181[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[508] = BinaryenConst(the_module, BinaryenLiteralVec128(t181));
  }
  {
    uint8_t t182[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[509] = BinaryenConst(the_module, BinaryenLiteralVec128(t182));
  }
  expressions[510] = BinaryenBinary(the_module, 149, expressions[508], expressions[509]);
  {
    uint8_t t183[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[511] = BinaryenConst(the_module, BinaryenLiteralVec128(t183));
  }
  {
    uint8_t t184[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[512] = BinaryenConst(the_module, BinaryenLiteralVec128(t184));
  }
  expressions[513] = BinaryenBinary(the_module, 150, expressions[511], expressions[512]);
  {
    uint8_t t185[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[514] = BinaryenConst(the_module, BinaryenLiteralVec128(t185));
  }
  {
    uint8_t t186[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[515] = BinaryenConst(the_module, BinaryenLiteralVec128(t186));
  }
  expressions[516] = BinaryenBinary(the_module, 151, expressions[514], expressions[515]);
  {
    uint8_t t187[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[517] = BinaryenConst(the_module, BinaryenLiteralVec128(t187));
  }
  {
    uint8_t t188[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[518] = BinaryenConst(the_module, BinaryenLiteralVec128(t188));
  }
  expressions[519] = BinaryenBinary(the_module, 152, expressions[517], expressions[518]);
  {
    uint8_t t189[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[520] = BinaryenConst(the_module, BinaryenLiteralVec128(t189));
  }
  {
    uint8_t t190[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[521] = BinaryenConst(the_module, BinaryenLiteralVec128(t190));
  }
  expressions[522] = BinaryenBinary(the_module, 153, expressions[520], expressions[521]);
  {
    uint8_t t191[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[523] = BinaryenConst(the_module, BinaryenLiteralVec128(t191));
  }
  {
    uint8_t t192[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[524] = BinaryenConst(the_module, BinaryenLiteralVec128(t192));
  }
  expressions[525] = BinaryenBinary(the_module, 154, expressions[523], expressions[524]);
  {
    uint8_t t193[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[526] = BinaryenConst(the_module, BinaryenLiteralVec128(t193));
  }
  {
    uint8_t t194[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[527] = BinaryenConst(the_module, BinaryenLiteralVec128(t194));
  }
  expressions[528] = BinaryenBinary(the_module, 155, expressions[526], expressions[527]);
  {
    uint8_t t195[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[529] = BinaryenConst(the_module, BinaryenLiteralVec128(t195));
  }
  {
    uint8_t t196[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[530] = BinaryenConst(the_module, BinaryenLiteralVec128(t196));
  }
  expressions[531] = BinaryenBinary(the_module, 156, expressions[529], expressions[530]);
  {
    uint8_t t197[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[532] = BinaryenConst(the_module, BinaryenLiteralVec128(t197));
  }
  {
    uint8_t t198[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[533] = BinaryenConst(the_module, BinaryenLiteralVec128(t198));
  }
  expressions[534] = BinaryenBinary(the_module, 157, expressions[532], expressions[533]);
  {
    uint8_t t199[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[535] = BinaryenConst(the_module, BinaryenLiteralVec128(t199));
  }
  {
    uint8_t t200[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[536] = BinaryenConst(the_module, BinaryenLiteralVec128(t200));
  }
  expressions[537] = BinaryenBinary(the_module, 158, expressions[535], expressions[536]);
  {
    uint8_t t201[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[538] = BinaryenConst(the_module, BinaryenLiteralVec128(t201));
  }
  {
    uint8_t t202[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[539] = BinaryenConst(the_module, BinaryenLiteralVec128(t202));
  }
  expressions[540] = BinaryenBinary(the_module, 159, expressions[538], expressions[539]);
  {
    uint8_t t203[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[541] = BinaryenConst(the_module, BinaryenLiteralVec128(t203));
  }
  {
    uint8_t t204[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[542] = BinaryenConst(the_module, BinaryenLiteralVec128(t204));
  }
  expressions[543] = BinaryenBinary(the_module, 160, expressions[541], expressions[542]);
  {
    uint8_t t205[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[544] = BinaryenConst(the_module, BinaryenLiteralVec128(t205));
  }
  {
    uint8_t t206[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[545] = BinaryenConst(the_module, BinaryenLiteralVec128(t206));
  }
  expressions[546] = BinaryenBinary(the_module, 161, expressions[544], expressions[545]);
  {
    uint8_t t207[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[547] = BinaryenConst(the_module, BinaryenLiteralVec128(t207));
  }
  {
    uint8_t t208[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[548] = BinaryenConst(the_module, BinaryenLiteralVec128(t208));
  }
  expressions[549] = BinaryenBinary(the_module, 162, expressions[547], expressions[548]);
  {
    uint8_t t209[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[550] = BinaryenConst(the_module, BinaryenLiteralVec128(t209));
  }
  {
    uint8_t t210[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[551] = BinaryenConst(the_module, BinaryenLiteralVec128(t210));
  }
  expressions[552] = BinaryenBinary(the_module, 163, expressions[550], expressions[551]);
  {
    uint8_t t211[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[553] = BinaryenConst(the_module, BinaryenLiteralVec128(t211));
  }
  {
    uint8_t t212[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[554] = BinaryenConst(the_module, BinaryenLiteralVec128(t212));
  }
  expressions[555] = BinaryenBinary(the_module, 164, expressions[553], expressions[554]);
  {
    uint8_t t213[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[556] = BinaryenConst(the_module, BinaryenLiteralVec128(t213));
  }
  {
    uint8_t t214[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[557] = BinaryenConst(the_module, BinaryenLiteralVec128(t214));
  }
  expressions[558] = BinaryenBinary(the_module, 165, expressions[556], expressions[557]);
  {
    uint8_t t215[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[559] = BinaryenConst(the_module, BinaryenLiteralVec128(t215));
  }
  {
    uint8_t t216[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[560] = BinaryenConst(the_module, BinaryenLiteralVec128(t216));
  }
  expressions[561] = BinaryenBinary(the_module, 166, expressions[559], expressions[560]);
  {
    uint8_t t217[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[562] = BinaryenConst(the_module, BinaryenLiteralVec128(t217));
  }
  {
    uint8_t t218[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[563] = BinaryenConst(the_module, BinaryenLiteralVec128(t218));
  }
  expressions[564] = BinaryenBinary(the_module, 167, expressions[562], expressions[563]);
  {
    uint8_t t219[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[565] = BinaryenConst(the_module, BinaryenLiteralVec128(t219));
  }
  {
    uint8_t t220[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[566] = BinaryenConst(the_module, BinaryenLiteralVec128(t220));
  }
  expressions[567] = BinaryenBinary(the_module, 168, expressions[565], expressions[566]);
  {
    uint8_t t221[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[568] = BinaryenConst(the_module, BinaryenLiteralVec128(t221));
  }
  {
    uint8_t t222[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[569] = BinaryenConst(the_module, BinaryenLiteralVec128(t222));
  }
  expressions[570] = BinaryenBinary(the_module, 169, expressions[568], expressions[569]);
  {
    uint8_t t223[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[571] = BinaryenConst(the_module, BinaryenLiteralVec128(t223));
  }
  {
    uint8_t t224[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[572] = BinaryenConst(the_module, BinaryenLiteralVec128(t224));
  }
  expressions[573] = BinaryenBinary(the_module, 170, expressions[571], expressions[572]);
  {
    uint8_t t225[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[574] = BinaryenConst(the_module, BinaryenLiteralVec128(t225));
  }
  expressions[575] = BinaryenSIMDExtract(the_module, 0, expressions[574], 1);
  {
    uint8_t t226[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[576] = BinaryenConst(the_module, BinaryenLiteralVec128(t226));
  }
  expressions[577] = BinaryenSIMDExtract(the_module, 1, expressions[576], 1);
  {
    uint8_t t227[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[578] = BinaryenConst(the_module, BinaryenLiteralVec128(t227));
  }
  expressions[579] = BinaryenSIMDExtract(the_module, 2, expressions[578], 1);
  {
    uint8_t t228[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[580] = BinaryenConst(the_module, BinaryenLiteralVec128(t228));
  }
  expressions[581] = BinaryenSIMDExtract(the_module, 3, expressions[580], 1);
  {
    uint8_t t229[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[582] = BinaryenConst(the_module, BinaryenLiteralVec128(t229));
  }
  expressions[583] = BinaryenSIMDExtract(the_module, 4, expressions[582], 1);
  {
    uint8_t t230[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[584] = BinaryenConst(the_module, BinaryenLiteralVec128(t230));
  }
  expressions[585] = BinaryenSIMDExtract(the_module, 5, expressions[584], 1);
  {
    uint8_t t231[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[586] = BinaryenConst(the_module, BinaryenLiteralVec128(t231));
  }
  expressions[587] = BinaryenSIMDExtract(the_module, 6, expressions[586], 1);
  {
    uint8_t t232[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[588] = BinaryenConst(the_module, BinaryenLiteralVec128(t232));
  }
  expressions[589] = BinaryenSIMDExtract(the_module, 7, expressions[588], 1);
  {
    uint8_t t233[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[590] = BinaryenConst(the_module, BinaryenLiteralVec128(t233));
  }
  expressions[591] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
  expressions[592] = BinaryenSIMDReplace(the_module, 1, expressions[590], 1, expressions[591]);
  {
    uint8_t t234[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[593] = BinaryenConst(the_module, BinaryenLiteralVec128(t234));
  }
  expressions[594] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
  expressions[595] = BinaryenSIMDReplace(the_module, 0, expressions[593], 1, expressions[594]);
  {
    uint8_t t235[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[596] = BinaryenConst(the_module, BinaryenLiteralVec128(t235));
  }
  expressions[597] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
  expressions[598] = BinaryenSIMDReplace(the_module, 2, expressions[596], 1, expressions[597]);
  {
    uint8_t t236[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[599] = BinaryenConst(the_module, BinaryenLiteralVec128(t236));
  }
  expressions[600] = BinaryenConst(the_module, BinaryenLiteralInt64(184683593770));
  expressions[601] = BinaryenSIMDReplace(the_module, 3, expressions[599], 1, expressions[600]);
  {
    uint8_t t237[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[602] = BinaryenConst(the_module, BinaryenLiteralVec128(t237));
  }
  expressions[603] = BinaryenConst(the_module, BinaryenLiteralFloat32(42));
  expressions[604] = BinaryenSIMDReplace(the_module, 4, expressions[602], 1, expressions[603]);
  {
    uint8_t t238[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[605] = BinaryenConst(the_module, BinaryenLiteralVec128(t238));
  }
  expressions[606] = BinaryenConst(the_module, BinaryenLiteralFloat64(42));
  expressions[607] = BinaryenSIMDReplace(the_module, 5, expressions[605], 1, expressions[606]);
  {
    uint8_t t239[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[608] = BinaryenConst(the_module, BinaryenLiteralVec128(t239));
  }
  expressions[609] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  expressions[610] = BinaryenSIMDShift(the_module, 0, expressions[608], expressions[609]);
  {
    uint8_t t240[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[611] = BinaryenConst(the_module, BinaryenLiteralVec128(t240));
  }
  expressions[612] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  expressions[613] = BinaryenSIMDShift(the_module, 1, expressions[611], expressions[612]);
  {
    uint8_t t241[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[614] = BinaryenConst(the_module, BinaryenLiteralVec128(t241));
  }
  expressions[615] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  expressions[616] = BinaryenSIMDShift(the_module, 2, expressions[614], expressions[615]);
  {
    uint8_t t242[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[617] = BinaryenConst(the_module, BinaryenLiteralVec128(t242));
  }
  expressions[618] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  expressions[619] = BinaryenSIMDShift(the_module, 3, expressions[617], expressions[618]);
  {
    uint8_t t243[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[620] = BinaryenConst(the_module, BinaryenLiteralVec128(t243));
  }
  expressions[621] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  expressions[622] = BinaryenSIMDShift(the_module, 4, expressions[620], expressions[621]);
  {
    uint8_t t244[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[623] = BinaryenConst(the_module, BinaryenLiteralVec128(t244));
  }
  expressions[624] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  expressions[625] = BinaryenSIMDShift(the_module, 5, expressions[623], expressions[624]);
  {
    uint8_t t245[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[626] = BinaryenConst(the_module, BinaryenLiteralVec128(t245));
  }
  expressions[627] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  expressions[628] = BinaryenSIMDShift(the_module, 6, expressions[626], expressions[627]);
  {
    uint8_t t246[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[629] = BinaryenConst(the_module, BinaryenLiteralVec128(t246));
  }
  expressions[630] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  expressions[631] = BinaryenSIMDShift(the_module, 7, expressions[629], expressions[630]);
  {
    uint8_t t247[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[632] = BinaryenConst(the_module, BinaryenLiteralVec128(t247));
  }
  expressions[633] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  expressions[634] = BinaryenSIMDShift(the_module, 8, expressions[632], expressions[633]);
  {
    uint8_t t248[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[635] = BinaryenConst(the_module, BinaryenLiteralVec128(t248));
  }
  expressions[636] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  expressions[637] = BinaryenSIMDShift(the_module, 9, expressions[635], expressions[636]);
  {
    uint8_t t249[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[638] = BinaryenConst(the_module, BinaryenLiteralVec128(t249));
  }
  expressions[639] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  expressions[640] = BinaryenSIMDShift(the_module, 10, expressions[638], expressions[639]);
  {
    uint8_t t250[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[641] = BinaryenConst(the_module, BinaryenLiteralVec128(t250));
  }
  expressions[642] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  expressions[643] = BinaryenSIMDShift(the_module, 11, expressions[641], expressions[642]);
  expressions[644] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
  expressions[645] = BinaryenSIMDLoad(the_module, 0, 0, 1, expressions[644]);
  expressions[646] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
  expressions[647] = BinaryenSIMDLoad(the_module, 1, 16, 1, expressions[646]);
  expressions[648] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
  expressions[649] = BinaryenSIMDLoad(the_module, 2, 16, 4, expressions[648]);
  expressions[650] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
  expressions[651] = BinaryenSIMDLoad(the_module, 3, 0, 4, expressions[650]);
  expressions[652] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
  expressions[653] = BinaryenSIMDLoad(the_module, 4, 0, 8, expressions[652]);
  expressions[654] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
  expressions[655] = BinaryenSIMDLoad(the_module, 5, 0, 8, expressions[654]);
  expressions[656] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
  expressions[657] = BinaryenSIMDLoad(the_module, 6, 0, 8, expressions[656]);
  expressions[658] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
  expressions[659] = BinaryenSIMDLoad(the_module, 7, 0, 8, expressions[658]);
  expressions[660] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
  expressions[661] = BinaryenSIMDLoad(the_module, 8, 0, 8, expressions[660]);
  expressions[662] = BinaryenConst(the_module, BinaryenLiteralInt32(128));
  expressions[663] = BinaryenSIMDLoad(the_module, 9, 0, 8, expressions[662]);
  {
    uint8_t t251[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[664] = BinaryenConst(the_module, BinaryenLiteralVec128(t251));
  }
  {
    uint8_t t252[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[665] = BinaryenConst(the_module, BinaryenLiteralVec128(t252));
  }
  {
    uint8_t mask[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[666] = BinaryenSIMDShuffle(the_module, expressions[664], expressions[665], mask);
  }
  {
    uint8_t t253[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[667] = BinaryenConst(the_module, BinaryenLiteralVec128(t253));
  }
  {
    uint8_t t254[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[668] = BinaryenConst(the_module, BinaryenLiteralVec128(t254));
  }
  {
    uint8_t t255[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[669] = BinaryenConst(the_module, BinaryenLiteralVec128(t255));
  }
  expressions[670] = BinaryenSIMDTernary(the_module, 0, expressions[667], expressions[668], expressions[669]);
  {
    uint8_t t256[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[671] = BinaryenConst(the_module, BinaryenLiteralVec128(t256));
  }
  {
    uint8_t t257[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[672] = BinaryenConst(the_module, BinaryenLiteralVec128(t257));
  }
  {
    uint8_t t258[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[673] = BinaryenConst(the_module, BinaryenLiteralVec128(t258));
  }
  expressions[674] = BinaryenSIMDTernary(the_module, 1, expressions[671], expressions[672], expressions[673]);
  {
    uint8_t t259[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[675] = BinaryenConst(the_module, BinaryenLiteralVec128(t259));
  }
  {
    uint8_t t260[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[676] = BinaryenConst(the_module, BinaryenLiteralVec128(t260));
  }
  {
    uint8_t t261[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[677] = BinaryenConst(the_module, BinaryenLiteralVec128(t261));
  }
  expressions[678] = BinaryenSIMDTernary(the_module, 2, expressions[675], expressions[676], expressions[677]);
  {
    uint8_t t262[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[679] = BinaryenConst(the_module, BinaryenLiteralVec128(t262));
  }
  {
    uint8_t t263[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[680] = BinaryenConst(the_module, BinaryenLiteralVec128(t263));
  }
  {
    uint8_t t264[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[681] = BinaryenConst(the_module, BinaryenLiteralVec128(t264));
  }
  expressions[682] = BinaryenSIMDTernary(the_module, 3, expressions[679], expressions[680], expressions[681]);
  {
    uint8_t t265[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[683] = BinaryenConst(the_module, BinaryenLiteralVec128(t265));
  }
  {
    uint8_t t266[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[684] = BinaryenConst(the_module, BinaryenLiteralVec128(t266));
  }
  {
    uint8_t t267[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
    expressions[685] = BinaryenConst(the_module, BinaryenLiteralVec128(t267));
  }
  expressions[686] = BinaryenSIMDTernary(the_module, 4, expressions[683], expressions[684], expressions[685]);
  expressions[687] = BinaryenConst(the_module, BinaryenLiteralInt32(1024));
  expressions[688] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  expressions[689] = BinaryenConst(the_module, BinaryenLiteralInt32(12));
  expressions[690] = BinaryenMemoryInit(the_module, 0, expressions[687], expressions[688], expressions[689]);
  expressions[691] = BinaryenDataDrop(the_module, 0);
  expressions[692] = BinaryenConst(the_module, BinaryenLiteralInt32(2048));
  expressions[693] = BinaryenConst(the_module, BinaryenLiteralInt32(1024));
  expressions[694] = BinaryenConst(the_module, BinaryenLiteralInt32(12));
  expressions[695] = BinaryenMemoryCopy(the_module, expressions[692], expressions[693], expressions[694]);
  expressions[696] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  expressions[697] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
  expressions[698] = BinaryenConst(the_module, BinaryenLiteralInt32(1024));
  expressions[699] = BinaryenMemoryFill(the_module, expressions[696], expressions[697], expressions[698]);
  {
    BinaryenExpressionRef children[] = { 0 };
    expressions[700] = BinaryenBlock(the_module, NULL, children, 0, 0);
  }
  expressions[701] = BinaryenIf(the_module, expressions[7], expressions[8], expressions[9]);
  expressions[702] = BinaryenIf(the_module, expressions[10], expressions[11], expressions[0]);
  expressions[703] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  expressions[704] = BinaryenLoop(the_module, "in", expressions[703]);
  expressions[705] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  expressions[706] = BinaryenLoop(the_module, NULL, expressions[705]);
  expressions[707] = BinaryenBreak(the_module, "the-value", expressions[12], expressions[13]);
  expressions[708] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
  expressions[709] = BinaryenBreak(the_module, "the-nothing", expressions[708], expressions[0]);
  expressions[710] = BinaryenConst(the_module, BinaryenLiteralInt32(3));
  expressions[711] = BinaryenBreak(the_module, "the-value", expressions[0], expressions[710]);
  expressions[712] = BinaryenBreak(the_module, "the-nothing", expressions[0], expressions[0]);
  {
    const char* names[] = { "the-value" };
    expressions[713] = BinaryenSwitch(the_module, names, 1, "the-value", expressions[14], expressions[15]);
  }
  expressions[714] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
  {
    const char* names[] = { "the-nothing" };
    expressions[715] = BinaryenSwitch(the_module, names, 1, "the-nothing", expressions[714], expressions[0]);
  }
  expressions[716] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
  expressions[717] = BinaryenConst(the_module, BinaryenLiteralInt64(37));
  expressions[718] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3));
  expressions[719] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
  {
    BinaryenExpressionRef operands[] = { expressions[716], expressions[717], expressions[718], expressions[719] };
    expressions[720] = BinaryenCall(the_module, "kitchen()sinker", operands, 4, 2);
  }
  expressions[721] = BinaryenUnary(the_module, 20, expressions[720]);
  expressions[722] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
  expressions[723] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
  {
    BinaryenExpressionRef operands[] = { expressions[722], expressions[723] };
    expressions[724] = BinaryenCall(the_module, "an-imported", operands, 2, 4);
  }
  expressions[725] = BinaryenUnary(the_module, 25, expressions[724]);
  expressions[726] = BinaryenUnary(the_module, 20, expressions[725]);
  expressions[727] = BinaryenConst(the_module, BinaryenLiteralInt32(2449));
  expressions[728] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
  expressions[729] = BinaryenConst(the_module, BinaryenLiteralInt64(37));
  expressions[730] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3));
  expressions[731] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
  {
    BinaryenExpressionRef operands[] = { expressions[728], expressions[729], expressions[730], expressions[731] };
    expressions[732] = BinaryenCallIndirect(the_module, expressions[727], operands, 4, "iiIfF");
  }
  expressions[733] = BinaryenUnary(the_module, 20, expressions[732]);
  expressions[734] = BinaryenLocalGet(the_module, 0, 2);
  expressions[735] = BinaryenDrop(the_module, expressions[734]);
  expressions[736] = BinaryenConst(the_module, BinaryenLiteralInt32(101));
  expressions[737] = BinaryenLocalSet(the_module, 0, expressions[736]);
  expressions[738] = BinaryenConst(the_module, BinaryenLiteralInt32(102));
  expressions[739] = BinaryenLocalTee(the_module, 0, expressions[738]);
  expressions[740] = BinaryenDrop(the_module, expressions[739]);
  expressions[741] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  expressions[742] = BinaryenLoad(the_module, 4, 1, 0, 0, 2, expressions[741]);
  expressions[743] = BinaryenConst(the_module, BinaryenLiteralInt32(8));
  expressions[744] = BinaryenLoad(the_module, 2, 1, 2, 1, 3, expressions[743]);
  expressions[745] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
  expressions[746] = BinaryenLoad(the_module, 4, 1, 0, 0, 4, expressions[745]);
  expressions[747] = BinaryenConst(the_module, BinaryenLiteralInt32(9));
  expressions[748] = BinaryenLoad(the_module, 8, 1, 2, 8, 5, expressions[747]);
  expressions[749] = BinaryenStore(the_module, 4, 0, 0, expressions[19], expressions[20], 2);
  expressions[750] = BinaryenStore(the_module, 8, 2, 4, expressions[21], expressions[22], 3);
  expressions[751] = BinaryenSelect(the_module, expressions[16], expressions[17], expressions[18]);
  expressions[752] = BinaryenConst(the_module, BinaryenLiteralInt32(1337));
  expressions[753] = BinaryenReturn(the_module, expressions[752]);
  expressions[754] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
  expressions[755] = BinaryenConst(the_module, BinaryenLiteralInt64(37));
  expressions[756] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3));
  expressions[757] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
  {
    BinaryenExpressionRef operands[] = { expressions[754], expressions[755], expressions[756], expressions[757] };
    expressions[758] = BinaryenReturnCall(the_module, "kitchen()sinker", operands, 4, 2);
  }
  expressions[759] = BinaryenConst(the_module, BinaryenLiteralInt32(2449));
  expressions[760] = BinaryenConst(the_module, BinaryenLiteralInt32(13));
  expressions[761] = BinaryenConst(the_module, BinaryenLiteralInt64(37));
  expressions[762] = BinaryenConst(the_module, BinaryenLiteralFloat32(1.3));
  expressions[763] = BinaryenConst(the_module, BinaryenLiteralFloat64(3.7));
  {
    BinaryenExpressionRef operands[] = { expressions[760], expressions[761], expressions[762], expressions[763] };
    expressions[764] = BinaryenReturnCallIndirect(the_module, expressions[759], operands, 4, "iiIfF");
  }
  expressions[765] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  {
    BinaryenExpressionRef operands[] = { expressions[765] };
    expressions[766] = BinaryenThrow(the_module, "a-event", operands, 1);
  }
  expressions[767] = BinaryenPop(the_module, 8);
  expressions[768] = BinaryenLocalSet(the_module, 5, expressions[767]);
  expressions[769] = BinaryenLocalGet(the_module, 5, 8);
  expressions[770] = BinaryenBrOnExn(the_module, "try-block", "a-event", expressions[769]);
  expressions[771] = BinaryenRethrow(the_module, expressions[770]);
  {
    BinaryenExpressionRef children[] = { expressions[771] };
    expressions[772] = BinaryenBlock(the_module, "try-block", children, 1, 2);
  }
  expressions[773] = BinaryenDrop(the_module, expressions[772]);
  {
    BinaryenExpressionRef children[] = { expressions[768], expressions[773] };
    expressions[774] = BinaryenBlock(the_module, NULL, children, 2, 0);
  }
  expressions[775] = BinaryenTry(the_module, expressions[766], expressions[774]);
  expressions[776] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  expressions[777] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  expressions[778] = BinaryenAtomicLoad(the_module, 4, 0, 2, expressions[777]);
  expressions[779] = BinaryenAtomicStore(the_module, 4, 0, expressions[776], expressions[778], 2);
  expressions[780] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  expressions[781] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  expressions[782] = BinaryenConst(the_module, BinaryenLiteralInt64(0));
  expressions[783] = BinaryenAtomicWait(the_module, expressions[780], expressions[781], expressions[782], 2);
  expressions[784] = BinaryenDrop(the_module, expressions[783]);
  expressions[785] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  expressions[786] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  expressions[787] = BinaryenAtomicNotify(the_module, expressions[785], expressions[786]);
  expressions[788] = BinaryenDrop(the_module, expressions[787]);
  expressions[789] = BinaryenAtomicFence(the_module);
  expressions[790] = BinaryenPop(the_module, 2);
  expressions[791] = BinaryenPush(the_module, expressions[790]);
  expressions[792] = BinaryenPop(the_module, 3);
  expressions[793] = BinaryenPush(the_module, expressions[792]);
  expressions[794] = BinaryenPop(the_module, 4);
  expressions[795] = BinaryenPush(the_module, expressions[794]);
  expressions[796] = BinaryenPop(the_module, 5);
  expressions[797] = BinaryenPush(the_module, expressions[796]);
  expressions[798] = BinaryenPop(the_module, 6);
  expressions[799] = BinaryenPush(the_module, expressions[798]);
  expressions[800] = BinaryenPop(the_module, 7);
  expressions[801] = BinaryenPush(the_module, expressions[800]);
  expressions[802] = BinaryenPop(the_module, 8);
  expressions[803] = BinaryenPush(the_module, expressions[802]);
  expressions[804] = BinaryenNop(the_module);
  expressions[805] = BinaryenUnreachable(the_module);
  BinaryenExpressionGetId(expressions[30]);
  BinaryenExpressionGetType(expressions[30]);
  BinaryenUnaryGetOp(expressions[30]);
  BinaryenUnaryGetValue(expressions[30]);
getExpressionInfo={"id":15,"type":4,"op":6}
  BinaryenExpressionPrint(expressions[30]);
(f32.neg
 (f32.const -33.61199951171875)
)

  expressions[806] = BinaryenConst(the_module, BinaryenLiteralInt32(5));
  BinaryenExpressionGetId(expressions[806]);
  BinaryenExpressionGetType(expressions[806]);
  BinaryenConstGetValueI32(expressions[806]);
getExpressionInfo(i32.const)={"id":14,"type":2,"value":5}
  expressions[807] = BinaryenConst(the_module, BinaryenLiteralInt64(30064771078));
  BinaryenExpressionGetId(expressions[807]);
  BinaryenExpressionGetType(expressions[807]);
  BinaryenConstGetValueI64Low(expressions[807]);
  BinaryenConstGetValueI64High(expressions[807]);
getExpressionInfo(i64.const)={"id":14,"type":3,"value":{"low":6,"high":7}}
  expressions[808] = BinaryenConst(the_module, BinaryenLiteralFloat32(8.5));
  BinaryenExpressionGetId(expressions[808]);
  BinaryenExpressionGetType(expressions[808]);
  BinaryenConstGetValueF32(expressions[808]);
getExpressionInfo(f32.const)={"id":14,"type":4,"value":8.5}
  expressions[809] = BinaryenConst(the_module, BinaryenLiteralFloat64(9.5));
  BinaryenExpressionGetId(expressions[809]);
  BinaryenExpressionGetType(expressions[809]);
  BinaryenConstGetValueF64(expressions[809]);
getExpressionInfo(f64.const)={"id":14,"type":5,"value":9.5}
  {
    BinaryenExpressionRef children[] = { expressions[24], expressions[26], expressions[28], expressions[30], expressions[32], 
       expressions[34], expressions[36], expressions[38], expressions[40], expressions[42], expressions[44], 
       expressions[46], expressions[48], expressions[50], expressions[52], expressions[54], expressions[56], 
       expressions[58], expressions[60], expressions[62], expressions[64], expressions[66], expressions[68], 
       expressions[70], expressions[72], expressions[74], expressions[76], expressions[78], expressions[80], 
       expressions[82], expressions[84], expressions[86], expressions[88], expressions[90], expressions[92], 
       expressions[94], expressions[96], expressions[98], expressions[100], expressions[102], expressions[104], 
       expressions[106], expressions[108], expressions[110], expressions[112], expressions[114], expressions[116], 
       expressions[118], expressions[120], expressions[122], expressions[124], expressions[126], expressions[128], 
       expressions[130], expressions[132], expressions[134], expressions[136], expressions[138], expressions[140], 
       expressions[142], expressions[144], expressions[146], expressions[148], expressions[150], expressions[152], 
       expressions[154], expressions[156], expressions[158], expressions[160], expressions[162], expressions[164], 
       expressions[166], expressions[168], expressions[170], expressions[172], expressions[174], expressions[176], 
       expressions[178], expressions[180], expressions[182], expressions[184], expressions[186], expressions[188], 
       expressions[190], expressions[192], expressions[195], expressions[198], expressions[201], expressions[204], 
       expressions[207], expressions[210], expressions[213], expressions[216], expressions[219], expressions[222], 
       expressions[225], expressions[228], expressions[231], expressions[234], expressions[237], expressions[240], 
       expressions[243], expressions[246], expressions[249], expressions[252], expressions[255], expressions[258], 
       expressions[261], expressions[264], expressions[267], expressions[270], expressions[273], expressions[276], 
       expressions[279], expressions[282], expressions[285], expressions[288], expressions[291], expressions[294], 
       expressions[297], expressions[300], expressions[303], expressions[306], expressions[309], expressions[312], 
       expressions[315], expressions[318], expressions[321], expressions[324], expressions[327], expressions[330], 
       expressions[333], expressions[336], expressions[339], expressions[342], expressions[345], expressions[348], 
       expressions[351], expressions[354], expressions[357], expressions[360], expressions[363], expressions[366], 
       expressions[369], expressions[372], expressions[375], expressions[378], expressions[381], expressions[384], 
       expressions[387], expressions[390], expressions[393], expressions[396], expressions[399], expressions[402], 
       expressions[405], expressions[408], expressions[411], expressions[414], expressions[417], expressions[420], 
       expressions[423], expressions[426], expressions[429], expressions[432], expressions[435], expressions[438], 
       expressions[441], expressions[444], expressions[447], expressions[450], expressions[453], expressions[456], 
       expressions[459], expressions[462], expressions[465], expressions[468], expressions[471], expressions[474], 
       expressions[477], expressions[480], expressions[483], expressions[486], expressions[489], expressions[492], 
       expressions[495], expressions[498], expressions[501], expressions[504], expressions[507], expressions[510], 
       expressions[513], expressions[516], expressions[519], expressions[522], expressions[525], expressions[528], 
       expressions[531], expressions[534], expressions[537], expressions[540], expressions[543], expressions[546], 
       expressions[549], expressions[552], expressions[555], expressions[558], expressions[561], expressions[564], 
       expressions[567], expressions[570], expressions[573], expressions[575], expressions[577], expressions[579], 
       expressions[581], expressions[583], expressions[585], expressions[587], expressions[589], expressions[592], 
       expressions[595], expressions[598], expressions[601], expressions[604], expressions[607], expressions[610], 
       expressions[613], expressions[616], expressions[619], expressions[622], expressions[625], expressions[628], 
       expressions[631], expressions[634], expressions[637], expressions[640], expressions[643], expressions[645], 
       expressions[647], expressions[649], expressions[651], expressions[653], expressions[655], expressions[657], 
       expressions[659], expressions[661], expressions[663], expressions[666], expressions[670], expressions[674], 
       expressions[678], expressions[682], expressions[686], expressions[690], expressions[691], expressions[695], 
       expressions[699], expressions[700], expressions[701], expressions[702], expressions[704], expressions[706], 
       expressions[707], expressions[709], expressions[711], expressions[712], expressions[713], expressions[715], 
       expressions[721], expressions[726], expressions[733], expressions[735], expressions[737], expressions[740], 
       expressions[742], expressions[744], expressions[746], expressions[748], expressions[749], expressions[750], 
       expressions[751], expressions[753], expressions[758], expressions[764], expressions[775], expressions[779], 
       expressions[784], expressions[788], expressions[789], expressions[791], expressions[793], expressions[795], 
       expressions[797], expressions[799], expressions[801], expressions[803], expressions[804], expressions[805] };
    expressions[810] = BinaryenBlock(the_module, "the-value", children, 299, 0);
  }
  expressions[811] = BinaryenDrop(the_module, expressions[810]);
  {
    BinaryenExpressionRef children[] = { expressions[811] };
    expressions[812] = BinaryenBlock(the_module, "the-nothing", children, 1, 0);
  }
  expressions[813] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
  {
    BinaryenExpressionRef children[] = { expressions[812], expressions[813] };
    expressions[814] = BinaryenBlock(the_module, "the-body", children, 2, 0);
  }
  {
    BinaryenType varTypes[] = { 2, 8 };
    functions[0] = BinaryenAddFunction(the_module, "kitchen()sinker", functionTypes[0], varTypes, 2, expressions[814]);
  }
  expressions[815] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  globals[0] = BinaryenAddGlobal(the_module, "a-global", 2, 0, expressions[815]);
  {
    BinaryenType paramTypes[] = { 2, 5 };
    functionTypes[1] = BinaryenAddFunctionType(the_module, "fiF", 4, paramTypes, 2);
  }
  BinaryenAddFunctionImport(the_module, "an-imported", "module", "base", functionTypes[1]);
  BinaryenAddGlobalImport(the_module, "a-global-imp", "module", "base", 2, 0);
  BinaryenAddGlobalImport(the_module, "a-mut-global-imp", "module", "base", 2, 1);
  BinaryenAddEventImport(the_module, "a-event-imp", "module", "base", 0, 2, 0);
  exports[0] = BinaryenAddFunctionExport(the_module, "kitchen()sinker", "kitchen_sinker");
  exports[1] = BinaryenAddGlobalExport(the_module, "a-global", "a-global-exp");
  exports[2] = BinaryenAddEventExport(the_module, "a-event", "a-event-exp");
  BinaryenFunctionGetName(functions[0]);
  BinaryenFunctionImportGetModule(functions[0]);
  BinaryenFunctionImportGetBase(functions[0]);
  BinaryenFunctionGetType(functions[0]);
  BinaryenFunctionGetNumParams(functions[0]);
  BinaryenFunctionGetParam(functions[0], 0);
  BinaryenFunctionGetParam(functions[0], 1);
  BinaryenFunctionGetParam(functions[0], 2);
  BinaryenFunctionGetParam(functions[0], 3);
  BinaryenFunctionGetResult(functions[0]);
  BinaryenFunctionGetNumVars(functions[0]);
  BinaryenFunctionGetVar(functions[0], 0);
  BinaryenFunctionGetVar(functions[0], 1);
  BinaryenFunctionGetBody(functions[0]);
  expressions[816] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  {
    const char* funcNames[] = { "kitchen()sinker" };
    BinaryenSetFunctionTable(the_module, 1, 4294967295, funcNames, 1, expressions[816]);
  }
  expressions[817] = BinaryenConst(the_module, BinaryenLiteralInt32(10));
  {
    const char segment0[] = { 104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100 };
    const char segment1[] = { 73, 32, 97, 109, 32, 112, 97, 115, 115, 105, 118, 101 };
    const char* segments[] = { segment0, segment1 };
    int8_t segmentPassive[] = { 0, 1 };
    BinaryenExpressionRef segmentOffsets[] = { expressions[817], expressions[0] };
    BinaryenIndex segmentSizes[] = { 12, 12 };
    BinaryenSetMemory(the_module, 1, 256, "mem", segments, segmentPassive, segmentOffsets, segmentSizes, 2, 1);
  }
  {
    BinaryenType paramTypes[] = { 0 };
    functionTypes[2] = BinaryenAddFunctionType(the_module, "v", 0, paramTypes, 0);
  }
  expressions[818] = BinaryenNop(the_module);
  {
    BinaryenType varTypes[] = { 0 };
    functions[1] = BinaryenAddFunction(the_module, "starter", functionTypes[2], varTypes, 0, expressions[818]);
  }
  BinaryenSetStart(the_module, functions[1]);
  {
    BinaryenType paramTypes[] = { 0 };
    functionTypes[3] = BinaryenAddFunctionType(the_module, NULL, 0, paramTypes, 0);
  }
  BinaryenModuleAutoDrop(the_module);
  BinaryenModuleSetFeatures(the_module, 511);
  BinaryenModuleGetFeatures(the_module);
  BinaryenModulePrint(the_module);
(module
 (type $iiIfF (func (param i32 i64 f32 f64) (result i32)))
 (type $fiF (func (param i32 f64) (result f32)))
 (type $v (func))
 (type $3 (func))
 (import "module" "base" (global $a-global-imp i32))
 (import "module" "base" (global $a-mut-global-imp (mut i32)))
 (import "module" "base" (func $an-imported (param i32 f64) (result f32)))
 (import "module" "base" (event $a-event-imp (attr 0) (param i32)))
 (memory $0 (shared 1 256))
 (data (i32.const 10) "hello, world")
 (data passive "I am passive")
 (table $0 1 funcref)
 (elem (i32.const 0) "$kitchen()sinker")
 (global $a-global i32 (i32.const 1))
 (event $a-event (attr 0) (param i32))
 (export "kitchen_sinker" (func "$kitchen()sinker"))
 (export "a-global-exp" (global $a-global))
 (export "a-event-exp" (event $a-event))
 (export "mem" (memory $0))
 (start $starter)
 (func "$kitchen()sinker" (; 1 ;) (type $iiIfF) (param $0 i32) (param $1 i64) (param $2 f32) (param $3 f64) (result i32)
  (local $4 i32)
  (local $5 exnref)
  (block $the-body (result i32)
   (block $the-nothing
    (drop
     (block $the-value (result i32)
      (drop
       (i32.clz
        (i32.const -10)
       )
      )
      (drop
       (i64.ctz
        (i64.const -22)
       )
      )
      (drop
       (i32.popcnt
        (i32.const -10)
       )
      )
      (drop
       (f32.neg
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (f64.abs
        (f64.const -9005.841)
       )
      )
      (drop
       (f32.ceil
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (f64.floor
        (f64.const -9005.841)
       )
      )
      (drop
       (f32.trunc
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (f32.nearest
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (f64.sqrt
        (f64.const -9005.841)
       )
      )
      (drop
       (i32.eqz
        (i32.const -10)
       )
      )
      (drop
       (i64.extend_i32_s
        (i32.const -10)
       )
      )
      (drop
       (i64.extend_i32_u
        (i32.const -10)
       )
      )
      (drop
       (i32.wrap_i64
        (i64.const -22)
       )
      )
      (drop
       (i32.trunc_f32_s
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i64.trunc_f32_s
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i32.trunc_f32_u
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i64.trunc_f32_u
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i32.trunc_f64_s
        (f64.const -9005.841)
       )
      )
      (drop
       (i64.trunc_f64_s
        (f64.const -9005.841)
       )
      )
      (drop
       (i32.trunc_f64_u
        (f64.const -9005.841)
       )
      )
      (drop
       (i64.trunc_f64_u
        (f64.const -9005.841)
       )
      )
      (drop
       (i32.trunc_sat_f32_s
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i64.trunc_sat_f32_s
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i32.trunc_sat_f32_u
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i64.trunc_sat_f32_u
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i32.trunc_sat_f64_s
        (f64.const -9005.841)
       )
      )
      (drop
       (i64.trunc_sat_f64_s
        (f64.const -9005.841)
       )
      )
      (drop
       (i32.trunc_sat_f64_u
        (f64.const -9005.841)
       )
      )
      (drop
       (i64.trunc_sat_f64_u
        (f64.const -9005.841)
       )
      )
      (drop
       (i32.reinterpret_f32
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i64.reinterpret_f64
        (f64.const -9005.841)
       )
      )
      (drop
       (f32.convert_i32_s
        (i32.const -10)
       )
      )
      (drop
       (f64.convert_i32_s
        (i32.const -10)
       )
      )
      (drop
       (f32.convert_i32_u
        (i32.const -10)
       )
      )
      (drop
       (f64.convert_i32_u
        (i32.const -10)
       )
      )
      (drop
       (f32.convert_i64_s
        (i64.const -22)
       )
      )
      (drop
       (f64.convert_i64_s
        (i64.const -22)
       )
      )
      (drop
       (f32.convert_i64_u
        (i64.const -22)
       )
      )
      (drop
       (f64.convert_i64_u
        (i64.const -22)
       )
      )
      (drop
       (f64.promote_f32
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (f32.demote_f64
        (f64.const -9005.841)
       )
      )
      (drop
       (f32.reinterpret_i32
        (i32.const -10)
       )
      )
      (drop
       (f64.reinterpret_i64
        (i64.const -22)
       )
      )
      (drop
       (i8x16.splat
        (i32.const 42)
       )
      )
      (drop
       (i16x8.splat
        (i32.const 42)
       )
      )
      (drop
       (i32x4.splat
        (i32.const 42)
       )
      )
      (drop
       (i64x2.splat
        (i64.const 1958505087099)
       )
      )
      (drop
       (f32x4.splat
        (f32.const 42)
       )
      )
      (drop
       (f64x2.splat
        (f64.const 42)
       )
      )
      (drop
       (v128.not
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.neg
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.any_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.all_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.neg
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.any_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.all_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.neg
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.any_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.all_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.neg
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.any_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.all_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.abs
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.neg
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.sqrt
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.abs
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.neg
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.sqrt
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.trunc_sat_f32x4_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.trunc_sat_f32x4_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.trunc_sat_f64x2_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.trunc_sat_f64x2_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.convert_i32x4_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.convert_i32x4_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.convert_i64x2_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.convert_i64x2_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.widen_low_i8x16_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.widen_high_i8x16_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.widen_low_i8x16_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.widen_high_i8x16_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.widen_low_i16x8_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.widen_high_i16x8_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.widen_low_i16x8_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.widen_high_i16x8_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32.add
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (f64.sub
        (f64.const -9005.841)
        (f64.const -9007.333)
       )
      )
      (drop
       (i32.div_s
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.div_u
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i64.rem_s
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i32.rem_u
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i32.and
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.or
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i32.xor
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.shl
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i64.shr_u
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i32.shr_s
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i32.rotl
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.rotr
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (f32.div
        (f32.const -33.61199951171875)
        (f32.const -62.5)
       )
      )
      (drop
       (f64.copysign
        (f64.const -9005.841)
        (f64.const -9007.333)
       )
      )
      (drop
       (f32.min
        (f32.const -33.61199951171875)
        (f32.const -62.5)
       )
      )
      (drop
       (f64.max
        (f64.const -9005.841)
        (f64.const -9007.333)
       )
      )
      (drop
       (i32.eq
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (f32.ne
        (f32.const -33.61199951171875)
        (f32.const -62.5)
       )
      )
      (drop
       (i32.lt_s
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.lt_u
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i64.le_s
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i32.le_u
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.gt_s
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i32.gt_u
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i32.ge_s
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.ge_u
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (f32.lt
        (f32.const -33.61199951171875)
        (f32.const -62.5)
       )
      )
      (drop
       (f64.le
        (f64.const -9005.841)
        (f64.const -9007.333)
       )
      )
      (drop
       (f64.gt
        (f64.const -9005.841)
        (f64.const -9007.333)
       )
      )
      (drop
       (f32.ge
        (f32.const -33.61199951171875)
        (f32.const -62.5)
       )
      )
      (drop
       (i8x16.eq
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.ne
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.lt_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.lt_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.gt_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.gt_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.le_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.le_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.ge_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.ge_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.eq
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.ne
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.lt_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.lt_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.gt_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.gt_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.le_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.le_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.ge_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.ge_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.eq
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.ne
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.lt_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.lt_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.gt_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.gt_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.le_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.le_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.ge_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.ge_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.eq
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.ne
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.lt
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.gt
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.le
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.ge
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.ge
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.ne
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.lt
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.gt
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.le
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.ge
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (v128.and
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (v128.or
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (v128.xor
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (v128.andnot
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.add
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.add_saturate_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.add_saturate_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.sub
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.sub_saturate_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.sub_saturate_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.mul
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.min_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.min_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.max_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.max_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.add
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.add_saturate_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.add_saturate_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.sub
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.sub_saturate_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.sub_saturate_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.mul
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.min_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.min_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.max_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.max_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.add
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.sub
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.mul
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.min_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.min_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.max_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.max_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.dot_i16x8_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.add
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.sub
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.add
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.sub
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.mul
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.div
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.min
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.max
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.add
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.sub
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.mul
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.div
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.min
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.max
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.narrow_i16x8_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.narrow_i16x8_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.narrow_i32x4_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.narrow_i32x4_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (v8x16.swizzle
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.extract_lane_s 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.extract_lane_u 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.extract_lane_s 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.extract_lane_u 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.extract_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.extract_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.extract_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.extract_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.replace_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 42)
       )
      )
      (drop
       (i8x16.replace_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 42)
       )
      )
      (drop
       (i32x4.replace_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 42)
       )
      )
      (drop
       (i64x2.replace_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i64.const 184683593770)
       )
      )
      (drop
       (f32x4.replace_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (f32.const 42)
       )
      )
      (drop
       (f64x2.replace_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (f64.const 42)
       )
      )
      (drop
       (i8x16.shl
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i8x16.shr_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i8x16.shr_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i16x8.shl
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i16x8.shr_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i16x8.shr_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i32x4.shl
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i32x4.shr_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i32x4.shr_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i64x2.shl
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i64x2.shr_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i64x2.shr_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (v8x16.load_splat
        (i32.const 128)
       )
      )
      (drop
       (v16x8.load_splat offset=16 align=1
        (i32.const 128)
       )
      )
      (drop
       (v32x4.load_splat offset=16
        (i32.const 128)
       )
      )
      (drop
       (v64x2.load_splat align=4
        (i32.const 128)
       )
      )
      (drop
       (i16x8.load8x8_s
        (i32.const 128)
       )
      )
      (drop
       (i16x8.load8x8_u
        (i32.const 128)
       )
      )
      (drop
       (i32x4.load16x4_s
        (i32.const 128)
       )
      )
      (drop
       (i32x4.load16x4_u
        (i32.const 128)
       )
      )
      (drop
       (i64x2.load32x2_s
        (i32.const 128)
       )
      )
      (drop
       (i64x2.load32x2_u
        (i32.const 128)
       )
      )
      (drop
       (v8x16.shuffle 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (v128.bitselect
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.qfma
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.qfms
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.qfma
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.qfms
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (memory.init 0
       (i32.const 1024)
       (i32.const 0)
       (i32.const 12)
      )
      (data.drop 0)
      (memory.copy
       (i32.const 2048)
       (i32.const 1024)
       (i32.const 12)
      )
      (memory.fill
       (i32.const 0)
       (i32.const 42)
       (i32.const 1024)
      )
      (block
      )
      (if
       (i32.const 1)
       (drop
        (i32.const 2)
       )
       (drop
        (i32.const 3)
       )
      )
      (if
       (i32.const 4)
       (drop
        (i32.const 5)
       )
      )
      (drop
       (loop $in (result i32)
        (i32.const 0)
       )
      )
      (drop
       (loop (result i32)
        (i32.const 0)
       )
      )
      (drop
       (br_if $the-value
        (i32.const 1)
        (i32.const 0)
       )
      )
      (br_if $the-nothing
       (i32.const 2)
      )
      (br $the-value
       (i32.const 3)
      )
      (br $the-nothing)
      (br_table $the-value $the-value
       (i32.const 1)
       (i32.const 0)
      )
      (br_table $the-nothing $the-nothing
       (i32.const 2)
      )
      (drop
       (i32.eqz
        (call "$kitchen()sinker"
         (i32.const 13)
         (i64.const 37)
         (f32.const 1.2999999523162842)
         (f64.const 3.7)
        )
       )
      )
      (drop
       (i32.eqz
        (i32.trunc_f32_s
         (call $an-imported
          (i32.const 13)
          (f64.const 3.7)
         )
        )
       )
      )
      (drop
       (i32.eqz
        (call_indirect (type $iiIfF)
         (i32.const 13)
         (i64.const 37)
         (f32.const 1.2999999523162842)
         (f64.const 3.7)
         (i32.const 2449)
        )
       )
      )
      (drop
       (local.get $0)
      )
      (local.set $0
       (i32.const 101)
      )
      (drop
       (local.tee $0
        (i32.const 102)
       )
      )
      (drop
       (i32.load
        (i32.const 1)
       )
      )
      (drop
       (i64.load16_s offset=2 align=1
        (i32.const 8)
       )
      )
      (drop
       (f32.load
        (i32.const 2)
       )
      )
      (drop
       (f64.load offset=2
        (i32.const 9)
       )
      )
      (i32.store
       (i32.const 10)
       (i32.const 11)
      )
      (i64.store offset=2 align=4
       (i32.const 110)
       (i64.const 111)
      )
      (drop
       (select
        (i32.const 3)
        (i32.const 5)
        (i32.const 1)
       )
      )
      (return
       (i32.const 1337)
      )
      (return_call "$kitchen()sinker"
       (i32.const 13)
       (i64.const 37)
       (f32.const 1.2999999523162842)
       (f64.const 3.7)
      )
      (return_call_indirect (type $iiIfF)
       (i32.const 13)
       (i64.const 37)
       (f32.const 1.2999999523162842)
       (f64.const 3.7)
       (i32.const 2449)
      )
      (try
       (throw $a-event
        (i32.const 0)
       )
       (catch
        (local.set $5
         (exnref.pop)
        )
        (drop
         (block $try-block (result i32)
          (rethrow
           (br_on_exn $try-block $a-event
            (local.get $5)
           )
          )
         )
        )
       )
      )
      (i32.atomic.store
       (i32.const 0)
       (i32.atomic.load
        (i32.const 0)
       )
      )
      (drop
       (i32.atomic.wait
        (i32.const 0)
        (i32.const 0)
        (i64.const 0)
       )
      )
      (drop
       (atomic.notify
        (i32.const 0)
        (i32.const 0)
       )
      )
      (atomic.fence)
      (push
       (i32.pop)
      )
      (push
       (i64.pop)
      )
      (push
       (f32.pop)
      )
      (push
       (f64.pop)
      )
      (push
       (v128.pop)
      )
      (push
       (anyref.pop)
      )
      (push
       (exnref.pop)
      )
      (nop)
      (unreachable)
     )
    )
   )
   (i32.const 42)
  )
 )
 (func $starter (; 2 ;) (type $v)
  (nop)
 )
)

  BinaryenModuleValidate(the_module);
  BinaryenModulePrint(the_module);
(module
 (type $iiIfF (func (param i32 i64 f32 f64) (result i32)))
 (type $fiF (func (param i32 f64) (result f32)))
 (type $v (func))
 (type $3 (func))
 (import "module" "base" (global $a-global-imp i32))
 (import "module" "base" (global $a-mut-global-imp (mut i32)))
 (import "module" "base" (func $an-imported (param i32 f64) (result f32)))
 (import "module" "base" (event $a-event-imp (attr 0) (param i32)))
 (memory $0 (shared 1 256))
 (data (i32.const 10) "hello, world")
 (data passive "I am passive")
 (table $0 1 funcref)
 (elem (i32.const 0) "$kitchen()sinker")
 (global $a-global i32 (i32.const 1))
 (event $a-event (attr 0) (param i32))
 (export "kitchen_sinker" (func "$kitchen()sinker"))
 (export "a-global-exp" (global $a-global))
 (export "a-event-exp" (event $a-event))
 (export "mem" (memory $0))
 (start $starter)
 (func "$kitchen()sinker" (; 1 ;) (type $iiIfF) (param $0 i32) (param $1 i64) (param $2 f32) (param $3 f64) (result i32)
  (local $4 i32)
  (local $5 exnref)
  (block $the-body (result i32)
   (block $the-nothing
    (drop
     (block $the-value (result i32)
      (drop
       (i32.clz
        (i32.const -10)
       )
      )
      (drop
       (i64.ctz
        (i64.const -22)
       )
      )
      (drop
       (i32.popcnt
        (i32.const -10)
       )
      )
      (drop
       (f32.neg
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (f64.abs
        (f64.const -9005.841)
       )
      )
      (drop
       (f32.ceil
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (f64.floor
        (f64.const -9005.841)
       )
      )
      (drop
       (f32.trunc
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (f32.nearest
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (f64.sqrt
        (f64.const -9005.841)
       )
      )
      (drop
       (i32.eqz
        (i32.const -10)
       )
      )
      (drop
       (i64.extend_i32_s
        (i32.const -10)
       )
      )
      (drop
       (i64.extend_i32_u
        (i32.const -10)
       )
      )
      (drop
       (i32.wrap_i64
        (i64.const -22)
       )
      )
      (drop
       (i32.trunc_f32_s
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i64.trunc_f32_s
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i32.trunc_f32_u
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i64.trunc_f32_u
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i32.trunc_f64_s
        (f64.const -9005.841)
       )
      )
      (drop
       (i64.trunc_f64_s
        (f64.const -9005.841)
       )
      )
      (drop
       (i32.trunc_f64_u
        (f64.const -9005.841)
       )
      )
      (drop
       (i64.trunc_f64_u
        (f64.const -9005.841)
       )
      )
      (drop
       (i32.trunc_sat_f32_s
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i64.trunc_sat_f32_s
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i32.trunc_sat_f32_u
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i64.trunc_sat_f32_u
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i32.trunc_sat_f64_s
        (f64.const -9005.841)
       )
      )
      (drop
       (i64.trunc_sat_f64_s
        (f64.const -9005.841)
       )
      )
      (drop
       (i32.trunc_sat_f64_u
        (f64.const -9005.841)
       )
      )
      (drop
       (i64.trunc_sat_f64_u
        (f64.const -9005.841)
       )
      )
      (drop
       (i32.reinterpret_f32
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (i64.reinterpret_f64
        (f64.const -9005.841)
       )
      )
      (drop
       (f32.convert_i32_s
        (i32.const -10)
       )
      )
      (drop
       (f64.convert_i32_s
        (i32.const -10)
       )
      )
      (drop
       (f32.convert_i32_u
        (i32.const -10)
       )
      )
      (drop
       (f64.convert_i32_u
        (i32.const -10)
       )
      )
      (drop
       (f32.convert_i64_s
        (i64.const -22)
       )
      )
      (drop
       (f64.convert_i64_s
        (i64.const -22)
       )
      )
      (drop
       (f32.convert_i64_u
        (i64.const -22)
       )
      )
      (drop
       (f64.convert_i64_u
        (i64.const -22)
       )
      )
      (drop
       (f64.promote_f32
        (f32.const -33.61199951171875)
       )
      )
      (drop
       (f32.demote_f64
        (f64.const -9005.841)
       )
      )
      (drop
       (f32.reinterpret_i32
        (i32.const -10)
       )
      )
      (drop
       (f64.reinterpret_i64
        (i64.const -22)
       )
      )
      (drop
       (i8x16.splat
        (i32.const 42)
       )
      )
      (drop
       (i16x8.splat
        (i32.const 42)
       )
      )
      (drop
       (i32x4.splat
        (i32.const 42)
       )
      )
      (drop
       (i64x2.splat
        (i64.const 1958505087099)
       )
      )
      (drop
       (f32x4.splat
        (f32.const 42)
       )
      )
      (drop
       (f64x2.splat
        (f64.const 42)
       )
      )
      (drop
       (v128.not
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.neg
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.any_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.all_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.neg
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.any_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.all_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.neg
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.any_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.all_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.neg
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.any_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.all_true
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.abs
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.neg
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.sqrt
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.abs
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.neg
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.sqrt
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.trunc_sat_f32x4_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.trunc_sat_f32x4_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.trunc_sat_f64x2_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.trunc_sat_f64x2_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.convert_i32x4_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.convert_i32x4_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.convert_i64x2_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.convert_i64x2_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.widen_low_i8x16_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.widen_high_i8x16_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.widen_low_i8x16_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.widen_high_i8x16_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.widen_low_i16x8_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.widen_high_i16x8_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.widen_low_i16x8_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.widen_high_i16x8_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32.add
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (f64.sub
        (f64.const -9005.841)
        (f64.const -9007.333)
       )
      )
      (drop
       (i32.div_s
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.div_u
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i64.rem_s
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i32.rem_u
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i32.and
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.or
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i32.xor
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.shl
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i64.shr_u
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i32.shr_s
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i32.rotl
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.rotr
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (f32.div
        (f32.const -33.61199951171875)
        (f32.const -62.5)
       )
      )
      (drop
       (f64.copysign
        (f64.const -9005.841)
        (f64.const -9007.333)
       )
      )
      (drop
       (f32.min
        (f32.const -33.61199951171875)
        (f32.const -62.5)
       )
      )
      (drop
       (f64.max
        (f64.const -9005.841)
        (f64.const -9007.333)
       )
      )
      (drop
       (i32.eq
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (f32.ne
        (f32.const -33.61199951171875)
        (f32.const -62.5)
       )
      )
      (drop
       (i32.lt_s
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.lt_u
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i64.le_s
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i32.le_u
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.gt_s
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (i32.gt_u
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i32.ge_s
        (i32.const -10)
        (i32.const -11)
       )
      )
      (drop
       (i64.ge_u
        (i64.const 4294967274)
        (i64.const 4294967273)
       )
      )
      (drop
       (f32.lt
        (f32.const -33.61199951171875)
        (f32.const -62.5)
       )
      )
      (drop
       (f64.le
        (f64.const -9005.841)
        (f64.const -9007.333)
       )
      )
      (drop
       (f64.gt
        (f64.const -9005.841)
        (f64.const -9007.333)
       )
      )
      (drop
       (f32.ge
        (f32.const -33.61199951171875)
        (f32.const -62.5)
       )
      )
      (drop
       (i8x16.eq
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.ne
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.lt_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.lt_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.gt_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.gt_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.le_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.le_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.ge_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.ge_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.eq
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.ne
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.lt_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.lt_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.gt_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.gt_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.le_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.le_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.ge_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.ge_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.eq
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.ne
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.lt_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.lt_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.gt_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.gt_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.le_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.le_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.ge_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.ge_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.eq
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.ne
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.lt
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.gt
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.le
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.ge
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.ge
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.ne
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.lt
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.gt
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.le
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.ge
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (v128.and
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (v128.or
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (v128.xor
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (v128.andnot
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.add
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.add_saturate_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.add_saturate_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.sub
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.sub_saturate_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.sub_saturate_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.mul
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.min_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.min_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.max_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.max_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.add
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.add_saturate_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.add_saturate_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.sub
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.sub_saturate_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.sub_saturate_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.mul
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.min_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.min_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.max_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.max_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.add
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.sub
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.mul
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.min_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.min_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.max_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.max_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.dot_i16x8_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.add
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.sub
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.add
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.sub
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.mul
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.div
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.min
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.max
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.add
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.sub
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.mul
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.div
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.min
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.max
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.narrow_i16x8_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.narrow_i16x8_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.narrow_i32x4_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.narrow_i32x4_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (v8x16.swizzle
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.extract_lane_s 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i8x16.extract_lane_u 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.extract_lane_s 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.extract_lane_u 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i32x4.extract_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i64x2.extract_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.extract_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.extract_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (i16x8.replace_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 42)
       )
      )
      (drop
       (i8x16.replace_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 42)
       )
      )
      (drop
       (i32x4.replace_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 42)
       )
      )
      (drop
       (i64x2.replace_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i64.const 184683593770)
       )
      )
      (drop
       (f32x4.replace_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (f32.const 42)
       )
      )
      (drop
       (f64x2.replace_lane 1
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (f64.const 42)
       )
      )
      (drop
       (i8x16.shl
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i8x16.shr_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i8x16.shr_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i16x8.shl
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i16x8.shr_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i16x8.shr_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i32x4.shl
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i32x4.shr_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i32x4.shr_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i64x2.shl
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i64x2.shr_s
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (i64x2.shr_u
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (i32.const 1)
       )
      )
      (drop
       (v8x16.load_splat
        (i32.const 128)
       )
      )
      (drop
       (v16x8.load_splat offset=16 align=1
        (i32.const 128)
       )
      )
      (drop
       (v32x4.load_splat offset=16
        (i32.const 128)
       )
      )
      (drop
       (v64x2.load_splat align=4
        (i32.const 128)
       )
      )
      (drop
       (i16x8.load8x8_s
        (i32.const 128)
       )
      )
      (drop
       (i16x8.load8x8_u
        (i32.const 128)
       )
      )
      (drop
       (i32x4.load16x4_s
        (i32.const 128)
       )
      )
      (drop
       (i32x4.load16x4_u
        (i32.const 128)
       )
      )
      (drop
       (i64x2.load32x2_s
        (i32.const 128)
       )
      )
      (drop
       (i64x2.load32x2_u
        (i32.const 128)
       )
      )
      (drop
       (v8x16.shuffle 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (v128.bitselect
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.qfma
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f32x4.qfms
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.qfma
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (drop
       (f64x2.qfms
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
        (v128.const i32x4 0x04030201 0x08070605 0x0c0b0a09 0x100f0e0d)
       )
      )
      (memory.init 0
       (i32.const 1024)
       (i32.const 0)
       (i32.const 12)
      )
      (data.drop 0)
      (memory.copy
       (i32.const 2048)
       (i32.const 1024)
       (i32.const 12)
      )
      (memory.fill
       (i32.const 0)
       (i32.const 42)
       (i32.const 1024)
      )
      (block
      )
      (if
       (i32.const 1)
       (drop
        (i32.const 2)
       )
       (drop
        (i32.const 3)
       )
      )
      (if
       (i32.const 4)
       (drop
        (i32.const 5)
       )
      )
      (drop
       (loop $in (result i32)
        (i32.const 0)
       )
      )
      (drop
       (loop (result i32)
        (i32.const 0)
       )
      )
      (drop
       (br_if $the-value
        (i32.const 1)
        (i32.const 0)
       )
      )
      (br_if $the-nothing
       (i32.const 2)
      )
      (br $the-value
       (i32.const 3)
      )
      (br $the-nothing)
      (br_table $the-value $the-value
       (i32.const 1)
       (i32.const 0)
      )
      (br_table $the-nothing $the-nothing
       (i32.const 2)
      )
      (drop
       (i32.eqz
        (call "$kitchen()sinker"
         (i32.const 13)
         (i64.const 37)
         (f32.const 1.2999999523162842)
         (f64.const 3.7)
        )
       )
      )
      (drop
       (i32.eqz
        (i32.trunc_f32_s
         (call $an-imported
          (i32.const 13)
          (f64.const 3.7)
         )
        )
       )
      )
      (drop
       (i32.eqz
        (call_indirect (type $iiIfF)
         (i32.const 13)
         (i64.const 37)
         (f32.const 1.2999999523162842)
         (f64.const 3.7)
         (i32.const 2449)
        )
       )
      )
      (drop
       (local.get $0)
      )
      (local.set $0
       (i32.const 101)
      )
      (drop
       (local.tee $0
        (i32.const 102)
       )
      )
      (drop
       (i32.load
        (i32.const 1)
       )
      )
      (drop
       (i64.load16_s offset=2 align=1
        (i32.const 8)
       )
      )
      (drop
       (f32.load
        (i32.const 2)
       )
      )
      (drop
       (f64.load offset=2
        (i32.const 9)
       )
      )
      (i32.store
       (i32.const 10)
       (i32.const 11)
      )
      (i64.store offset=2 align=4
       (i32.const 110)
       (i64.const 111)
      )
      (drop
       (select
        (i32.const 3)
        (i32.const 5)
        (i32.const 1)
       )
      )
      (return
       (i32.const 1337)
      )
      (return_call "$kitchen()sinker"
       (i32.const 13)
       (i64.const 37)
       (f32.const 1.2999999523162842)
       (f64.const 3.7)
      )
      (return_call_indirect (type $iiIfF)
       (i32.const 13)
       (i64.const 37)
       (f32.const 1.2999999523162842)
       (f64.const 3.7)
       (i32.const 2449)
      )
      (try
       (throw $a-event
        (i32.const 0)
       )
       (catch
        (local.set $5
         (exnref.pop)
        )
        (drop
         (block $try-block (result i32)
          (rethrow
           (br_on_exn $try-block $a-event
            (local.get $5)
           )
          )
         )
        )
       )
      )
      (i32.atomic.store
       (i32.const 0)
       (i32.atomic.load
        (i32.const 0)
       )
      )
      (drop
       (i32.atomic.wait
        (i32.const 0)
        (i32.const 0)
        (i64.const 0)
       )
      )
      (drop
       (atomic.notify
        (i32.const 0)
        (i32.const 0)
       )
      )
      (atomic.fence)
      (push
       (i32.pop)
      )
      (push
       (i64.pop)
      )
      (push
       (f32.pop)
      )
      (push
       (f64.pop)
      )
      (push
       (v128.pop)
      )
      (push
       (anyref.pop)
      )
      (push
       (exnref.pop)
      )
      (nop)
      (unreachable)
     )
    )
   )
   (i32.const 42)
  )
 )
 (func $starter (; 2 ;) (type $v)
  (nop)
 )
)

  BinaryenModuleDispose(the_module);
  functionTypes.clear();
  expressions.clear();
  functions.clear();
  globals.clear();
  events.clear();
  exports.clear();
  relooperBlocks.clear();
  the_module = BinaryenModuleCreate();
  expressions[size_t(NULL)] = BinaryenExpressionRef(NULL);
  {
    BinaryenType paramTypes[] = { 0 };
    functionTypes[0] = BinaryenAddFunctionType(the_module, "v", 0, paramTypes, 0);
  }
  {
    BinaryenType paramTypes[] = { 2 };
    functionTypes[1] = BinaryenAddFunctionType(the_module, "vi", 0, paramTypes, 1);
  }
  BinaryenAddFunctionImport(the_module, "check", "module", "check", functionTypes[1]);
  the_relooper = RelooperCreate(the_module);
  expressions[1] = BinaryenConst(the_module, BinaryenLiteralInt32(1337));
  {
    BinaryenExpressionRef operands[] = { expressions[1] };
    expressions[2] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[2]);
  expressions[3] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0);
  {
    BinaryenType varTypes[] = { 2 };
    functions[0] = BinaryenAddFunction(the_module, "just-one-block", functionTypes[0], varTypes, 1, expressions[3]);
  }
  the_relooper = RelooperCreate(the_module);
  expressions[4] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  {
    BinaryenExpressionRef operands[] = { expressions[4] };
    expressions[5] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[5]);
  expressions[6] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  {
    BinaryenExpressionRef operands[] = { expressions[6] };
    expressions[7] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[7]);
  RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[0], expressions[0]);
  expressions[8] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0);
  {
    BinaryenType varTypes[] = { 2 };
    functions[1] = BinaryenAddFunction(the_module, "two-blocks", functionTypes[0], varTypes, 1, expressions[8]);
  }
  the_relooper = RelooperCreate(the_module);
  expressions[9] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  {
    BinaryenExpressionRef operands[] = { expressions[9] };
    expressions[10] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[10]);
  expressions[11] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  {
    BinaryenExpressionRef operands[] = { expressions[11] };
    expressions[12] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[12]);
  expressions[13] = BinaryenConst(the_module, BinaryenLiteralInt32(77));
  expressions[14] = BinaryenDrop(the_module, expressions[13]);
  RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[0], expressions[14]);
  expressions[15] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0);
  {
    BinaryenType varTypes[] = { 2 };
    functions[2] = BinaryenAddFunction(the_module, "two-blocks-plus-code", functionTypes[0], varTypes, 1, expressions[15]);
  }
  the_relooper = RelooperCreate(the_module);
  expressions[16] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  {
    BinaryenExpressionRef operands[] = { expressions[16] };
    expressions[17] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[17]);
  expressions[18] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  {
    BinaryenExpressionRef operands[] = { expressions[18] };
    expressions[19] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[19]);
  RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[0], expressions[0]);
  RelooperAddBranch(relooperBlocks[1], relooperBlocks[0], expressions[0], expressions[0]);
  expressions[20] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0);
  {
    BinaryenType varTypes[] = { 2 };
    functions[3] = BinaryenAddFunction(the_module, "loop", functionTypes[0], varTypes, 1, expressions[20]);
  }
  the_relooper = RelooperCreate(the_module);
  expressions[21] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  {
    BinaryenExpressionRef operands[] = { expressions[21] };
    expressions[22] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[22]);
  expressions[23] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  {
    BinaryenExpressionRef operands[] = { expressions[23] };
    expressions[24] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[24]);
  expressions[25] = BinaryenConst(the_module, BinaryenLiteralInt32(33));
  expressions[26] = BinaryenDrop(the_module, expressions[25]);
  RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[0], expressions[26]);
  expressions[27] = BinaryenConst(the_module, BinaryenLiteralInt32(-66));
  expressions[28] = BinaryenDrop(the_module, expressions[27]);
  RelooperAddBranch(relooperBlocks[1], relooperBlocks[0], expressions[0], expressions[28]);
  expressions[29] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0);
  {
    BinaryenType varTypes[] = { 2 };
    functions[4] = BinaryenAddFunction(the_module, "loop-plus-code", functionTypes[0], varTypes, 1, expressions[29]);
  }
  the_relooper = RelooperCreate(the_module);
  expressions[30] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  {
    BinaryenExpressionRef operands[] = { expressions[30] };
    expressions[31] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[31]);
  expressions[32] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  {
    BinaryenExpressionRef operands[] = { expressions[32] };
    expressions[33] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[33]);
  expressions[34] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
  {
    BinaryenExpressionRef operands[] = { expressions[34] };
    expressions[35] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[35]);
  expressions[36] = BinaryenConst(the_module, BinaryenLiteralInt32(55));
  RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[36], expressions[0]);
  RelooperAddBranch(relooperBlocks[0], relooperBlocks[2], expressions[0], expressions[0]);
  expressions[37] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0);
  {
    BinaryenType varTypes[] = { 2 };
    functions[5] = BinaryenAddFunction(the_module, "split", functionTypes[0], varTypes, 1, expressions[37]);
  }
  the_relooper = RelooperCreate(the_module);
  expressions[38] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  {
    BinaryenExpressionRef operands[] = { expressions[38] };
    expressions[39] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[39]);
  expressions[40] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  {
    BinaryenExpressionRef operands[] = { expressions[40] };
    expressions[41] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[41]);
  expressions[42] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
  {
    BinaryenExpressionRef operands[] = { expressions[42] };
    expressions[43] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[43]);
  expressions[44] = BinaryenConst(the_module, BinaryenLiteralInt32(10));
  expressions[45] = BinaryenDrop(the_module, expressions[44]);
  expressions[46] = BinaryenConst(the_module, BinaryenLiteralInt32(55));
  RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[46], expressions[45]);
  expressions[47] = BinaryenConst(the_module, BinaryenLiteralInt32(20));
  expressions[48] = BinaryenDrop(the_module, expressions[47]);
  RelooperAddBranch(relooperBlocks[0], relooperBlocks[2], expressions[0], expressions[48]);
  expressions[49] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0);
  {
    BinaryenType varTypes[] = { 2 };
    functions[6] = BinaryenAddFunction(the_module, "split-plus-code", functionTypes[0], varTypes, 1, expressions[49]);
  }
  the_relooper = RelooperCreate(the_module);
  expressions[50] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  {
    BinaryenExpressionRef operands[] = { expressions[50] };
    expressions[51] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[51]);
  expressions[52] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  {
    BinaryenExpressionRef operands[] = { expressions[52] };
    expressions[53] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[53]);
  expressions[54] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
  {
    BinaryenExpressionRef operands[] = { expressions[54] };
    expressions[55] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[55]);
  expressions[56] = BinaryenConst(the_module, BinaryenLiteralInt32(55));
  RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[56], expressions[0]);
  RelooperAddBranch(relooperBlocks[0], relooperBlocks[2], expressions[0], expressions[0]);
  RelooperAddBranch(relooperBlocks[1], relooperBlocks[2], expressions[0], expressions[0]);
  expressions[57] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0);
  {
    BinaryenType varTypes[] = { 2 };
    functions[7] = BinaryenAddFunction(the_module, "if", functionTypes[0], varTypes, 1, expressions[57]);
  }
  the_relooper = RelooperCreate(the_module);
  expressions[58] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  {
    BinaryenExpressionRef operands[] = { expressions[58] };
    expressions[59] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[59]);
  expressions[60] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  {
    BinaryenExpressionRef operands[] = { expressions[60] };
    expressions[61] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[61]);
  expressions[62] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
  {
    BinaryenExpressionRef operands[] = { expressions[62] };
    expressions[63] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[63]);
  expressions[64] = BinaryenConst(the_module, BinaryenLiteralInt32(-1));
  expressions[65] = BinaryenDrop(the_module, expressions[64]);
  expressions[66] = BinaryenConst(the_module, BinaryenLiteralInt32(55));
  RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[66], expressions[65]);
  expressions[67] = BinaryenConst(the_module, BinaryenLiteralInt32(-2));
  expressions[68] = BinaryenDrop(the_module, expressions[67]);
  RelooperAddBranch(relooperBlocks[0], relooperBlocks[2], expressions[0], expressions[68]);
  expressions[69] = BinaryenConst(the_module, BinaryenLiteralInt32(-3));
  expressions[70] = BinaryenDrop(the_module, expressions[69]);
  RelooperAddBranch(relooperBlocks[1], relooperBlocks[2], expressions[0], expressions[70]);
  expressions[71] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0);
  {
    BinaryenType varTypes[] = { 2 };
    functions[8] = BinaryenAddFunction(the_module, "if-plus-code", functionTypes[0], varTypes, 1, expressions[71]);
  }
  the_relooper = RelooperCreate(the_module);
  expressions[72] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  {
    BinaryenExpressionRef operands[] = { expressions[72] };
    expressions[73] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[73]);
  expressions[74] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  {
    BinaryenExpressionRef operands[] = { expressions[74] };
    expressions[75] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[75]);
  expressions[76] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
  {
    BinaryenExpressionRef operands[] = { expressions[76] };
    expressions[77] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[77]);
  expressions[78] = BinaryenConst(the_module, BinaryenLiteralInt32(3));
  {
    BinaryenExpressionRef operands[] = { expressions[78] };
    expressions[79] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[3] = RelooperAddBlock(the_relooper, expressions[79]);
  expressions[80] = BinaryenConst(the_module, BinaryenLiteralInt32(55));
  RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[80], expressions[0]);
  RelooperAddBranch(relooperBlocks[0], relooperBlocks[2], expressions[0], expressions[0]);
  RelooperAddBranch(relooperBlocks[1], relooperBlocks[3], expressions[0], expressions[0]);
  RelooperAddBranch(relooperBlocks[2], relooperBlocks[3], expressions[0], expressions[0]);
  expressions[81] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0);
  {
    BinaryenType varTypes[] = { 2 };
    functions[9] = BinaryenAddFunction(the_module, "if-else", functionTypes[0], varTypes, 1, expressions[81]);
  }
  the_relooper = RelooperCreate(the_module);
  expressions[82] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  {
    BinaryenExpressionRef operands[] = { expressions[82] };
    expressions[83] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[83]);
  expressions[84] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  {
    BinaryenExpressionRef operands[] = { expressions[84] };
    expressions[85] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[85]);
  expressions[86] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
  {
    BinaryenExpressionRef operands[] = { expressions[86] };
    expressions[87] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[87]);
  RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[0], expressions[0]);
  expressions[88] = BinaryenConst(the_module, BinaryenLiteralInt32(10));
  RelooperAddBranch(relooperBlocks[1], relooperBlocks[0], expressions[88], expressions[0]);
  RelooperAddBranch(relooperBlocks[1], relooperBlocks[2], expressions[0], expressions[0]);
  expressions[89] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0);
  {
    BinaryenType varTypes[] = { 2 };
    functions[10] = BinaryenAddFunction(the_module, "loop-tail", functionTypes[0], varTypes, 1, expressions[89]);
  }
  the_relooper = RelooperCreate(the_module);
  expressions[90] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  {
    BinaryenExpressionRef operands[] = { expressions[90] };
    expressions[91] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[91]);
  expressions[92] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  {
    BinaryenExpressionRef operands[] = { expressions[92] };
    expressions[93] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[93]);
  expressions[94] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
  {
    BinaryenExpressionRef operands[] = { expressions[94] };
    expressions[95] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[95]);
  expressions[96] = BinaryenConst(the_module, BinaryenLiteralInt32(3));
  {
    BinaryenExpressionRef operands[] = { expressions[96] };
    expressions[97] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[3] = RelooperAddBlock(the_relooper, expressions[97]);
  expressions[98] = BinaryenConst(the_module, BinaryenLiteralInt32(4));
  {
    BinaryenExpressionRef operands[] = { expressions[98] };
    expressions[99] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[4] = RelooperAddBlock(the_relooper, expressions[99]);
  expressions[100] = BinaryenConst(the_module, BinaryenLiteralInt32(5));
  {
    BinaryenExpressionRef operands[] = { expressions[100] };
    expressions[101] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[5] = RelooperAddBlock(the_relooper, expressions[101]);
  expressions[102] = BinaryenConst(the_module, BinaryenLiteralInt32(6));
  {
    BinaryenExpressionRef operands[] = { expressions[102] };
    expressions[103] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[6] = RelooperAddBlock(the_relooper, expressions[103]);
  expressions[104] = BinaryenConst(the_module, BinaryenLiteralInt32(10));
  expressions[105] = BinaryenDrop(the_module, expressions[104]);
  RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[0], expressions[105]);
  expressions[106] = BinaryenConst(the_module, BinaryenLiteralInt32(-2));
  RelooperAddBranch(relooperBlocks[1], relooperBlocks[2], expressions[106], expressions[0]);
  expressions[107] = BinaryenConst(the_module, BinaryenLiteralInt32(20));
  expressions[108] = BinaryenDrop(the_module, expressions[107]);
  RelooperAddBranch(relooperBlocks[1], relooperBlocks[6], expressions[0], expressions[108]);
  expressions[109] = BinaryenConst(the_module, BinaryenLiteralInt32(-6));
  RelooperAddBranch(relooperBlocks[2], relooperBlocks[3], expressions[109], expressions[0]);
  expressions[110] = BinaryenConst(the_module, BinaryenLiteralInt32(30));
  expressions[111] = BinaryenDrop(the_module, expressions[110]);
  RelooperAddBranch(relooperBlocks[2], relooperBlocks[1], expressions[0], expressions[111]);
  expressions[112] = BinaryenConst(the_module, BinaryenLiteralInt32(-10));
  RelooperAddBranch(relooperBlocks[3], relooperBlocks[4], expressions[112], expressions[0]);
  RelooperAddBranch(relooperBlocks[3], relooperBlocks[5], expressions[0], expressions[0]);
  RelooperAddBranch(relooperBlocks[4], relooperBlocks[5], expressions[0], expressions[0]);
  expressions[113] = BinaryenConst(the_module, BinaryenLiteralInt32(40));
  expressions[114] = BinaryenDrop(the_module, expressions[113]);
  RelooperAddBranch(relooperBlocks[5], relooperBlocks[6], expressions[0], expressions[114]);
  expressions[115] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0);
  {
    BinaryenType varTypes[] = { 2 };
    functions[11] = BinaryenAddFunction(the_module, "nontrivial-loop-plus-phi-to-head", functionTypes[0], varTypes, 1, expressions[115]);
  }
  the_relooper = RelooperCreate(the_module);
  expressions[116] = BinaryenConst(the_module, BinaryenLiteralInt32(-99));
  expressions[117] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  {
    BinaryenExpressionRef operands[] = { expressions[117] };
    expressions[118] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[0] = RelooperAddBlockWithSwitch(the_relooper, expressions[118], expressions[116]);
  expressions[119] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  {
    BinaryenExpressionRef operands[] = { expressions[119] };
    expressions[120] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[120]);
  expressions[121] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
  {
    BinaryenExpressionRef operands[] = { expressions[121] };
    expressions[122] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[122]);
  expressions[123] = BinaryenConst(the_module, BinaryenLiteralInt32(3));
  {
    BinaryenExpressionRef operands[] = { expressions[123] };
    expressions[124] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[3] = RelooperAddBlock(the_relooper, expressions[124]);
  {
    BinaryenIndex indexes[] = { 2, 5 };
    RelooperAddBranchForSwitch(relooperBlocks[0], relooperBlocks[1], indexes, 2, expressions[0]);
  }
  expressions[125] = BinaryenConst(the_module, BinaryenLiteralInt32(55));
  expressions[126] = BinaryenDrop(the_module, expressions[125]);
  {
    BinaryenIndex indexes[] = { 4 };
    RelooperAddBranchForSwitch(relooperBlocks[0], relooperBlocks[2], indexes, 1, expressions[126]);
  }
  {
    BinaryenIndex indexes[] = { 0 };
    RelooperAddBranchForSwitch(relooperBlocks[0], relooperBlocks[3], indexes, 0, expressions[0]);
  }
  expressions[127] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0);
  {
    BinaryenType varTypes[] = { 2 };
    functions[12] = BinaryenAddFunction(the_module, "switch", functionTypes[0], varTypes, 1, expressions[127]);
  }
  the_relooper = RelooperCreate(the_module);
  expressions[128] = BinaryenConst(the_module, BinaryenLiteralInt32(0));
  {
    BinaryenExpressionRef operands[] = { expressions[128] };
    expressions[129] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[129]);
  expressions[130] = BinaryenConst(the_module, BinaryenLiteralInt32(1));
  {
    BinaryenExpressionRef operands[] = { expressions[130] };
    expressions[131] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[1] = RelooperAddBlock(the_relooper, expressions[131]);
  expressions[132] = BinaryenConst(the_module, BinaryenLiteralInt32(2));
  {
    BinaryenExpressionRef operands[] = { expressions[132] };
    expressions[133] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  relooperBlocks[2] = RelooperAddBlock(the_relooper, expressions[133]);
  expressions[134] = BinaryenConst(the_module, BinaryenLiteralInt32(10));
  RelooperAddBranch(relooperBlocks[0], relooperBlocks[1], expressions[134], expressions[0]);
  RelooperAddBranch(relooperBlocks[0], relooperBlocks[2], expressions[0], expressions[0]);
  RelooperAddBranch(relooperBlocks[1], relooperBlocks[2], expressions[0], expressions[0]);
  RelooperAddBranch(relooperBlocks[2], relooperBlocks[1], expressions[0], expressions[0]);
  expressions[135] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 3);
  {
    BinaryenType varTypes[] = { 2, 2, 3, 2, 4, 5, 2 };
    functions[13] = BinaryenAddFunction(the_module, "duffs-device", functionTypes[0], varTypes, 7, expressions[135]);
  }
  {
    BinaryenType paramTypes[] = { 0 };
    functionTypes[2] = BinaryenAddFunctionType(the_module, "i", 2, paramTypes, 0);
  }
  the_relooper = RelooperCreate(the_module);
  expressions[136] = BinaryenConst(the_module, BinaryenLiteralInt32(42));
  {
    BinaryenExpressionRef operands[] = { expressions[136] };
    expressions[137] = BinaryenCall(the_module, "check", operands, 1, 0);
  }
  expressions[138] = BinaryenConst(the_module, BinaryenLiteralInt32(1337));
  expressions[139] = BinaryenReturn(the_module, expressions[138]);
  {
    BinaryenExpressionRef children[] = { expressions[137], expressions[139] };
    expressions[140] = BinaryenBlock(the_module, "the-list", children, 2, 0);
  }
  relooperBlocks[0] = RelooperAddBlock(the_relooper, expressions[140]);
  expressions[141] = RelooperRenderAndDispose(the_relooper, relooperBlocks[0], 0);
  {
    BinaryenType varTypes[] = { 2 };
    functions[14] = BinaryenAddFunction(the_module, "return", functionTypes[2], varTypes, 1, expressions[141]);
  }
raw:
  BinaryenModulePrint(the_module);
(module
 (type $v (func))
 (type $vi (func (param i32)))
 (type $i (func (result i32)))
 (import "module" "check" (func $check (param i32)))
 (func $just-one-block (; 1 ;) (type $v)
  (local $0 i32)
  (call $check
   (i32.const 1337)
  )
 )
 (func $two-blocks (; 2 ;) (type $v)
  (local $0 i32)
  (block
   (call $check
    (i32.const 0)
   )
   (call $check
    (i32.const 1)
   )
  )
 )
 (func $two-blocks-plus-code (; 3 ;) (type $v)
  (local $0 i32)
  (block
   (block
    (call $check
     (i32.const 0)
    )
    (drop
     (i32.const 77)
    )
   )
   (call $check
    (i32.const 1)
   )
  )
 )
 (func $loop (; 4 ;) (type $v)
  (local $0 i32)
  (loop $shape$0$continue
   (block
    (call $check
     (i32.const 0)
    )
    (call $check
     (i32.const 1)
    )
   )
   (block
    (br $shape$0$continue)
   )
  )
 )
 (func $loop-plus-code (; 5 ;) (type $v)
  (local $0 i32)
  (loop $shape$0$continue
   (block
    (block
     (call $check
      (i32.const 0)
     )
     (drop
      (i32.const 33)
     )
    )
    (call $check
     (i32.const 1)
    )
   )
   (block
    (drop
     (i32.const -66)
    )
    (br $shape$0$continue)
   )
  )
 )
 (func $split (; 6 ;) (type $v)
  (local $0 i32)
  (call $check
   (i32.const 0)
  )
  (if
   (i32.const 55)
   (block
    (call $check
     (i32.const 1)
    )
   )
   (block
    (call $check
     (i32.const 2)
    )
   )
  )
 )
 (func $split-plus-code (; 7 ;) (type $v)
  (local $0 i32)
  (call $check
   (i32.const 0)
  )
  (if
   (i32.const 55)
   (block
    (drop
     (i32.const 10)
    )
    (block
     (call $check
      (i32.const 1)
     )
    )
   )
   (block
    (drop
     (i32.const 20)
    )
    (block
     (call $check
      (i32.const 2)
     )
    )
   )
  )
 )
 (func $if (; 8 ;) (type $v)
  (local $0 i32)
  (block $block$3$break
   (call $check
    (i32.const 0)
   )
   (if
    (i32.const 55)
    (block
     (call $check
      (i32.const 1)
     )
     (block
      (br $block$3$break)
     )
    )
    (br $block$3$break)
   )
  )
  (block
   (call $check
    (i32.const 2)
   )
  )
 )
 (func $if-plus-code (; 9 ;) (type $v)
  (local $0 i32)
  (block $block$3$break
   (call $check
    (i32.const 0)
   )
   (if
    (i32.const 55)
    (block
     (drop
      (i32.const -1)
     )
     (block
      (call $check
       (i32.const 1)
      )
      (block
       (drop
        (i32.const -3)
       )
       (br $block$3$break)
      )
     )
    )
    (block
     (drop
      (i32.const -2)
     )
     (br $block$3$break)
    )
   )
  )
  (block
   (call $check
    (i32.const 2)
   )
  )
 )
 (func $if-else (; 10 ;) (type $v)
  (local $0 i32)
  (block $block$4$break
   (call $check
    (i32.const 0)
   )
   (if
    (i32.const 55)
    (block
     (call $check
      (i32.const 1)
     )
     (block
      (br $block$4$break)
     )
    )
    (block
     (call $check
      (i32.const 2)
     )
     (block
      (br $block$4$break)
     )
    )
   )
  )
  (block
   (call $check
    (i32.const 3)
   )
  )
 )
 (func $loop-tail (; 11 ;) (type $v)
  (local $0 i32)
  (block $block$3$break
   (loop $shape$0$continue
    (block
     (call $check
      (i32.const 0)
     )
     (call $check
      (i32.const 1)
     )
    )
    (if
     (i32.const 10)
     (br $shape$0$continue)
     (br $block$3$break)
    )
   )
  )
  (block
   (call $check
    (i32.const 2)
   )
  )
 )
 (func $nontrivial-loop-plus-phi-to-head (; 12 ;) (type $v)
  (local $0 i32)
  (block $block$2$break
   (call $check
    (i32.const 0)
   )
   (block
    (drop
     (i32.const 10)
    )
    (br $block$2$break)
   )
  )
  (block
   (block $block$7$break
    (block $block$4$break
     (loop $shape$1$continue
      (block $block$3$break
       (call $check
        (i32.const 1)
       )
       (if
        (i32.const -2)
        (br $block$3$break)
        (block
         (drop
          (i32.const 20)
         )
         (br $block$7$break)
        )
       )
      )
      (block
       (call $check
        (i32.const 2)
       )
       (if
        (i32.const -6)
        (br $block$4$break)
        (block
         (drop
          (i32.const 30)
         )
         (br $shape$1$continue)
        )
       )
      )
     )
    )
    (block
     (block $block$6$break
      (call $check
       (i32.const 3)
      )
      (if
       (i32.const -10)
       (block
        (call $check
         (i32.const 4)
        )
        (block
         (br $block$6$break)
        )
       )
       (br $block$6$break)
      )
     )
     (block
      (call $check
       (i32.const 5)
      )
      (block
       (drop
        (i32.const 40)
       )
       (br $block$7$break)
      )
     )
    )
   )
   (block
    (call $check
     (i32.const 6)
    )
   )
  )
 )
 (func $switch (; 13 ;) (type $v)
  (local $0 i32)
  (call $check
   (i32.const 0)
  )
  (block $switch$1$leave
   (block $switch$1$default
    (block $switch$1$case$3
     (block $switch$1$case$2
      (br_table $switch$1$default $switch$1$default $switch$1$case$2 $switch$1$default $switch$1$case$3 $switch$1$case$2 $switch$1$default
       (i32.const -99)
      )
     )
     (block
      (block
       (call $check
        (i32.const 1)
       )
      )
     )
     (br $switch$1$leave)
    )
    (block
     (drop
      (i32.const 55)
     )
     (block
      (call $check
       (i32.const 2)
      )
     )
    )
    (br $switch$1$leave)
   )
   (block
    (block
     (call $check
      (i32.const 3)
     )
    )
   )
   (br $switch$1$leave)
  )
 )
 (func $duffs-device (; 14 ;) (type $v)
  (local $0 i32)
  (local $1 i32)
  (local $2 i64)
  (local $3 i32)
  (local $4 f32)
  (local $5 f64)
  (local $6 i32)
  (block
   (block $block$3$break
    (block $block$2$break
     (call $check
      (i32.const 0)
     )
     (if
      (i32.const 10)
      (block
       (local.set $3
        (i32.const 2)
       )
       (br $block$2$break)
      )
      (block
       (local.set $3
        (i32.const 3)
       )
       (br $block$3$break)
      )
     )
    )
   )
  )
  (loop $shape$1$continue
   (if
    (i32.eq
     (local.get $3)
     (i32.const 2)
    )
    (block
     (local.set $3
      (i32.const 0)
     )
     (call $check
      (i32.const 1)
     )
     (block
      (local.set $3
       (i32.const 3)
      )
      (br $shape$1$continue)
     )
    )
    (if
     (i32.eq
      (local.get $3)
      (i32.const 3)
     )
     (block
      (local.set $3
       (i32.const 0)
      )
      (call $check
       (i32.const 2)
      )
      (block
       (local.set $3
        (i32.const 2)
       )
       (br $shape$1$continue)
      )
     )
    )
   )
  )
 )
 (func $return (; 15 ;) (type $i) (result i32)
  (local $0 i32)
  (block
   (call $check
    (i32.const 42)
   )
   (return
    (i32.const 1337)
   )
  )
 )
)

  BinaryenModuleValidate(the_module);
  {
    const char* passes[] = { "precompute" };
    BinaryenModuleRunPasses(the_module, passes, 1);
  }
  BinaryenModuleValidate(the_module);
  BinaryenModuleOptimize(the_module);
  BinaryenModuleValidate(the_module);
optimized:
  BinaryenModulePrint(the_module);
(module
)

  BinaryenModuleDispose(the_module);
  functionTypes.clear();
  expressions.clear();
  functions.clear();
  globals.clear();
  events.clear();
  exports.clear();
  relooperBlocks.clear();
  // BinaryenTypeNone: 0
  // []
  // BinaryenTypeUnreachable: 1
  // [ 1 ]
  // BinaryenTypeInt32: 2
  // [ 2 ]
  // BinaryenTypeInt64: 3
  // [ 3 ]
  // BinaryenTypeFloat32: 4
  // [ 4 ]
  // BinaryenTypeFloat64: 5
  // [ 5 ]
  // BinaryenTypeVec128: 6
  // [ 6 ]
  // BinaryenTypeAnyref: 7
  // [ 7 ]
  // BinaryenTypeExnref: 8
  // [ 8 ]
  // BinaryenTypeAuto: -1
  {
    BinaryenType t268[] = {2, 2};
    BinaryenTypeCreate(t268, 2); // 9
  }
  // 9 [ 2, 2 ]
  {
    BinaryenType t269[] = {2, 2};
    BinaryenTypeCreate(t269, 2); // 9
  }
  // 9 [ 2, 2 ]
  {
    BinaryenType t270[] = {4, 4};
    BinaryenTypeCreate(t270, 2); // 10
  }
  // 10 [ 4, 4 ]
  return 0;
}
test_parsing text:
(module
 (type $iii (func (param i32 i32) (result i32)))
 (global $a-global i32 (i32.const 3))
 (event $a-event (attr 0) (param i32))
 (func $adder (; 0 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
  (i32.add
   (local.get $0)
   (local.get $1)
  )
 )
)

module loaded from text form:
(module
 (type $iii (func (param i32 i32) (result i32)))
 (type $FUNCSIG$vi (func (param i32)))
 (global $a-global i32 (i32.const 3))
 (event $a-event (attr 0) (param i32))
 (func $ADD_ER (; 0 ;) (type $iii) (param $0 i32) (param $1 i32) (result i32)
  (i32.add
   (local.get $0)
   (local.get $1)
  )
 )
)

sizeof Literal: 24
(module
 (type $v (func))
 (memory $0 1 256)
 (data (i32.const 10) "hello, world")
 (data (global.get $a-global) "segment data 2")
 (global $a-global i32 (i32.const 125))
 (export "export0" (func $fn0))
 (export "export1" (func $fn1))
 (export "export2" (func $fn2))
 (export "mem" (memory $0))
 (func $fn0 (; 0 ;) (type $v)
  (nop)
 )
 (func $fn1 (; 1 ;) (type $v)
  (nop)
 )
 (func $fn2 (; 2 ;) (type $v)
  (nop)
 )
)

getExpressionInfo(memory.grow)={"id":20,"type":2,"op":1,"nameOperand":"","operands":[1]}
getExpressionInfo(memory.grow)={"id":5,"type":1,"names":[""],"defaultName":"label","condition":0,"value":0}
