(module
 (type $none_=>_i32_i64 (func (result i32 i64)))
 (type $none_=>_none (func))
 (type $none_=>_i64 (func (result i64)))
 (type $none_=>_f32_i64_i32 (func (result f32 i64 i32)))
 (type $none_=>_i32_i64_externref (func (result i32 i64 externref)))
 (type $none_=>_i32_i64_f32 (func (result i32 i64 f32)))
 (type $none_=>_i32 (func (result i32)))
 (type $none_=>_f32 (func (result f32)))
 (import "env" "pair" (func $pair (result i32 i64)))
 (global $g1 (mut (i32 i64)) (tuple.make
  (i32.const 0)
  (i64.const 0)
 ))
 (global $g2 (i32 i64) (tuple.make
  (i32.const 0)
  (i64.const 0)
 ))
 (func $triple (result i32 i64 f32)
  (tuple.make
   (i32.const 42)
   (i64.const 7)
   (f32.const 13)
  )
 )
 (func $get-first (result i32)
  (tuple.extract 0
   (call $triple)
  )
 )
 (func $get-second (result i64)
  (tuple.extract 1
   (call $triple)
  )
 )
 (func $get-third (result f32)
  (tuple.extract 2
   (call $triple)
  )
 )
 (func $reverse (result f32 i64 i32)
  (local $x (i32 i64 f32))
  (local.set $x
   (call $triple)
  )
  (tuple.make
   (tuple.extract 2
    (local.get $x)
   )
   (tuple.extract 1
    (local.get $x)
   )
   (tuple.extract 0
    (local.get $x)
   )
  )
 )
 (func $unreachable (result i64)
  (tuple.extract 1
   (tuple.make
    (i32.const 42)
    (i64.const 7)
    (unreachable)
   )
  )
 )
 (func $global (result i32 i64)
  (global.set $g1
   (tuple.make
    (i32.const 42)
    (i64.const 7)
   )
  )
  (global.get $g2)
 )
 (func $drop-call
  (drop
   (call $pair)
  )
 )
 (func $drop-tuple-make
  (drop
   (tuple.make
    (i32.const 42)
    (i64.const 42)
   )
  )
 )
 (func $drop-block
  (drop
   (block $block (result i32 i64)
    (tuple.make
     (i32.const 42)
     (i64.const 42)
    )
   )
  )
 )
 (func $mv-return (result i32 i64)
  (return
   (tuple.make
    (i32.const 42)
    (i64.const 42)
   )
  )
 )
 (func $mv-return-in-block (result i32 i64)
  (return
   (tuple.make
    (i32.const 42)
    (i64.const 42)
   )
  )
 )
 (func $mv-block-break (result i32 i64)
  (block $l (result i32 i64)
   (br $l
    (tuple.make
     (i32.const 42)
     (i64.const 42)
    )
   )
  )
 )
 (func $mv-block-br-if (result i32 i64)
  (block $l (result i32 i64)
   (br_if $l
    (tuple.make
     (i32.const 42)
     (i64.const 42)
    )
    (i32.const 1)
   )
  )
 )
 (func $mv-if (result i32 i64 externref)
  (if (result i32 i64 externref)
   (i32.const 1)
   (tuple.make
    (i32.const 42)
    (i64.const 42)
    (ref.null noextern)
   )
   (tuple.make
    (i32.const 42)
    (i64.const 42)
    (ref.null noextern)
   )
  )
 )
 (func $mv-loop (result i32 i64)
  (loop $loop-in (result i32 i64)
   (tuple.make
    (i32.const 42)
    (i64.const 42)
   )
  )
 )
 (func $mv-switch (result i32 i64)
  (block $a (result i32 i64)
   (block $b (result i32 i64)
    (br_table $a $b
     (tuple.make
      (i32.const 42)
      (i64.const 42)
     )
     (i32.const 0)
    )
   )
  )
 )
)
