(module
 (type $none_=>_none (func))
 (type $i64_=>_none (func (param i64)))
 (type $none_=>_i64_v128_f32_v128_v128 (func (result i64 v128 f32 v128 v128)))
 (type $i32_=>_none (func (param i32)))
 (type $f32_=>_none (func (param f32)))
 (type $f64_=>_none (func (param f64)))
 (type $v128_=>_none (func (param v128)))
 (type $nullref_=>_none (func (param nullref)))
 (type $exnref_=>_none (func (param exnref)))
 (type $none_=>_i32 (func (result i32)))
 (type $i64_v128_=>_f32 (func (param i64 v128) (result f32)))
 (type $f32_=>_f64 (func (param f32) (result f64)))
 (type $none_=>_externref (func (result externref)))
 (type $f64_=>_nullref (func (param f64) (result nullref)))
 (import "fuzzing-support" "log-i32" (func $log-i32 (param i32)))
 (import "fuzzing-support" "log-i64" (func $log-i64 (param i64)))
 (import "fuzzing-support" "log-f32" (func $log-f32 (param f32)))
 (import "fuzzing-support" "log-f64" (func $log-f64 (param f64)))
 (import "fuzzing-support" "log-v128" (func $log-v128 (param v128)))
 (import "fuzzing-support" "log-nullref" (func $log-nullref (param nullref)))
 (import "fuzzing-support" "log-exnref" (func $log-exnref (param exnref)))
 (memory $0 (shared 1 1))
 (data (i32.const 0) "N\0fN\f5\f9\b1\ff\fa\eb\e5\fe\a7\ec\fb\fc\f4\a6\e4\ea\f0\ae\e3")
 (table $0 0 funcref)
 (global $global$5 (mut f32) (f32.const 74))
 (global $global$4 (mut nullref) (ref.null))
 (global $global$3 (mut i32) (i32.const 1263230471))
 (global $global$2 (mut i32) (i32.const -131072))
 (global $global$1 (mut (i64 f64 exnref)) (tuple.make
  (i64.const 4294967295)
  (f64.const -nan:0xffffffffffffa)
  (ref.null)
 ))
 (global $hangLimit (mut i32) (i32.const 10))
 (event $event$0 (attr 0) (param i64))
 (event $event$1 (attr 0) (param))
 (export "hashMemory" (func $hashMemory))
 (export "memory" (memory $0))
 (export "func_8" (func $func_8))
 (export "func_10" (func $func_10))
 (export "hangLimitInitializer" (func $hangLimitInitializer))
 (func $hashMemory (result i32)
  (local $0 i32)
  (local.set $0
   (i32.const 5381)
  )
  (local.set $0
   (i32.xor
    (i32.add
     (i32.shl
      (local.get $0)
      (i32.const 5)
     )
     (local.get $0)
    )
    (i32.load8_u
     (i32.const 0)
    )
   )
  )
  (local.set $0
   (i32.xor
    (i32.add
     (i32.shl
      (local.get $0)
      (i32.const 5)
     )
     (local.get $0)
    )
    (i32.load8_u offset=1
     (i32.const 0)
    )
   )
  )
  (local.set $0
   (i32.xor
    (i32.add
     (i32.shl
      (local.get $0)
      (i32.const 5)
     )
     (local.get $0)
    )
    (i32.load8_u offset=2
     (i32.const 0)
    )
   )
  )
  (local.set $0
   (i32.xor
    (i32.add
     (i32.shl
      (local.get $0)
      (i32.const 5)
     )
     (local.get $0)
    )
    (i32.load8_u offset=3
     (i32.const 0)
    )
   )
  )
  (local.set $0
   (i32.xor
    (i32.add
     (i32.shl
      (local.get $0)
      (i32.const 5)
     )
     (local.get $0)
    )
    (i32.load8_u offset=4
     (i32.const 0)
    )
   )
  )
  (local.set $0
   (i32.xor
    (i32.add
     (i32.shl
      (local.get $0)
      (i32.const 5)
     )
     (local.get $0)
    )
    (i32.load8_u offset=5
     (i32.const 0)
    )
   )
  )
  (local.set $0
   (i32.xor
    (i32.add
     (i32.shl
      (local.get $0)
      (i32.const 5)
     )
     (local.get $0)
    )
    (i32.load8_u offset=6
     (i32.const 0)
    )
   )
  )
  (local.set $0
   (i32.xor
    (i32.add
     (i32.shl
      (local.get $0)
      (i32.const 5)
     )
     (local.get $0)
    )
    (i32.load8_u offset=7
     (i32.const 0)
    )
   )
  )
  (local.set $0
   (i32.xor
    (i32.add
     (i32.shl
      (local.get $0)
      (i32.const 5)
     )
     (local.get $0)
    )
    (i32.load8_u offset=8
     (i32.const 0)
    )
   )
  )
  (local.set $0
   (i32.xor
    (i32.add
     (i32.shl
      (local.get $0)
      (i32.const 5)
     )
     (local.get $0)
    )
    (i32.load8_u offset=9
     (i32.const 0)
    )
   )
  )
  (local.set $0
   (i32.xor
    (i32.add
     (i32.shl
      (local.get $0)
      (i32.const 5)
     )
     (local.get $0)
    )
    (i32.load8_u offset=10
     (i32.const 0)
    )
   )
  )
  (local.set $0
   (i32.xor
    (i32.add
     (i32.shl
      (local.get $0)
      (i32.const 5)
     )
     (local.get $0)
    )
    (i32.load8_u offset=11
     (i32.const 0)
    )
   )
  )
  (local.set $0
   (i32.xor
    (i32.add
     (i32.shl
      (local.get $0)
      (i32.const 5)
     )
     (local.get $0)
    )
    (i32.load8_u offset=12
     (i32.const 0)
    )
   )
  )
  (local.set $0
   (i32.xor
    (i32.add
     (i32.shl
      (local.get $0)
      (i32.const 5)
     )
     (local.get $0)
    )
    (i32.load8_u offset=13
     (i32.const 0)
    )
   )
  )
  (local.set $0
   (i32.xor
    (i32.add
     (i32.shl
      (local.get $0)
      (i32.const 5)
     )
     (local.get $0)
    )
    (i32.load8_u offset=14
     (i32.const 0)
    )
   )
  )
  (local.set $0
   (i32.xor
    (i32.add
     (i32.shl
      (local.get $0)
      (i32.const 5)
     )
     (local.get $0)
    )
    (i32.load8_u offset=15
     (i32.const 0)
    )
   )
  )
  (local.get $0)
 )
 (func $func_8 (result externref)
  (local $0 i64)
  (local $1 exnref)
  (local $2 nullref)
  (local $3 i32)
  (local $4 externref)
  (local $5 nullref)
  (local $6 f32)
  (block
   (if
    (i32.eqz
     (global.get $hangLimit)
    )
    (return
     (local.get $4)
    )
   )
   (global.set $hangLimit
    (i32.sub
     (global.get $hangLimit)
     (i32.const 1)
    )
   )
  )
  (block $label$0 (result externref)
   (loop $label$1
    (block
     (if
      (i32.eqz
       (global.get $hangLimit)
      )
      (return
       (local.get $4)
      )
     )
     (global.set $hangLimit
      (i32.sub
       (global.get $hangLimit)
       (i32.const 1)
      )
     )
    )
    (block
     (block $label$2
      (atomic.fence)
      (f64.store offset=3 align=2
       (i32.and
        (i32.const 521278814)
        (block $label$9 (result i32)
         (i64.atomic.store offset=22
          (i32.and
           (br_if $label$9
            (loop $label$11 (result i32)
             (block
              (if
               (i32.eqz
                (global.get $hangLimit)
               )
               (return
                (local.get $4)
               )
              )
              (global.set $hangLimit
               (i32.sub
                (global.get $hangLimit)
                (i32.const 1)
               )
              )
             )
             (i32.const 26)
            )
            (loop $label$10 (result i32)
             (block
              (if
               (i32.eqz
                (global.get $hangLimit)
               )
               (return
                (local.get $4)
               )
              )
              (global.set $hangLimit
               (i32.sub
                (global.get $hangLimit)
                (i32.const 1)
               )
              )
             )
             (local.get $3)
            )
           )
           (i32.const 15)
          )
          (i64x2.extract_lane 1
           (f32x4.lt
            (i64x2.splat
             (local.get $0)
            )
            (v128.load offset=3 align=1
             (i32.and
              (local.get $3)
              (i32.const 15)
             )
            )
           )
          )
         )
         (i32.gt_u
          (block $label$12 (result i32)
           (if
            (i32.const 521278814)
            (nop)
            (nop)
           )
           (local.get $3)
          )
          (local.tee $3
           (ref.is_null
            (loop $label$13 (result externref)
             (block
              (if
               (i32.eqz
                (global.get $hangLimit)
               )
               (return
                (local.get $4)
               )
              )
              (global.set $hangLimit
               (i32.sub
                (global.get $hangLimit)
                (i32.const 1)
               )
              )
             )
             (local.tee $4
              (loop $label$14 (result externref)
               (block
                (if
                 (i32.eqz
                  (global.get $hangLimit)
                 )
                 (return
                  (local.get $4)
                 )
                )
                (global.set $hangLimit
                 (i32.sub
                  (global.get $hangLimit)
                  (i32.const 1)
                 )
                )
               )
               (local.get $4)
              )
             )
            )
           )
          )
         )
        )
       )
       (f64.const 2.0368363672810022e-260)
      )
     )
     (br_if $label$1
      (loop $label$3
       (block
        (if
         (i32.eqz
          (global.get $hangLimit)
         )
         (return
          (local.get $4)
         )
        )
        (global.set $hangLimit
         (i32.sub
          (global.get $hangLimit)
          (i32.const 1)
         )
        )
       )
       (block $label$4
        (block $label$5
         (nop)
         (drop
          (f32.convert_i64_u
           (i64.const 1394725084389383962)
          )
         )
         (br_if $label$3
          (i32.eqz
           (if (result i32)
            (i32.eqz
             (if (result i32)
              (i32.eqz
               (i32.and
                (global.get $global$3)
                (i32.const 15)
               )
              )
              (if (result i32)
               (i32.eqz
                (i32.load16_u offset=3 align=1
                 (i32.and
                  (i32.and
                   (global.get $global$3)
                   (i32.const 15)
                  )
                  (i32.const 15)
                 )
                )
               )
               (i32.and
                (global.get $global$3)
                (i32.const 15)
               )
               (loop $label$18 (result i32)
                (block
                 (if
                  (i32.eqz
                   (global.get $hangLimit)
                  )
                  (return
                   (local.get $4)
                  )
                 )
                 (global.set $hangLimit
                  (i32.sub
                   (global.get $hangLimit)
                   (i32.const 1)
                  )
                 )
                )
                (block (result i32)
                 (block $label$19
                  (loop $label$20
                   (block
                    (if
                     (i32.eqz
                      (global.get $hangLimit)
                     )
                     (return
                      (local.get $4)
                     )
                    )
                    (global.set $hangLimit
                     (i32.sub
                      (global.get $hangLimit)
                      (i32.const 1)
                     )
                    )
                   )
                   (nop)
                  )
                  (br_if $label$19
                   (i32.eqz
                    (local.get $3)
                   )
                  )
                 )
                 (br_if $label$18
                  (local.get $3)
                 )
                 (local.get $3)
                )
               )
              )
              (block $label$21
               (br $label$1)
              )
             )
            )
            (ref.is_null
             (ref.null)
            )
            (block $label$22
             (v128.store offset=4
              (i32.and
               (local.tee $3
                (i32.const 0)
               )
               (i32.const 15)
              )
              (i8x16.narrow_i16x8_u
               (if (result v128)
                (i32.eqz
                 (block $label$23 (result i32)
                  (i32.const -129)
                 )
                )
                (block $label$24
                 (return
                  (local.get $4)
                 )
                )
                (v128.const i32x4 0xffffc000 0xffffffe0 0x00007fff 0x737f197a)
               )
               (v128.const i32x4 0x10000000 0x00000000 0x00000080 0x00000000)
              )
             )
             (br $label$1)
            )
           )
          )
         )
        )
        (return
         (local.get $4)
        )
       )
      )
     )
     (nop)
    )
   )
   (nop)
   (local.get $4)
  )
 )
 (func $func_9 (param $0 f64) (result nullref)
  (local $1 nullref)
  (local $2 f32)
  (local $3 externref)
  (local $4 exnref)
  (block
   (if
    (i32.eqz
     (global.get $hangLimit)
    )
    (return
     (ref.null)
    )
   )
   (global.set $hangLimit
    (i32.sub
     (global.get $hangLimit)
     (i32.const 1)
    )
   )
  )
  (local.get $1)
 )
 (func $func_10 (param $0 f32) (result f64)
  (local $1 externref)
  (local $2 v128)
  (local $3 i32)
  (local $4 v128)
  (local $5 funcref)
  (local $6 f64)
  (local $7 v128)
  (local $8 f32)
  (local $9 nullref)
  (local $10 exnref)
  (local $11 exnref)
  (local $12 externref)
  (local $13 nullref)
  (local $14 (v128 i32 exnref v128))
  (local $15 i64)
  (block
   (if
    (i32.eqz
     (global.get $hangLimit)
    )
    (return
     (local.get $6)
    )
   )
   (global.set $hangLimit
    (i32.sub
     (global.get $hangLimit)
     (i32.const 1)
    )
   )
  )
  (select
   (local.get $6)
   (local.get $6)
   (if (result i32)
    (i32.eqz
     (local.get $3)
    )
    (i32.const -2147483648)
    (local.get $3)
   )
  )
 )
 (func $func_11 (result i64 v128 f32 v128 v128)
  (local $0 (v128 f32 f64 f64 f32))
  (block
   (if
    (i32.eqz
     (global.get $hangLimit)
    )
    (return
     (tuple.make
      (i64.const 1250326222040357399)
      (v128.const i32x4 0x616a003f 0x8000ff02 0xffa20040 0x7fff5750)
      (f32.const -3402823466385288598117041e14)
      (v128.const i32x4 0x0400ff81 0x16168000 0x04000004 0x00000502)
      (v128.const i32x4 0x010e0007 0x04020e0f 0xc7000000 0xcf000000)
     )
    )
   )
   (global.set $hangLimit
    (i32.sub
     (global.get $hangLimit)
     (i32.const 1)
    )
   )
  )
  (block $label$0
   (nop)
   (return
    (tuple.make
     (i64.const -20)
     (v128.const i32x4 0x7fffffff 0x00000000 0x00000000 0xffffff80)
     (f32.const -562949953421312)
     (v128.const i32x4 0x7fffffff 0x00000000 0x00000000 0xffffff80)
     (v128.const i32x4 0x0aff170d 0x490b3100 0x01800055 0x20004200)
    )
   )
  )
 )
 (func $func_12 (param $0 i64) (param $1 v128) (result f32)
  (local $2 (exnref i32 nullref exnref nullref f64))
  (local $3 i32)
  (local $4 i64)
  (local $5 f32)
  (local $6 i64)
  (local $7 f32)
  (local $8 nullref)
  (local $9 f64)
  (block
   (if
    (i32.eqz
     (global.get $hangLimit)
    )
    (return
     (f32.const 57)
    )
   )
   (global.set $hangLimit
    (i32.sub
     (global.get $hangLimit)
     (i32.const 1)
    )
   )
  )
  (return
   (f32.const 6.254571977675003e-36)
  )
 )
 (func $hangLimitInitializer
  (global.set $hangLimit
   (i32.const 10)
  )
 )
)
