(module (type $ii (func (param i32) (result i32))) (type $i (func (result i32))) (type $iiiiv (func (param i32 i32 i32 i32))) (type $v (func)) (import "env" "abort" (func $abort (param i32 i32 i32 i32))) (global $HEAP_BASE i32 (i32.const 20)) (memory $0 1) (data (i32.const 4) "\05\00\00\00i\00f\00.\00t\00s\00") (export "ifThenElse" (func $if/ifThenElse)) (export "ifThen" (func $if/ifThen)) (export "ifThenElseBlock" (func $if/ifThenElseBlock)) (export "ifAlwaysReturns" (func $if/ifAlwaysReturns)) (export "memory" (memory $0)) (start $start) (func $if/ifThenElse (; 1 ;) (type $ii) (param $0 i32) (result i32) (if (get_local $0) (return (i32.const 1) ) (return (i32.const 0) ) ) ) (func $if/ifThen (; 2 ;) (type $ii) (param $0 i32) (result i32) (if (get_local $0) (return (i32.const 1) ) ) (return (i32.const 0) ) ) (func $if/ifThenElseBlock (; 3 ;) (type $ii) (param $0 i32) (result i32) (if (get_local $0) (return (i32.const 1) ) (return (i32.const 0) ) ) ) (func $if/ifAlwaysReturns (; 4 ;) (type $ii) (param $0 i32) (result i32) (if (get_local $0) (return (i32.const 1) ) (block (call $abort (i32.const 0) (i32.const 4) (i32.const 37) (i32.const 4) ) (unreachable) ) ) ) (func $start (; 5 ;) (type $v) (if (i32.eqz (i32.eq (call $if/ifThenElse (i32.const 0) ) (i32.const 0) ) ) (block (call $abort (i32.const 0) (i32.const 4) (i32.const 8) (i32.const 0) ) (unreachable) ) ) (if (i32.eqz (i32.eq (call $if/ifThenElse (i32.const 1) ) (i32.const 1) ) ) (block (call $abort (i32.const 0) (i32.const 4) (i32.const 9) (i32.const 0) ) (unreachable) ) ) (if (i32.eqz (i32.eq (call $if/ifThen (i32.const 0) ) (i32.const 0) ) ) (block (call $abort (i32.const 0) (i32.const 4) (i32.const 17) (i32.const 0) ) (unreachable) ) ) (if (i32.eqz (i32.eq (call $if/ifThen (i32.const 1) ) (i32.const 1) ) ) (block (call $abort (i32.const 0) (i32.const 4) (i32.const 18) (i32.const 0) ) (unreachable) ) ) (if (i32.eqz (i32.eq (call $if/ifThenElseBlock (i32.const 0) ) (i32.const 0) ) ) (block (call $abort (i32.const 0) (i32.const 4) (i32.const 30) (i32.const 0) ) (unreachable) ) ) (if (i32.eqz (i32.eq (call $if/ifThenElseBlock (i32.const 1) ) (i32.const 1) ) ) (block (call $abort (i32.const 0) (i32.const 4) (i32.const 31) (i32.const 0) ) (unreachable) ) ) ) )