(module (type $none_=>_i32_v128_f64_v128 (func (result i32 v128 f64 v128))) (type $none_=>_none (func)) (type $i32_=>_none (func (param i32))) (type $i64_=>_none (func (param i64))) (type $i64_i32_=>_none (func (param i64 i32))) (type $f32_=>_none (func (param f32))) (type $f64_=>_none (func (param f64))) (type $v128_=>_none (func (param v128))) (type $exnref_=>_none (func (param exnref))) (type $none_=>_i32 (func (result i32))) (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-exnref" (func $log-exnref (param exnref))) (memory $0 (shared 16 17)) (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$ (mut eqref) (ref.null eq)) (global $global$_0 (mut externref) (ref.null extern)) (global $global$_1 (mut v128) (v128.const i32x4 0xfffffff9 0x06071c48 0x3f800000 0xc3800ae1)) (global $global$_2 (mut eqref) (ref.null eq)) (global $global$_3 (mut f64) (f64.const 0)) (global $hangLimit (mut i32) (i32.const 10)) (event $event$ (attr 0) (param i64 i32)) (export "hashMemory" (func $hashMemory)) (export "memory" (memory $0)) (export "hangLimitInitializer" (func $hangLimitInitializer)) (func $hashMemory (result i32) (local $0 i32) (block (if (i32.eqz (global.get $hangLimit) ) (return (i32.const 64) ) ) (global.set $hangLimit (i32.sub (global.get $hangLimit) (i32.const 1) ) ) ) (block (result i32) (local.set $0 (i32.const 5381) ) (local.set $0 (i32.const 1140933654) ) (local.set $0 (i32.xor (i32.add (i32.shl (local.get $0) (i32.const 5) ) (i32.const -127) ) (i32.load8_u offset=1 (i32.const 0) ) ) ) (local.set $0 (i32.xor (i32.add (i32.shl (i32.const 303045650) (i32.const 5) ) (i32.shl (ref.eq (i31.new (i32.const -65535) ) (tuple.extract 2 (tuple.make (f64.const 274877906944) (i31.new (i32.const -134217728) ) (ref.null eq) ) ) ) (i32.const 5) ) ) (i32.load8_u offset=2 (i32.const 0) ) ) ) (nop) (local.set $0 (i32.xor (i32.add (loop $label$1 (result i32) (block (if (i32.eqz (global.get $hangLimit) ) (return (i32.const 4878) ) ) (global.set $hangLimit (i32.sub (global.get $hangLimit) (i32.const 1) ) ) ) (block $label$2 (result i32) (drop (f64.const 3402823466385288598117041e14) ) (loop $label$6 (block (if (i32.eqz (global.get $hangLimit) ) (return (i32.const -13) ) ) (global.set $hangLimit (i32.sub (global.get $hangLimit) (i32.const 1) ) ) ) (block (block $label$7 (nop) (if (block $label$8 (nop) (br $label$1) ) (block $label$9 (f64.store offset=2 align=2 (i32.and (i32.const 118163717) (i32.const 15) ) (if (result f64) (call $hashMemory) (block $label$10 (result f64) (memory.copy (i32.const -129) (i32.and (i32.const 1195786829) (i32.const 15) ) (i32.const -8) ) (f64.const -562949953421312.2) ) (block $label$11 (nop) (br $label$7) ) ) ) (if (i32.eqz (i32.atomic.load (i32.and (i32.const 65535) (i32.const 15) ) ) ) (block $label$12 (nop) (nop) ) (block $label$13 (br_if $label$7 (i32.const 10539) ) (loop $label$14 (block (if (i32.eqz (global.get $hangLimit) ) (return (i32.const 1495078923) ) ) (global.set $hangLimit (i32.sub (global.get $hangLimit) (i32.const 1) ) ) ) (atomic.fence) ) ) ) ) (nop) ) ) (br_if $label$6 (i32.const -50) ) (loop $label$15 (block (if (i32.eqz (global.get $hangLimit) ) (return (i32.const -96) ) ) (global.set $hangLimit (i32.sub (global.get $hangLimit) (i32.const 1) ) ) ) (block $label$16 (if (i32.eqz (br_if $label$2 (i8x16.extract_lane_s 2 (f64x2.gt (v128.const i32x4 0xffffffc0 0xffffffff 0x60631d62 0x630f6218) (if (result v128) (i32.eqz (f32.ne (block $label$18 (nop) (br $label$15) ) (f32.const -nan:0x7fff8a) ) ) (block $label$19 (result v128) (nop) (v128.const i32x4 0x00000000 0x38100000 0x00000000 0x40d89880) ) (block $label$20 (if (i32.atomic.rmw8.cmpxchg_u offset=4 (i32.and (i32.const 2) (i32.const 15) ) (i32.const 65525) (br_if $label$2 (i32.const -33554432) (i64.lt_u (i64.const -65536) (i64.const 6663) ) ) ) (block $label$21 (br_if $label$21 (i32.eqz (i32.const 65535) ) ) (nop) ) (block $label$22 (v128.store offset=4 (i32.and (i32.const 55) (i32.const 15) ) (v128.const i32x4 0xfffffe00 0x7fffffff 0x00005b34 0x00000039) ) (nop) ) ) (br $label$16) ) ) ) ) (i32.eqz (i32.const 85459227) ) ) ) (block $label$23 (block $label$24 (block $label$25 (nop) (nop) ) (nop) ) (nop) ) (block $label$26 (if (br_if $label$2 (i32.const 1091126348) (i32.const 1276841216) ) (br_if $label$26 (i32.eqz (tuple.extract 0 (if (result i32 v128 f64 v128) (i32.load8_u offset=3 (i32.and (f64.ge (block $label$27 (result f64) (nop) (f64.const 41) ) (f64x2.extract_lane 0 (v128.const i32x4 0xffffc000 0x00000007 0x00000001 0x473f2147) ) ) (i32.const 15) ) ) (block $label$28 (result i32 v128 f64 v128) (tuple.make (i32.const 67308125) (v128.const i32x4 0xff00011d 0x0601e545 0x7f0e14ff 0x00b1f843) (f64.const 1314148947) (v128.const i32x4 0x0000003a 0x42d00000 0x00000000 0x40280000) ) ) (block $label$29 (result i32 v128 f64 v128) (br_if $label$15 (i32.eqz (br_if $label$2 (i32.const -8192) (i32.eqz (i32.const -2) ) ) ) ) (tuple.make (i32.const 65534) (v128.const i32x4 0x41530000 0x008045b2 0x01ff7f00 0xff2d8349) (f64.const 1797693134862315708145274e284) (v128.const i32x4 0xffbc630d 0xffb6ffbb 0x00015658 0xffb4ffff) ) ) ) ) ) ) (block $label$30 (if (loop $label$31 (result i32) (block (if (i32.eqz (global.get $hangLimit) ) (return (i32.const 1578633994) ) ) (global.set $hangLimit (i32.sub (global.get $hangLimit) (i32.const 1) ) ) ) (block $label$32 (result i32) (block $label$33 (if (i32.eqz (i32.atomic.rmw.and offset=4 (i32.const -2147483648) (block $label$34 (loop $label$35 (block (if (i32.eqz (global.get $hangLimit) ) (return (i32.const 403574365) ) ) (global.set $hangLimit (i32.sub (global.get $hangLimit) (i32.const 1) ) ) ) (block (nop) (br_if $label$35 (i32.const -65536) ) (nop) ) ) (br $label$1) ) ) ) (block $label$36 (nop) (br_if $label$16 (i32.const 2136) ) ) (block $label$37 (nop) (nop) ) ) (atomic.fence) ) (f32.lt (f32.const 2147483648) (f32.const 2147483648) ) ) ) (block $label$40 (i32.atomic.store16 offset=2 (i32.and (i31.get_s (loop $label$41 (block (if (i32.eqz (global.get $hangLimit) ) (return (i32.const -2) ) ) (global.set $hangLimit (i32.sub (global.get $hangLimit) (i32.const 1) ) ) ) (block $label$42 (loop $label$43 (block (if (i32.eqz (global.get $hangLimit) ) (return (i32.const -13) ) ) (global.set $hangLimit (i32.sub (global.get $hangLimit) (i32.const 1) ) ) ) (block $label$44 (nop) (nop) ) ) (block $label$45 (nop) (br $label$16) ) ) ) ) (i32.const 15) ) (block $label$46 (nop) (ref.is_null (if (i32.eqz (if (result i32) (i32.eqz (block $label$47 (nop) (br $label$16) ) ) (i32.const -4194304) (i32.const 5140) ) ) (block $label$48 (block $label$49 (nop) (br_if $label$15 (i32.eqz (loop $label$50 (result i32) (block (if (i32.eqz (global.get $hangLimit) ) (return (i32.const 112) ) ) (global.set $hangLimit (i32.sub (global.get $hangLimit) (i32.const 1) ) ) ) (block (result i32) (nop) (br_if $label$50 (i32.eqz (i32.const 3) ) ) (i31.get_s (i31.new (i32.const 4095) ) ) ) ) ) ) ) (br $label$40) ) (block $label$51 (drop (ref.null exn) ) (br $label$16) ) ) ) ) ) ) (block $label$52 (loop $label$53 (block (if (i32.eqz (global.get $hangLimit) ) (return (i32.const 7506) ) ) (global.set $hangLimit (i32.sub (global.get $hangLimit) (i32.const 1) ) ) ) (block (nop) (br_if $label$53 (loop $label$54 (result i32) (block (if (i32.eqz (global.get $hangLimit) ) (return (i32.const 50922251) ) ) (global.set $hangLimit (i32.sub (global.get $hangLimit) (i32.const 1) ) ) ) (i32.const 6912) ) ) (br_if $label$6 (br_if $label$2 (call $hashMemory) (loop $label$55 (result i32) (block (if (i32.eqz (global.get $hangLimit) ) (return (i32.const 319820056) ) ) (global.set $hangLimit (i32.sub (global.get $hangLimit) (i32.const 1) ) ) ) (i32.const 2147483647) ) ) ) ) ) (memory.copy (i32.and (i32.atomic.load offset=3 (i32.and (loop $label$56 (result i32) (block (if (i32.eqz (global.get $hangLimit) ) (return (i32.const -2147483648) ) ) (global.set $hangLimit (i32.sub (global.get $hangLimit) (i32.const 1) ) ) ) (loop $label$57 (result i32) (block (if (i32.eqz (global.get $hangLimit) ) (return (i32.const 262143) ) ) (global.set $hangLimit (i32.sub (global.get $hangLimit) (i32.const 1) ) ) ) (block (result i32) (block $label$58 (if (i32.eqz (i32.const 775321902) ) (nop) (if (i32.eqz (i32.const -18) ) (nop) (nop) ) ) (nop) ) (br_if $label$57 (i32.const 4194304) ) (f32.le (f32.const 18446744073709551615) (f32.const -nan:0x7fff87) ) ) ) ) (i32.const 15) ) ) (i32.const 15) ) (i32.and (block $label$59 (result i32) (loop $label$60 (block (if (i32.eqz (global.get $hangLimit) ) (return (i32.const -32768) ) ) (global.set $hangLimit (i32.sub (global.get $hangLimit) (i32.const 1) ) ) ) (block (block $label$61 (drop (i31.new (i32.const -8192) ) ) (nop) ) (br_if $label$60 (i32.eqz (loop $label$62 (result i32) (block (if (i32.eqz (global.get $hangLimit) ) (return (i32.const 7) ) ) (global.set $hangLimit (i32.sub (global.get $hangLimit) (i32.const 1) ) ) ) (block $label$63 (result i32) (nop) (i32.const 65521) ) ) ) ) (memory.fill (i32.trunc_f32_u (f32.const 256) ) (i64.eq (i64.const 256) (i64.const -16384) ) (i32.const 387455770) ) ) ) (i32.const 4627) ) (i32.const 15) ) (i32.load8_s offset=3 (i32.and (br_if $label$2 (loop $label$64 (result i32) (block (if (i32.eqz (global.get $hangLimit) ) (return (i32.const -96) ) ) (global.set $hangLimit (i32.sub (global.get $hangLimit) (i32.const 1) ) ) ) (block (result i32) (block $label$65 (loop $label$66 (block (if (i32.eqz (global.get $hangLimit) ) (return (i32.const 65518) ) ) (global.set $hangLimit (i32.sub (global.get $hangLimit) (i32.const 1) ) ) ) (nop) ) (nop) ) (br_if $label$64 (tuple.extract 1 (tuple.make (v128.const i32x4 0x0606ff82 0xfffe0000 0x04052000 0xfffe0000) (i32.const 1529028702) ) ) ) (loop $label$67 (result i32) (block (if (i32.eqz (global.get $hangLimit) ) (return (i32.const -1073741825) ) ) (global.set $hangLimit (i32.sub (global.get $hangLimit) (i32.const 1) ) ) ) (i32.const 128) ) ) ) (i32.eqz (ref.is_null (select (result anyref) (ref.null eq) (ref.null extern) (i32.const 129) ) ) ) ) (i32.const 15) ) ) ) ) ) (nop) ) ) (block $label$68 (nop) (nop) ) ) ) (nop) ) ) ) ) (if (result i32) (block $label$69 (result i32) (if (if (result i32) (br_if $label$2 (loop $label$71 (result i32) (block (if (i32.eqz (global.get $hangLimit) ) (return (i32.const 15) ) ) (global.set $hangLimit (i32.sub (global.get $hangLimit) (i32.const 1) ) ) ) (block (result i32) (block $label$72 (br_if $label$72 (i32.const -1) ) (nop) ) (br_if $label$71 (i32.eqz (i32.const -2147483648) ) ) (if (result i32) (i32.eqz (i32.const -32766) ) (block $label$73 (result i32) (br_if $label$71 (i32.eqz (tuple.extract 1 (block $label$74 (nop) (br $label$1) ) ) ) ) (ref.is_null (global.get $global$_0) ) ) (i32x4.all_true (v128.const i32x4 0x3c800c01 0x193fff27 0x52a20001 0x970000ff) ) ) ) ) (i32.eqz (loop $label$70 (result i32) (block (if (i32.eqz (global.get $hangLimit) ) (return (i32.const 1048576) ) ) (global.set $hangLimit (i32.sub (global.get $hangLimit) (i32.const 1) ) ) ) (i32.const 256) ) ) ) (i32.atomic.load8_u offset=22 (i32.const 858607703) ) (block $label$75 (result i32) (nop) (br_if $label$75 (i32.const 7) (i31.get_s (tuple.extract 0 (tuple.make (i31.new (i32.const 219815443) ) (v128.const i32x4 0x00000001 0x151b1e13 0x00000001 0x1a5f0000) ) ) ) ) ) ) (block $label$76 (nop) ) (nop) ) (i32.const 2097152) ) (i32.const -84) (block $label$77 (result i32) (i32.const -16) ) ) ) ) (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.const 6506) ) ) (nop) (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 (i32.const 1633371484) (i32.const 5) ) (i32.xor (i32.add (i32.shl (local.get $0) (i32.const 5) ) (local.get $0) ) (i32.load8_u offset=8 (i32.const 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.const 1937132399) (i32.load8_u offset=11 (i32.const 0) ) ) ) (local.set $0 (i32.xor (i32.add (i32.shl (i32.const -85) (i32.const 5) ) (local.get $0) ) (i32.shl (local.get $0) (i32.const 5) ) ) ) (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.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=12 (i32.const 0) ) ) ) (local.get $0) ) ) (func $hangLimitInitializer (global.set $hangLimit (i32.const 10) ) ) )