(module
 (type $FUNCSIG$i (func (result i32)))
 (type $FUNCSIG$vifidi (func (param i32 f32 i32 f64 i32)))
 (type $FUNCSIG$vi (func (param i32)))
 (type $FUNCSIG$vj (func (param i64)))
 (type $FUNCSIG$vf (func (param f32)))
 (type $FUNCSIG$vd (func (param f64)))
 (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)))
 (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$0 (mut i32) (i32.const 975663930))
 (global $global$1 (mut i32) (i32.const 2066300474))
 (global $global$2 (mut i64) (i64.const 20510))
 (global $global$3 (mut f32) (f32.const -2147483648))
 (global $hangLimit (mut i32) (i32.const 10))
 (event $event$0 (attr 0) (param i32 f32 i32 f64 i32))
 (export "hashMemory" (func $hashMemory))
 (export "memory" (memory $0))
 (export "hangLimitInitializer" (func $hangLimitInitializer))
 (func $hashMemory (; 4 ;) (type $FUNCSIG$i) (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_5 (; 5 ;) (param $0 i64)
  (local $1 f64)
  (local $2 i32)
  (local $3 i64)
  (local $4 v128)
  (local $5 f32)
  (block
   (if
    (i32.eqz
     (global.get $hangLimit)
    )
    (return)
   )
   (global.set $hangLimit
    (i32.sub
     (global.get $hangLimit)
     (i32.const 1)
    )
   )
  )
  (block $label$0
   (br_if $label$0
    (i32.eqz
     (local.tee $2
      (local.tee $2
       (local.tee $2
        (local.tee $2
         (local.get $2)
        )
       )
      )
     )
    )
   )
   (local.set $4
    (v128.const i32x4 0x0e0a0e0d 0x0709060c 0x764b6f6f 0x00040000)
   )
   (local.set $4
    (if (result v128)
     (i32.eqz
      (if (result i32)
       (if (result i32)
        (i32.eqz
         (if (result i32)
          (i32.eqz
           (if
            (i32.eqz
             (if (result i32)
              (i32.eqz
               (if (result i32)
                (i32.eqz
                 (if (result i32)
                  (local.get $2)
                  (loop $label$1 (result i32)
                   (block
                    (if
                     (i32.eqz
                      (global.get $hangLimit)
                     )
                     (return)
                    )
                    (global.set $hangLimit
                     (i32.sub
                      (global.get $hangLimit)
                      (i32.const 1)
                     )
                    )
                   )
                   (block (result i32)
                    (block $label$2
                     (local.set $3
                      (i64.const 15662)
                     )
                     (local.set $2
                      (local.get $2)
                     )
                    )
                    (br_if $label$1
                     (local.get $2)
                    )
                    (if (result i32)
                     (i32.eqz
                      (local.get $2)
                     )
                     (local.get $2)
                     (local.get $2)
                    )
                   )
                  )
                  (block $label$3 (result i32)
                   (local.tee $2
                    (i32.const 286267661)
                   )
                  )
                 )
                )
                (block $label$4
                 (loop $label$5
                  (block
                   (if
                    (i32.eqz
                     (global.get $hangLimit)
                    )
                    (return)
                   )
                   (global.set $hangLimit
                    (i32.sub
                     (global.get $hangLimit)
                     (i32.const 1)
                    )
                   )
                  )
                  (block
                   (block $label$6
                    (if
                     (i32.eqz
                      (loop $label$7 (result i32)
                       (block
                        (if
                         (i32.eqz
                          (global.get $hangLimit)
                         )
                         (return)
                        )
                        (global.set $hangLimit
                         (i32.sub
                          (global.get $hangLimit)
                          (i32.const 1)
                         )
                        )
                       )
                       (i32.const 6506)
                      )
                     )
                     (block $label$8
                      (local.set $2
                       (local.tee $2
                        (local.get $2)
                       )
                      )
                      (local.set $5
                       (local.get $5)
                      )
                     )
                     (block $label$9
                      (if
                       (local.tee $2
                        (if (result i32)
                         (local.get $2)
                         (local.get $2)
                         (loop $label$10 (result i32)
                          (block
                           (if
                            (i32.eqz
                             (global.get $hangLimit)
                            )
                            (return)
                           )
                           (global.set $hangLimit
                            (i32.sub
                             (global.get $hangLimit)
                             (i32.const 1)
                            )
                           )
                          )
                          (block (result i32)
                           (nop)
                           (br_if $label$10
                            (i32.eqz
                             (i32.const 64)
                            )
                           )
                           (local.tee $2
                            (loop $label$11 (result i32)
                             (block
                              (if
                               (i32.eqz
                                (global.get $hangLimit)
                               )
                               (return)
                              )
                              (global.set $hangLimit
                               (i32.sub
                                (global.get $hangLimit)
                                (i32.const 1)
                               )
                              )
                             )
                             (i32.const 512)
                            )
                           )
                          )
                         )
                        )
                       )
                       (local.set $3
                        (local.get $3)
                       )
                       (loop $label$12
                        (block
                         (if
                          (i32.eqz
                           (global.get $hangLimit)
                          )
                          (return)
                         )
                         (global.set $hangLimit
                          (i32.sub
                           (global.get $hangLimit)
                           (i32.const 1)
                          )
                         )
                        )
                        (local.set $1
                         (local.get $1)
                        )
                       )
                      )
                      (local.set $2
                       (i32.const 170)
                      )
                     )
                    )
                    (call $log-i32
                     (local.get $2)
                    )
                   )
                   (br_if $label$5
                    (i32.eqz
                     (i32.const 2376257)
                    )
                   )
                   (local.set $4
                    (local.tee $4
                     (v128.const i32x4 0xfff70000 0x007f700e 0x07420400 0x8000007f)
                    )
                   )
                  )
                 )
                 (block $label$13
                  (if
                   (i32.eqz
                    (block $label$14 (result i32)
                     (local.set $4
                      (v128.const i32x4 0x80000000 0x00000080 0xfffffffc 0x00007fff)
                     )
                     (i32.const -123)
                    )
                   )
                   (local.set $1
                    (local.get $1)
                   )
                   (local.set $5
                    (local.get $5)
                   )
                  )
                  (br $label$0)
                 )
                )
                (block $label$17 (result i32)
                 (i64.atomic.store offset=3
                  (i32.const 640629291)
                  (local.tee $0
                   (i64.const -16)
                  )
                 )
                 (if (result i32)
                  (block $label$18
                   (local.set $1
                    (loop $label$19 (result f64)
                     (block
                      (if
                       (i32.eqz
                        (global.get $hangLimit)
                       )
                       (return)
                      )
                      (global.set $hangLimit
                       (i32.sub
                        (global.get $hangLimit)
                        (i32.const 1)
                       )
                      )
                     )
                     (block (result f64)
                      (nop)
                      (br_if $label$19
                       (i32.eqz
                        (local.get $2)
                       )
                      )
                      (local.tee $1
                       (f64.const 0)
                      )
                     )
                    )
                   )
                   (return)
                  )
                  (local.tee $2
                   (local.get $2)
                  )
                  (block $label$20
                   (loop $label$21
                    (block
                     (if
                      (i32.eqz
                       (global.get $hangLimit)
                      )
                      (return)
                     )
                     (global.set $hangLimit
                      (i32.sub
                       (global.get $hangLimit)
                       (i32.const 1)
                      )
                     )
                    )
                    (local.set $1
                     (local.get $1)
                    )
                   )
                   (return)
                  )
                 )
                )
               )
              )
              (block $label$22 (result i32)
               (local.set $5
                (f32.const 10160664)
               )
               (if (result i32)
                (i32.eqz
                 (i32.const 0)
                )
                (block $label$23
                 (local.set $1
                  (loop $label$24 (result f64)
                   (block
                    (if
                     (i32.eqz
                      (global.get $hangLimit)
                     )
                     (return)
                    )
                    (global.set $hangLimit
                     (i32.sub
                      (global.get $hangLimit)
                      (i32.const 1)
                     )
                    )
                   )
                   (block (result f64)
                    (local.set $3
                     (local.get $0)
                    )
                    (br_if $label$24
                     (i32.const -9)
                    )
                    (f64.const -18446744073709551615)
                   )
                  )
                 )
                 (br $label$0)
                )
                (block $label$25 (result i32)
                 (loop $label$26
                  (block
                   (if
                    (i32.eqz
                     (global.get $hangLimit)
                    )
                    (return)
                   )
                   (global.set $hangLimit
                    (i32.sub
                     (global.get $hangLimit)
                     (i32.const 1)
                    )
                   )
                  )
                  (block
                   (local.set $2
                    (local.get $2)
                   )
                   (br_if $label$26
                    (i32.eqz
                     (if (result i32)
                      (br_if $label$25
                       (i32.const -8)
                       (local.get $2)
                      )
                      (local.get $2)
                      (block $label$29 (result i32)
                       (call $log-i32
                        (call $hashMemory)
                       )
                       (loop $label$30 (result i32)
                        (block
                         (if
                          (i32.eqz
                           (global.get $hangLimit)
                          )
                          (return)
                         )
                         (global.set $hangLimit
                          (i32.sub
                           (global.get $hangLimit)
                           (i32.const 1)
                          )
                         )
                        )
                        (local.get $2)
                       )
                      )
                     )
                    )
                   )
                   (local.set $5
                    (local.get $5)
                   )
                  )
                 )
                 (local.get $2)
                )
               )
              )
              (block $label$35
               (local.set $1
                (f64.const 1414944843)
               )
               (br $label$0)
              )
             )
            )
            (local.tee $2
             (local.tee $2
              (loop $label$38
               (block
                (if
                 (i32.eqz
                  (global.get $hangLimit)
                 )
                 (return)
                )
                (global.set $hangLimit
                 (i32.sub
                  (global.get $hangLimit)
                  (i32.const 1)
                 )
                )
               )
               (if
                (i32.eqz
                 (local.get $2)
                )
                (block $label$39
                 (nop)
                 (br $label$0)
                )
                (block $label$40
                 (local.set $1
                  (local.get $1)
                 )
                 (br $label$0)
                )
               )
              )
             )
            )
            (block $label$41
             (memory.copy
              (loop $label$42 (result i32)
               (block
                (if
                 (i32.eqz
                  (global.get $hangLimit)
                 )
                 (return)
                )
                (global.set $hangLimit
                 (i32.sub
                  (global.get $hangLimit)
                  (i32.const 1)
                 )
                )
               )
               (if (result i32)
                (loop $label$43 (result i32)
                 (block
                  (if
                   (i32.eqz
                    (global.get $hangLimit)
                   )
                   (return)
                  )
                  (global.set $hangLimit
                   (i32.sub
                    (global.get $hangLimit)
                    (i32.const 1)
                   )
                  )
                 )
                 (block $label$44 (result i32)
                  (local.set $3
                   (i64.const 2097574720517510216)
                  )
                  (if (result i32)
                   (i32.eqz
                    (local.get $2)
                   )
                   (i32.const 1296450369)
                   (local.tee $2
                    (i32.const -14)
                   )
                  )
                 )
                )
                (block $label$45
                 (local.set $2
                  (i32.const 235407412)
                 )
                 (br $label$0)
                )
                (block $label$46 (result i32)
                 (local.set $2
                  (local.tee $2
                   (local.tee $2
                    (local.tee $2
                     (i32.const 1179009606)
                    )
                   )
                  )
                 )
                 (i32.const 1073741824)
                )
               )
              )
              (local.get $2)
              (i32.const 1073741824)
             )
             (return)
            )
           )
          )
          (local.get $2)
          (local.get $2)
         )
        )
        (block $label$47
         (local.set $2
          (local.get $2)
         )
         (br $label$0)
        )
        (block $label$48 (result i32)
         (loop $label$49
          (block
           (if
            (i32.eqz
             (global.get $hangLimit)
            )
            (return)
           )
           (global.set $hangLimit
            (i32.sub
             (global.get $hangLimit)
             (i32.const 1)
            )
           )
          )
          (local.set $5
           (local.get $5)
          )
         )
         (loop $label$90
          (block
           (if
            (i32.eqz
             (global.get $hangLimit)
            )
            (return)
           )
           (global.set $hangLimit
            (i32.sub
             (global.get $hangLimit)
             (i32.const 1)
            )
           )
          )
          (block
           (local.set $1
            (local.get $1)
           )
           (local.set $2
            (local.get $2)
           )
           (nop)
          )
         )
         (local.get $2)
        )
       )
       (block $label$91 (result i32)
        (local.set $5
         (block $label$92 (result f32)
          (f32.const 6)
         )
        )
        (local.get $2)
       )
       (local.get $2)
      )
     )
     (v128.const i32x4 0xffffffc0 0x00001f16 0x00008000 0x505c1a13)
     (v128.const i32x4 0xc7007b11 0x721d0901 0x01810043 0x441f1201)
    )
   )
  )
 )
 (func $hangLimitInitializer (; 6 ;)
  (global.set $hangLimit
   (i32.const 10)
  )
 )
 (func $deNan32 (; 7 ;) (param $0 f32) (result f32)
  (if (result f32)
   (f32.eq
    (local.get $0)
    (local.get $0)
   )
   (local.get $0)
   (f32.const 0)
  )
 )
 (func $deNan64 (; 8 ;) (param $0 f64) (result f64)
  (if (result f64)
   (f64.eq
    (local.get $0)
    (local.get $0)
   )
   (local.get $0)
   (f64.const 0)
  )
 )
)
