(module (type $none_=>_none (func)) (type $i32_=>_none (func (param i32))) (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $f64_i32_=>_i64 (func (param f64 i32) (result i64))) (type $i32_i32_=>_none (func (param i32 i32))) (type $i32_f32_=>_none (func (param i32 f32))) (type $none_=>_i32 (func (result i32))) (type $i32_=>_i32 (func (param i32) (result i32))) (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) (type $none_=>_f64 (func (result f64))) (import "env" "_emscripten_autodebug_i32" (func $_emscripten_autodebug_i32 (param i32 i32) (result i32))) (import "env" "get" (func $get (result i32))) (import "env" "set" (func $set (param i32))) (memory $0 10) (func $nothing-to-do (local $0 i32) (nop) ) (func $merge (local $0 i32) (nop) ) (func $leave-type (local $0 i32) (local $1 f32) (nop) ) (func $leave-interfere (local $0 i32) (local $1 i32) (local.set $0 (i32.const 0) ) (local.set $1 (i32.const 0) ) (drop (local.get $0) ) (drop (local.get $1) ) ) (func $almost-interfere (local $0 i32) (local.set $0 (i32.const 0) ) (drop (local.get $0) ) (local.set $0 (i32.const 0) ) (drop (local.get $0) ) ) (func $redundant-copy (local $0 i32) (local.set $0 (i32.const 0) ) (nop) (drop (local.get $0) ) ) (func $ineffective-store (local $0 i32) (drop (i32.const 0) ) (local.set $0 (i32.const 0) ) (drop (local.get $0) ) ) (func $block (local $0 i32) (block $block0 (local.set $0 (i32.const 0) ) ) (drop (local.get $0) ) ) (func $see-both-sides (local $0 i32) (local $1 i32) (local.set $0 (i32.const 0) ) (block $block0 (local.set $1 (i32.const 0) ) ) (drop (local.get $0) ) (drop (local.get $1) ) ) (func $see-br-and-ignore-dead (local $0 i32) (local.set $0 (i32.const 0) ) (block $block (br $block) (drop (i32.const 0) ) (drop (i32.const 0) ) (drop (i32.const -1) ) ) (drop (local.get $0) ) ) (func $see-block-body (local $0 i32) (local $1 i32) (local.set $0 (i32.const 0) ) (block $block (local.set $1 (i32.const 0) ) (drop (local.get $1) ) (br $block) ) (drop (local.get $0) ) ) (func $zero-init (local $0 i32) (local $1 i32) (drop (local.get $0) ) (drop (local.get $1) ) ) (func $multi (local $0 i32) (local $1 i32) (drop (local.get $0) ) (drop (local.get $1) ) ) (func $if-else (local $0 i32) (local $1 i32) (if (i32.const 0) (drop (local.get $0) ) (drop (local.get $1) ) ) ) (func $if-else-parallel (local $0 i32) (if (i32.const 0) (block $block1 (local.set $0 (i32.const 0) ) (drop (local.get $0) ) ) (block $block3 (local.set $0 (i32.const 1) ) (drop (local.get $0) ) ) ) ) (func $if-else-after (local $0 i32) (local $1 i32) (if (i32.const 0) (local.set $0 (i32.const 0) ) (local.set $1 (i32.const 1) ) ) (drop (local.get $0) ) (drop (local.get $1) ) ) (func $if-else-through (local $0 i32) (local $1 i32) (local.set $0 (i32.const 0) ) (local.set $1 (i32.const 1) ) (if (i32.const 0) (drop (i32.const 1) ) (drop (i32.const 2) ) ) (drop (local.get $0) ) (drop (local.get $1) ) ) (func $if-through (local $0 i32) (local $1 i32) (local.set $0 (i32.const 0) ) (local.set $1 (i32.const 1) ) (if (i32.const 0) (drop (i32.const 1) ) ) (drop (local.get $0) ) (drop (local.get $1) ) ) (func $if-through2 (local $0 i32) (local $1 i32) (local.set $0 (i32.const 0) ) (if (i32.const 0) (local.set $1 (i32.const 1) ) ) (drop (local.get $0) ) (drop (local.get $1) ) ) (func $if-through3 (local $0 i32) (local $1 i32) (local.set $0 (i32.const 0) ) (if (i32.const 0) (block $block1 (drop (local.get $0) ) (drop (local.get $1) ) ) ) ) (func $if2 (local $0 i32) (local $1 i32) (if (local.tee $0 (i32.const 0) ) (block $block1 (drop (local.get $0) ) (drop (local.get $1) ) ) ) ) (func $if3 (local $0 i32) (local $1 i32) (if (i32.const 0) (block $block1 (local.set $0 (i32.const 0) ) (drop (local.get $0) ) ) ) (drop (local.get $1) ) ) (func $if4 (local $0 i32) (if (i32.const 0) (block $block1 (local.set $0 (i32.const 0) ) (drop (local.get $0) ) (local.set $0 (i32.const 1) ) ) ) (drop (local.get $0) ) ) (func $if5 (local $0 i32) (local $1 i32) (if (i32.const 0) (block $block1 (drop (local.get $0) ) (local.set $1 (i32.const 1) ) ) ) (drop (local.get $1) ) ) (func $loop (local $0 i32) (local $1 i32) (loop $in (drop (local.get $0) ) (local.set $0 (i32.const 0) ) (drop (local.get $1) ) (br $in) ) ) (func $interfere-in-dead (local $0 i32) (block $block (br $block) (drop (i32.const 0) ) (drop (i32.const 0) ) ) ) (func $interfere-in-dead2 (local $0 i32) (block $block (unreachable) (drop (i32.const 0) ) (drop (i32.const 0) ) ) ) (func $interfere-in-dead3 (local $0 i32) (block $block (return) (drop (i32.const 0) ) (drop (i32.const 0) ) ) ) (func $params (param $0 i32) (param $1 f32) (local $2 i32) (local $3 i32) (local $4 i32) (drop (local.get $2) ) (drop (local.get $3) ) (drop (local.get $4) ) ) (func $interfere-in-dead4 (local $0 i32) (local $1 i32) (block $block (br_if $block (i32.const 0) ) (drop (local.get $0) ) (drop (local.get $1) ) ) ) (func $switch (local $0 i32) (local $1 i32) (local $2 i32) (block $switch$def (block $switch-case$1 (block $switch-case$2 (br_table $switch-case$1 $switch-case$2 $switch-case$1 $switch-case$1 $switch$def (i32.const 100) ) (drop (i32.const 0) ) ) (drop (local.get $0) ) ) (drop (local.get $1) ) ) (drop (local.get $2) ) ) (func $greedy-can-be-happy (local $0 i32) (local $1 i32) (if (i32.const 0) (if (i32.const 1) (if (i32.const 2) (block $block3 (local.set $0 (i32.const 100) ) (local.set $1 (i32.const 101) ) (drop (local.get $0) ) (drop (local.get $1) ) ) (block $block5 (local.set $0 (i32.const 102) ) (local.set $1 (i32.const 103) ) (drop (local.get $0) ) (drop (local.get $1) ) ) ) (if (i32.const 3) (block $block8 (local.set $0 (i32.const 104) ) (local.set $1 (i32.const 105) ) (drop (local.get $0) ) (drop (local.get $1) ) ) (block $block10 (local.set $0 (i32.const 106) ) (local.set $1 (i32.const 107) ) (drop (local.get $0) ) (drop (local.get $1) ) ) ) ) (if (i32.const 4) (block $block13 (local.set $0 (i32.const 108) ) (local.set $1 (i32.const 109) ) (drop (local.get $0) ) (drop (local.get $1) ) ) (block $block15 (local.set $0 (i32.const 110) ) (local.set $1 (i32.const 111) ) (drop (local.get $0) ) (drop (local.get $1) ) ) ) ) ) (func $greedy-can-be-sad (local $0 i32) (local $1 i32) (local $2 i32) (if (i32.const 0) (if (i32.const 1) (if (i32.const 2) (block $block3 (local.set $0 (i32.const 100) ) (local.set $1 (i32.const 101) ) (drop (local.get $0) ) (drop (local.get $1) ) ) (block $block5 (local.set $0 (i32.const 102) ) (local.set $2 (i32.const 103) ) (drop (local.get $0) ) (drop (local.get $2) ) ) ) (if (i32.const 3) (block $block8 (local.set $1 (i32.const 104) ) (local.set $0 (i32.const 105) ) (drop (local.get $1) ) (drop (local.get $0) ) ) (block $block10 (local.set $1 (i32.const 106) ) (local.set $2 (i32.const 107) ) (drop (local.get $1) ) (drop (local.get $2) ) ) ) ) (if (i32.const 4) (block $block13 (local.set $2 (i32.const 108) ) (local.set $0 (i32.const 109) ) (drop (local.get $2) ) (drop (local.get $0) ) ) (block $block15 (local.set $2 (i32.const 110) ) (local.set $1 (i32.const 111) ) (drop (local.get $2) ) (drop (local.get $1) ) ) ) ) ) (func $_memcpy (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (if (i32.ge_s (local.get $2) (i32.const 4096) ) (drop (local.get $0) ) ) (local.set $3 (local.get $0) ) (if (i32.eq (i32.and (local.get $0) (i32.const 3) ) (i32.and (local.get $1) (i32.const 3) ) ) (block $block2 (block $while-out$0 (loop $while-in$1 (if (i32.eqz (i32.and (local.get $0) (i32.const 3) ) ) (br $while-out$0) ) (block $block4 (if (i32.eqz (local.get $2) ) (return (local.get $3) ) ) (i32.store8 (local.get $0) (i32.load8_s (local.get $1) ) ) (local.set $0 (i32.add (local.get $0) (i32.const 1) ) ) (local.set $1 (i32.add (local.get $1) (i32.const 1) ) ) (local.set $2 (i32.sub (local.get $2) (i32.const 1) ) ) ) (br $while-in$1) ) ) (block $while-out$2 (loop $while-in$3 (if (i32.eqz (i32.ge_s (local.get $2) (i32.const 4) ) ) (br $while-out$2) ) (block $block7 (i32.store (local.get $0) (i32.load (local.get $1) ) ) (local.set $0 (i32.add (local.get $0) (i32.const 4) ) ) (local.set $1 (i32.add (local.get $1) (i32.const 4) ) ) (local.set $2 (i32.sub (local.get $2) (i32.const 4) ) ) ) (br $while-in$3) ) ) ) ) (block $while-out$4 (loop $while-in$5 (if (i32.eqz (i32.gt_s (local.get $2) (i32.const 0) ) ) (br $while-out$4) ) (block $block9 (i32.store8 (local.get $0) (i32.load8_s (local.get $1) ) ) (local.set $0 (i32.add (local.get $0) (i32.const 1) ) ) (local.set $1 (i32.add (local.get $1) (i32.const 1) ) ) (local.set $2 (i32.sub (local.get $2) (i32.const 1) ) ) ) (br $while-in$5) ) ) (return (local.get $3) ) ) (func $this-is-effective-i-tell-you (param $0 i32) (if (i32.const -1) (block $block1 (if (i32.const 0) (nop) ) (local.set $0 (i32.const 1) ) ) (nop) ) (drop (local.get $0) ) ) (func $prefer-remove-copies1 (local $0 i32) (local $1 i32) (local.set $0 (i32.const 0) ) (nop) (local.set $1 (i32.const 1) ) (drop (local.get $0) ) (drop (local.get $1) ) ) (func $prefer-remove-copies2 (local $0 i32) (local $1 i32) (local.set $0 (i32.const 0) ) (nop) (local.set $1 (i32.const 1) ) (drop (local.get $1) ) (drop (local.get $0) ) ) (func $in-unreachable (local $0 i32) (block $x (return) (drop (i32.const 1) ) (drop (i32.const 0) ) (drop (i32.const 0) ) ) (block $y (unreachable) (drop (i32.const 1) ) (drop (i32.const 0) ) (drop (i32.const 0) ) ) (block $z (br $z) (drop (i32.const 1) ) (drop (i32.const 0) ) (drop (i32.const 0) ) ) (block $z14 (br_table $z14 $z14 (i32.const 100) ) (drop (i32.const 1) ) (drop (i32.const 0) ) (drop (i32.const 0) ) ) ) (func $nop-in-unreachable (local $0 i32) (block $block (unreachable) (i32.store (i32.const 0) (i32.const 0) ) ) ) (func $loop-backedge (local $0 i32) (local $1 i32) (local.set $0 (i32.const 2) ) (block $out (loop $while-in7 (local.set $1 (i32.const 0) ) (call $set (local.get $1) ) (local.set $0 (i32.add (local.get $0) (i32.const 1) ) ) (if (call $get) (local.set $1 (local.get $0) ) ) (br_if $out (local.get $1) ) (local.set $0 (i32.const 100) ) (nop) (br $while-in7) ) ) ) (func $if-copy1 (local $0 i32) (local $1 i32) (loop $top (local.set $0 (if (result i32) (i32.const 1) (local.get $0) (local.get $1) ) ) (drop (local.get $0) ) (drop (local.get $1) ) (br $top) ) ) (func $if-copy2 (local $0 i32) (local $1 i32) (loop $top (local.set $1 (if (result i32) (i32.const 1) (local.get $0) (local.get $1) ) ) (drop (local.get $1) ) (drop (local.get $0) ) (br $top) ) ) (func $if-copy3 (local $0 i32) (local $1 i32) (loop $top (local.set $0 (if (result i32) (i32.const 1) (unreachable) (local.get $0) ) ) (drop (local.get $0) ) (drop (local.get $1) ) (br $top) ) ) (func $if-copy4 (local $0 i32) (local $1 i32) (loop $top (local.set $1 (if (result i32) (i32.const 1) (unreachable) (local.get $0) ) ) (drop (local.get $1) ) (drop (local.get $0) ) (br $top) ) ) (func $if-copy-tee (local $0 i32) (local $1 i32) (loop $top (drop (local.tee $0 (if (result i32) (i32.const 1) (local.get $0) (i32.const 2) ) ) ) (drop (local.get $0) ) (drop (local.get $1) ) (br $top) ) ) (func $tee_br (param $0 i32) (result i32) (block $b (return (br $b) ) ) (i32.const 1) ) (func $unused-tee-with-child-if-no-else (param $0 i32) (loop $label$0 (drop (if (br $label$0) (nop) ) ) ) ) (func $tee_if_with_unreachable_else (param $0 f64) (param $1 i32) (result i64) (call $tee_if_with_unreachable_else (local.tee $0 (if (result f64) (local.get $1) (local.get $0) (unreachable) ) ) (f64.lt (f64.const -128) (local.get $0) ) ) ) (func $tee_if_with_unreachable_true (param $0 f64) (param $1 i32) (result i64) (call $tee_if_with_unreachable_else (local.tee $0 (if (result f64) (local.get $1) (unreachable) (local.get $0) ) ) (f64.lt (f64.const -128) (local.get $0) ) ) ) (func $pick (local $0 i32) (nop) (if (i32.const 1) (drop (i32.const 1) ) ) (nop) (nop) ) (func $pick-2 (local $0 i32) (nop) (if (i32.const 1) (drop (i32.const 1) ) ) (nop) (nop) ) (func $many (local $0 i32) (nop) (nop) (nop) (nop) (if (i32.const 1) (drop (i32.const 1) ) ) (nop) (if (i32.const 1) (drop (i32.const 1) ) ) (nop) (nop) (nop) (local.set $0 (i32.const 2) ) (nop) (if (i32.const 1) (drop (i32.const 1) ) ) (nop) (nop) (nop) (drop (i32.const 2) ) (nop) ) (func $loop-copies (param $0 i32) (param $1 i32) (loop $loop (local.set $0 (local.get $1) ) (local.set $1 (local.get $0) ) (br_if $loop (local.get $0) ) ) ) (func $proper-type (result f64) (local $0 f64) (local $1 i32) (drop (select (i32.const 0) (i32.const 1) (local.get $1) ) ) (local.get $0) ) (func $reuse-param (param $0 i32) (param $1 i32) (result i32) (i32.add (local.tee $0 (i32.xor (i32.shr_s (i32.shl (local.get $0) (i32.const 16) ) (i32.const 16) ) (i32.shr_s (i32.shl (local.get $1) (i32.const 16) ) (i32.const 16) ) ) ) (local.get $0) ) ) )