;; RUN: wasm-fuzz-lattices -v --seed=0 | filecheck %s ;; CHECK: Running with seed 0 ;; CHECK-NEXT: Generated test module: ;; CHECK-NEXT: (module ;; CHECK-NEXT: (type $0 (func)) ;; CHECK-NEXT: (type $1 (func (result i32))) ;; CHECK-NEXT: (type $2 (func (result i64))) ;; CHECK-NEXT: (type $3 (func (param i32))) ;; CHECK-NEXT: (type $4 (func (param i64))) ;; CHECK-NEXT: (type $5 (func (param f32))) ;; CHECK-NEXT: (type $6 (func (param f64))) ;; CHECK-NEXT: (type $7 (func (param i32) (result f32))) ;; CHECK-NEXT: (type $8 (func (param i32 f32 f64 f32) (result i32))) ;; CHECK-NEXT: (import "fuzzing-support" "log-i32" (func $log-i32 (param i32))) ;; CHECK-NEXT: (import "fuzzing-support" "log-i64" (func $log-i64 (param i64))) ;; CHECK-NEXT: (import "fuzzing-support" "log-f32" (func $log-f32 (param f32))) ;; CHECK-NEXT: (import "fuzzing-support" "log-f64" (func $log-f64 (param f64))) ;; CHECK-NEXT: (global $global$ i64 (i64.const -13)) ;; CHECK-NEXT: (global $global$_1 i64 (i64.const -281474976710655)) ;; CHECK-NEXT: (global $global$_2 (mut i32) (i32.const 32767)) ;; CHECK-NEXT: (global $global$_3 i64 (i64.const 65534)) ;; CHECK-NEXT: (global $global$_4 f32 (f32.const -0.484000027179718)) ;; CHECK-NEXT: (global $global$_5 (mut f32) (f32.const 3402823466385288598117041e14)) ;; CHECK-NEXT: (global $global$_6 (mut f64) (f64.const 392913192)) ;; CHECK-NEXT: (global $global$_7 i32 (i32.const -1)) ;; CHECK-NEXT: (global $global$_8 i32 (i32.const -7151)) ;; CHECK-NEXT: (global $global$_9 f64 (f64.const 64257)) ;; CHECK-NEXT: (global $global$_10 i32 (i32.const -511)) ;; CHECK-NEXT: (global $global$_11 (mut i32) (i32.const -2)) ;; CHECK-NEXT: (global $global$_12 (mut i32) (i32.const -101)) ;; CHECK-NEXT: (global $global$_13 (mut f64) (f64.const -17592186044415.012)) ;; CHECK-NEXT: (global $global$_14 i32 (i32.const 1)) ;; CHECK-NEXT: (global $hangLimit (mut i32) (i32.const 100)) ;; CHECK-NEXT: (memory $0 16 17) ;; CHECK-NEXT: (data $0 (i32.const 0) "\00\00 ") ;; CHECK-NEXT: (table $fuzzing_table 0 funcref) ;; CHECK-NEXT: (elem $elem$ (i32.const 0)) ;; CHECK-NEXT: (export "func" (func $func)) ;; CHECK-NEXT: (export "func_invoker" (func $func_invoker)) ;; CHECK-NEXT: (export "func_6" (func $func_6)) ;; CHECK-NEXT: (export "func_6_invoker" (func $func_6_invoker)) ;; CHECK-NEXT: (export "func_8_invoker" (func $func_8_invoker)) ;; CHECK-NEXT: (export "func_10_invoker" (func $func_10_invoker)) ;; CHECK-NEXT: (export "hashMemory" (func $hashMemory)) ;; CHECK-NEXT: (export "memory" (memory $0)) ;; CHECK-NEXT: (func $func (param $0 i32) (result f32) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (f32.sub ;; CHECK-NEXT: (f32.load offset=4 align=1 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.const -26294) ;; CHECK-NEXT: (i32.const 15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $label$12 (result f32) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $label$13 (result f32) ;; CHECK-NEXT: (block $label$14 ;; CHECK-NEXT: (call $log-i32 ;; CHECK-NEXT: (f64.ge ;; CHECK-NEXT: (loop $label$15 (result f64) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result f64) ;; CHECK-NEXT: (block $label$16 ;; CHECK-NEXT: (call $log-i32 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $log-i32 ;; CHECK-NEXT: (call $hashMemory) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $label$15 ;; CHECK-NEXT: (select ;; CHECK-NEXT: (i32.const -4) ;; CHECK-NEXT: (block $label$18 (result i32) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (global.get $global$_14) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.get $global$_6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (f64.const -nan:0xfffffffffff9b) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $label$14 ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.const -112) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (if (result f32) ;; CHECK-NEXT: (loop $label$24 (result i32) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (call $log-i32 ;; CHECK-NEXT: (call $hashMemory) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $label$24 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $label$25 (result i32) ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (block $label$26 ;; CHECK-NEXT: (call $log-f32 ;; CHECK-NEXT: (br_if $label$13 ;; CHECK-NEXT: (f32.const -18446744073709551615) ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (loop $label$27 (result i32) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i32) ;; CHECK-NEXT: (block $label$28 ;; CHECK-NEXT: (call $log-f64 ;; CHECK-NEXT: (if (result f64) ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.const 7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (f64.const -64) ;; CHECK-NEXT: (f64.const -nan:0xfffffffffff91) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $log-i64 ;; CHECK-NEXT: (i64.shr_s ;; CHECK-NEXT: (i64.const -128) ;; CHECK-NEXT: (i64.add ;; CHECK-NEXT: (i64.const -15324) ;; CHECK-NEXT: (select ;; CHECK-NEXT: (i64.load16_s offset=4 align=1 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.load offset=4 align=2 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (block $label$89 (result i32) ;; CHECK-NEXT: (f64.store offset=22 align=1 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.const -72) ;; CHECK-NEXT: (i32.const 15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.get $global$_6) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $label$89 ;; CHECK-NEXT: (br_if $label$89 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.const 23873) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.get $global$_14) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i64.const 5) ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (loop $label$74 ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $label$75 ;; CHECK-NEXT: (call $log-i32 ;; CHECK-NEXT: (call $hashMemory) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $label$76 ;; CHECK-NEXT: (return ;; CHECK-NEXT: (f32.const -nan:0x7fff9f) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $label$77 (result i32) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (global.set $global$_6 ;; CHECK-NEXT: (f64.const -3402823466385288598117041e14) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.get $global$_10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $label$78 (result i32) ;; CHECK-NEXT: (f32.store offset=22 align=1 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.load offset=22 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (if ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (loop $label$79 (result i32) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $label$80 (result i32) ;; CHECK-NEXT: (call $log-f64 ;; CHECK-NEXT: (loop $label$81 ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $label$82 ;; CHECK-NEXT: (br_if $label$81 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (return ;; CHECK-NEXT: (f32.const 14) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $label$83 ;; CHECK-NEXT: (loop $label$84 ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block $label$85 ;; CHECK-NEXT: (call $log-i32 ;; CHECK-NEXT: (block $label$86 ;; CHECK-NEXT: (call $log-i32 ;; CHECK-NEXT: (call $hashMemory) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $label$87 ;; CHECK-NEXT: (call $log-i64 ;; CHECK-NEXT: (i64.const 12616) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (return ;; CHECK-NEXT: (f32.const 166) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $log-i32 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.load8_u offset=4 ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const -2147483647) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $label$84 ;; CHECK-NEXT: (i32.const -1048575) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $log-i32 ;; CHECK-NEXT: (call $hashMemory) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (return ;; CHECK-NEXT: (f32.const 4294967296) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $label$88 ;; CHECK-NEXT: (return ;; CHECK-NEXT: (f32.const 64541) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (f32.convert_i32_u ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $label$27 ;; CHECK-NEXT: (global.get $global$_2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.load8_s offset=4 ;; CHECK-NEXT: (i32.const -91) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.store16 offset=22 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.gt_u ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (i32.load offset=2 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (if (result i32) ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (return ;; CHECK-NEXT: (f32.const -nan:0x7fffd5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.get $global$_11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $label$29 (result f32) ;; CHECK-NEXT: (call $log-f32 ;; CHECK-NEXT: (call $func ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (f32.const 13) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $label$30 ;; CHECK-NEXT: (call $log-i32 ;; CHECK-NEXT: (i32.trunc_f64_s ;; CHECK-NEXT: (f64.reinterpret_i64 ;; CHECK-NEXT: (i64.const -2049) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br $label$12) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (func $func_invoker ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $func ;; CHECK-NEXT: (i32.const 2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $log-i32 ;; CHECK-NEXT: (call $hashMemory) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (func $func_6 ;; CHECK-NEXT: (local $0 f64) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $label$0 ;; CHECK-NEXT: (call $log-i32 ;; CHECK-NEXT: (i32.const 4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (func $func_6_invoker ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (call $func_6) ;; CHECK-NEXT: (call $log-i32 ;; CHECK-NEXT: (call $hashMemory) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (func $func_8 (result i32) ;; CHECK-NEXT: (local $0 i64) ;; CHECK-NEXT: (local $1 f32) ;; CHECK-NEXT: (local $2 i32) ;; CHECK-NEXT: (local $3 i64) ;; CHECK-NEXT: (local $4 f32) ;; CHECK-NEXT: (local $5 i64) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $label$0 (result i32) ;; CHECK-NEXT: (local.set $3 ;; CHECK-NEXT: (loop $label$1 (result i64) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block (result i64) ;; CHECK-NEXT: (block $label$2 ;; CHECK-NEXT: (call $log-i32 ;; CHECK-NEXT: (call $hashMemory) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $log-i32 ;; CHECK-NEXT: (call $hashMemory) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $label$1 ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (i32.reinterpret_f32 ;; CHECK-NEXT: (f32.const -nan:0x7fc223) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i64.trunc_f32_u ;; CHECK-NEXT: (global.get $global$_4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.get $global$_14) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (func $func_8_invoker ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $func_8) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $log-i32 ;; CHECK-NEXT: (call $hashMemory) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (func $func_10 (result i64) ;; CHECK-NEXT: (local $0 f64) ;; CHECK-NEXT: (local $1 f64) ;; CHECK-NEXT: (local $2 f64) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $label$0 (result i64) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (nop) ;; CHECK-NEXT: (i64.load32_s offset=22 ;; CHECK-NEXT: (global.get $global$_7) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (func $func_10_invoker ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $func_10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $log-i32 ;; CHECK-NEXT: (call $hashMemory) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $func_10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (call $log-i32 ;; CHECK-NEXT: (call $hashMemory) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $func_10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (call $func_10) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (func $func_12 (result i64) ;; CHECK-NEXT: (local $0 i64) ;; CHECK-NEXT: (local $1 f64) ;; CHECK-NEXT: (local $2 i64) ;; CHECK-NEXT: (local $3 f32) ;; CHECK-NEXT: (local $4 i64) ;; CHECK-NEXT: (local $5 i64) ;; CHECK-NEXT: (local $6 i64) ;; CHECK-NEXT: (local $7 i64) ;; CHECK-NEXT: (local $8 i32) ;; CHECK-NEXT: (local $9 i32) ;; CHECK-NEXT: (local $10 f32) ;; CHECK-NEXT: (local $11 i64) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $label$1 ;; CHECK-NEXT: (drop ;; CHECK-NEXT: (i32.load16_s offset=22 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (local.get $9) ;; CHECK-NEXT: (i32.const 15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (return ;; CHECK-NEXT: (i64.const 3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (func $func_13 (param $0 i32) (param $1 f32) (param $2 f64) (param $3 f32) (result i32) ;; CHECK-NEXT: (local $4 i32) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $label$0 (result i32) ;; CHECK-NEXT: (loop $label$1 ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (block $label$2 ;; CHECK-NEXT: (global.set $global$_13 ;; CHECK-NEXT: (f64.load offset=3 ;; CHECK-NEXT: (br_if $label$0 ;; CHECK-NEXT: (i32.load offset=22 align=1 ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.load8_u offset=3 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.load offset=22 align=1 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.trunc_f32_s ;; CHECK-NEXT: (local.get $3) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.const 15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (f64.nearest ;; CHECK-NEXT: (f64.const -3402823466385288598117041e14) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $label$1 ;; CHECK-NEXT: (i32.le_u ;; CHECK-NEXT: (select ;; CHECK-NEXT: (block $label$32 ;; CHECK-NEXT: (loop $label$33 ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (call $log-i32 ;; CHECK-NEXT: (i32.const 15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (br_if $label$33 ;; CHECK-NEXT: (local.tee $0 ;; CHECK-NEXT: (global.get $global$_11) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $global$_13 ;; CHECK-NEXT: (f64.nearest ;; CHECK-NEXT: (f64.const -3402823466385288598117041e14) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (return ;; CHECK-NEXT: (i32.const 2147483646) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.load offset=4 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (i32.wrap_i64 ;; CHECK-NEXT: (i64.load32_s offset=4 align=2 ;; CHECK-NEXT: (i32.and ;; CHECK-NEXT: (call $func_8) ;; CHECK-NEXT: (i32.const 15) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (loop $label$14 ;; CHECK-NEXT: (block ;; CHECK-NEXT: (if ;; CHECK-NEXT: (i32.eqz ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.const 100) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (unreachable) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (global.set $hangLimit ;; CHECK-NEXT: (i32.sub ;; CHECK-NEXT: (global.get $hangLimit) ;; CHECK-NEXT: (i32.const 1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (block $label$15 ;; CHECK-NEXT: (local.set $1 ;; CHECK-NEXT: (local.get $1) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (return ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $4) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $2 ;; CHECK-NEXT: (f64.const -nan:0xfffffffffffb2) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (return ;; CHECK-NEXT: (i32.const -1217019) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (func $hashMemory (result i32) ;; CHECK-NEXT: (local $0 i32) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.const 5381) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.xor ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.load8_u ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.xor ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.load8_u offset=1 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.xor ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.load8_u offset=2 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.xor ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.load8_u offset=3 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.xor ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.load8_u offset=4 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.xor ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.load8_u offset=5 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.xor ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.load8_u offset=6 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.xor ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.load8_u offset=7 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.xor ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.load8_u offset=8 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.xor ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.load8_u offset=9 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.xor ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.load8_u offset=10 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.xor ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.load8_u offset=11 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.xor ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.load8_u offset=12 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.xor ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.load8_u offset=13 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.xor ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.load8_u offset=14 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.set $0 ;; CHECK-NEXT: (i32.xor ;; CHECK-NEXT: (i32.add ;; CHECK-NEXT: (i32.shl ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: (i32.const 5) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (i32.load8_u offset=15 ;; CHECK-NEXT: (i32.const 0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: (local.get $0) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ) ;; CHECK-NEXT: ;; CHECK-NEXT: Using lattice element seed 4234964801256893051 ;; CHECK-NEXT: Generated FiniteIntPowersetLattice elements: ;; CHECK-NEXT: 1, ;; CHECK-NEXT: 1, ;; CHECK-NEXT: 0 ;; CHECK-NEXT: for func to test LivenessTransferFunction. ;; CHECK-NEXT: ;; CHECK-NEXT: Using lattice element seed 4577570485573586799 ;; CHECK-NEXT: Generated FinitePowersetLattice elements: ;; CHECK-NEXT: , ;; CHECK-NEXT: , ;; CHECK-NEXT: ;; CHECK-NEXT: for func_invoker to test ReachingDefinitionsTransferFunction. ;; CHECK-NEXT: ;; CHECK-NEXT: Using lattice element seed 8191301589003135276 ;; CHECK-NEXT: Generated FinitePowersetLattice elements: ;; CHECK-NEXT: 0, ;; CHECK-NEXT: 0, ;; CHECK-NEXT: 1 ;; CHECK-NEXT: for func_6 to test ReachingDefinitionsTransferFunction. ;; CHECK-NEXT: ;; CHECK-NEXT: Using lattice element seed 8068299453651594774 ;; CHECK-NEXT: Generated FinitePowersetLattice elements: ;; CHECK-NEXT: , ;; CHECK-NEXT: , ;; CHECK-NEXT: ;; CHECK-NEXT: for func_6_invoker to test ReachingDefinitionsTransferFunction. ;; CHECK-NEXT: ;; CHECK-NEXT: Using lattice element seed 5852178751023674337 ;; CHECK-NEXT: Generated StackLattice elements: ;; CHECK-NEXT: 010010 ;; CHECK-NEXT: 000110 ;; CHECK-NEXT: 000010 ;; CHECK-NEXT: 111100 ;; CHECK-NEXT: 111001 ;; CHECK-NEXT: , ;; CHECK-NEXT: 110111 ;; CHECK-NEXT: 001000 ;; CHECK-NEXT: 100000 ;; CHECK-NEXT: 010010 ;; CHECK-NEXT: 011110 ;; CHECK-NEXT: 101111 ;; CHECK-NEXT: 000001 ;; CHECK-NEXT: 011011 ;; CHECK-NEXT: , ;; CHECK-NEXT: 111011 ;; CHECK-NEXT: 010111 ;; CHECK-NEXT: 111011 ;; CHECK-NEXT: 011001 ;; CHECK-NEXT: 001000 ;; CHECK-NEXT: 001110 ;; CHECK-NEXT: 101001 ;; CHECK-NEXT: 010100 ;; CHECK-NEXT: 111111 ;; CHECK-NEXT: ;; CHECK-NEXT: for func_8 to test LivenessTransferFunction. ;; CHECK-NEXT: ;; CHECK-NEXT: Using lattice element seed 13832862600605363478 ;; CHECK-NEXT: Generated StackLattice elements: ;; CHECK-NEXT: , ;; CHECK-NEXT: , ;; CHECK-NEXT: ;; CHECK-NEXT: for func_8_invoker to test LivenessTransferFunction. ;; CHECK-NEXT: ;; CHECK-NEXT: Using lattice element seed 7970088265179676333 ;; CHECK-NEXT: Generated FiniteIntPowersetLattice elements: ;; CHECK-NEXT: 110, ;; CHECK-NEXT: 001, ;; CHECK-NEXT: 000 ;; CHECK-NEXT: for func_10 to test LivenessTransferFunction. ;; CHECK-NEXT: ;; CHECK-NEXT: Using lattice element seed 14582942952639200251 ;; CHECK-NEXT: Generated FiniteIntPowersetLattice elements: ;; CHECK-NEXT: , ;; CHECK-NEXT: , ;; CHECK-NEXT: ;; CHECK-NEXT: for func_10_invoker to test LivenessTransferFunction. ;; CHECK-NEXT: ;; CHECK-NEXT: Using lattice element seed 16331556144677973625 ;; CHECK-NEXT: Generated StackLattice elements: ;; CHECK-NEXT: 111011111001 ;; CHECK-NEXT: 111101000101 ;; CHECK-NEXT: 010000101000 ;; CHECK-NEXT: 001010000110 ;; CHECK-NEXT: 010100100001 ;; CHECK-NEXT: 111101100101 ;; CHECK-NEXT: 111110001001 ;; CHECK-NEXT: 100110000100 ;; CHECK-NEXT: 000111111001 ;; CHECK-NEXT: , ;; CHECK-NEXT: 111100110101 ;; CHECK-NEXT: 100010111101 ;; CHECK-NEXT: 010100011110 ;; CHECK-NEXT: 000011001000 ;; CHECK-NEXT: 010000100101 ;; CHECK-NEXT: 010010101010 ;; CHECK-NEXT: 110101110000 ;; CHECK-NEXT: 010110000100 ;; CHECK-NEXT: 111101011111 ;; CHECK-NEXT: 010101001111 ;; CHECK-NEXT: 111000110111 ;; CHECK-NEXT: , ;; CHECK-NEXT: 110000010011 ;; CHECK-NEXT: 010000001001 ;; CHECK-NEXT: 001111100000 ;; CHECK-NEXT: 011010110101 ;; CHECK-NEXT: 011110111110 ;; CHECK-NEXT: 001111010001 ;; CHECK-NEXT: 100100001010 ;; CHECK-NEXT: 010010100001 ;; CHECK-NEXT: 010101001000 ;; CHECK-NEXT: 011111011001 ;; CHECK-NEXT: 001111100010 ;; CHECK-NEXT: 100111000001 ;; CHECK-NEXT: 001011010100 ;; CHECK-NEXT: 101001010010 ;; CHECK-NEXT: ;; CHECK-NEXT: for func_12 to test LivenessTransferFunction. ;; CHECK-NEXT: ;; CHECK-NEXT: Using lattice element seed 6783688792201211800 ;; CHECK-NEXT: Generated StackLattice elements: ;; CHECK-NEXT: 00100 ;; CHECK-NEXT: 11100 ;; CHECK-NEXT: 00110 ;; CHECK-NEXT: 10110 ;; CHECK-NEXT: 01001 ;; CHECK-NEXT: 00110 ;; CHECK-NEXT: 10110 ;; CHECK-NEXT: 11100 ;; CHECK-NEXT: 00101 ;; CHECK-NEXT: 01001 ;; CHECK-NEXT: 01000 ;; CHECK-NEXT: 00101 ;; CHECK-NEXT: , ;; CHECK-NEXT: 11010 ;; CHECK-NEXT: 11001 ;; CHECK-NEXT: 00101 ;; CHECK-NEXT: 10010 ;; CHECK-NEXT: 00101 ;; CHECK-NEXT: 00111 ;; CHECK-NEXT: 00000 ;; CHECK-NEXT: 10111 ;; CHECK-NEXT: , ;; CHECK-NEXT: 11010 ;; CHECK-NEXT: 11100 ;; CHECK-NEXT: 10001 ;; CHECK-NEXT: 11011 ;; CHECK-NEXT: 01001 ;; CHECK-NEXT: 11011 ;; CHECK-NEXT: 00101 ;; CHECK-NEXT: ;; CHECK-NEXT: for func_13 to test LivenessTransferFunction. ;; CHECK-NEXT: ;; CHECK-NEXT: Using lattice element seed 15457352654905208821 ;; CHECK-NEXT: Generated FiniteIntPowersetLattice elements: ;; CHECK-NEXT: 1, ;; CHECK-NEXT: 0, ;; CHECK-NEXT: 1 ;; CHECK-NEXT: for hashMemory to test LivenessTransferFunction. ;; CHECK-NEXT: