| (module |
| (type $0 (func)) |
| (type $1 (func (param i32 i32) (result i32))) |
| (type $2 (func (result i32))) |
| (memory $0 0) |
| (func $ifs (; 0 ;) (type $0) |
| (if |
| (i32.const 0) |
| (nop) |
| ) |
| (block |
| (drop |
| (i32.const 0) |
| ) |
| (nop) |
| ) |
| (if |
| (i32.const 0) |
| (nop) |
| (unreachable) |
| ) |
| (drop |
| (block (result i32) |
| (drop |
| (i32.const 0) |
| ) |
| (i32.add |
| (i32.const 1) |
| (i32.const 2) |
| ) |
| ) |
| ) |
| (drop |
| (if (result i32) |
| (i32.const 0) |
| (i32.add |
| (i32.const 1) |
| (i32.const 2) |
| ) |
| (i32.add |
| (i32.const 1) |
| (i32.const 333333333) |
| ) |
| ) |
| ) |
| ) |
| (func $ifs-blocks (; 1 ;) (type $0) |
| (block |
| (drop |
| (i32.const 0) |
| ) |
| (block |
| (nop) |
| ) |
| ) |
| (block |
| (if |
| (i32.const 0) |
| (unreachable) |
| (block |
| ) |
| ) |
| (nop) |
| ) |
| (block |
| (if |
| (i32.const 0) |
| (block |
| ) |
| (unreachable) |
| ) |
| (nop) |
| ) |
| (if |
| (i32.const 0) |
| (block |
| (nop) |
| (unreachable) |
| ) |
| (nop) |
| ) |
| (if |
| (i32.const 0) |
| (nop) |
| (block |
| (nop) |
| (unreachable) |
| ) |
| ) |
| ) |
| (func $ifs-blocks-big (; 2 ;) (type $0) |
| (block |
| (drop |
| (i32.const 0) |
| ) |
| (block |
| (drop |
| (i32.add |
| (i32.const 1) |
| (i32.const 2) |
| ) |
| ) |
| ) |
| ) |
| (block |
| (if |
| (i32.const 0) |
| (unreachable) |
| (block |
| ) |
| ) |
| (drop |
| (i32.add |
| (i32.const 1) |
| (i32.const 2) |
| ) |
| ) |
| ) |
| (block |
| (if |
| (i32.const 0) |
| (block |
| ) |
| (unreachable) |
| ) |
| (drop |
| (i32.add |
| (i32.const 1) |
| (i32.const 2) |
| ) |
| ) |
| ) |
| (if |
| (i32.const 0) |
| (block |
| (drop |
| (i32.add |
| (i32.const 1) |
| (i32.const 2) |
| ) |
| ) |
| (unreachable) |
| ) |
| (drop |
| (i32.add |
| (i32.const 1) |
| (i32.const 2) |
| ) |
| ) |
| ) |
| (if |
| (i32.const 0) |
| (drop |
| (i32.add |
| (i32.const 1) |
| (i32.const 2) |
| ) |
| ) |
| (block |
| (drop |
| (i32.add |
| (i32.const 1) |
| (i32.const 2) |
| ) |
| ) |
| (unreachable) |
| ) |
| ) |
| ) |
| (func $ifs-blocks-long (; 3 ;) (type $0) |
| (block |
| (if |
| (i32.const 1) |
| (block |
| (drop |
| (i32.const -1234) |
| ) |
| (drop |
| (i32.const -1000) |
| ) |
| ) |
| (drop |
| (i32.const 999) |
| ) |
| ) |
| (drop |
| (i32.const 1) |
| ) |
| (nop) |
| (unreachable) |
| ) |
| (drop |
| (block (result i32) |
| (if |
| (i32.const 2) |
| (block |
| (drop |
| (i32.const -1234) |
| ) |
| (drop |
| (i32.const -1000) |
| ) |
| ) |
| (drop |
| (i32.const 999) |
| ) |
| ) |
| (drop |
| (i32.const 1) |
| ) |
| (nop) |
| (unreachable) |
| (i32.const 2) |
| ) |
| ) |
| (drop |
| (block (result i32) |
| (if |
| (i32.const 3) |
| (block |
| (drop |
| (i32.const -1234) |
| ) |
| (drop |
| (i32.const -1000) |
| ) |
| ) |
| (drop |
| (i32.const 999) |
| ) |
| ) |
| (drop |
| (i32.const 1) |
| ) |
| (nop) |
| (i32.const 2) |
| ) |
| ) |
| ) |
| (func $if-worth-it-i-dunno (; 4 ;) (type $0) |
| (block $folding-inner0 |
| (block |
| (if |
| (i32.const 0) |
| (if |
| (i32.const 0) |
| (block |
| (drop |
| (i32.const -1234) |
| ) |
| (drop |
| (i32.const -1000) |
| ) |
| (br $folding-inner0) |
| ) |
| (block |
| (drop |
| (i32.const 999) |
| ) |
| (drop |
| (i32.const 1) |
| ) |
| (br $folding-inner0) |
| ) |
| ) |
| ) |
| (if |
| (i32.const 0) |
| (block |
| (if |
| (i32.const 0) |
| (block |
| (drop |
| (i32.const -1234) |
| ) |
| (drop |
| (i32.const -1000) |
| ) |
| ) |
| (block |
| (drop |
| (i32.const 999) |
| ) |
| (drop |
| (i32.const 1) |
| ) |
| ) |
| ) |
| (unreachable) |
| (br $folding-inner0) |
| ) |
| ) |
| (if |
| (i32.const 0) |
| (block |
| (if |
| (i32.const 0) |
| (block |
| ) |
| (block |
| (drop |
| (i32.const 999) |
| ) |
| (drop |
| (i32.const 1) |
| ) |
| ) |
| ) |
| (br $folding-inner0) |
| ) |
| ) |
| (if |
| (i32.const 0) |
| (block |
| (if |
| (i32.const 0) |
| (block |
| (drop |
| (i32.const -1234) |
| ) |
| (drop |
| (i32.const -1000) |
| ) |
| ) |
| (block |
| ) |
| ) |
| (br $folding-inner0) |
| ) |
| ) |
| (block |
| (block |
| (if |
| (i32.const 9999) |
| (block |
| (drop |
| (i32.const -51234) |
| ) |
| (drop |
| (i32.const -51000) |
| ) |
| ) |
| (block |
| (drop |
| (i32.const 5999) |
| ) |
| (drop |
| (i32.const 51) |
| ) |
| ) |
| ) |
| (br $folding-inner0) |
| ) |
| ) |
| (drop |
| (block (result i32) |
| (block (result i32) |
| (if |
| (i32.const 9999) |
| (block |
| (drop |
| (i32.const -51234) |
| ) |
| (drop |
| (i32.const -51000) |
| ) |
| ) |
| (block |
| (drop |
| (i32.const 5999) |
| ) |
| (drop |
| (i32.const 51) |
| ) |
| ) |
| ) |
| (unreachable) |
| (i32.const 10) |
| ) |
| ) |
| ) |
| (block |
| (drop |
| (if (result i32) |
| (i32.const 9999) |
| (block (result i32) |
| (drop |
| (i32.const -51234) |
| ) |
| (drop |
| (i32.const -51000) |
| ) |
| (unreachable) |
| (i32.const 10) |
| ) |
| (block (result i32) |
| (drop |
| (i32.const 5999) |
| ) |
| (drop |
| (i32.const 51) |
| ) |
| (unreachable) |
| (i32.const 10) |
| ) |
| ) |
| ) |
| ) |
| ) |
| ) |
| (unreachable) |
| (unreachable) |
| ) |
| (func $no-grandparent (; 5 ;) (type $0) |
| (if |
| (i32.const 9999) |
| (block |
| (drop |
| (i32.const -51234) |
| ) |
| (drop |
| (i32.const -51000) |
| ) |
| (unreachable) |
| (unreachable) |
| ) |
| (block |
| (drop |
| (i32.const 5999) |
| ) |
| (drop |
| (i32.const 51) |
| ) |
| (unreachable) |
| (unreachable) |
| ) |
| ) |
| ) |
| (func $yes-grandparent (; 6 ;) (type $0) |
| (block |
| (if |
| (i32.const 9999) |
| (block |
| (drop |
| (i32.const -51234) |
| ) |
| (drop |
| (i32.const -51000) |
| ) |
| ) |
| (block |
| (drop |
| (i32.const 5999) |
| ) |
| (drop |
| (i32.const 51) |
| ) |
| ) |
| ) |
| (unreachable) |
| (unreachable) |
| ) |
| ) |
| (func $ifs-named-block (; 7 ;) (type $1) (param $x i32) (param $y i32) (result i32) |
| (block $out |
| (block $out2 |
| (block |
| (drop |
| (get_local $x) |
| ) |
| (block |
| (br_if $out |
| (get_local $y) |
| ) |
| (nop) |
| ) |
| ) |
| (block |
| (if |
| (get_local $x) |
| (br_if $out |
| (get_local $y) |
| ) |
| (br_if $out2 |
| (get_local $y) |
| ) |
| ) |
| (nop) |
| ) |
| (if |
| (i32.const 1234) |
| (if |
| (get_local $x) |
| (block |
| (nop) |
| (br_if $out |
| (get_local $y) |
| ) |
| (nop) |
| ) |
| (block |
| (nop) |
| (br_if $out2 |
| (get_local $y) |
| ) |
| (nop) |
| ) |
| ) |
| ) |
| (if |
| (get_local $x) |
| (block $left |
| (br_if $left |
| (get_local $y) |
| ) |
| (nop) |
| ) |
| (block |
| (br_if $out |
| (get_local $y) |
| ) |
| (nop) |
| ) |
| ) |
| (if |
| (get_local $x) |
| (block |
| (br_if $out |
| (get_local $y) |
| ) |
| (nop) |
| ) |
| (block $right |
| (br_if $right |
| (get_local $y) |
| ) |
| (nop) |
| ) |
| ) |
| ) |
| (return |
| (i32.const 10) |
| ) |
| ) |
| (return |
| (i32.const 20) |
| ) |
| ) |
| (func $block (; 8 ;) (type $0) |
| (block $x |
| (if |
| (i32.const 0) |
| (br $x) |
| ) |
| (if |
| (i32.const 0) |
| (br $x) |
| ) |
| (br $x) |
| ) |
| (drop |
| (i32.const 1) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| ) |
| (func $block2 (; 9 ;) (type $0) |
| (block $x |
| (if |
| (i32.const 0) |
| (block |
| (drop |
| (i32.const 1) |
| ) |
| (drop |
| (i32.const 333333) |
| ) |
| (br $x) |
| ) |
| ) |
| (if |
| (i32.const 0) |
| (block |
| (drop |
| (i32.const 1) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| (br $x) |
| ) |
| ) |
| (drop |
| (i32.const 1) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| (br $x) |
| ) |
| ) |
| (func $block3 (; 10 ;) (type $0) |
| (block $x |
| (if |
| (i32.const 0) |
| (block |
| (drop |
| (i32.const 1000) |
| ) |
| (br $x) |
| ) |
| ) |
| (if |
| (i32.const 0) |
| (block |
| (drop |
| (i32.const 2000) |
| ) |
| (drop |
| (i32.const 3000) |
| ) |
| (br $x) |
| ) |
| ) |
| (drop |
| (i32.const 4000) |
| ) |
| (drop |
| (i32.const 5000) |
| ) |
| (drop |
| (i32.const 6000) |
| ) |
| (br $x) |
| ) |
| (drop |
| (i32.const 1) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| ) |
| (func $mixture (; 11 ;) (type $0) |
| (block $out |
| (block |
| (drop |
| (i32.const 1) |
| ) |
| (block |
| (drop |
| (i32.const 2) |
| ) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (br $out) |
| ) |
| ) |
| ) |
| (block $out2 |
| (block |
| (if |
| (i32.const 1) |
| (drop |
| (i32.const 3) |
| ) |
| (block |
| (drop |
| (i32.const 4) |
| ) |
| (drop |
| (i32.const 5) |
| ) |
| ) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (br $out2) |
| ) |
| ) |
| (block |
| (block $out3 |
| (block |
| (drop |
| (i32.const 1) |
| ) |
| (block |
| (br $out3) |
| ) |
| ) |
| (block |
| (drop |
| (i32.const 1) |
| ) |
| (block |
| (br $out3) |
| ) |
| ) |
| (br $out3) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| ) |
| ) |
| (func $block-corners (; 12 ;) (type $0) |
| (block |
| (block $x |
| (if |
| (i32.const 0) |
| (br $x) |
| ) |
| ) |
| (drop |
| (i32.const 1) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| ) |
| (drop |
| (block $y (result i32) |
| (if |
| (i32.const 0) |
| (block |
| (drop |
| (i32.const 1) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| (br $y |
| (i32.const 3) |
| ) |
| ) |
| ) |
| (drop |
| (i32.const 1) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| (br $y |
| (i32.const 3) |
| ) |
| ) |
| ) |
| (drop |
| (block $z (result i32) |
| (if |
| (i32.const 0) |
| (block |
| (drop |
| (i32.const 1) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| (br $z |
| (i32.const 2) |
| ) |
| ) |
| ) |
| (drop |
| (i32.const 1) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| (i32.const 3) |
| ) |
| ) |
| (block $w |
| (if |
| (i32.const 0) |
| (block |
| (drop |
| (i32.const 1) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| (br_if $w |
| (i32.const 3) |
| ) |
| ) |
| ) |
| (drop |
| (i32.const 1) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| ) |
| (block $x1 |
| (if |
| (i32.const 0) |
| (block |
| (drop |
| (i32.const 1) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| (br $x1) |
| (nop) |
| ) |
| ) |
| (drop |
| (i32.const 1) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| ) |
| (block $side |
| (block $x2 |
| (br_table $x2 $side |
| (i32.const 0) |
| ) |
| (if |
| (i32.const 0) |
| (block |
| (drop |
| (i32.const 1) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| (br $x2) |
| ) |
| ) |
| (drop |
| (i32.const 1) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| ) |
| (block $x3 |
| (br_table $side $x3 |
| (i32.const 0) |
| ) |
| (if |
| (i32.const 0) |
| (block |
| (drop |
| (i32.const 1) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| (br $x3) |
| ) |
| ) |
| (drop |
| (i32.const 1) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| ) |
| ) |
| ) |
| (func $terminating (; 13 ;) (type $0) |
| (block $folding-inner0 |
| (block |
| (if |
| (i32.const 1) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 2) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 3) |
| (br $folding-inner0) |
| ) |
| ) |
| (return) |
| ) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (unreachable) |
| ) |
| (func $terminating-unreachable (; 14 ;) (type $0) |
| (block $folding-inner0 |
| (block |
| (if |
| (i32.const 1) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 2) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 3) |
| (br $folding-inner0) |
| ) |
| (unreachable) |
| ) |
| ) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (unreachable) |
| ) |
| (func $terminating-value (; 15 ;) (type $2) (result i32) |
| (block $folding-inner0 |
| (return |
| (block (result i32) |
| (if |
| (i32.const 1) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 2) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 3) |
| (br $folding-inner0) |
| ) |
| (i32.const 4) |
| ) |
| ) |
| ) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (unreachable) |
| ) |
| (func $terminating-just-2 (; 16 ;) (type $0) |
| (block $folding-inner0 |
| (block |
| (if |
| (i32.const 1) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 2) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 3) |
| (block |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (drop |
| (i32.const 10) |
| ) |
| (unreachable) |
| ) |
| ) |
| ) |
| (return) |
| ) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (unreachable) |
| ) |
| (func $terminating-shortness (; 17 ;) (type $0) |
| (block $folding-inner1 |
| (block |
| (block $folding-inner0 |
| (block |
| (if |
| (i32.const 1) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 2) |
| (br $folding-inner1) |
| ) |
| (if |
| (i32.const 3) |
| (block |
| (drop |
| (i32.const 10) |
| ) |
| (br $folding-inner0) |
| ) |
| ) |
| ) |
| (return) |
| ) |
| (nop) |
| (br $folding-inner1) |
| ) |
| ) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (unreachable) |
| ) |
| (func $terminating-multiple-separate (; 18 ;) (type $0) |
| (block $folding-inner1 |
| (block |
| (block $folding-inner0 |
| (block |
| (if |
| (i32.const 1) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 1) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 1) |
| (br $folding-inner1) |
| ) |
| (if |
| (i32.const 1) |
| (br $folding-inner1) |
| ) |
| ) |
| (return) |
| ) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (drop |
| (i32.const 1) |
| ) |
| (unreachable) |
| ) |
| ) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (drop |
| (i32.const 2) |
| ) |
| (unreachable) |
| ) |
| (func $terminating-just-worth-it (; 19 ;) (type $0) |
| (block $folding-inner0 |
| (block |
| (if |
| (i32.const 1) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 2) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 3) |
| (br $folding-inner0) |
| ) |
| ) |
| (return) |
| ) |
| (nop) |
| (nop) |
| (nop) |
| (unreachable) |
| ) |
| (func $terminating-not-worth-it (; 20 ;) (type $0) |
| (if |
| (i32.const 1) |
| (block |
| (nop) |
| (nop) |
| (unreachable) |
| ) |
| ) |
| (if |
| (i32.const 2) |
| (block |
| (nop) |
| (nop) |
| (unreachable) |
| ) |
| ) |
| (if |
| (i32.const 3) |
| (block |
| (nop) |
| (nop) |
| (unreachable) |
| ) |
| ) |
| ) |
| (func $terminating-return (; 21 ;) (type $0) |
| (block $folding-inner0 |
| (block |
| (if |
| (i32.const 1) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 2) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 3) |
| (br $folding-inner0) |
| ) |
| ) |
| (return) |
| ) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (nop) |
| (return) |
| ) |
| (func $terminating-return-value (; 22 ;) (type $2) (result i32) |
| (block $folding-inner0 |
| (block |
| (if |
| (i32.const 1) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 2) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 3) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 3) |
| (block |
| (nop) |
| (return |
| (i32.add |
| (i32.const 111111111) |
| (i32.const 2222222) |
| ) |
| ) |
| ) |
| ) |
| (return |
| (i32.const 1234) |
| ) |
| ) |
| ) |
| (nop) |
| (return |
| (i32.add |
| (i32.const 1) |
| (i32.const 2) |
| ) |
| ) |
| ) |
| (func $terminating-fallthrough-value (; 23 ;) (type $2) (result i32) |
| (block $folding-inner0 |
| (return |
| (block (result i32) |
| (if |
| (i32.const 1) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 2) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 3) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 3) |
| (block |
| (nop) |
| (return |
| (i32.add |
| (i32.const 111111111) |
| (i32.const 2222222) |
| ) |
| ) |
| ) |
| ) |
| (i32.const 1234) |
| ) |
| ) |
| ) |
| (nop) |
| (return |
| (i32.add |
| (i32.const 1) |
| (i32.const 2) |
| ) |
| ) |
| ) |
| (func $big-return (; 24 ;) (type $2) (result i32) |
| (block $folding-inner0 |
| (block |
| (if |
| (i32.const 1) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 2) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 3) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 4) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 5) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 6) |
| (br $folding-inner0) |
| ) |
| (unreachable) |
| ) |
| ) |
| (return |
| (i32.add |
| (i32.const 1) |
| (i32.const 2) |
| ) |
| ) |
| ) |
| (func $return-mix (; 25 ;) (type $2) (result i32) |
| (block $folding-inner0 |
| (block |
| (if |
| (i32.const 1) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 2) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 3) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 4) |
| (br $folding-inner0) |
| ) |
| (if |
| (i32.const 3) |
| (return |
| (i32.add |
| (i32.const 1) |
| (i32.const 234567) |
| ) |
| ) |
| ) |
| (br $folding-inner0) |
| ) |
| ) |
| (return |
| (i32.add |
| (i32.const 1) |
| (i32.const 2) |
| ) |
| ) |
| ) |
| (func $just-unreachable (; 26 ;) (type $0) |
| (unreachable) |
| ) |
| (func $just-return (; 27 ;) (type $2) (result i32) |
| (return |
| (i32.add |
| (i32.const 1) |
| (i32.const 2) |
| ) |
| ) |
| ) |
| (func $drop-if-with-value-but-unreachable (; 28 ;) (type $0) |
| (if |
| (i32.const 0) |
| (nop) |
| ) |
| (block |
| (drop |
| (i32.const 0) |
| ) |
| (block |
| (nop) |
| ) |
| ) |
| (if |
| (i32.const 0) |
| (nop) |
| (unreachable) |
| ) |
| (nop) |
| (drop |
| (block (result i32) |
| (drop |
| (unreachable) |
| ) |
| (block (result i32) |
| (i32.add |
| (i32.const 1) |
| (i32.const 2) |
| ) |
| ) |
| ) |
| ) |
| (drop |
| (if (result i32) |
| (i32.const 0) |
| (i32.add |
| (i32.const 1) |
| (i32.const 2) |
| ) |
| (i32.add |
| (i32.const 1) |
| (i32.const 333333333) |
| ) |
| ) |
| ) |
| ) |
| (func $nested-control-flow (; 29 ;) (type $0) |
| (block $out |
| (block |
| (block $x |
| (if |
| (i32.const 0) |
| (br $x) |
| ) |
| (if |
| (i32.const 0) |
| (br $x) |
| ) |
| (br $x) |
| ) |
| (if |
| (i32.const 1) |
| (br $out) |
| ) |
| (drop |
| (i32.const 1) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| ) |
| (drop |
| (i32.const 3) |
| ) |
| ) |
| ) |
| (func $nested-control-flow-dangerous (; 30 ;) (type $0) |
| (block $folding-inner0 |
| (block $out |
| (block |
| (if |
| (i32.const 0) |
| (block |
| (if |
| (i32.const 1) |
| (br $out) |
| ) |
| (br $folding-inner0) |
| ) |
| ) |
| (if |
| (i32.const 0) |
| (block |
| (if |
| (i32.const 1) |
| (br $out) |
| ) |
| (br $folding-inner0) |
| ) |
| ) |
| (if |
| (i32.const 1) |
| (br $out) |
| ) |
| (br $folding-inner0) |
| ) |
| (drop |
| (i32.const 3) |
| ) |
| ) |
| (return) |
| ) |
| (drop |
| (i32.const 1) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| (return) |
| ) |
| (func $nested-control-flow-dangerous-but-ok (; 31 ;) (type $0) |
| (block $folding-inner0 |
| (block |
| (block $middle |
| (block |
| (if |
| (i32.const 0) |
| (block |
| (if |
| (i32.add |
| (i32.const 0) |
| (i32.const 1) |
| ) |
| (br $middle) |
| ) |
| (br $folding-inner0) |
| ) |
| ) |
| (if |
| (i32.const 0) |
| (block |
| (if |
| (i32.add |
| (i32.const 0) |
| (i32.const 1) |
| ) |
| (br $middle) |
| ) |
| (br $folding-inner0) |
| ) |
| ) |
| (if |
| (i32.add |
| (i32.const 0) |
| (i32.const 1) |
| ) |
| (br $middle) |
| ) |
| (br $folding-inner0) |
| ) |
| ) |
| (drop |
| (i32.const 3) |
| ) |
| ) |
| (return) |
| ) |
| (drop |
| (i32.const 1) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| (return) |
| ) |
| (func $nested-control-flow-dangerous-but-ok-b (; 32 ;) (type $0) |
| (block $out |
| (block $middle |
| (block |
| (if |
| (i32.const 0) |
| (block |
| (if |
| (i32.add |
| (i32.const 0) |
| (i32.const 1) |
| ) |
| (br $middle) |
| ) |
| (br $out) |
| ) |
| ) |
| (if |
| (i32.const 0) |
| (block |
| (if |
| (i32.add |
| (i32.const 0) |
| (i32.const 1) |
| ) |
| (br $middle) |
| ) |
| (br $out) |
| ) |
| ) |
| (if |
| (i32.add |
| (i32.const 0) |
| (i32.const 1) |
| ) |
| (br $middle) |
| ) |
| ) |
| ) |
| (unreachable) |
| ) |
| (drop |
| (i32.const 1) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| (drop |
| (i32.const 3) |
| ) |
| (drop |
| (i32.const 4) |
| ) |
| (drop |
| (i32.const 1) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| (drop |
| (i32.const 3) |
| ) |
| (drop |
| (i32.const 4) |
| ) |
| ) |
| (func $nested-control-flow-dangerous-but-ok-c (; 33 ;) (type $0) |
| (block $x |
| (block |
| (block $out |
| (block |
| (if |
| (i32.const 0) |
| (br $out) |
| ) |
| (if |
| (i32.const 0) |
| (br $out) |
| ) |
| (br $out) |
| ) |
| (unreachable) |
| ) |
| (if |
| (i32.add |
| (i32.const 0) |
| (i32.const 1) |
| ) |
| (br $x) |
| ) |
| (drop |
| (i32.const 1) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| ) |
| (unreachable) |
| ) |
| (drop |
| (i32.const 5) |
| ) |
| ) |
| (func $nested-control-flow-dangerous-but-ok-d (; 34 ;) (type $0) |
| (block |
| (block $out |
| (block |
| (if |
| (i32.const 0) |
| (br $out) |
| ) |
| (if |
| (i32.const 0) |
| (br $out) |
| ) |
| (br $out) |
| ) |
| ) |
| (block $x |
| (if |
| (i32.add |
| (i32.const 0) |
| (i32.const 1) |
| ) |
| (br $x) |
| ) |
| ) |
| (drop |
| (i32.const 1) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| ) |
| (drop |
| (i32.const 3) |
| ) |
| ) |
| ) |