diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-04-25 16:51:49 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-04-25 17:09:21 -0700 |
commit | 8a68b4e6506e66312d75c3cff8aa0b36563548e3 (patch) | |
tree | fe42733df528358ac059121b73929e4db52e18cd | |
parent | b48cfe91be0381a049a413e1c6d7d1ba83514a95 (diff) | |
download | binaryen-8a68b4e6506e66312d75c3cff8aa0b36563548e3.tar.gz binaryen-8a68b4e6506e66312d75c3cff8aa0b36563548e3.tar.bz2 binaryen-8a68b4e6506e66312d75c3cff8aa0b36563548e3.zip |
optimize returns that flow out
-rw-r--r-- | src/passes/RemoveUnusedBrs.cpp | 24 | ||||
-rw-r--r-- | test/emcc_O2_hello_world.fromasm | 720 | ||||
-rw-r--r-- | test/emcc_O2_hello_world.fromasm.imprecise | 720 | ||||
-rw-r--r-- | test/emcc_hello_world.fromasm | 1395 | ||||
-rw-r--r-- | test/emcc_hello_world.fromasm.imprecise | 1395 | ||||
-rw-r--r-- | test/hello_world.fromasm | 8 | ||||
-rw-r--r-- | test/hello_world.fromasm.imprecise | 8 | ||||
-rw-r--r-- | test/memorygrowth.fromasm | 562 | ||||
-rw-r--r-- | test/memorygrowth.fromasm.imprecise | 562 | ||||
-rw-r--r-- | test/min.fromasm | 32 | ||||
-rw-r--r-- | test/min.fromasm.imprecise | 32 | ||||
-rw-r--r-- | test/passes/remove-unused-brs.txt | 26 | ||||
-rw-r--r-- | test/passes/remove-unused-brs.wast | 28 | ||||
-rw-r--r-- | test/two_sides.fromasm | 4 | ||||
-rw-r--r-- | test/two_sides.fromasm.imprecise | 4 | ||||
-rw-r--r-- | test/unit.fromasm | 44 | ||||
-rw-r--r-- | test/unit.fromasm.imprecise | 44 |
17 files changed, 2593 insertions, 3015 deletions
diff --git a/src/passes/RemoveUnusedBrs.cpp b/src/passes/RemoveUnusedBrs.cpp index 58c765d83..1dd16d07b 100644 --- a/src/passes/RemoveUnusedBrs.cpp +++ b/src/passes/RemoveUnusedBrs.cpp @@ -56,6 +56,10 @@ struct RemoveUnusedBrs : public WalkerPass<PostWalker<RemoveUnusedBrs, Visitor<R } else { self->valueCanFlow = false; } + } else if (curr->is<Return>()) { + flows.clear(); + flows.push_back(currp); + self->valueCanFlow = true; // start optimistic } else if (curr->is<If>()) { auto* iff = curr->cast<If>(); if (iff->ifFalse) { @@ -73,8 +77,8 @@ struct RemoveUnusedBrs : public WalkerPass<PostWalker<RemoveUnusedBrs, Visitor<R size_t size = flows.size(); size_t skip = 0; for (size_t i = 0; i < size; i++) { - auto* flow = (*flows[i])->cast<Break>(); - if (flow->name == name) { + auto* flow = (*flows[i])->dynCast<Break>(); + if (flow && flow->name == name) { if (!flow->value || self->valueCanFlow) { if (!flow->value) { // br => nop @@ -96,6 +100,7 @@ struct RemoveUnusedBrs : public WalkerPass<PostWalker<RemoveUnusedBrs, Visitor<R // drop a nop at the end of a block, which prevents a value flowing while (block->list.size() > 0 && block->list.back()->is<Nop>()) { block->list.resize(block->list.size() - 1); + self->anotherCycle = true; } } } else if (curr->is<Nop>()) { @@ -155,7 +160,20 @@ struct RemoveUnusedBrs : public WalkerPass<PostWalker<RemoveUnusedBrs, Visitor<R anotherCycle = false; WalkerPass<PostWalker<RemoveUnusedBrs, Visitor<RemoveUnusedBrs>>>::walk(root); assert(ifStack.empty()); - assert(flows.empty()); + // flows may contain returns, which are flowing out and so can be optimized + for (size_t i = 0; i < flows.size(); i++) { + auto* flow = (*flows[i])->cast<Return>(); // cannot be a break + if (!flow->value) { + // return => nop + ExpressionManipulator::nop(flow); + anotherCycle = true; + } else if (valueCanFlow) { + // return with value => value + *flows[i] = flow->value; + anotherCycle = true; + } + } + flows.clear(); } while (anotherCycle); } }; diff --git a/test/emcc_O2_hello_world.fromasm b/test/emcc_O2_hello_world.fromasm index 50967da70..b00bd61fa 100644 --- a/test/emcc_O2_hello_world.fromasm +++ b/test/emcc_O2_hello_world.fromasm @@ -6045,9 +6045,7 @@ (call $___errno_location) (i32.const 12) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $_free (param $i1 i32) (local $i12 i32) @@ -7935,7 +7933,6 @@ (i32.const 208) (i32.const -1) ) - (return) ) (func $___stdio_write (param $i1 i32) (param $i2 i32) (param $i3 i32) (result i32) (local $i7 i32) @@ -8341,9 +8338,7 @@ (i32.const 8) (get_local $i4) ) - (return - (get_local $i24) - ) + (get_local $i24) ) (func $___fwritex (param $i1 i32) (param $i2 i32) (param $i3 i32) (result i32) (local $i4 i32) @@ -8585,9 +8580,7 @@ ) ) ) - (return - (get_local $i8) - ) + (get_local $i8) ) (func $_fflush (param $i1 i32) (result i32) (local $i3 i32) @@ -8596,146 +8589,144 @@ (local $i6 i32) (local $i8 i32) (local $i7 i32) - (return - (block $do-once$0 - (if - (get_local $i1) - (block - (if - (i32.le_s - (i32.load offset=76 - (get_local $i1) - ) - (i32.const -1) - ) - (br $do-once$0 - (call $___fflush_unlocked - (get_local $i1) - ) + (block $do-once$0 + (if + (get_local $i1) + (block + (if + (i32.le_s + (i32.load offset=76 + (get_local $i1) ) + (i32.const -1) ) - (set_local $i3 - (i32.eq - (call $___lockfile - (get_local $i1) - ) - (i32.const 0) + (br $do-once$0 + (call $___fflush_unlocked + (get_local $i1) ) ) - (set_local $i4 - (call $___fflush_unlocked + ) + (set_local $i3 + (i32.eq + (call $___lockfile (get_local $i1) ) + (i32.const 0) ) - (if - (get_local $i3) - (get_local $i4) - (block - (call $___unlockfile - (get_local $i1) - ) - (get_local $i4) + ) + (set_local $i4 + (call $___fflush_unlocked + (get_local $i1) + ) + ) + (if + (get_local $i3) + (get_local $i4) + (block + (call $___unlockfile + (get_local $i1) ) + (get_local $i4) ) ) - (block - (set_local $i5 - (if + ) + (block + (set_local $i5 + (if + (i32.load + (i32.const 56) + ) + (call $_fflush (i32.load (i32.const 56) ) - (call $_fflush - (i32.load - (i32.const 56) - ) - ) - (i32.const 0) ) + (i32.const 0) ) - (call_import $___lock - (i32.const 36) + ) + (call_import $___lock + (i32.const 36) + ) + (if + (set_local $i4 + (i32.load + (i32.const 32) + ) ) - (if + (block + (set_local $i3 + (get_local $i4) + ) (set_local $i4 - (i32.load - (i32.const 32) - ) + (get_local $i5) ) - (block - (set_local $i3 - (get_local $i4) - ) - (set_local $i4 - (get_local $i5) - ) - (loop $while-out$2 $while-in$3 - (set_local $i7 - (if - (i32.gt_s - (i32.load offset=76 - (get_local $i3) - ) - (i32.const -1) - ) - (call $___lockfile + (loop $while-out$2 $while-in$3 + (set_local $i7 + (if + (i32.gt_s + (i32.load offset=76 (get_local $i3) ) - (i32.const 0) + (i32.const -1) + ) + (call $___lockfile + (get_local $i3) ) + (i32.const 0) ) - (set_local $i8 - (if - (i32.gt_u - (i32.load offset=20 - (get_local $i3) - ) - (i32.load offset=28 - (get_local $i3) - ) + ) + (set_local $i8 + (if + (i32.gt_u + (i32.load offset=20 + (get_local $i3) ) - (i32.or - (call $___fflush_unlocked - (get_local $i3) - ) - (get_local $i4) + (i32.load offset=28 + (get_local $i3) + ) + ) + (i32.or + (call $___fflush_unlocked + (get_local $i3) ) (get_local $i4) ) + (get_local $i4) ) - (if - (get_local $i7) - (call $___unlockfile + ) + (if + (get_local $i7) + (call $___unlockfile + (get_local $i3) + ) + ) + (if + (set_local $i3 + (i32.load offset=56 (get_local $i3) ) ) - (if - (set_local $i3 - (i32.load offset=56 - (get_local $i3) - ) - ) - (set_local $i4 + (set_local $i4 + (get_local $i8) + ) + (block + (set_local $i6 (get_local $i8) ) - (block - (set_local $i6 - (get_local $i8) - ) - (br $while-out$2) - ) + (br $while-out$2) ) - (br $while-in$3) ) - ) - (set_local $i6 - (get_local $i5) + (br $while-in$3) ) ) - (call_import $___unlock - (i32.const 36) + (set_local $i6 + (get_local $i5) ) - (get_local $i6) ) + (call_import $___unlock + (i32.const 36) + ) + (get_local $i6) ) ) ) @@ -8911,11 +8902,9 @@ ) ) ) - (return - (i32.sub - (get_local $i7) - (get_local $i2) - ) + (i32.sub + (get_local $i7) + (get_local $i2) ) ) (func $___overflow (param $i1 i32) (param $i2 i32) (result i32) @@ -9076,9 +9065,7 @@ (i32.const 8) (get_local $i3) ) - (return - (get_local $i10) - ) + (get_local $i10) ) (func $___fflush_unlocked (param $i1 i32) (result i32) (local $i2 i32) @@ -9087,116 +9074,114 @@ (local $i6 i32) (local $i7 i32) (local $i8 i32) - (return + (if (if - (if - (i32.gt_u - (i32.load - (set_local $i2 - (i32.add - (get_local $i1) - (i32.const 20) - ) - ) - ) - (i32.load - (set_local $i3 - (i32.add - (get_local $i1) - (i32.const 28) - ) + (i32.gt_u + (i32.load + (set_local $i2 + (i32.add + (get_local $i1) + (i32.const 20) ) ) ) - (block - (call_indirect $FUNCSIG$iiii + (i32.load + (set_local $i3 (i32.add - (i32.and - (i32.load offset=36 - (get_local $i1) - ) - (i32.const 7) - ) - (i32.const 2) + (get_local $i1) + (i32.const 28) ) - (get_local $i1) - (i32.const 0) - (i32.const 0) - ) - (i32.eq - (i32.load - (get_local $i2) - ) - (i32.const 0) ) ) - (i32.const 0) ) - (i32.const -1) (block - (if - (i32.lt_u - (set_local $i6 - (i32.load - (set_local $i5 - (i32.add - (get_local $i1) - (i32.const 4) - ) - ) + (call_indirect $FUNCSIG$iiii + (i32.add + (i32.and + (i32.load offset=36 + (get_local $i1) ) + (i32.const 7) ) - (set_local $i8 - (i32.load - (set_local $i7 - (i32.add - (get_local $i1) - (i32.const 8) - ) + (i32.const 2) + ) + (get_local $i1) + (i32.const 0) + (i32.const 0) + ) + (i32.eq + (i32.load + (get_local $i2) + ) + (i32.const 0) + ) + ) + (i32.const 0) + ) + (i32.const -1) + (block + (if + (i32.lt_u + (set_local $i6 + (i32.load + (set_local $i5 + (i32.add + (get_local $i1) + (i32.const 4) ) ) ) ) - (call_indirect $FUNCSIG$iiii - (i32.add - (i32.and - (i32.load offset=40 + (set_local $i8 + (i32.load + (set_local $i7 + (i32.add (get_local $i1) + (i32.const 8) ) - (i32.const 7) ) - (i32.const 2) - ) - (get_local $i1) - (i32.sub - (get_local $i6) - (get_local $i8) ) - (i32.const 1) ) ) - (i32.store offset=16 + (call_indirect $FUNCSIG$iiii + (i32.add + (i32.and + (i32.load offset=40 + (get_local $i1) + ) + (i32.const 7) + ) + (i32.const 2) + ) (get_local $i1) - (i32.const 0) - ) - (i32.store - (get_local $i3) - (i32.const 0) - ) - (i32.store - (get_local $i2) - (i32.const 0) - ) - (i32.store - (get_local $i7) - (i32.const 0) - ) - (i32.store - (get_local $i5) - (i32.const 0) + (i32.sub + (get_local $i6) + (get_local $i8) + ) + (i32.const 1) ) + ) + (i32.store offset=16 + (get_local $i1) (i32.const 0) ) + (i32.store + (get_local $i3) + (i32.const 0) + ) + (i32.store + (get_local $i2) + (i32.const 0) + ) + (i32.store + (get_local $i7) + (i32.const 0) + ) + (i32.store + (get_local $i5) + (i32.const 0) + ) + (i32.const 0) ) ) ) @@ -9341,9 +9326,7 @@ ) (br $while-in$5) ) - (return - (get_local $i4) - ) + (get_local $i4) ) (func $runPostSets (nop) @@ -9478,11 +9461,9 @@ ) (br $while-in$5) ) - (return - (i32.sub - (get_local $i1) - (get_local $i3) - ) + (i32.sub + (get_local $i1) + (get_local $i3) ) ) (func $_puts (param $i1 i32) (result i32) @@ -9580,14 +9561,12 @@ (get_local $i2) ) ) - (return - (i32.shr_s - (i32.shl - (get_local $i4) - (i32.const 31) - ) + (i32.shr_s + (i32.shl + (get_local $i4) (i32.const 31) ) + (i32.const 31) ) ) (func $___stdio_seek (param $i1 i32) (param $i2 i32) (param $i3 i32) (result i32) @@ -9665,9 +9644,7 @@ (i32.const 8) (get_local $i4) ) - (return - (get_local $i7) - ) + (get_local $i7) ) (func $___towrite (param $i1 i32) (result i32) (local $i2 i32) @@ -9692,58 +9669,56 @@ (get_local $i3) ) ) - (return - (if - (i32.and - (set_local $i3 - (i32.load - (get_local $i1) - ) - ) - (i32.const 8) - ) - (block - (i32.store + (if + (i32.and + (set_local $i3 + (i32.load (get_local $i1) - (i32.or - (get_local $i3) - (i32.const 32) - ) ) - (i32.const -1) ) - (block - (i32.store offset=8 - (get_local $i1) - (i32.const 0) - ) - (i32.store offset=4 - (get_local $i1) - (i32.const 0) + (i32.const 8) + ) + (block + (i32.store + (get_local $i1) + (i32.or + (get_local $i3) + (i32.const 32) ) - (i32.store offset=28 - (get_local $i1) - (set_local $i2 - (i32.load offset=44 - (get_local $i1) - ) + ) + (i32.const -1) + ) + (block + (i32.store offset=8 + (get_local $i1) + (i32.const 0) + ) + (i32.store offset=4 + (get_local $i1) + (i32.const 0) + ) + (i32.store offset=28 + (get_local $i1) + (set_local $i2 + (i32.load offset=44 + (get_local $i1) ) ) - (i32.store offset=20 - (get_local $i1) + ) + (i32.store offset=20 + (get_local $i1) + (get_local $i2) + ) + (i32.store offset=16 + (get_local $i1) + (i32.add (get_local $i2) - ) - (i32.store offset=16 - (get_local $i1) - (i32.add - (get_local $i2) - (i32.load offset=48 - (get_local $i1) - ) + (i32.load offset=48 + (get_local $i1) ) ) - (i32.const 0) ) + (i32.const 0) ) ) ) @@ -9758,58 +9733,56 @@ (get_local $i2) ) ) - (return - (if - (i32.eq - (set_local $i8 - (if - (i32.gt_s - (i32.load offset=76 - (get_local $i4) - ) - (i32.const -1) + (if + (i32.eq + (set_local $i8 + (if + (i32.gt_s + (i32.load offset=76 + (get_local $i4) ) - (block - (set_local $i6 - (i32.eq - (call $___lockfile - (get_local $i4) - ) - (i32.const 0) + (i32.const -1) + ) + (block + (set_local $i6 + (i32.eq + (call $___lockfile + (get_local $i4) ) + (i32.const 0) ) - (set_local $i7 - (call $___fwritex - (get_local $i1) - (get_local $i5) + ) + (set_local $i7 + (call $___fwritex + (get_local $i1) + (get_local $i5) + (get_local $i4) + ) + ) + (if + (get_local $i6) + (get_local $i7) + (block + (call $___unlockfile (get_local $i4) ) - ) - (if - (get_local $i6) (get_local $i7) - (block - (call $___unlockfile - (get_local $i4) - ) - (get_local $i7) - ) ) ) - (call $___fwritex - (get_local $i1) - (get_local $i5) - (get_local $i4) - ) + ) + (call $___fwritex + (get_local $i1) + (get_local $i5) + (get_local $i4) ) ) - (get_local $i5) - ) - (get_local $i3) - (i32.div_u - (get_local $i8) - (get_local $i2) ) + (get_local $i5) + ) + (get_local $i3) + (i32.div_u + (get_local $i8) + (get_local $i2) ) ) ) @@ -9892,9 +9865,7 @@ (i32.const 8) (get_local $i4) ) - (return - (get_local $i5) - ) + (get_local $i5) ) (func $copyTempDouble (param $i1 i32) (i32.store8 @@ -9999,9 +9970,7 @@ (i32.const 8) (get_local $i2) ) - (return - (get_local $i1) - ) + (get_local $i1) ) (func $copyTempFloat (param $i1 i32) (i32.store8 @@ -10038,40 +10007,36 @@ ) ) (func $___syscall_ret (param $i1 i32) (result i32) - (return - (if - (i32.gt_u - (get_local $i1) - (i32.const -4096) - ) - (block - (i32.store - (call $___errno_location) - (i32.sub - (i32.const 0) - (get_local $i1) - ) + (if + (i32.gt_u + (get_local $i1) + (i32.const -4096) + ) + (block + (i32.store + (call $___errno_location) + (i32.sub + (i32.const 0) + (get_local $i1) ) - (i32.const -1) ) - (get_local $i1) + (i32.const -1) ) + (get_local $i1) ) ) (func $dynCall_iiii (param $i1 i32) (param $i2 i32) (param $i3 i32) (param $i4 i32) (result i32) - (return - (call_indirect $FUNCSIG$iiii - (i32.add - (i32.and - (get_local $i1) - (i32.const 7) - ) - (i32.const 2) + (call_indirect $FUNCSIG$iiii + (i32.add + (i32.and + (get_local $i1) + (i32.const 7) ) - (get_local $i2) - (get_local $i3) - (get_local $i4) + (i32.const 2) ) + (get_local $i2) + (get_local $i3) + (get_local $i4) ) ) (func $stackAlloc (param $i1 i32) (result i32) @@ -10102,21 +10067,17 @@ (i32.const -16) ) ) - (return - (get_local $i2) - ) + (get_local $i2) ) (func $___errno_location (result i32) - (return - (if - (i32.load - (i32.const 8) - ) - (i32.load offset=60 - (call_import $_pthread_self) - ) - (i32.const 60) + (if + (i32.load + (i32.const 8) + ) + (i32.load offset=60 + (call_import $_pthread_self) ) + (i32.const 60) ) ) (func $setThrew (param $i1 i32) (param $i2 i32) @@ -10139,32 +10100,28 @@ ) ) (func $_fputs (param $i1 i32) (param $i2 i32) (result i32) - (return - (i32.add - (call $_fwrite + (i32.add + (call $_fwrite + (get_local $i1) + (call $_strlen (get_local $i1) - (call $_strlen - (get_local $i1) - ) - (i32.const 1) - (get_local $i2) ) - (i32.const -1) + (i32.const 1) + (get_local $i2) ) + (i32.const -1) ) ) (func $dynCall_ii (param $i1 i32) (param $i2 i32) (result i32) - (return - (call_indirect $FUNCSIG$ii - (i32.add - (i32.and - (get_local $i1) - (i32.const 1) - ) - (i32.const 0) + (call_indirect $FUNCSIG$ii + (i32.add + (i32.and + (get_local $i1) + (i32.const 1) ) - (get_local $i2) + (i32.const 0) ) + (get_local $i2) ) ) (func $_cleanup_418 (param $i1 i32) @@ -10178,7 +10135,6 @@ (get_local $i1) ) ) - (return) ) (func $establishStackSpace (param $i1 i32) (param $i2 i32) (i32.store @@ -10206,9 +10162,7 @@ (call_import $abort (i32.const 1) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $stackRestore (param $i1 i32) (i32.store @@ -10226,38 +10180,28 @@ (call_import $abort (i32.const 0) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $___unlockfile (param $i1 i32) - (return) + (nop) ) (func $___lockfile (param $i1 i32) (result i32) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $getTempRet0 (result i32) - (return - (i32.load - (i32.const 160) - ) + (i32.load + (i32.const 160) ) ) (func $_main (result i32) (call $_puts (i32.const 672) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $stackSave (result i32) - (return - (i32.load - (i32.const 8) - ) + (i32.load + (i32.const 8) ) ) (func $b2 (param $i1 i32) diff --git a/test/emcc_O2_hello_world.fromasm.imprecise b/test/emcc_O2_hello_world.fromasm.imprecise index 50967da70..b00bd61fa 100644 --- a/test/emcc_O2_hello_world.fromasm.imprecise +++ b/test/emcc_O2_hello_world.fromasm.imprecise @@ -6045,9 +6045,7 @@ (call $___errno_location) (i32.const 12) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $_free (param $i1 i32) (local $i12 i32) @@ -7935,7 +7933,6 @@ (i32.const 208) (i32.const -1) ) - (return) ) (func $___stdio_write (param $i1 i32) (param $i2 i32) (param $i3 i32) (result i32) (local $i7 i32) @@ -8341,9 +8338,7 @@ (i32.const 8) (get_local $i4) ) - (return - (get_local $i24) - ) + (get_local $i24) ) (func $___fwritex (param $i1 i32) (param $i2 i32) (param $i3 i32) (result i32) (local $i4 i32) @@ -8585,9 +8580,7 @@ ) ) ) - (return - (get_local $i8) - ) + (get_local $i8) ) (func $_fflush (param $i1 i32) (result i32) (local $i3 i32) @@ -8596,146 +8589,144 @@ (local $i6 i32) (local $i8 i32) (local $i7 i32) - (return - (block $do-once$0 - (if - (get_local $i1) - (block - (if - (i32.le_s - (i32.load offset=76 - (get_local $i1) - ) - (i32.const -1) - ) - (br $do-once$0 - (call $___fflush_unlocked - (get_local $i1) - ) + (block $do-once$0 + (if + (get_local $i1) + (block + (if + (i32.le_s + (i32.load offset=76 + (get_local $i1) ) + (i32.const -1) ) - (set_local $i3 - (i32.eq - (call $___lockfile - (get_local $i1) - ) - (i32.const 0) + (br $do-once$0 + (call $___fflush_unlocked + (get_local $i1) ) ) - (set_local $i4 - (call $___fflush_unlocked + ) + (set_local $i3 + (i32.eq + (call $___lockfile (get_local $i1) ) + (i32.const 0) ) - (if - (get_local $i3) - (get_local $i4) - (block - (call $___unlockfile - (get_local $i1) - ) - (get_local $i4) + ) + (set_local $i4 + (call $___fflush_unlocked + (get_local $i1) + ) + ) + (if + (get_local $i3) + (get_local $i4) + (block + (call $___unlockfile + (get_local $i1) ) + (get_local $i4) ) ) - (block - (set_local $i5 - (if + ) + (block + (set_local $i5 + (if + (i32.load + (i32.const 56) + ) + (call $_fflush (i32.load (i32.const 56) ) - (call $_fflush - (i32.load - (i32.const 56) - ) - ) - (i32.const 0) ) + (i32.const 0) ) - (call_import $___lock - (i32.const 36) + ) + (call_import $___lock + (i32.const 36) + ) + (if + (set_local $i4 + (i32.load + (i32.const 32) + ) ) - (if + (block + (set_local $i3 + (get_local $i4) + ) (set_local $i4 - (i32.load - (i32.const 32) - ) + (get_local $i5) ) - (block - (set_local $i3 - (get_local $i4) - ) - (set_local $i4 - (get_local $i5) - ) - (loop $while-out$2 $while-in$3 - (set_local $i7 - (if - (i32.gt_s - (i32.load offset=76 - (get_local $i3) - ) - (i32.const -1) - ) - (call $___lockfile + (loop $while-out$2 $while-in$3 + (set_local $i7 + (if + (i32.gt_s + (i32.load offset=76 (get_local $i3) ) - (i32.const 0) + (i32.const -1) + ) + (call $___lockfile + (get_local $i3) ) + (i32.const 0) ) - (set_local $i8 - (if - (i32.gt_u - (i32.load offset=20 - (get_local $i3) - ) - (i32.load offset=28 - (get_local $i3) - ) + ) + (set_local $i8 + (if + (i32.gt_u + (i32.load offset=20 + (get_local $i3) ) - (i32.or - (call $___fflush_unlocked - (get_local $i3) - ) - (get_local $i4) + (i32.load offset=28 + (get_local $i3) + ) + ) + (i32.or + (call $___fflush_unlocked + (get_local $i3) ) (get_local $i4) ) + (get_local $i4) ) - (if - (get_local $i7) - (call $___unlockfile + ) + (if + (get_local $i7) + (call $___unlockfile + (get_local $i3) + ) + ) + (if + (set_local $i3 + (i32.load offset=56 (get_local $i3) ) ) - (if - (set_local $i3 - (i32.load offset=56 - (get_local $i3) - ) - ) - (set_local $i4 + (set_local $i4 + (get_local $i8) + ) + (block + (set_local $i6 (get_local $i8) ) - (block - (set_local $i6 - (get_local $i8) - ) - (br $while-out$2) - ) + (br $while-out$2) ) - (br $while-in$3) ) - ) - (set_local $i6 - (get_local $i5) + (br $while-in$3) ) ) - (call_import $___unlock - (i32.const 36) + (set_local $i6 + (get_local $i5) ) - (get_local $i6) ) + (call_import $___unlock + (i32.const 36) + ) + (get_local $i6) ) ) ) @@ -8911,11 +8902,9 @@ ) ) ) - (return - (i32.sub - (get_local $i7) - (get_local $i2) - ) + (i32.sub + (get_local $i7) + (get_local $i2) ) ) (func $___overflow (param $i1 i32) (param $i2 i32) (result i32) @@ -9076,9 +9065,7 @@ (i32.const 8) (get_local $i3) ) - (return - (get_local $i10) - ) + (get_local $i10) ) (func $___fflush_unlocked (param $i1 i32) (result i32) (local $i2 i32) @@ -9087,116 +9074,114 @@ (local $i6 i32) (local $i7 i32) (local $i8 i32) - (return + (if (if - (if - (i32.gt_u - (i32.load - (set_local $i2 - (i32.add - (get_local $i1) - (i32.const 20) - ) - ) - ) - (i32.load - (set_local $i3 - (i32.add - (get_local $i1) - (i32.const 28) - ) + (i32.gt_u + (i32.load + (set_local $i2 + (i32.add + (get_local $i1) + (i32.const 20) ) ) ) - (block - (call_indirect $FUNCSIG$iiii + (i32.load + (set_local $i3 (i32.add - (i32.and - (i32.load offset=36 - (get_local $i1) - ) - (i32.const 7) - ) - (i32.const 2) + (get_local $i1) + (i32.const 28) ) - (get_local $i1) - (i32.const 0) - (i32.const 0) - ) - (i32.eq - (i32.load - (get_local $i2) - ) - (i32.const 0) ) ) - (i32.const 0) ) - (i32.const -1) (block - (if - (i32.lt_u - (set_local $i6 - (i32.load - (set_local $i5 - (i32.add - (get_local $i1) - (i32.const 4) - ) - ) + (call_indirect $FUNCSIG$iiii + (i32.add + (i32.and + (i32.load offset=36 + (get_local $i1) ) + (i32.const 7) ) - (set_local $i8 - (i32.load - (set_local $i7 - (i32.add - (get_local $i1) - (i32.const 8) - ) + (i32.const 2) + ) + (get_local $i1) + (i32.const 0) + (i32.const 0) + ) + (i32.eq + (i32.load + (get_local $i2) + ) + (i32.const 0) + ) + ) + (i32.const 0) + ) + (i32.const -1) + (block + (if + (i32.lt_u + (set_local $i6 + (i32.load + (set_local $i5 + (i32.add + (get_local $i1) + (i32.const 4) ) ) ) ) - (call_indirect $FUNCSIG$iiii - (i32.add - (i32.and - (i32.load offset=40 + (set_local $i8 + (i32.load + (set_local $i7 + (i32.add (get_local $i1) + (i32.const 8) ) - (i32.const 7) ) - (i32.const 2) - ) - (get_local $i1) - (i32.sub - (get_local $i6) - (get_local $i8) ) - (i32.const 1) ) ) - (i32.store offset=16 + (call_indirect $FUNCSIG$iiii + (i32.add + (i32.and + (i32.load offset=40 + (get_local $i1) + ) + (i32.const 7) + ) + (i32.const 2) + ) (get_local $i1) - (i32.const 0) - ) - (i32.store - (get_local $i3) - (i32.const 0) - ) - (i32.store - (get_local $i2) - (i32.const 0) - ) - (i32.store - (get_local $i7) - (i32.const 0) - ) - (i32.store - (get_local $i5) - (i32.const 0) + (i32.sub + (get_local $i6) + (get_local $i8) + ) + (i32.const 1) ) + ) + (i32.store offset=16 + (get_local $i1) (i32.const 0) ) + (i32.store + (get_local $i3) + (i32.const 0) + ) + (i32.store + (get_local $i2) + (i32.const 0) + ) + (i32.store + (get_local $i7) + (i32.const 0) + ) + (i32.store + (get_local $i5) + (i32.const 0) + ) + (i32.const 0) ) ) ) @@ -9341,9 +9326,7 @@ ) (br $while-in$5) ) - (return - (get_local $i4) - ) + (get_local $i4) ) (func $runPostSets (nop) @@ -9478,11 +9461,9 @@ ) (br $while-in$5) ) - (return - (i32.sub - (get_local $i1) - (get_local $i3) - ) + (i32.sub + (get_local $i1) + (get_local $i3) ) ) (func $_puts (param $i1 i32) (result i32) @@ -9580,14 +9561,12 @@ (get_local $i2) ) ) - (return - (i32.shr_s - (i32.shl - (get_local $i4) - (i32.const 31) - ) + (i32.shr_s + (i32.shl + (get_local $i4) (i32.const 31) ) + (i32.const 31) ) ) (func $___stdio_seek (param $i1 i32) (param $i2 i32) (param $i3 i32) (result i32) @@ -9665,9 +9644,7 @@ (i32.const 8) (get_local $i4) ) - (return - (get_local $i7) - ) + (get_local $i7) ) (func $___towrite (param $i1 i32) (result i32) (local $i2 i32) @@ -9692,58 +9669,56 @@ (get_local $i3) ) ) - (return - (if - (i32.and - (set_local $i3 - (i32.load - (get_local $i1) - ) - ) - (i32.const 8) - ) - (block - (i32.store + (if + (i32.and + (set_local $i3 + (i32.load (get_local $i1) - (i32.or - (get_local $i3) - (i32.const 32) - ) ) - (i32.const -1) ) - (block - (i32.store offset=8 - (get_local $i1) - (i32.const 0) - ) - (i32.store offset=4 - (get_local $i1) - (i32.const 0) + (i32.const 8) + ) + (block + (i32.store + (get_local $i1) + (i32.or + (get_local $i3) + (i32.const 32) ) - (i32.store offset=28 - (get_local $i1) - (set_local $i2 - (i32.load offset=44 - (get_local $i1) - ) + ) + (i32.const -1) + ) + (block + (i32.store offset=8 + (get_local $i1) + (i32.const 0) + ) + (i32.store offset=4 + (get_local $i1) + (i32.const 0) + ) + (i32.store offset=28 + (get_local $i1) + (set_local $i2 + (i32.load offset=44 + (get_local $i1) ) ) - (i32.store offset=20 - (get_local $i1) + ) + (i32.store offset=20 + (get_local $i1) + (get_local $i2) + ) + (i32.store offset=16 + (get_local $i1) + (i32.add (get_local $i2) - ) - (i32.store offset=16 - (get_local $i1) - (i32.add - (get_local $i2) - (i32.load offset=48 - (get_local $i1) - ) + (i32.load offset=48 + (get_local $i1) ) ) - (i32.const 0) ) + (i32.const 0) ) ) ) @@ -9758,58 +9733,56 @@ (get_local $i2) ) ) - (return - (if - (i32.eq - (set_local $i8 - (if - (i32.gt_s - (i32.load offset=76 - (get_local $i4) - ) - (i32.const -1) + (if + (i32.eq + (set_local $i8 + (if + (i32.gt_s + (i32.load offset=76 + (get_local $i4) ) - (block - (set_local $i6 - (i32.eq - (call $___lockfile - (get_local $i4) - ) - (i32.const 0) + (i32.const -1) + ) + (block + (set_local $i6 + (i32.eq + (call $___lockfile + (get_local $i4) ) + (i32.const 0) ) - (set_local $i7 - (call $___fwritex - (get_local $i1) - (get_local $i5) + ) + (set_local $i7 + (call $___fwritex + (get_local $i1) + (get_local $i5) + (get_local $i4) + ) + ) + (if + (get_local $i6) + (get_local $i7) + (block + (call $___unlockfile (get_local $i4) ) - ) - (if - (get_local $i6) (get_local $i7) - (block - (call $___unlockfile - (get_local $i4) - ) - (get_local $i7) - ) ) ) - (call $___fwritex - (get_local $i1) - (get_local $i5) - (get_local $i4) - ) + ) + (call $___fwritex + (get_local $i1) + (get_local $i5) + (get_local $i4) ) ) - (get_local $i5) - ) - (get_local $i3) - (i32.div_u - (get_local $i8) - (get_local $i2) ) + (get_local $i5) + ) + (get_local $i3) + (i32.div_u + (get_local $i8) + (get_local $i2) ) ) ) @@ -9892,9 +9865,7 @@ (i32.const 8) (get_local $i4) ) - (return - (get_local $i5) - ) + (get_local $i5) ) (func $copyTempDouble (param $i1 i32) (i32.store8 @@ -9999,9 +9970,7 @@ (i32.const 8) (get_local $i2) ) - (return - (get_local $i1) - ) + (get_local $i1) ) (func $copyTempFloat (param $i1 i32) (i32.store8 @@ -10038,40 +10007,36 @@ ) ) (func $___syscall_ret (param $i1 i32) (result i32) - (return - (if - (i32.gt_u - (get_local $i1) - (i32.const -4096) - ) - (block - (i32.store - (call $___errno_location) - (i32.sub - (i32.const 0) - (get_local $i1) - ) + (if + (i32.gt_u + (get_local $i1) + (i32.const -4096) + ) + (block + (i32.store + (call $___errno_location) + (i32.sub + (i32.const 0) + (get_local $i1) ) - (i32.const -1) ) - (get_local $i1) + (i32.const -1) ) + (get_local $i1) ) ) (func $dynCall_iiii (param $i1 i32) (param $i2 i32) (param $i3 i32) (param $i4 i32) (result i32) - (return - (call_indirect $FUNCSIG$iiii - (i32.add - (i32.and - (get_local $i1) - (i32.const 7) - ) - (i32.const 2) + (call_indirect $FUNCSIG$iiii + (i32.add + (i32.and + (get_local $i1) + (i32.const 7) ) - (get_local $i2) - (get_local $i3) - (get_local $i4) + (i32.const 2) ) + (get_local $i2) + (get_local $i3) + (get_local $i4) ) ) (func $stackAlloc (param $i1 i32) (result i32) @@ -10102,21 +10067,17 @@ (i32.const -16) ) ) - (return - (get_local $i2) - ) + (get_local $i2) ) (func $___errno_location (result i32) - (return - (if - (i32.load - (i32.const 8) - ) - (i32.load offset=60 - (call_import $_pthread_self) - ) - (i32.const 60) + (if + (i32.load + (i32.const 8) + ) + (i32.load offset=60 + (call_import $_pthread_self) ) + (i32.const 60) ) ) (func $setThrew (param $i1 i32) (param $i2 i32) @@ -10139,32 +10100,28 @@ ) ) (func $_fputs (param $i1 i32) (param $i2 i32) (result i32) - (return - (i32.add - (call $_fwrite + (i32.add + (call $_fwrite + (get_local $i1) + (call $_strlen (get_local $i1) - (call $_strlen - (get_local $i1) - ) - (i32.const 1) - (get_local $i2) ) - (i32.const -1) + (i32.const 1) + (get_local $i2) ) + (i32.const -1) ) ) (func $dynCall_ii (param $i1 i32) (param $i2 i32) (result i32) - (return - (call_indirect $FUNCSIG$ii - (i32.add - (i32.and - (get_local $i1) - (i32.const 1) - ) - (i32.const 0) + (call_indirect $FUNCSIG$ii + (i32.add + (i32.and + (get_local $i1) + (i32.const 1) ) - (get_local $i2) + (i32.const 0) ) + (get_local $i2) ) ) (func $_cleanup_418 (param $i1 i32) @@ -10178,7 +10135,6 @@ (get_local $i1) ) ) - (return) ) (func $establishStackSpace (param $i1 i32) (param $i2 i32) (i32.store @@ -10206,9 +10162,7 @@ (call_import $abort (i32.const 1) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $stackRestore (param $i1 i32) (i32.store @@ -10226,38 +10180,28 @@ (call_import $abort (i32.const 0) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $___unlockfile (param $i1 i32) - (return) + (nop) ) (func $___lockfile (param $i1 i32) (result i32) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $getTempRet0 (result i32) - (return - (i32.load - (i32.const 160) - ) + (i32.load + (i32.const 160) ) ) (func $_main (result i32) (call $_puts (i32.const 672) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $stackSave (result i32) - (return - (i32.load - (i32.const 8) - ) + (i32.load + (i32.const 8) ) ) (func $b2 (param $i1 i32) diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm index fb3b2a14f..15756e9c6 100644 --- a/test/emcc_hello_world.fromasm +++ b/test/emcc_hello_world.fromasm @@ -91,15 +91,11 @@ ) (call_import $abort) ) - (return - (get_local $ret) - ) + (get_local $ret) ) (func $stackSave (result i32) - (return - (i32.load - (i32.const 8) - ) + (i32.load + (i32.const 8) ) ) (func $stackRestore (param $top i32) @@ -245,10 +241,8 @@ ) ) (func $getTempRet0 (result i32) - (return - (i32.load - (i32.const 168) - ) + (i32.load + (i32.const 168) ) ) (func $_main (result i32) @@ -287,9 +281,7 @@ (i32.const 8) (get_local $sp) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $_frexp (param $$x f64) (param $$e i32) (result f64) (local $$x$addr$0 f64) @@ -329,97 +321,95 @@ (i32.load (i32.const 168) ) - (return - (block $switch$0 + (block $switch$0 + (block $switch-default$3 (block $switch-default$3 - (block $switch-default$3 - (block $switch-case$2 - (block $switch-case$1 - (br_table $switch-case$1 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-case$2 $switch-default$3 - (i32.sub - (set_local $$conv - (i32.and - (get_local $$2) - (i32.const 2047) - ) + (block $switch-case$2 + (block $switch-case$1 + (br_table $switch-case$1 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-case$2 $switch-default$3 + (i32.sub + (set_local $$conv + (i32.and + (get_local $$2) + (i32.const 2047) ) - (i32.const 0) ) + (i32.const 0) ) ) - (set_local $$storemerge - (if - (f64.ne - (get_local $$x) - (f64.const 0) - ) - (block - (set_local $$x$addr$0 - (call $_frexp - (f64.mul - (get_local $$x) - (f64.const 18446744073709551615) - ) - (get_local $$e) - ) - ) - (i32.add - (i32.load - (get_local $$e) + ) + (set_local $$storemerge + (if + (f64.ne + (get_local $$x) + (f64.const 0) + ) + (block + (set_local $$x$addr$0 + (call $_frexp + (f64.mul + (get_local $$x) + (f64.const 18446744073709551615) ) - (i32.const -64) + (get_local $$e) ) ) - (block - (set_local $$x$addr$0 - (get_local $$x) + (i32.add + (i32.load + (get_local $$e) ) - (i32.const 0) + (i32.const -64) ) ) + (block + (set_local $$x$addr$0 + (get_local $$x) + ) + (i32.const 0) + ) ) - (i32.store - (get_local $$e) - (get_local $$storemerge) - ) - (br $switch$0 - (get_local $$x$addr$0) - ) + ) + (i32.store + (get_local $$e) + (get_local $$storemerge) ) (br $switch$0 - (get_local $$x) + (get_local $$x$addr$0) ) ) - (i32.store - (get_local $$e) - (i32.add - (get_local $$conv) - (i32.const -1022) - ) + (br $switch$0 + (get_local $$x) ) - (i32.store - (i32.load - (i32.const 24) - ) - (get_local $$0) + ) + (i32.store + (get_local $$e) + (i32.add + (get_local $$conv) + (i32.const -1022) ) - (i32.store offset=4 - (i32.load - (i32.const 24) - ) - (i32.or - (i32.and - (get_local $$1) - (i32.const -2146435073) - ) - (i32.const 1071644672) - ) + ) + (i32.store + (i32.load + (i32.const 24) ) + (get_local $$0) ) - (f64.load + (i32.store offset=4 (i32.load (i32.const 24) ) + (i32.or + (i32.and + (get_local $$1) + (i32.const -2146435073) + ) + (i32.const 1071644672) + ) + ) + ) + (f64.load + (i32.load + (i32.const 24) ) ) ) @@ -428,11 +418,9 @@ (i32.load (i32.const 8) ) - (return - (call $_frexp - (get_local $$x) - (get_local $$e) - ) + (call $_frexp + (get_local $$x) + (get_local $$e) ) ) (func $_strerror (param $$e i32) (result i32) @@ -603,26 +591,22 @@ (br $while-in$3) ) ) - (return - (get_local $$s$0$lcssa) - ) + (get_local $$s$0$lcssa) ) (func $___errno_location (result i32) (i32.load (i32.const 8) ) - (return - (if - (i32.eq - (i32.load - (i32.const 16) - ) - (i32.const 0) - ) - (i32.const 60) - (i32.load offset=60 - (call_import $_pthread_self) + (if + (i32.eq + (i32.load + (i32.const 16) ) + (i32.const 0) + ) + (i32.const 60) + (i32.load offset=60 + (call_import $_pthread_self) ) ) ) @@ -675,9 +659,7 @@ (i32.const 8) (get_local $sp) ) - (return - (get_local $$call1) - ) + (get_local $$call1) ) (func $___stdout_write (param $$f i32) (param $$buf i32) (param $$len i32) (result i32) (local $$vararg_buffer i32) @@ -773,9 +755,7 @@ (i32.const 8) (get_local $sp) ) - (return - (get_local $$call3) - ) + (get_local $$call3) ) (func $___stdio_seek (param $$f i32) (param $$off i32) (param $$whence i32) (result i32) (local $$vararg_buffer i32) @@ -863,9 +843,7 @@ (i32.const 8) (get_local $sp) ) - (return - (get_local $$1) - ) + (get_local $$1) ) (func $_fflush (param $$f i32) (result i32) (local $$f$addr$022 i32) @@ -881,164 +859,162 @@ (i32.load (i32.const 8) ) - (return - (block $do-once$0 - (if - (i32.eq - (get_local $$f) - (i32.const 0) - ) - (block - (set_local $$cond10 - (if - (i32.eq - (i32.load - (i32.const 12) - ) - (i32.const 0) + (block $do-once$0 + (if + (i32.eq + (get_local $$f) + (i32.const 0) + ) + (block + (set_local $$cond10 + (if + (i32.eq + (i32.load + (i32.const 12) ) (i32.const 0) - (call $_fflush - (i32.load - (i32.const 12) - ) + ) + (i32.const 0) + (call $_fflush + (i32.load + (i32.const 12) ) ) ) - (call_import $___lock - (i32.const 44) - ) - (if - (i32.eq - (set_local $$f$addr$0$19 - (i32.load - (i32.const 40) - ) + ) + (call_import $___lock + (i32.const 44) + ) + (if + (i32.eq + (set_local $$f$addr$0$19 + (i32.load + (i32.const 40) ) - (i32.const 0) ) - (set_local $$r$0$lcssa + (i32.const 0) + ) + (set_local $$r$0$lcssa + (get_local $$cond10) + ) + (block + (set_local $$f$addr$022 + (get_local $$f$addr$0$19) + ) + (set_local $$r$021 (get_local $$cond10) ) - (block - (set_local $$f$addr$022 - (get_local $$f$addr$0$19) - ) - (set_local $$r$021 - (get_local $$cond10) - ) - (loop $while-out$2 $while-in$3 - (set_local $$cond19 - (if - (i32.gt_s - (i32.load offset=76 - (get_local $$f$addr$022) - ) - (i32.const -1) - ) - (call $___lockfile + (loop $while-out$2 $while-in$3 + (set_local $$cond19 + (if + (i32.gt_s + (i32.load offset=76 (get_local $$f$addr$022) ) - (i32.const 0) + (i32.const -1) ) + (call $___lockfile + (get_local $$f$addr$022) + ) + (i32.const 0) ) - (set_local $$r$1 - (if - (i32.gt_u - (i32.load offset=20 - (get_local $$f$addr$022) - ) - (i32.load offset=28 - (get_local $$f$addr$022) - ) + ) + (set_local $$r$1 + (if + (i32.gt_u + (i32.load offset=20 + (get_local $$f$addr$022) ) - (i32.or - (call $___fflush_unlocked - (get_local $$f$addr$022) - ) - (get_local $$r$021) + (i32.load offset=28 + (get_local $$f$addr$022) + ) + ) + (i32.or + (call $___fflush_unlocked + (get_local $$f$addr$022) ) (get_local $$r$021) ) + (get_local $$r$021) ) - (if - (i32.ne - (get_local $$cond19) - (i32.const 0) - ) - (call $___unlockfile - (get_local $$f$addr$022) - ) + ) + (if + (i32.ne + (get_local $$cond19) + (i32.const 0) ) - (if - (i32.eq - (set_local $$f$addr$0 - (i32.load offset=56 - (get_local $$f$addr$022) - ) + (call $___unlockfile + (get_local $$f$addr$022) + ) + ) + (if + (i32.eq + (set_local $$f$addr$0 + (i32.load offset=56 + (get_local $$f$addr$022) ) - (i32.const 0) ) - (block - (set_local $$r$0$lcssa - (get_local $$r$1) - ) - (br $while-out$2) + (i32.const 0) + ) + (block + (set_local $$r$0$lcssa + (get_local $$r$1) ) - (block - (set_local $$f$addr$022 - (get_local $$f$addr$0) - ) - (set_local $$r$021 - (get_local $$r$1) - ) + (br $while-out$2) + ) + (block + (set_local $$f$addr$022 + (get_local $$f$addr$0) + ) + (set_local $$r$021 + (get_local $$r$1) ) ) - (br $while-in$3) ) + (br $while-in$3) ) ) - (call_import $___unlock - (i32.const 44) - ) - (get_local $$r$0$lcssa) ) - (block - (if - (i32.le_s - (i32.load offset=76 - (get_local $$f) - ) - (i32.const -1) - ) - (br $do-once$0 - (call $___fflush_unlocked - (get_local $$f) - ) + (call_import $___unlock + (i32.const 44) + ) + (get_local $$r$0$lcssa) + ) + (block + (if + (i32.le_s + (i32.load offset=76 + (get_local $$f) ) + (i32.const -1) ) - (set_local $$phitmp - (i32.eq - (call $___lockfile - (get_local $$f) - ) - (i32.const 0) + (br $do-once$0 + (call $___fflush_unlocked + (get_local $$f) ) ) - (set_local $$call1 - (call $___fflush_unlocked + ) + (set_local $$phitmp + (i32.eq + (call $___lockfile (get_local $$f) ) + (i32.const 0) ) - (if - (get_local $$phitmp) - (get_local $$call1) - (block - (call $___unlockfile - (get_local $$f) - ) - (get_local $$call1) + ) + (set_local $$call1 + (call $___fflush_unlocked + (get_local $$f) + ) + ) + (if + (get_local $$phitmp) + (get_local $$call1) + (block + (call $___unlockfile + (get_local $$f) ) + (get_local $$call1) ) ) ) @@ -1093,23 +1069,18 @@ (i32.const 8) (get_local $sp) ) - (return - (get_local $$call) - ) + (get_local $$call) ) (func $___lockfile (param $$f i32) (result i32) (i32.load (i32.const 8) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $___unlockfile (param $$f i32) (i32.load (i32.const 8) ) - (return) ) (func $___stdio_write (param $$f i32) (param $$buf i32) (param $$len i32) (result i32) (local $$iov$0 i32) @@ -1536,9 +1507,7 @@ (i32.const 8) (get_local $sp) ) - (return - (get_local $$retval$0) - ) + (get_local $$retval$0) ) (func $_vfprintf (param $$f i32) (param $$fmt i32) (param $$ap i32) (result i32) (local $sp i32) @@ -1876,9 +1845,7 @@ (i32.const 8) (get_local $sp) ) - (return - (get_local $$retval$0) - ) + (get_local $$retval$0) ) (func $___fwritex (param $$s i32) (param $$l i32) (param $$f i32) (result i32) (local $$i$0$lcssa36 i32) @@ -2145,9 +2112,7 @@ ) ) ) - (return - (get_local $$retval$0) - ) + (get_local $$retval$0) ) (func $___towrite (param $$f i32) (result i32) (local $$2 i32) @@ -2189,61 +2154,59 @@ (get_local $$mode) (get_local $$conv3) ) - (return - (if - (i32.eq - (i32.and - (set_local $$1 - (i32.load - (get_local $$f) - ) + (if + (i32.eq + (i32.and + (set_local $$1 + (i32.load + (get_local $$f) ) - (i32.const 8) ) + (i32.const 8) + ) + (i32.const 0) + ) + (block + (i32.store offset=8 + (get_local $$f) (i32.const 0) ) - (block - (i32.store offset=8 - (get_local $$f) - (i32.const 0) - ) - (i32.store offset=4 - (get_local $$f) - (i32.const 0) - ) - (i32.store offset=28 - (get_local $$f) - (set_local $$2 - (i32.load offset=44 - (get_local $$f) - ) + (i32.store offset=4 + (get_local $$f) + (i32.const 0) + ) + (i32.store offset=28 + (get_local $$f) + (set_local $$2 + (i32.load offset=44 + (get_local $$f) ) ) - (i32.store offset=20 - (get_local $$f) + ) + (i32.store offset=20 + (get_local $$f) + (get_local $$2) + ) + (i32.store offset=16 + (get_local $$f) + (i32.add (get_local $$2) - ) - (i32.store offset=16 - (get_local $$f) - (i32.add - (get_local $$2) - (i32.load offset=48 - (get_local $$f) - ) + (i32.load offset=48 + (get_local $$f) ) ) - (i32.const 0) ) - (block - (i32.store - (get_local $$f) - (i32.or - (get_local $$1) - (i32.const 32) - ) + (i32.const 0) + ) + (block + (i32.store + (get_local $$f) + (i32.or + (get_local $$1) + (i32.const 32) ) - (i32.const -1) ) + (i32.const -1) ) ) ) @@ -2251,208 +2214,206 @@ (i32.load (i32.const 8) ) - (return - (block $do-once$0 - (if - (i32.eq - (get_local $$s) - (i32.const 0) - ) - (i32.const 1) - (block - (if - (i32.lt_u - (get_local $$wc) - (i32.const 128) - ) - (block - (i32.store8 - (get_local $$s) - (i32.and - (get_local $$wc) - (i32.const 255) - ) - ) - (br $do-once$0 - (i32.const 1) + (block $do-once$0 + (if + (i32.eq + (get_local $$s) + (i32.const 0) + ) + (i32.const 1) + (block + (if + (i32.lt_u + (get_local $$wc) + (i32.const 128) + ) + (block + (i32.store8 + (get_local $$s) + (i32.and + (get_local $$wc) + (i32.const 255) ) ) - ) - (if - (i32.lt_u - (get_local $$wc) - (i32.const 2048) + (br $do-once$0 + (i32.const 1) ) - (block - (i32.store8 - (get_local $$s) - (i32.and - (i32.or - (i32.shr_u - (get_local $$wc) - (i32.const 6) - ) - (i32.const 192) + ) + ) + (if + (i32.lt_u + (get_local $$wc) + (i32.const 2048) + ) + (block + (i32.store8 + (get_local $$s) + (i32.and + (i32.or + (i32.shr_u + (get_local $$wc) + (i32.const 6) ) - (i32.const 255) + (i32.const 192) ) + (i32.const 255) ) - (i32.store8 offset=1 - (get_local $$s) - (i32.and - (i32.or - (i32.and - (get_local $$wc) - (i32.const 63) - ) - (i32.const 128) + ) + (i32.store8 offset=1 + (get_local $$s) + (i32.and + (i32.or + (i32.and + (get_local $$wc) + (i32.const 63) ) - (i32.const 255) + (i32.const 128) ) - ) - (br $do-once$0 - (i32.const 2) + (i32.const 255) ) ) + (br $do-once$0 + (i32.const 2) + ) ) - (if - (i32.or - (i32.lt_u + ) + (if + (i32.or + (i32.lt_u + (get_local $$wc) + (i32.const 55296) + ) + (i32.eq + (i32.and (get_local $$wc) - (i32.const 55296) + (i32.const -8192) ) - (i32.eq - (i32.and - (get_local $$wc) - (i32.const -8192) + (i32.const 57344) + ) + ) + (block + (i32.store8 + (get_local $$s) + (i32.and + (i32.or + (i32.shr_u + (get_local $$wc) + (i32.const 12) + ) + (i32.const 224) ) - (i32.const 57344) + (i32.const 255) ) ) - (block - (i32.store8 - (get_local $$s) - (i32.and - (i32.or + (i32.store8 offset=1 + (get_local $$s) + (i32.and + (i32.or + (i32.and (i32.shr_u (get_local $$wc) - (i32.const 12) - ) - (i32.const 224) - ) - (i32.const 255) - ) - ) - (i32.store8 offset=1 - (get_local $$s) - (i32.and - (i32.or - (i32.and - (i32.shr_u - (get_local $$wc) - (i32.const 6) - ) - (i32.const 63) + (i32.const 6) ) - (i32.const 128) + (i32.const 63) ) - (i32.const 255) + (i32.const 128) ) + (i32.const 255) ) - (i32.store8 offset=2 - (get_local $$s) - (i32.and - (i32.or - (i32.and - (get_local $$wc) - (i32.const 63) - ) - (i32.const 128) + ) + (i32.store8 offset=2 + (get_local $$s) + (i32.and + (i32.or + (i32.and + (get_local $$wc) + (i32.const 63) ) - (i32.const 255) + (i32.const 128) ) + (i32.const 255) ) - (br $do-once$0 - (i32.const 3) - ) + ) + (br $do-once$0 + (i32.const 3) ) ) - (if - (i32.lt_u - (i32.add - (get_local $$wc) - (i32.const -65536) - ) - (i32.const 1048576) + ) + (if + (i32.lt_u + (i32.add + (get_local $$wc) + (i32.const -65536) ) - (block - (i32.store8 - (get_local $$s) - (i32.and - (i32.or - (i32.shr_u - (get_local $$wc) - (i32.const 18) - ) - (i32.const 240) + (i32.const 1048576) + ) + (block + (i32.store8 + (get_local $$s) + (i32.and + (i32.or + (i32.shr_u + (get_local $$wc) + (i32.const 18) ) - (i32.const 255) + (i32.const 240) ) + (i32.const 255) ) - (i32.store8 offset=1 - (get_local $$s) - (i32.and - (i32.or - (i32.and - (i32.shr_u - (get_local $$wc) - (i32.const 12) - ) - (i32.const 63) + ) + (i32.store8 offset=1 + (get_local $$s) + (i32.and + (i32.or + (i32.and + (i32.shr_u + (get_local $$wc) + (i32.const 12) ) - (i32.const 128) + (i32.const 63) ) - (i32.const 255) + (i32.const 128) ) + (i32.const 255) ) - (i32.store8 offset=2 - (get_local $$s) - (i32.and - (i32.or - (i32.and - (i32.shr_u - (get_local $$wc) - (i32.const 6) - ) - (i32.const 63) + ) + (i32.store8 offset=2 + (get_local $$s) + (i32.and + (i32.or + (i32.and + (i32.shr_u + (get_local $$wc) + (i32.const 6) ) - (i32.const 128) + (i32.const 63) ) - (i32.const 255) + (i32.const 128) ) + (i32.const 255) ) - (i32.store8 offset=3 - (get_local $$s) - (i32.and - (i32.or - (i32.and - (get_local $$wc) - (i32.const 63) - ) - (i32.const 128) + ) + (i32.store8 offset=3 + (get_local $$s) + (i32.and + (i32.or + (i32.and + (get_local $$wc) + (i32.const 63) ) - (i32.const 255) + (i32.const 128) ) + (i32.const 255) ) - (i32.const 4) ) - (block - (i32.store - (call $___errno_location) - (i32.const 84) - ) - (i32.const -1) + (i32.const 4) + ) + (block + (i32.store + (call $___errno_location) + (i32.const 84) ) + (i32.const -1) ) ) ) @@ -2463,18 +2424,16 @@ (i32.load (i32.const 8) ) - (return - (if - (i32.eq - (get_local $$s) - (i32.const 0) - ) + (if + (i32.eq + (get_local $$s) + (i32.const 0) + ) + (i32.const 0) + (call $_wcrtomb + (get_local $$s) + (get_local $$wc) (i32.const 0) - (call $_wcrtomb - (get_local $$s) - (get_local $$wc) - (i32.const 0) - ) ) ) ) @@ -2934,39 +2893,35 @@ ) ) ) - (return - (if - (i32.ne - (get_local $$n$addr$3) - (i32.const 0) - ) - (get_local $$s$2) + (if + (i32.ne + (get_local $$n$addr$3) (i32.const 0) ) + (get_local $$s$2) + (i32.const 0) ) ) (func $___syscall_ret (param $$r i32) (result i32) (i32.load (i32.const 8) ) - (return - (if - (i32.gt_u - (get_local $$r) - (i32.const -4096) - ) - (block - (i32.store - (call $___errno_location) - (i32.sub - (i32.const 0) - (get_local $$r) - ) + (if + (i32.gt_u + (get_local $$r) + (i32.const -4096) + ) + (block + (i32.store + (call $___errno_location) + (i32.sub + (i32.const 0) + (get_local $$r) ) - (i32.const -1) ) - (get_local $$r) + (i32.const -1) ) + (get_local $$r) ) ) (func $___fflush_unlocked (param $$f i32) (result i32) @@ -3106,9 +3061,7 @@ ) ) ) - (return - (get_local $$retval$0) - ) + (get_local $$retval$0) ) (func $_cleanup (param $$p i32) (i32.load @@ -3125,7 +3078,6 @@ (get_local $$p) ) ) - (return) ) (func $_printf_core (param $$f i32) (param $$fmt i32) (param $$ap i32) (param $$nl_arg i32) (param $$nl_type i32) (result i32) (local $label i32) @@ -10059,9 +10011,7 @@ (i32.const 8) (get_local $sp) ) - (return - (get_local $$retval$0) - ) + (get_local $$retval$0) ) (func $_pop_arg_336 (param $$arg i32) (param $$type i32) (param $$ap i32) (local $$13 i32) @@ -10669,7 +10619,6 @@ ) ) ) - (return) ) (func $_fmt_u (param $$0 i32) (param $$1 i32) (param $$s i32) (result i32) (local $$8 i32) @@ -10883,9 +10832,7 @@ ) ) ) - (return - (get_local $$s$addr$1$lcssa) - ) + (get_local $$s$addr$1$lcssa) ) (func $_pad (param $$f i32) (param $$c i32) (param $$w i32) (param $$l i32) (param $$fl i32) (local $$sub i32) @@ -11085,7 +11032,6 @@ (i32.const 8) (get_local $sp) ) - (return) ) (func $_malloc (param $$bytes i32) (result i32) (local $$119 i32) @@ -17819,9 +17765,7 @@ (call $___errno_location) (i32.const 12) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $_free (param $$mem i32) (local $$p$1 i32) @@ -19893,7 +19837,6 @@ (i32.const 208) (i32.const -1) ) - (return) ) (func $runPostSets (nop) @@ -19903,53 +19846,45 @@ (get_local $b) (get_local $d) ) - (return - (block - (i32.store - (i32.const 168) - (i32.sub - (i32.sub - (get_local $b) - (get_local $d) - ) - (i32.gt_u - (get_local $c) - (get_local $a) - ) - ) - ) + (i32.store + (i32.const 168) + (i32.sub (i32.sub - (get_local $a) + (get_local $b) + (get_local $d) + ) + (i32.gt_u (get_local $c) + (get_local $a) ) ) ) + (i32.sub + (get_local $a) + (get_local $c) + ) ) (func $_i64Add (param $a i32) (param $b i32) (param $c i32) (param $d i32) (result i32) (local $l i32) - (return - (block - (i32.store - (i32.const 168) - (i32.add + (i32.store + (i32.const 168) + (i32.add + (i32.add + (get_local $b) + (get_local $d) + ) + (i32.lt_u + (set_local $l (i32.add - (get_local $b) - (get_local $d) - ) - (i32.lt_u - (set_local $l - (i32.add - (get_local $a) - (get_local $c) - ) - ) (get_local $a) + (get_local $c) ) ) + (get_local $a) ) - (get_local $l) ) ) + (get_local $l) ) (func $_memset (param $ptr i32) (param $value i32) (param $num i32) (result i32) (local $unaligned i32) @@ -20081,11 +20016,9 @@ ) (br $while-in$5) ) - (return - (i32.sub - (get_local $ptr) - (get_local $num) - ) + (i32.sub + (get_local $ptr) + (get_local $num) ) ) (func $_bitshift64Lshr (param $low i32) (param $high i32) (param $bits i32) (result i32) @@ -20132,13 +20065,11 @@ (i32.const 168) (i32.const 0) ) - (return - (i32.shr_u - (get_local $high) - (i32.sub - (get_local $bits) - (i32.const 32) - ) + (i32.shr_u + (get_local $high) + (i32.sub + (get_local $bits) + (i32.const 32) ) ) ) @@ -20198,9 +20129,7 @@ ) ) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $_memcpy (param $dest i32) (param $src i32) (param $num i32) (result i32) (local $ret i32) @@ -20344,9 +20273,7 @@ ) (br $while-in$5) ) - (return - (get_local $ret) - ) + (get_local $ret) ) (func $_bitshift64Ashr (param $low i32) (param $high i32) (param $bits i32) (result i32) (if @@ -20399,13 +20326,11 @@ (i32.const 0) ) ) - (return - (i32.shr_s - (get_local $high) - (i32.sub - (get_local $bits) - (i32.const 32) - ) + (i32.shr_s + (get_local $high) + (i32.sub + (get_local $bits) + (i32.const 32) ) ) ) @@ -20460,48 +20385,44 @@ (get_local $$1) ) ) - (return - (block - (i32.store - (i32.const 168) - (i32.add - (i32.add - (i32.shr_u - (get_local $$8) - (i32.const 16) - ) - (i32.mul - (get_local $$11) - (get_local $$6) - ) - ) - (i32.shr_u - (i32.add - (i32.and - (get_local $$8) - (i32.const 65535) - ) - (get_local $$12) - ) - (i32.const 16) - ) + (i32.store + (i32.const 168) + (i32.add + (i32.add + (i32.shr_u + (get_local $$8) + (i32.const 16) + ) + (i32.mul + (get_local $$11) + (get_local $$6) ) ) - (i32.or - (i32.const 0) - (i32.or - (i32.shl - (i32.add - (get_local $$8) - (get_local $$12) - ) - (i32.const 16) - ) + (i32.shr_u + (i32.add (i32.and - (get_local $$3) + (get_local $$8) (i32.const 65535) ) + (get_local $$12) ) + (i32.const 16) + ) + ) + ) + (i32.or + (i32.const 0) + (i32.or + (i32.shl + (i32.add + (get_local $$8) + (get_local $$12) + ) + (i32.const 16) + ) + (i32.and + (get_local $$3) + (i32.const 65535) ) ) ) @@ -20603,63 +20524,61 @@ ) ) ) - (return - (call $_i64Subtract - (i32.xor - (call $___udivmoddi4 - (call $_i64Subtract - (i32.xor - (get_local $$1$0) - (get_local $$a$0) - ) - (i32.xor - (get_local $$1$1) - (get_local $$a$1) - ) + (call $_i64Subtract + (i32.xor + (call $___udivmoddi4 + (call $_i64Subtract + (i32.xor (get_local $$1$0) - (get_local $$1$1) - ) - (i32.load - (i32.const 168) - ) - (call $_i64Subtract - (i32.xor - (get_local $$2$0) - (get_local $$b$0) - ) - (i32.xor - (get_local $$2$1) - (get_local $$b$1) - ) - (get_local $$2$0) - (get_local $$2$1) - ) - (i32.load - (i32.const 168) + (get_local $$a$0) ) - (i32.const 0) - ) - (set_local $$7$0 (i32.xor - (get_local $$2$0) - (get_local $$1$0) + (get_local $$1$1) + (get_local $$a$1) ) + (get_local $$1$0) + (get_local $$1$1) ) - ) - (i32.xor (i32.load (i32.const 168) ) - (set_local $$7$1 + (call $_i64Subtract + (i32.xor + (get_local $$2$0) + (get_local $$b$0) + ) (i32.xor (get_local $$2$1) - (get_local $$1$1) + (get_local $$b$1) ) + (get_local $$2$0) + (get_local $$2$1) + ) + (i32.load + (i32.const 168) + ) + (i32.const 0) + ) + (set_local $$7$0 + (i32.xor + (get_local $$2$0) + (get_local $$1$0) ) ) - (get_local $$7$0) - (get_local $$7$1) ) + (i32.xor + (i32.load + (i32.const 168) + ) + (set_local $$7$1 + (i32.xor + (get_local $$2$1) + (get_local $$1$1) + ) + ) + ) + (get_local $$7$0) + (get_local $$7$1) ) ) (func $___remdi3 (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (result i32) @@ -20838,15 +20757,11 @@ (i32.const 8) (get_local $__stackBase__) ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$10$1) - ) - (get_local $$10$0) - ) + (i32.store + (i32.const 168) + (get_local $$10$1) ) + (get_local $$10$0) ) (func $___muldi3 (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (result i32) (local $$x_sroa_0_0_extract_trunc i32) @@ -20863,53 +20778,47 @@ ) ) ) - (return - (block - (i32.store - (i32.const 168) - (i32.or - (i32.add - (i32.add - (i32.mul - (get_local $$b$1) - (get_local $$x_sroa_0_0_extract_trunc) - ) - (i32.mul - (get_local $$a$1) - (get_local $$y_sroa_0_0_extract_trunc) - ) - ) - (set_local $$1$1 - (i32.load - (i32.const 168) - ) - ) + (i32.store + (i32.const 168) + (i32.or + (i32.add + (i32.add + (i32.mul + (get_local $$b$1) + (get_local $$x_sroa_0_0_extract_trunc) ) - (i32.and - (get_local $$1$1) - (i32.const 0) + (i32.mul + (get_local $$a$1) + (get_local $$y_sroa_0_0_extract_trunc) + ) + ) + (set_local $$1$1 + (i32.load + (i32.const 168) ) ) ) - (i32.or + (i32.and + (get_local $$1$1) (i32.const 0) - (i32.and - (get_local $$1$0) - (i32.const -1) - ) ) ) ) + (i32.or + (i32.const 0) + (i32.and + (get_local $$1$0) + (i32.const -1) + ) + ) ) (func $___udivdi3 (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (result i32) - (return - (call $___udivmoddi4 - (get_local $$a$0) - (get_local $$a$1) - (get_local $$b$0) - (get_local $$b$1) - (i32.const 0) - ) + (call $___udivmoddi4 + (get_local $$a$0) + (get_local $$a$1) + (get_local $$b$0) + (get_local $$b$1) + (i32.const 0) ) ) (func $___uremdi3 (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (result i32) @@ -20942,19 +20851,15 @@ (i32.const 8) (get_local $__stackBase__) ) - (return - (block - (i32.store - (i32.const 168) - (i32.load offset=4 - (get_local $$rem) - ) - ) - (i32.load - (get_local $$rem) - ) + (i32.store + (i32.const 168) + (i32.load offset=4 + (get_local $$rem) ) ) + (i32.load + (get_local $$rem) + ) ) (func $___udivmoddi4 (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (param $$rem i32) (result i32) (local $$n_sroa_1_4_extract_trunc i32) @@ -21991,89 +21896,81 @@ ) ) ) - (return - (block - (i32.store - (i32.const 168) + (i32.store + (i32.const 168) + (i32.or + (i32.or (i32.or - (i32.or + (i32.shr_u (i32.or - (i32.shr_u - (i32.or - (i32.const 0) - (get_local $$q_sroa_0_0_insert_ext75$0) - ) - (i32.const 31) - ) - (i32.shl - (get_local $$q_sroa_0_0_insert_insert77$1) - (i32.const 1) - ) - ) - (i32.and - (i32.or - (i32.shl - (get_local $$q_sroa_0_0_insert_ext75$1) - (i32.const 1) - ) - (i32.shr_u - (get_local $$q_sroa_0_0_insert_ext75$0) - (i32.const 31) - ) - ) (i32.const 0) + (get_local $$q_sroa_0_0_insert_ext75$0) ) + (i32.const 31) + ) + (i32.shl + (get_local $$q_sroa_0_0_insert_insert77$1) + (i32.const 1) ) - (get_local $$carry_0_lcssa$1) ) - ) - (i32.or (i32.and (i32.or (i32.shl - (get_local $$q_sroa_0_0_insert_ext75$0) + (get_local $$q_sroa_0_0_insert_ext75$1) (i32.const 1) ) (i32.shr_u - (i32.const 0) + (get_local $$q_sroa_0_0_insert_ext75$0) (i32.const 31) ) ) - (i32.const -2) + (i32.const 0) ) - (get_local $$carry_0_lcssa$0) ) + (get_local $$carry_0_lcssa$1) ) ) - ) - (func $dynCall_ii (param $index i32) (param $a1 i32) (result i32) - (return - (call_indirect $FUNCSIG$ii - (i32.add - (i32.and - (get_local $index) + (i32.or + (i32.and + (i32.or + (i32.shl + (get_local $$q_sroa_0_0_insert_ext75$0) (i32.const 1) ) - (i32.const 0) + (i32.shr_u + (i32.const 0) + (i32.const 31) + ) ) - (get_local $a1) + (i32.const -2) + ) + (get_local $$carry_0_lcssa$0) + ) + ) + (func $dynCall_ii (param $index i32) (param $a1 i32) (result i32) + (call_indirect $FUNCSIG$ii + (i32.add + (i32.and + (get_local $index) + (i32.const 1) + ) + (i32.const 0) ) + (get_local $a1) ) ) (func $dynCall_iiii (param $index i32) (param $a1 i32) (param $a2 i32) (param $a3 i32) (result i32) - (return - (call_indirect $FUNCSIG$iiii - (i32.add - (i32.and - (get_local $index) - (i32.const 7) - ) - (i32.const 2) + (call_indirect $FUNCSIG$iiii + (i32.add + (i32.and + (get_local $index) + (i32.const 7) ) - (get_local $a1) - (get_local $a2) - (get_local $a3) + (i32.const 2) ) + (get_local $a1) + (get_local $a2) + (get_local $a3) ) ) (func $dynCall_vi (param $index i32) (param $a1 i32) @@ -22092,17 +21989,13 @@ (call_import $nullFunc_ii (i32.const 0) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $b1 (param $p0 i32) (param $p1 i32) (param $p2 i32) (result i32) (call_import $nullFunc_iiii (i32.const 1) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $b2 (param $p0 i32) (call_import $nullFunc_vi diff --git a/test/emcc_hello_world.fromasm.imprecise b/test/emcc_hello_world.fromasm.imprecise index 2da4263e7..7f0e4caba 100644 --- a/test/emcc_hello_world.fromasm.imprecise +++ b/test/emcc_hello_world.fromasm.imprecise @@ -89,15 +89,11 @@ ) (call_import $abort) ) - (return - (get_local $ret) - ) + (get_local $ret) ) (func $stackSave (result i32) - (return - (i32.load - (i32.const 8) - ) + (i32.load + (i32.const 8) ) ) (func $stackRestore (param $top i32) @@ -243,10 +239,8 @@ ) ) (func $getTempRet0 (result i32) - (return - (i32.load - (i32.const 168) - ) + (i32.load + (i32.const 168) ) ) (func $_main (result i32) @@ -285,9 +279,7 @@ (i32.const 8) (get_local $sp) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $_frexp (param $$x f64) (param $$e i32) (result f64) (local $$x$addr$0 f64) @@ -327,97 +319,95 @@ (i32.load (i32.const 168) ) - (return - (block $switch$0 + (block $switch$0 + (block $switch-default$3 (block $switch-default$3 - (block $switch-default$3 - (block $switch-case$2 - (block $switch-case$1 - (br_table $switch-case$1 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-case$2 $switch-default$3 - (i32.sub - (set_local $$conv - (i32.and - (get_local $$2) - (i32.const 2047) - ) + (block $switch-case$2 + (block $switch-case$1 + (br_table $switch-case$1 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-default$3 $switch-case$2 $switch-default$3 + (i32.sub + (set_local $$conv + (i32.and + (get_local $$2) + (i32.const 2047) ) - (i32.const 0) ) + (i32.const 0) ) ) - (set_local $$storemerge - (if - (f64.ne - (get_local $$x) - (f64.const 0) - ) - (block - (set_local $$x$addr$0 - (call $_frexp - (f64.mul - (get_local $$x) - (f64.const 18446744073709551615) - ) - (get_local $$e) - ) - ) - (i32.add - (i32.load - (get_local $$e) + ) + (set_local $$storemerge + (if + (f64.ne + (get_local $$x) + (f64.const 0) + ) + (block + (set_local $$x$addr$0 + (call $_frexp + (f64.mul + (get_local $$x) + (f64.const 18446744073709551615) ) - (i32.const -64) + (get_local $$e) ) ) - (block - (set_local $$x$addr$0 - (get_local $$x) + (i32.add + (i32.load + (get_local $$e) ) - (i32.const 0) + (i32.const -64) ) ) + (block + (set_local $$x$addr$0 + (get_local $$x) + ) + (i32.const 0) + ) ) - (i32.store - (get_local $$e) - (get_local $$storemerge) - ) - (br $switch$0 - (get_local $$x$addr$0) - ) + ) + (i32.store + (get_local $$e) + (get_local $$storemerge) ) (br $switch$0 - (get_local $$x) + (get_local $$x$addr$0) ) ) - (i32.store - (get_local $$e) - (i32.add - (get_local $$conv) - (i32.const -1022) - ) + (br $switch$0 + (get_local $$x) ) - (i32.store - (i32.load - (i32.const 24) - ) - (get_local $$0) + ) + (i32.store + (get_local $$e) + (i32.add + (get_local $$conv) + (i32.const -1022) ) - (i32.store offset=4 - (i32.load - (i32.const 24) - ) - (i32.or - (i32.and - (get_local $$1) - (i32.const -2146435073) - ) - (i32.const 1071644672) - ) + ) + (i32.store + (i32.load + (i32.const 24) ) + (get_local $$0) ) - (f64.load + (i32.store offset=4 (i32.load (i32.const 24) ) + (i32.or + (i32.and + (get_local $$1) + (i32.const -2146435073) + ) + (i32.const 1071644672) + ) + ) + ) + (f64.load + (i32.load + (i32.const 24) ) ) ) @@ -426,11 +416,9 @@ (i32.load (i32.const 8) ) - (return - (call $_frexp - (get_local $$x) - (get_local $$e) - ) + (call $_frexp + (get_local $$x) + (get_local $$e) ) ) (func $_strerror (param $$e i32) (result i32) @@ -601,26 +589,22 @@ (br $while-in$3) ) ) - (return - (get_local $$s$0$lcssa) - ) + (get_local $$s$0$lcssa) ) (func $___errno_location (result i32) (i32.load (i32.const 8) ) - (return - (if - (i32.eq - (i32.load - (i32.const 16) - ) - (i32.const 0) - ) - (i32.const 60) - (i32.load offset=60 - (call_import $_pthread_self) + (if + (i32.eq + (i32.load + (i32.const 16) ) + (i32.const 0) + ) + (i32.const 60) + (i32.load offset=60 + (call_import $_pthread_self) ) ) ) @@ -673,9 +657,7 @@ (i32.const 8) (get_local $sp) ) - (return - (get_local $$call1) - ) + (get_local $$call1) ) (func $___stdout_write (param $$f i32) (param $$buf i32) (param $$len i32) (result i32) (local $$vararg_buffer i32) @@ -771,9 +753,7 @@ (i32.const 8) (get_local $sp) ) - (return - (get_local $$call3) - ) + (get_local $$call3) ) (func $___stdio_seek (param $$f i32) (param $$off i32) (param $$whence i32) (result i32) (local $$vararg_buffer i32) @@ -861,9 +841,7 @@ (i32.const 8) (get_local $sp) ) - (return - (get_local $$1) - ) + (get_local $$1) ) (func $_fflush (param $$f i32) (result i32) (local $$f$addr$022 i32) @@ -879,164 +857,162 @@ (i32.load (i32.const 8) ) - (return - (block $do-once$0 - (if - (i32.eq - (get_local $$f) - (i32.const 0) - ) - (block - (set_local $$cond10 - (if - (i32.eq - (i32.load - (i32.const 12) - ) - (i32.const 0) + (block $do-once$0 + (if + (i32.eq + (get_local $$f) + (i32.const 0) + ) + (block + (set_local $$cond10 + (if + (i32.eq + (i32.load + (i32.const 12) ) (i32.const 0) - (call $_fflush - (i32.load - (i32.const 12) - ) + ) + (i32.const 0) + (call $_fflush + (i32.load + (i32.const 12) ) ) ) - (call_import $___lock - (i32.const 44) - ) - (if - (i32.eq - (set_local $$f$addr$0$19 - (i32.load - (i32.const 40) - ) + ) + (call_import $___lock + (i32.const 44) + ) + (if + (i32.eq + (set_local $$f$addr$0$19 + (i32.load + (i32.const 40) ) - (i32.const 0) ) - (set_local $$r$0$lcssa + (i32.const 0) + ) + (set_local $$r$0$lcssa + (get_local $$cond10) + ) + (block + (set_local $$f$addr$022 + (get_local $$f$addr$0$19) + ) + (set_local $$r$021 (get_local $$cond10) ) - (block - (set_local $$f$addr$022 - (get_local $$f$addr$0$19) - ) - (set_local $$r$021 - (get_local $$cond10) - ) - (loop $while-out$2 $while-in$3 - (set_local $$cond19 - (if - (i32.gt_s - (i32.load offset=76 - (get_local $$f$addr$022) - ) - (i32.const -1) - ) - (call $___lockfile + (loop $while-out$2 $while-in$3 + (set_local $$cond19 + (if + (i32.gt_s + (i32.load offset=76 (get_local $$f$addr$022) ) - (i32.const 0) + (i32.const -1) ) + (call $___lockfile + (get_local $$f$addr$022) + ) + (i32.const 0) ) - (set_local $$r$1 - (if - (i32.gt_u - (i32.load offset=20 - (get_local $$f$addr$022) - ) - (i32.load offset=28 - (get_local $$f$addr$022) - ) + ) + (set_local $$r$1 + (if + (i32.gt_u + (i32.load offset=20 + (get_local $$f$addr$022) ) - (i32.or - (call $___fflush_unlocked - (get_local $$f$addr$022) - ) - (get_local $$r$021) + (i32.load offset=28 + (get_local $$f$addr$022) + ) + ) + (i32.or + (call $___fflush_unlocked + (get_local $$f$addr$022) ) (get_local $$r$021) ) + (get_local $$r$021) ) - (if - (i32.ne - (get_local $$cond19) - (i32.const 0) - ) - (call $___unlockfile - (get_local $$f$addr$022) - ) + ) + (if + (i32.ne + (get_local $$cond19) + (i32.const 0) ) - (if - (i32.eq - (set_local $$f$addr$0 - (i32.load offset=56 - (get_local $$f$addr$022) - ) + (call $___unlockfile + (get_local $$f$addr$022) + ) + ) + (if + (i32.eq + (set_local $$f$addr$0 + (i32.load offset=56 + (get_local $$f$addr$022) ) - (i32.const 0) ) - (block - (set_local $$r$0$lcssa - (get_local $$r$1) - ) - (br $while-out$2) + (i32.const 0) + ) + (block + (set_local $$r$0$lcssa + (get_local $$r$1) ) - (block - (set_local $$f$addr$022 - (get_local $$f$addr$0) - ) - (set_local $$r$021 - (get_local $$r$1) - ) + (br $while-out$2) + ) + (block + (set_local $$f$addr$022 + (get_local $$f$addr$0) + ) + (set_local $$r$021 + (get_local $$r$1) ) ) - (br $while-in$3) ) + (br $while-in$3) ) ) - (call_import $___unlock - (i32.const 44) - ) - (get_local $$r$0$lcssa) ) - (block - (if - (i32.le_s - (i32.load offset=76 - (get_local $$f) - ) - (i32.const -1) - ) - (br $do-once$0 - (call $___fflush_unlocked - (get_local $$f) - ) + (call_import $___unlock + (i32.const 44) + ) + (get_local $$r$0$lcssa) + ) + (block + (if + (i32.le_s + (i32.load offset=76 + (get_local $$f) ) + (i32.const -1) ) - (set_local $$phitmp - (i32.eq - (call $___lockfile - (get_local $$f) - ) - (i32.const 0) + (br $do-once$0 + (call $___fflush_unlocked + (get_local $$f) ) ) - (set_local $$call1 - (call $___fflush_unlocked + ) + (set_local $$phitmp + (i32.eq + (call $___lockfile (get_local $$f) ) + (i32.const 0) ) - (if - (get_local $$phitmp) - (get_local $$call1) - (block - (call $___unlockfile - (get_local $$f) - ) - (get_local $$call1) + ) + (set_local $$call1 + (call $___fflush_unlocked + (get_local $$f) + ) + ) + (if + (get_local $$phitmp) + (get_local $$call1) + (block + (call $___unlockfile + (get_local $$f) ) + (get_local $$call1) ) ) ) @@ -1091,23 +1067,18 @@ (i32.const 8) (get_local $sp) ) - (return - (get_local $$call) - ) + (get_local $$call) ) (func $___lockfile (param $$f i32) (result i32) (i32.load (i32.const 8) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $___unlockfile (param $$f i32) (i32.load (i32.const 8) ) - (return) ) (func $___stdio_write (param $$f i32) (param $$buf i32) (param $$len i32) (result i32) (local $$iov$0 i32) @@ -1534,9 +1505,7 @@ (i32.const 8) (get_local $sp) ) - (return - (get_local $$retval$0) - ) + (get_local $$retval$0) ) (func $_vfprintf (param $$f i32) (param $$fmt i32) (param $$ap i32) (result i32) (local $sp i32) @@ -1874,9 +1843,7 @@ (i32.const 8) (get_local $sp) ) - (return - (get_local $$retval$0) - ) + (get_local $$retval$0) ) (func $___fwritex (param $$s i32) (param $$l i32) (param $$f i32) (result i32) (local $$i$0$lcssa36 i32) @@ -2143,9 +2110,7 @@ ) ) ) - (return - (get_local $$retval$0) - ) + (get_local $$retval$0) ) (func $___towrite (param $$f i32) (result i32) (local $$2 i32) @@ -2187,61 +2152,59 @@ (get_local $$mode) (get_local $$conv3) ) - (return - (if - (i32.eq - (i32.and - (set_local $$1 - (i32.load - (get_local $$f) - ) + (if + (i32.eq + (i32.and + (set_local $$1 + (i32.load + (get_local $$f) ) - (i32.const 8) ) + (i32.const 8) + ) + (i32.const 0) + ) + (block + (i32.store offset=8 + (get_local $$f) (i32.const 0) ) - (block - (i32.store offset=8 - (get_local $$f) - (i32.const 0) - ) - (i32.store offset=4 - (get_local $$f) - (i32.const 0) - ) - (i32.store offset=28 - (get_local $$f) - (set_local $$2 - (i32.load offset=44 - (get_local $$f) - ) + (i32.store offset=4 + (get_local $$f) + (i32.const 0) + ) + (i32.store offset=28 + (get_local $$f) + (set_local $$2 + (i32.load offset=44 + (get_local $$f) ) ) - (i32.store offset=20 - (get_local $$f) + ) + (i32.store offset=20 + (get_local $$f) + (get_local $$2) + ) + (i32.store offset=16 + (get_local $$f) + (i32.add (get_local $$2) - ) - (i32.store offset=16 - (get_local $$f) - (i32.add - (get_local $$2) - (i32.load offset=48 - (get_local $$f) - ) + (i32.load offset=48 + (get_local $$f) ) ) - (i32.const 0) ) - (block - (i32.store - (get_local $$f) - (i32.or - (get_local $$1) - (i32.const 32) - ) + (i32.const 0) + ) + (block + (i32.store + (get_local $$f) + (i32.or + (get_local $$1) + (i32.const 32) ) - (i32.const -1) ) + (i32.const -1) ) ) ) @@ -2249,208 +2212,206 @@ (i32.load (i32.const 8) ) - (return - (block $do-once$0 - (if - (i32.eq - (get_local $$s) - (i32.const 0) - ) - (i32.const 1) - (block - (if - (i32.lt_u - (get_local $$wc) - (i32.const 128) - ) - (block - (i32.store8 - (get_local $$s) - (i32.and - (get_local $$wc) - (i32.const 255) - ) - ) - (br $do-once$0 - (i32.const 1) + (block $do-once$0 + (if + (i32.eq + (get_local $$s) + (i32.const 0) + ) + (i32.const 1) + (block + (if + (i32.lt_u + (get_local $$wc) + (i32.const 128) + ) + (block + (i32.store8 + (get_local $$s) + (i32.and + (get_local $$wc) + (i32.const 255) ) ) - ) - (if - (i32.lt_u - (get_local $$wc) - (i32.const 2048) + (br $do-once$0 + (i32.const 1) ) - (block - (i32.store8 - (get_local $$s) - (i32.and - (i32.or - (i32.shr_u - (get_local $$wc) - (i32.const 6) - ) - (i32.const 192) + ) + ) + (if + (i32.lt_u + (get_local $$wc) + (i32.const 2048) + ) + (block + (i32.store8 + (get_local $$s) + (i32.and + (i32.or + (i32.shr_u + (get_local $$wc) + (i32.const 6) ) - (i32.const 255) + (i32.const 192) ) + (i32.const 255) ) - (i32.store8 offset=1 - (get_local $$s) - (i32.and - (i32.or - (i32.and - (get_local $$wc) - (i32.const 63) - ) - (i32.const 128) + ) + (i32.store8 offset=1 + (get_local $$s) + (i32.and + (i32.or + (i32.and + (get_local $$wc) + (i32.const 63) ) - (i32.const 255) + (i32.const 128) ) - ) - (br $do-once$0 - (i32.const 2) + (i32.const 255) ) ) + (br $do-once$0 + (i32.const 2) + ) ) - (if - (i32.or - (i32.lt_u + ) + (if + (i32.or + (i32.lt_u + (get_local $$wc) + (i32.const 55296) + ) + (i32.eq + (i32.and (get_local $$wc) - (i32.const 55296) + (i32.const -8192) ) - (i32.eq - (i32.and - (get_local $$wc) - (i32.const -8192) + (i32.const 57344) + ) + ) + (block + (i32.store8 + (get_local $$s) + (i32.and + (i32.or + (i32.shr_u + (get_local $$wc) + (i32.const 12) + ) + (i32.const 224) ) - (i32.const 57344) + (i32.const 255) ) ) - (block - (i32.store8 - (get_local $$s) - (i32.and - (i32.or + (i32.store8 offset=1 + (get_local $$s) + (i32.and + (i32.or + (i32.and (i32.shr_u (get_local $$wc) - (i32.const 12) - ) - (i32.const 224) - ) - (i32.const 255) - ) - ) - (i32.store8 offset=1 - (get_local $$s) - (i32.and - (i32.or - (i32.and - (i32.shr_u - (get_local $$wc) - (i32.const 6) - ) - (i32.const 63) + (i32.const 6) ) - (i32.const 128) + (i32.const 63) ) - (i32.const 255) + (i32.const 128) ) + (i32.const 255) ) - (i32.store8 offset=2 - (get_local $$s) - (i32.and - (i32.or - (i32.and - (get_local $$wc) - (i32.const 63) - ) - (i32.const 128) + ) + (i32.store8 offset=2 + (get_local $$s) + (i32.and + (i32.or + (i32.and + (get_local $$wc) + (i32.const 63) ) - (i32.const 255) + (i32.const 128) ) + (i32.const 255) ) - (br $do-once$0 - (i32.const 3) - ) + ) + (br $do-once$0 + (i32.const 3) ) ) - (if - (i32.lt_u - (i32.add - (get_local $$wc) - (i32.const -65536) - ) - (i32.const 1048576) + ) + (if + (i32.lt_u + (i32.add + (get_local $$wc) + (i32.const -65536) ) - (block - (i32.store8 - (get_local $$s) - (i32.and - (i32.or - (i32.shr_u - (get_local $$wc) - (i32.const 18) - ) - (i32.const 240) + (i32.const 1048576) + ) + (block + (i32.store8 + (get_local $$s) + (i32.and + (i32.or + (i32.shr_u + (get_local $$wc) + (i32.const 18) ) - (i32.const 255) + (i32.const 240) ) + (i32.const 255) ) - (i32.store8 offset=1 - (get_local $$s) - (i32.and - (i32.or - (i32.and - (i32.shr_u - (get_local $$wc) - (i32.const 12) - ) - (i32.const 63) + ) + (i32.store8 offset=1 + (get_local $$s) + (i32.and + (i32.or + (i32.and + (i32.shr_u + (get_local $$wc) + (i32.const 12) ) - (i32.const 128) + (i32.const 63) ) - (i32.const 255) + (i32.const 128) ) + (i32.const 255) ) - (i32.store8 offset=2 - (get_local $$s) - (i32.and - (i32.or - (i32.and - (i32.shr_u - (get_local $$wc) - (i32.const 6) - ) - (i32.const 63) + ) + (i32.store8 offset=2 + (get_local $$s) + (i32.and + (i32.or + (i32.and + (i32.shr_u + (get_local $$wc) + (i32.const 6) ) - (i32.const 128) + (i32.const 63) ) - (i32.const 255) + (i32.const 128) ) + (i32.const 255) ) - (i32.store8 offset=3 - (get_local $$s) - (i32.and - (i32.or - (i32.and - (get_local $$wc) - (i32.const 63) - ) - (i32.const 128) + ) + (i32.store8 offset=3 + (get_local $$s) + (i32.and + (i32.or + (i32.and + (get_local $$wc) + (i32.const 63) ) - (i32.const 255) + (i32.const 128) ) + (i32.const 255) ) - (i32.const 4) ) - (block - (i32.store - (call $___errno_location) - (i32.const 84) - ) - (i32.const -1) + (i32.const 4) + ) + (block + (i32.store + (call $___errno_location) + (i32.const 84) ) + (i32.const -1) ) ) ) @@ -2461,18 +2422,16 @@ (i32.load (i32.const 8) ) - (return - (if - (i32.eq - (get_local $$s) - (i32.const 0) - ) + (if + (i32.eq + (get_local $$s) + (i32.const 0) + ) + (i32.const 0) + (call $_wcrtomb + (get_local $$s) + (get_local $$wc) (i32.const 0) - (call $_wcrtomb - (get_local $$s) - (get_local $$wc) - (i32.const 0) - ) ) ) ) @@ -2932,39 +2891,35 @@ ) ) ) - (return - (if - (i32.ne - (get_local $$n$addr$3) - (i32.const 0) - ) - (get_local $$s$2) + (if + (i32.ne + (get_local $$n$addr$3) (i32.const 0) ) + (get_local $$s$2) + (i32.const 0) ) ) (func $___syscall_ret (param $$r i32) (result i32) (i32.load (i32.const 8) ) - (return - (if - (i32.gt_u - (get_local $$r) - (i32.const -4096) - ) - (block - (i32.store - (call $___errno_location) - (i32.sub - (i32.const 0) - (get_local $$r) - ) + (if + (i32.gt_u + (get_local $$r) + (i32.const -4096) + ) + (block + (i32.store + (call $___errno_location) + (i32.sub + (i32.const 0) + (get_local $$r) ) - (i32.const -1) ) - (get_local $$r) + (i32.const -1) ) + (get_local $$r) ) ) (func $___fflush_unlocked (param $$f i32) (result i32) @@ -3104,9 +3059,7 @@ ) ) ) - (return - (get_local $$retval$0) - ) + (get_local $$retval$0) ) (func $_cleanup (param $$p i32) (i32.load @@ -3123,7 +3076,6 @@ (get_local $$p) ) ) - (return) ) (func $_printf_core (param $$f i32) (param $$fmt i32) (param $$ap i32) (param $$nl_arg i32) (param $$nl_type i32) (result i32) (local $label i32) @@ -10057,9 +10009,7 @@ (i32.const 8) (get_local $sp) ) - (return - (get_local $$retval$0) - ) + (get_local $$retval$0) ) (func $_pop_arg_336 (param $$arg i32) (param $$type i32) (param $$ap i32) (local $$13 i32) @@ -10667,7 +10617,6 @@ ) ) ) - (return) ) (func $_fmt_u (param $$0 i32) (param $$1 i32) (param $$s i32) (result i32) (local $$8 i32) @@ -10881,9 +10830,7 @@ ) ) ) - (return - (get_local $$s$addr$1$lcssa) - ) + (get_local $$s$addr$1$lcssa) ) (func $_pad (param $$f i32) (param $$c i32) (param $$w i32) (param $$l i32) (param $$fl i32) (local $$sub i32) @@ -11083,7 +11030,6 @@ (i32.const 8) (get_local $sp) ) - (return) ) (func $_malloc (param $$bytes i32) (result i32) (local $$119 i32) @@ -17817,9 +17763,7 @@ (call $___errno_location) (i32.const 12) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $_free (param $$mem i32) (local $$p$1 i32) @@ -19891,7 +19835,6 @@ (i32.const 208) (i32.const -1) ) - (return) ) (func $runPostSets (nop) @@ -19901,53 +19844,45 @@ (get_local $b) (get_local $d) ) - (return - (block - (i32.store - (i32.const 168) - (i32.sub - (i32.sub - (get_local $b) - (get_local $d) - ) - (i32.gt_u - (get_local $c) - (get_local $a) - ) - ) - ) + (i32.store + (i32.const 168) + (i32.sub (i32.sub - (get_local $a) + (get_local $b) + (get_local $d) + ) + (i32.gt_u (get_local $c) + (get_local $a) ) ) ) + (i32.sub + (get_local $a) + (get_local $c) + ) ) (func $_i64Add (param $a i32) (param $b i32) (param $c i32) (param $d i32) (result i32) (local $l i32) - (return - (block - (i32.store - (i32.const 168) - (i32.add + (i32.store + (i32.const 168) + (i32.add + (i32.add + (get_local $b) + (get_local $d) + ) + (i32.lt_u + (set_local $l (i32.add - (get_local $b) - (get_local $d) - ) - (i32.lt_u - (set_local $l - (i32.add - (get_local $a) - (get_local $c) - ) - ) (get_local $a) + (get_local $c) ) ) + (get_local $a) ) - (get_local $l) ) ) + (get_local $l) ) (func $_memset (param $ptr i32) (param $value i32) (param $num i32) (result i32) (local $unaligned i32) @@ -20079,11 +20014,9 @@ ) (br $while-in$5) ) - (return - (i32.sub - (get_local $ptr) - (get_local $num) - ) + (i32.sub + (get_local $ptr) + (get_local $num) ) ) (func $_bitshift64Lshr (param $low i32) (param $high i32) (param $bits i32) (result i32) @@ -20130,13 +20063,11 @@ (i32.const 168) (i32.const 0) ) - (return - (i32.shr_u - (get_local $high) - (i32.sub - (get_local $bits) - (i32.const 32) - ) + (i32.shr_u + (get_local $high) + (i32.sub + (get_local $bits) + (i32.const 32) ) ) ) @@ -20196,9 +20127,7 @@ ) ) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $_memcpy (param $dest i32) (param $src i32) (param $num i32) (result i32) (local $ret i32) @@ -20342,9 +20271,7 @@ ) (br $while-in$5) ) - (return - (get_local $ret) - ) + (get_local $ret) ) (func $_bitshift64Ashr (param $low i32) (param $high i32) (param $bits i32) (result i32) (if @@ -20397,13 +20324,11 @@ (i32.const 0) ) ) - (return - (i32.shr_s - (get_local $high) - (i32.sub - (get_local $bits) - (i32.const 32) - ) + (i32.shr_s + (get_local $high) + (i32.sub + (get_local $bits) + (i32.const 32) ) ) ) @@ -20458,48 +20383,44 @@ (get_local $$1) ) ) - (return - (block - (i32.store - (i32.const 168) - (i32.add - (i32.add - (i32.shr_u - (get_local $$8) - (i32.const 16) - ) - (i32.mul - (get_local $$11) - (get_local $$6) - ) - ) - (i32.shr_u - (i32.add - (i32.and - (get_local $$8) - (i32.const 65535) - ) - (get_local $$12) - ) - (i32.const 16) - ) + (i32.store + (i32.const 168) + (i32.add + (i32.add + (i32.shr_u + (get_local $$8) + (i32.const 16) + ) + (i32.mul + (get_local $$11) + (get_local $$6) ) ) - (i32.or - (i32.const 0) - (i32.or - (i32.shl - (i32.add - (get_local $$8) - (get_local $$12) - ) - (i32.const 16) - ) + (i32.shr_u + (i32.add (i32.and - (get_local $$3) + (get_local $$8) (i32.const 65535) ) + (get_local $$12) ) + (i32.const 16) + ) + ) + ) + (i32.or + (i32.const 0) + (i32.or + (i32.shl + (i32.add + (get_local $$8) + (get_local $$12) + ) + (i32.const 16) + ) + (i32.and + (get_local $$3) + (i32.const 65535) ) ) ) @@ -20601,63 +20522,61 @@ ) ) ) - (return - (call $_i64Subtract - (i32.xor - (call $___udivmoddi4 - (call $_i64Subtract - (i32.xor - (get_local $$1$0) - (get_local $$a$0) - ) - (i32.xor - (get_local $$1$1) - (get_local $$a$1) - ) + (call $_i64Subtract + (i32.xor + (call $___udivmoddi4 + (call $_i64Subtract + (i32.xor (get_local $$1$0) - (get_local $$1$1) - ) - (i32.load - (i32.const 168) - ) - (call $_i64Subtract - (i32.xor - (get_local $$2$0) - (get_local $$b$0) - ) - (i32.xor - (get_local $$2$1) - (get_local $$b$1) - ) - (get_local $$2$0) - (get_local $$2$1) - ) - (i32.load - (i32.const 168) + (get_local $$a$0) ) - (i32.const 0) - ) - (set_local $$7$0 (i32.xor - (get_local $$2$0) - (get_local $$1$0) + (get_local $$1$1) + (get_local $$a$1) ) + (get_local $$1$0) + (get_local $$1$1) ) - ) - (i32.xor (i32.load (i32.const 168) ) - (set_local $$7$1 + (call $_i64Subtract + (i32.xor + (get_local $$2$0) + (get_local $$b$0) + ) (i32.xor (get_local $$2$1) - (get_local $$1$1) + (get_local $$b$1) ) + (get_local $$2$0) + (get_local $$2$1) + ) + (i32.load + (i32.const 168) + ) + (i32.const 0) + ) + (set_local $$7$0 + (i32.xor + (get_local $$2$0) + (get_local $$1$0) ) ) - (get_local $$7$0) - (get_local $$7$1) ) + (i32.xor + (i32.load + (i32.const 168) + ) + (set_local $$7$1 + (i32.xor + (get_local $$2$1) + (get_local $$1$1) + ) + ) + ) + (get_local $$7$0) + (get_local $$7$1) ) ) (func $___remdi3 (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (result i32) @@ -20836,15 +20755,11 @@ (i32.const 8) (get_local $__stackBase__) ) - (return - (block - (i32.store - (i32.const 168) - (get_local $$10$1) - ) - (get_local $$10$0) - ) + (i32.store + (i32.const 168) + (get_local $$10$1) ) + (get_local $$10$0) ) (func $___muldi3 (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (result i32) (local $$x_sroa_0_0_extract_trunc i32) @@ -20861,53 +20776,47 @@ ) ) ) - (return - (block - (i32.store - (i32.const 168) - (i32.or - (i32.add - (i32.add - (i32.mul - (get_local $$b$1) - (get_local $$x_sroa_0_0_extract_trunc) - ) - (i32.mul - (get_local $$a$1) - (get_local $$y_sroa_0_0_extract_trunc) - ) - ) - (set_local $$1$1 - (i32.load - (i32.const 168) - ) - ) + (i32.store + (i32.const 168) + (i32.or + (i32.add + (i32.add + (i32.mul + (get_local $$b$1) + (get_local $$x_sroa_0_0_extract_trunc) ) - (i32.and - (get_local $$1$1) - (i32.const 0) + (i32.mul + (get_local $$a$1) + (get_local $$y_sroa_0_0_extract_trunc) + ) + ) + (set_local $$1$1 + (i32.load + (i32.const 168) ) ) ) - (i32.or + (i32.and + (get_local $$1$1) (i32.const 0) - (i32.and - (get_local $$1$0) - (i32.const -1) - ) ) ) ) + (i32.or + (i32.const 0) + (i32.and + (get_local $$1$0) + (i32.const -1) + ) + ) ) (func $___udivdi3 (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (result i32) - (return - (call $___udivmoddi4 - (get_local $$a$0) - (get_local $$a$1) - (get_local $$b$0) - (get_local $$b$1) - (i32.const 0) - ) + (call $___udivmoddi4 + (get_local $$a$0) + (get_local $$a$1) + (get_local $$b$0) + (get_local $$b$1) + (i32.const 0) ) ) (func $___uremdi3 (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (result i32) @@ -20940,19 +20849,15 @@ (i32.const 8) (get_local $__stackBase__) ) - (return - (block - (i32.store - (i32.const 168) - (i32.load offset=4 - (get_local $$rem) - ) - ) - (i32.load - (get_local $$rem) - ) + (i32.store + (i32.const 168) + (i32.load offset=4 + (get_local $$rem) ) ) + (i32.load + (get_local $$rem) + ) ) (func $___udivmoddi4 (param $$a$0 i32) (param $$a$1 i32) (param $$b$0 i32) (param $$b$1 i32) (param $$rem i32) (result i32) (local $$n_sroa_1_4_extract_trunc i32) @@ -21989,89 +21894,81 @@ ) ) ) - (return - (block - (i32.store - (i32.const 168) + (i32.store + (i32.const 168) + (i32.or + (i32.or (i32.or - (i32.or + (i32.shr_u (i32.or - (i32.shr_u - (i32.or - (i32.const 0) - (get_local $$q_sroa_0_0_insert_ext75$0) - ) - (i32.const 31) - ) - (i32.shl - (get_local $$q_sroa_0_0_insert_insert77$1) - (i32.const 1) - ) - ) - (i32.and - (i32.or - (i32.shl - (get_local $$q_sroa_0_0_insert_ext75$1) - (i32.const 1) - ) - (i32.shr_u - (get_local $$q_sroa_0_0_insert_ext75$0) - (i32.const 31) - ) - ) (i32.const 0) + (get_local $$q_sroa_0_0_insert_ext75$0) ) + (i32.const 31) + ) + (i32.shl + (get_local $$q_sroa_0_0_insert_insert77$1) + (i32.const 1) ) - (get_local $$carry_0_lcssa$1) ) - ) - (i32.or (i32.and (i32.or (i32.shl - (get_local $$q_sroa_0_0_insert_ext75$0) + (get_local $$q_sroa_0_0_insert_ext75$1) (i32.const 1) ) (i32.shr_u - (i32.const 0) + (get_local $$q_sroa_0_0_insert_ext75$0) (i32.const 31) ) ) - (i32.const -2) + (i32.const 0) ) - (get_local $$carry_0_lcssa$0) ) + (get_local $$carry_0_lcssa$1) ) ) - ) - (func $dynCall_ii (param $index i32) (param $a1 i32) (result i32) - (return - (call_indirect $FUNCSIG$ii - (i32.add - (i32.and - (get_local $index) + (i32.or + (i32.and + (i32.or + (i32.shl + (get_local $$q_sroa_0_0_insert_ext75$0) (i32.const 1) ) - (i32.const 0) + (i32.shr_u + (i32.const 0) + (i32.const 31) + ) ) - (get_local $a1) + (i32.const -2) + ) + (get_local $$carry_0_lcssa$0) + ) + ) + (func $dynCall_ii (param $index i32) (param $a1 i32) (result i32) + (call_indirect $FUNCSIG$ii + (i32.add + (i32.and + (get_local $index) + (i32.const 1) + ) + (i32.const 0) ) + (get_local $a1) ) ) (func $dynCall_iiii (param $index i32) (param $a1 i32) (param $a2 i32) (param $a3 i32) (result i32) - (return - (call_indirect $FUNCSIG$iiii - (i32.add - (i32.and - (get_local $index) - (i32.const 7) - ) - (i32.const 2) + (call_indirect $FUNCSIG$iiii + (i32.add + (i32.and + (get_local $index) + (i32.const 7) ) - (get_local $a1) - (get_local $a2) - (get_local $a3) + (i32.const 2) ) + (get_local $a1) + (get_local $a2) + (get_local $a3) ) ) (func $dynCall_vi (param $index i32) (param $a1 i32) @@ -22090,17 +21987,13 @@ (call_import $nullFunc_ii (i32.const 0) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $b1 (param $p0 i32) (param $p1 i32) (param $p2 i32) (result i32) (call_import $nullFunc_iiii (i32.const 1) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $b2 (param $p0 i32) (call_import $nullFunc_vi diff --git a/test/hello_world.fromasm b/test/hello_world.fromasm index 435e41a60..61f6aa452 100644 --- a/test/hello_world.fromasm +++ b/test/hello_world.fromasm @@ -3,11 +3,9 @@ (export "memory" memory) (export "add" $add) (func $add (param $x i32) (param $y i32) (result i32) - (return - (i32.add - (get_local $x) - (get_local $y) - ) + (i32.add + (get_local $x) + (get_local $y) ) ) ) diff --git a/test/hello_world.fromasm.imprecise b/test/hello_world.fromasm.imprecise index 435e41a60..61f6aa452 100644 --- a/test/hello_world.fromasm.imprecise +++ b/test/hello_world.fromasm.imprecise @@ -3,11 +3,9 @@ (export "memory" memory) (export "add" $add) (func $add (param $x i32) (param $y i32) (result i32) - (return - (i32.add - (get_local $x) - (get_local $y) - ) + (i32.add + (get_local $x) + (get_local $y) ) ) ) diff --git a/test/memorygrowth.fromasm b/test/memorygrowth.fromasm index 4be639994..d1e8831b3 100644 --- a/test/memorygrowth.fromasm +++ b/test/memorygrowth.fromasm @@ -6095,9 +6095,7 @@ (i32.const 8) (get_local $b) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $fb (param $a i32) (local $m i32) @@ -7985,7 +7983,6 @@ (i32.const 1240) (i32.const -1) ) - (return) ) (func $Ra (param $a i32) (param $b i32) (param $c i32) (result i32) (local $g i32) @@ -8391,9 +8388,7 @@ (i32.const 8) (get_local $d) ) - (return - (get_local $z) - ) + (get_local $z) ) (func $Wa (param $a i32) (param $b i32) (param $c i32) (result i32) (local $d i32) @@ -8635,9 +8630,7 @@ ) ) ) - (return - (get_local $h) - ) + (get_local $h) ) (func $Za (param $a i32) (result i32) (local $d i32) @@ -8810,11 +8803,9 @@ ) ) ) - (return - (i32.sub - (get_local $g) - (get_local $b) - ) + (i32.sub + (get_local $g) + (get_local $b) ) ) (func $_a (param $a i32) (result i32) @@ -8824,146 +8815,144 @@ (local $d i32) (local $g i32) (local $f i32) - (return - (block $do-once$0 - (if - (get_local $a) - (block - (if - (i32.le_s - (i32.load offset=76 - (get_local $a) - ) - (i32.const -1) - ) - (br $do-once$0 - (call $$a - (get_local $a) - ) + (block $do-once$0 + (if + (get_local $a) + (block + (if + (i32.le_s + (i32.load offset=76 + (get_local $a) ) + (i32.const -1) ) - (set_local $c - (i32.eq - (call $Ya - (get_local $a) - ) - (i32.const 0) + (br $do-once$0 + (call $$a + (get_local $a) ) ) - (set_local $e - (call $$a + ) + (set_local $c + (i32.eq + (call $Ya (get_local $a) ) + (i32.const 0) ) - (if - (get_local $c) - (get_local $e) - (block - (call $Ta - (get_local $a) - ) - (get_local $e) + ) + (set_local $e + (call $$a + (get_local $a) + ) + ) + (if + (get_local $c) + (get_local $e) + (block + (call $Ta + (get_local $a) ) + (get_local $e) ) ) - (block - (set_local $b - (if + ) + (block + (set_local $b + (if + (i32.load + (i32.const 1140) + ) + (call $_a (i32.load (i32.const 1140) ) - (call $_a - (i32.load - (i32.const 1140) - ) - ) - (i32.const 0) ) + (i32.const 0) ) - (call_import $pa - (i32.const 1188) + ) + (call_import $pa + (i32.const 1188) + ) + (if + (set_local $c + (i32.load + (i32.const 1184) + ) ) - (if + (block + (set_local $e + (get_local $c) + ) (set_local $c - (i32.load - (i32.const 1184) - ) + (get_local $b) ) - (block - (set_local $e - (get_local $c) - ) - (set_local $c - (get_local $b) - ) - (loop $while-out$2 $while-in$3 - (set_local $f - (if - (i32.gt_s - (i32.load offset=76 - (get_local $e) - ) - (i32.const -1) - ) - (call $Ya + (loop $while-out$2 $while-in$3 + (set_local $f + (if + (i32.gt_s + (i32.load offset=76 (get_local $e) ) - (i32.const 0) + (i32.const -1) ) + (call $Ya + (get_local $e) + ) + (i32.const 0) ) - (set_local $g - (if - (i32.gt_u - (i32.load offset=20 - (get_local $e) - ) - (i32.load offset=28 - (get_local $e) - ) + ) + (set_local $g + (if + (i32.gt_u + (i32.load offset=20 + (get_local $e) ) - (i32.or - (call $$a - (get_local $e) - ) - (get_local $c) + (i32.load offset=28 + (get_local $e) + ) + ) + (i32.or + (call $$a + (get_local $e) ) (get_local $c) ) + (get_local $c) ) - (if - (get_local $f) - (call $Ta + ) + (if + (get_local $f) + (call $Ta + (get_local $e) + ) + ) + (if + (set_local $e + (i32.load offset=56 (get_local $e) ) ) - (if - (set_local $e - (i32.load offset=56 - (get_local $e) - ) - ) - (set_local $c + (set_local $c + (get_local $g) + ) + (block + (set_local $d (get_local $g) ) - (block - (set_local $d - (get_local $g) - ) - (br $while-out$2) - ) + (br $while-out$2) ) - (br $while-in$3) ) - ) - (set_local $d - (get_local $b) + (br $while-in$3) ) ) - (call_import $xa - (i32.const 1188) + (set_local $d + (get_local $b) ) - (get_local $d) ) + (call_import $xa + (i32.const 1188) + ) + (get_local $d) ) ) ) @@ -9125,9 +9114,7 @@ (i32.const 8) (get_local $c) ) - (return - (get_local $m) - ) + (get_local $m) ) (func $$a (param $a i32) (result i32) (local $e i32) @@ -9259,9 +9246,7 @@ ) ) ) - (return - (get_local $d) - ) + (get_local $d) ) (func $jb (param $a i32) (param $b i32) (param $c i32) (result i32) (local $d i32) @@ -9404,9 +9389,7 @@ ) (br $while-in$5) ) - (return - (get_local $d) - ) + (get_local $d) ) (func $gb (nop) @@ -9541,11 +9524,9 @@ ) (br $while-in$5) ) - (return - (i32.sub - (get_local $a) - (get_local $c) - ) + (i32.sub + (get_local $a) + (get_local $c) ) ) (func $db (param $a i32) (result i32) @@ -9642,14 +9623,12 @@ (get_local $b) ) ) - (return - (i32.shr_s - (i32.shl - (get_local $d) - (i32.const 31) - ) + (i32.shr_s + (i32.shl + (get_local $d) (i32.const 31) ) + (i32.const 31) ) ) (func $Xa (param $a i32) (result i32) @@ -9675,58 +9654,56 @@ (get_local $c) ) ) - (return - (if - (i32.and - (set_local $c - (i32.load - (get_local $a) - ) - ) - (i32.const 8) - ) - (block - (i32.store + (if + (i32.and + (set_local $c + (i32.load (get_local $a) - (i32.or - (get_local $c) - (i32.const 32) - ) ) - (i32.const -1) ) - (block - (i32.store offset=8 - (get_local $a) - (i32.const 0) - ) - (i32.store offset=4 - (get_local $a) - (i32.const 0) + (i32.const 8) + ) + (block + (i32.store + (get_local $a) + (i32.or + (get_local $c) + (i32.const 32) ) - (i32.store offset=28 - (get_local $a) - (set_local $b - (i32.load offset=44 - (get_local $a) - ) + ) + (i32.const -1) + ) + (block + (i32.store offset=8 + (get_local $a) + (i32.const 0) + ) + (i32.store offset=4 + (get_local $a) + (i32.const 0) + ) + (i32.store offset=28 + (get_local $a) + (set_local $b + (i32.load offset=44 + (get_local $a) ) ) - (i32.store offset=20 - (get_local $a) + ) + (i32.store offset=20 + (get_local $a) + (get_local $b) + ) + (i32.store offset=16 + (get_local $a) + (i32.add (get_local $b) - ) - (i32.store offset=16 - (get_local $a) - (i32.add - (get_local $b) - (i32.load offset=48 - (get_local $a) - ) + (i32.load offset=48 + (get_local $a) ) ) - (i32.const 0) ) + (i32.const 0) ) ) ) @@ -9741,58 +9718,56 @@ (get_local $b) ) ) - (return - (if - (i32.eq - (set_local $h - (if - (i32.gt_s - (i32.load offset=76 - (get_local $d) - ) - (i32.const -1) + (if + (i32.eq + (set_local $h + (if + (i32.gt_s + (i32.load offset=76 + (get_local $d) ) - (block - (set_local $f - (i32.eq - (call $Ya - (get_local $d) - ) - (i32.const 0) + (i32.const -1) + ) + (block + (set_local $f + (i32.eq + (call $Ya + (get_local $d) ) + (i32.const 0) ) - (set_local $g - (call $Wa - (get_local $a) - (get_local $e) + ) + (set_local $g + (call $Wa + (get_local $a) + (get_local $e) + (get_local $d) + ) + ) + (if + (get_local $f) + (get_local $g) + (block + (call $Ta (get_local $d) ) - ) - (if - (get_local $f) (get_local $g) - (block - (call $Ta - (get_local $d) - ) - (get_local $g) - ) ) ) - (call $Wa - (get_local $a) - (get_local $e) - (get_local $d) - ) + ) + (call $Wa + (get_local $a) + (get_local $e) + (get_local $d) ) ) - (get_local $e) - ) - (get_local $c) - (i32.div_u - (get_local $h) - (get_local $b) ) + (get_local $e) + ) + (get_local $c) + (i32.div_u + (get_local $h) + (get_local $b) ) ) ) @@ -9871,9 +9846,7 @@ (i32.const 8) (get_local $d) ) - (return - (get_local $g) - ) + (get_local $g) ) (func $Va (param $a i32) (param $b i32) (param $c i32) (result i32) (local $e i32) @@ -9949,9 +9922,7 @@ (i32.const 8) (get_local $d) ) - (return - (get_local $e) - ) + (get_local $e) ) (func $Ka (param $a i32) (i32.store8 @@ -10056,29 +10027,25 @@ (i32.const 8) (get_local $b) ) - (return - (get_local $a) - ) + (get_local $a) ) (func $Pa (param $a i32) (result i32) - (return - (if - (i32.gt_u - (get_local $a) - (i32.const -4096) - ) - (block - (i32.store - (call $Qa) - (i32.sub - (i32.const 0) - (get_local $a) - ) + (if + (i32.gt_u + (get_local $a) + (i32.const -4096) + ) + (block + (i32.store + (call $Qa) + (i32.sub + (i32.const 0) + (get_local $a) ) - (i32.const -1) ) - (get_local $a) + (i32.const -1) ) + (get_local $a) ) ) (func $Ja (param $a i32) @@ -10116,32 +10083,28 @@ ) ) (func $Qa (result i32) - (return - (if - (i32.load - (i32.const 1160) - ) - (i32.load offset=64 - (call $ib) - ) - (i32.const 1204) + (if + (i32.load + (i32.const 1160) + ) + (i32.load offset=64 + (call $ib) ) + (i32.const 1204) ) ) (func $lb (param $a i32) (param $b i32) (param $c i32) (param $d i32) (result i32) - (return - (call_indirect $FUNCSIG$iiii - (i32.add - (i32.and - (get_local $a) - (i32.const 3) - ) - (i32.const 2) + (call_indirect $FUNCSIG$iiii + (i32.add + (i32.and + (get_local $a) + (i32.const 3) ) - (get_local $b) - (get_local $c) - (get_local $d) + (i32.const 2) ) + (get_local $b) + (get_local $c) + (get_local $d) ) ) (func $Ea (param $a i32) (result i32) @@ -10172,32 +10135,26 @@ (i32.const -16) ) ) - (return - (get_local $b) - ) + (get_local $b) ) (func $cb (param $a i32) (param $b i32) (result i32) - (return - (i32.add - (call $bb + (i32.add + (call $bb + (get_local $a) + (call $Za (get_local $a) - (call $Za - (get_local $a) - ) - (i32.const 1) - (get_local $b) ) - (i32.const -1) + (i32.const 1) + (get_local $b) ) + (i32.const -1) ) ) (func $ob (param $a i32) (param $b i32) (param $c i32) (result i32) (call_import $ja (i32.const 1) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $Ia (param $a i32) (param $b i32) (if @@ -10219,17 +10176,15 @@ ) ) (func $kb (param $a i32) (param $b i32) (result i32) - (return - (call_indirect $FUNCSIG$ii - (i32.add - (i32.and - (get_local $a) - (i32.const 1) - ) - (i32.const 0) + (call_indirect $FUNCSIG$ii + (i32.add + (i32.and + (get_local $a) + (i32.const 1) ) - (get_local $b) + (i32.const 0) ) + (get_local $b) ) ) (func $Sa (param $a i32) @@ -10243,7 +10198,6 @@ (get_local $a) ) ) - (return) ) (func $mb (param $a i32) (param $b i32) (call_indirect $FUNCSIG$vi @@ -10271,25 +10225,19 @@ (call_import $ja (i32.const 0) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $Na (result i32) (call $db (i32.const 1144) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $Ya (param $a i32) (result i32) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $Ta (param $a i32) - (return) + (nop) ) (func $pb (param $a i32) (call_import $ja @@ -10309,23 +10257,17 @@ ) ) (func $Ma (result i32) - (return - (i32.load - (i32.const 160) - ) + (i32.load + (i32.const 160) ) ) (func $Fa (result i32) - (return - (i32.load - (i32.const 8) - ) + (i32.load + (i32.const 8) ) ) (func $ib (result i32) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $__growWasmMemory (param $newSize i32) (grow_memory diff --git a/test/memorygrowth.fromasm.imprecise b/test/memorygrowth.fromasm.imprecise index 4be639994..d1e8831b3 100644 --- a/test/memorygrowth.fromasm.imprecise +++ b/test/memorygrowth.fromasm.imprecise @@ -6095,9 +6095,7 @@ (i32.const 8) (get_local $b) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $fb (param $a i32) (local $m i32) @@ -7985,7 +7983,6 @@ (i32.const 1240) (i32.const -1) ) - (return) ) (func $Ra (param $a i32) (param $b i32) (param $c i32) (result i32) (local $g i32) @@ -8391,9 +8388,7 @@ (i32.const 8) (get_local $d) ) - (return - (get_local $z) - ) + (get_local $z) ) (func $Wa (param $a i32) (param $b i32) (param $c i32) (result i32) (local $d i32) @@ -8635,9 +8630,7 @@ ) ) ) - (return - (get_local $h) - ) + (get_local $h) ) (func $Za (param $a i32) (result i32) (local $d i32) @@ -8810,11 +8803,9 @@ ) ) ) - (return - (i32.sub - (get_local $g) - (get_local $b) - ) + (i32.sub + (get_local $g) + (get_local $b) ) ) (func $_a (param $a i32) (result i32) @@ -8824,146 +8815,144 @@ (local $d i32) (local $g i32) (local $f i32) - (return - (block $do-once$0 - (if - (get_local $a) - (block - (if - (i32.le_s - (i32.load offset=76 - (get_local $a) - ) - (i32.const -1) - ) - (br $do-once$0 - (call $$a - (get_local $a) - ) + (block $do-once$0 + (if + (get_local $a) + (block + (if + (i32.le_s + (i32.load offset=76 + (get_local $a) ) + (i32.const -1) ) - (set_local $c - (i32.eq - (call $Ya - (get_local $a) - ) - (i32.const 0) + (br $do-once$0 + (call $$a + (get_local $a) ) ) - (set_local $e - (call $$a + ) + (set_local $c + (i32.eq + (call $Ya (get_local $a) ) + (i32.const 0) ) - (if - (get_local $c) - (get_local $e) - (block - (call $Ta - (get_local $a) - ) - (get_local $e) + ) + (set_local $e + (call $$a + (get_local $a) + ) + ) + (if + (get_local $c) + (get_local $e) + (block + (call $Ta + (get_local $a) ) + (get_local $e) ) ) - (block - (set_local $b - (if + ) + (block + (set_local $b + (if + (i32.load + (i32.const 1140) + ) + (call $_a (i32.load (i32.const 1140) ) - (call $_a - (i32.load - (i32.const 1140) - ) - ) - (i32.const 0) ) + (i32.const 0) ) - (call_import $pa - (i32.const 1188) + ) + (call_import $pa + (i32.const 1188) + ) + (if + (set_local $c + (i32.load + (i32.const 1184) + ) ) - (if + (block + (set_local $e + (get_local $c) + ) (set_local $c - (i32.load - (i32.const 1184) - ) + (get_local $b) ) - (block - (set_local $e - (get_local $c) - ) - (set_local $c - (get_local $b) - ) - (loop $while-out$2 $while-in$3 - (set_local $f - (if - (i32.gt_s - (i32.load offset=76 - (get_local $e) - ) - (i32.const -1) - ) - (call $Ya + (loop $while-out$2 $while-in$3 + (set_local $f + (if + (i32.gt_s + (i32.load offset=76 (get_local $e) ) - (i32.const 0) + (i32.const -1) ) + (call $Ya + (get_local $e) + ) + (i32.const 0) ) - (set_local $g - (if - (i32.gt_u - (i32.load offset=20 - (get_local $e) - ) - (i32.load offset=28 - (get_local $e) - ) + ) + (set_local $g + (if + (i32.gt_u + (i32.load offset=20 + (get_local $e) ) - (i32.or - (call $$a - (get_local $e) - ) - (get_local $c) + (i32.load offset=28 + (get_local $e) + ) + ) + (i32.or + (call $$a + (get_local $e) ) (get_local $c) ) + (get_local $c) ) - (if - (get_local $f) - (call $Ta + ) + (if + (get_local $f) + (call $Ta + (get_local $e) + ) + ) + (if + (set_local $e + (i32.load offset=56 (get_local $e) ) ) - (if - (set_local $e - (i32.load offset=56 - (get_local $e) - ) - ) - (set_local $c + (set_local $c + (get_local $g) + ) + (block + (set_local $d (get_local $g) ) - (block - (set_local $d - (get_local $g) - ) - (br $while-out$2) - ) + (br $while-out$2) ) - (br $while-in$3) ) - ) - (set_local $d - (get_local $b) + (br $while-in$3) ) ) - (call_import $xa - (i32.const 1188) + (set_local $d + (get_local $b) ) - (get_local $d) ) + (call_import $xa + (i32.const 1188) + ) + (get_local $d) ) ) ) @@ -9125,9 +9114,7 @@ (i32.const 8) (get_local $c) ) - (return - (get_local $m) - ) + (get_local $m) ) (func $$a (param $a i32) (result i32) (local $e i32) @@ -9259,9 +9246,7 @@ ) ) ) - (return - (get_local $d) - ) + (get_local $d) ) (func $jb (param $a i32) (param $b i32) (param $c i32) (result i32) (local $d i32) @@ -9404,9 +9389,7 @@ ) (br $while-in$5) ) - (return - (get_local $d) - ) + (get_local $d) ) (func $gb (nop) @@ -9541,11 +9524,9 @@ ) (br $while-in$5) ) - (return - (i32.sub - (get_local $a) - (get_local $c) - ) + (i32.sub + (get_local $a) + (get_local $c) ) ) (func $db (param $a i32) (result i32) @@ -9642,14 +9623,12 @@ (get_local $b) ) ) - (return - (i32.shr_s - (i32.shl - (get_local $d) - (i32.const 31) - ) + (i32.shr_s + (i32.shl + (get_local $d) (i32.const 31) ) + (i32.const 31) ) ) (func $Xa (param $a i32) (result i32) @@ -9675,58 +9654,56 @@ (get_local $c) ) ) - (return - (if - (i32.and - (set_local $c - (i32.load - (get_local $a) - ) - ) - (i32.const 8) - ) - (block - (i32.store + (if + (i32.and + (set_local $c + (i32.load (get_local $a) - (i32.or - (get_local $c) - (i32.const 32) - ) ) - (i32.const -1) ) - (block - (i32.store offset=8 - (get_local $a) - (i32.const 0) - ) - (i32.store offset=4 - (get_local $a) - (i32.const 0) + (i32.const 8) + ) + (block + (i32.store + (get_local $a) + (i32.or + (get_local $c) + (i32.const 32) ) - (i32.store offset=28 - (get_local $a) - (set_local $b - (i32.load offset=44 - (get_local $a) - ) + ) + (i32.const -1) + ) + (block + (i32.store offset=8 + (get_local $a) + (i32.const 0) + ) + (i32.store offset=4 + (get_local $a) + (i32.const 0) + ) + (i32.store offset=28 + (get_local $a) + (set_local $b + (i32.load offset=44 + (get_local $a) ) ) - (i32.store offset=20 - (get_local $a) + ) + (i32.store offset=20 + (get_local $a) + (get_local $b) + ) + (i32.store offset=16 + (get_local $a) + (i32.add (get_local $b) - ) - (i32.store offset=16 - (get_local $a) - (i32.add - (get_local $b) - (i32.load offset=48 - (get_local $a) - ) + (i32.load offset=48 + (get_local $a) ) ) - (i32.const 0) ) + (i32.const 0) ) ) ) @@ -9741,58 +9718,56 @@ (get_local $b) ) ) - (return - (if - (i32.eq - (set_local $h - (if - (i32.gt_s - (i32.load offset=76 - (get_local $d) - ) - (i32.const -1) + (if + (i32.eq + (set_local $h + (if + (i32.gt_s + (i32.load offset=76 + (get_local $d) ) - (block - (set_local $f - (i32.eq - (call $Ya - (get_local $d) - ) - (i32.const 0) + (i32.const -1) + ) + (block + (set_local $f + (i32.eq + (call $Ya + (get_local $d) ) + (i32.const 0) ) - (set_local $g - (call $Wa - (get_local $a) - (get_local $e) + ) + (set_local $g + (call $Wa + (get_local $a) + (get_local $e) + (get_local $d) + ) + ) + (if + (get_local $f) + (get_local $g) + (block + (call $Ta (get_local $d) ) - ) - (if - (get_local $f) (get_local $g) - (block - (call $Ta - (get_local $d) - ) - (get_local $g) - ) ) ) - (call $Wa - (get_local $a) - (get_local $e) - (get_local $d) - ) + ) + (call $Wa + (get_local $a) + (get_local $e) + (get_local $d) ) ) - (get_local $e) - ) - (get_local $c) - (i32.div_u - (get_local $h) - (get_local $b) ) + (get_local $e) + ) + (get_local $c) + (i32.div_u + (get_local $h) + (get_local $b) ) ) ) @@ -9871,9 +9846,7 @@ (i32.const 8) (get_local $d) ) - (return - (get_local $g) - ) + (get_local $g) ) (func $Va (param $a i32) (param $b i32) (param $c i32) (result i32) (local $e i32) @@ -9949,9 +9922,7 @@ (i32.const 8) (get_local $d) ) - (return - (get_local $e) - ) + (get_local $e) ) (func $Ka (param $a i32) (i32.store8 @@ -10056,29 +10027,25 @@ (i32.const 8) (get_local $b) ) - (return - (get_local $a) - ) + (get_local $a) ) (func $Pa (param $a i32) (result i32) - (return - (if - (i32.gt_u - (get_local $a) - (i32.const -4096) - ) - (block - (i32.store - (call $Qa) - (i32.sub - (i32.const 0) - (get_local $a) - ) + (if + (i32.gt_u + (get_local $a) + (i32.const -4096) + ) + (block + (i32.store + (call $Qa) + (i32.sub + (i32.const 0) + (get_local $a) ) - (i32.const -1) ) - (get_local $a) + (i32.const -1) ) + (get_local $a) ) ) (func $Ja (param $a i32) @@ -10116,32 +10083,28 @@ ) ) (func $Qa (result i32) - (return - (if - (i32.load - (i32.const 1160) - ) - (i32.load offset=64 - (call $ib) - ) - (i32.const 1204) + (if + (i32.load + (i32.const 1160) + ) + (i32.load offset=64 + (call $ib) ) + (i32.const 1204) ) ) (func $lb (param $a i32) (param $b i32) (param $c i32) (param $d i32) (result i32) - (return - (call_indirect $FUNCSIG$iiii - (i32.add - (i32.and - (get_local $a) - (i32.const 3) - ) - (i32.const 2) + (call_indirect $FUNCSIG$iiii + (i32.add + (i32.and + (get_local $a) + (i32.const 3) ) - (get_local $b) - (get_local $c) - (get_local $d) + (i32.const 2) ) + (get_local $b) + (get_local $c) + (get_local $d) ) ) (func $Ea (param $a i32) (result i32) @@ -10172,32 +10135,26 @@ (i32.const -16) ) ) - (return - (get_local $b) - ) + (get_local $b) ) (func $cb (param $a i32) (param $b i32) (result i32) - (return - (i32.add - (call $bb + (i32.add + (call $bb + (get_local $a) + (call $Za (get_local $a) - (call $Za - (get_local $a) - ) - (i32.const 1) - (get_local $b) ) - (i32.const -1) + (i32.const 1) + (get_local $b) ) + (i32.const -1) ) ) (func $ob (param $a i32) (param $b i32) (param $c i32) (result i32) (call_import $ja (i32.const 1) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $Ia (param $a i32) (param $b i32) (if @@ -10219,17 +10176,15 @@ ) ) (func $kb (param $a i32) (param $b i32) (result i32) - (return - (call_indirect $FUNCSIG$ii - (i32.add - (i32.and - (get_local $a) - (i32.const 1) - ) - (i32.const 0) + (call_indirect $FUNCSIG$ii + (i32.add + (i32.and + (get_local $a) + (i32.const 1) ) - (get_local $b) + (i32.const 0) ) + (get_local $b) ) ) (func $Sa (param $a i32) @@ -10243,7 +10198,6 @@ (get_local $a) ) ) - (return) ) (func $mb (param $a i32) (param $b i32) (call_indirect $FUNCSIG$vi @@ -10271,25 +10225,19 @@ (call_import $ja (i32.const 0) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $Na (result i32) (call $db (i32.const 1144) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $Ya (param $a i32) (result i32) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $Ta (param $a i32) - (return) + (nop) ) (func $pb (param $a i32) (call_import $ja @@ -10309,23 +10257,17 @@ ) ) (func $Ma (result i32) - (return - (i32.load - (i32.const 160) - ) + (i32.load + (i32.const 160) ) ) (func $Fa (result i32) - (return - (i32.load - (i32.const 8) - ) + (i32.load + (i32.const 8) ) ) (func $ib (result i32) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $__growWasmMemory (param $newSize i32) (grow_memory diff --git a/test/min.fromasm b/test/min.fromasm index 26501d4a5..6deb6ae67 100644 --- a/test/min.fromasm +++ b/test/min.fromasm @@ -4,24 +4,20 @@ (export "floats" $floats) (func $floats (param $f f32) (result f32) (local $t f32) - (return - (f32.add - (get_local $t) - (get_local $f) - ) + (f32.add + (get_local $t) + (get_local $f) ) ) (func $neg (param $k i32) (param $p i32) (result f32) - (return - (f32.neg - (block - (i32.store - (get_local $k) - (get_local $p) - ) - (f32.load - (get_local $k) - ) + (f32.neg + (block + (i32.store + (get_local $k) + (get_local $p) + ) + (f32.load + (get_local $k) ) ) ) @@ -40,10 +36,8 @@ ) ) (func $ctzzzz (result i32) - (return - (i32.ctz - (i32.const 4660) - ) + (i32.ctz + (i32.const 4660) ) ) ) diff --git a/test/min.fromasm.imprecise b/test/min.fromasm.imprecise index 26501d4a5..6deb6ae67 100644 --- a/test/min.fromasm.imprecise +++ b/test/min.fromasm.imprecise @@ -4,24 +4,20 @@ (export "floats" $floats) (func $floats (param $f f32) (result f32) (local $t f32) - (return - (f32.add - (get_local $t) - (get_local $f) - ) + (f32.add + (get_local $t) + (get_local $f) ) ) (func $neg (param $k i32) (param $p i32) (result f32) - (return - (f32.neg - (block - (i32.store - (get_local $k) - (get_local $p) - ) - (f32.load - (get_local $k) - ) + (f32.neg + (block + (i32.store + (get_local $k) + (get_local $p) + ) + (f32.load + (get_local $k) ) ) ) @@ -40,10 +36,8 @@ ) ) (func $ctzzzz (result i32) - (return - (i32.ctz - (i32.const 4660) - ) + (i32.ctz + (i32.const 4660) ) ) ) diff --git a/test/passes/remove-unused-brs.txt b/test/passes/remove-unused-brs.txt index 903c5f56a..153075b1a 100644 --- a/test/passes/remove-unused-brs.txt +++ b/test/passes/remove-unused-brs.txt @@ -210,4 +210,30 @@ ) ) ) + (func $ret-1 + (nop) + ) + (func $ret-2 + (block $block0 + (block $block1 + ) + ) + ) + (func $ret-3 + (block $block0 + (if + (i32.const 0) + (nop) + (block $block3 + ) + ) + ) + ) + (func $ret-value (result i32) + (block $block0 + (block $block1 + (i32.const 1) + ) + ) + ) ) diff --git a/test/passes/remove-unused-brs.wast b/test/passes/remove-unused-brs.wast index 2b3fb14d3..8d614c041 100644 --- a/test/passes/remove-unused-brs.wast +++ b/test/passes/remove-unused-brs.wast @@ -230,5 +230,33 @@ ) ) ) + (func $ret-1 + (return) + ) + (func $ret-2 + (block + (block + (return) + ) + ) + ) + (func $ret-3 + (block + (if + (i32.const 0) + (return) + (block + (return) + ) + ) + ) + ) + (func $ret-value (result i32) + (block + (block + (return (i32.const 1)) + ) + ) + ) ) diff --git a/test/two_sides.fromasm b/test/two_sides.fromasm index f1d3180b6..3c25ec20b 100644 --- a/test/two_sides.fromasm +++ b/test/two_sides.fromasm @@ -67,8 +67,6 @@ ) ) ) - (return - (i32.const 0) - ) + (i32.const 0) ) ) diff --git a/test/two_sides.fromasm.imprecise b/test/two_sides.fromasm.imprecise index 37c8073bb..f57c6c343 100644 --- a/test/two_sides.fromasm.imprecise +++ b/test/two_sides.fromasm.imprecise @@ -65,8 +65,6 @@ ) ) ) - (return - (i32.const 0) - ) + (i32.const 0) ) ) diff --git a/test/unit.fromasm b/test/unit.fromasm index f3d978c88..eda3ea485 100644 --- a/test/unit.fromasm +++ b/test/unit.fromasm @@ -64,9 +64,7 @@ (f64.const 5.6) ) ) - (return - (f64.const 1.2) - ) + (f64.const 1.2) ) (func $doubleCompares (param $x f64) (param $y f64) (result f64) (local $Int f64) @@ -107,16 +105,12 @@ (get_local $x) ) ) - (return - (get_local $y) - ) + (get_local $y) ) (func $intOps (result i32) (local $x i32) - (return - (i32.eqz - (get_local $x) - ) + (i32.eqz + (get_local $x) ) ) (func $hexLiterals @@ -262,30 +256,24 @@ ) (br $label$continue$L1) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $blocker (nop) ) (func $frem (result f64) - (return - (call_import $f64-rem - (f64.const 5.5) - (f64.const 1.2) - ) + (call_import $f64-rem + (f64.const 5.5) + (f64.const 1.2) ) ) (func $big_uint_div_u (result i32) - (return - (i32.and - (i32.div_u - (i32.const -1) - (i32.const 2) - ) + (i32.and + (i32.div_u (i32.const -1) + (i32.const 2) ) + (i32.const -1) ) ) (func $fr (param $x f32) @@ -301,9 +289,7 @@ (f32.const 0) ) (func $negZero (result f64) - (return - (f64.const -0) - ) + (f64.const -0) ) (func $abs (local $asm2wasm_i32_temp i32) @@ -390,9 +376,7 @@ ) ) ) - (return - (get_local $i) - ) + (get_local $i) ) (func $cneg_nosemicolon (call_indirect $FUNCSIG$vi diff --git a/test/unit.fromasm.imprecise b/test/unit.fromasm.imprecise index 5df8aef72..2d7147edb 100644 --- a/test/unit.fromasm.imprecise +++ b/test/unit.fromasm.imprecise @@ -62,9 +62,7 @@ (f64.const 5.6) ) ) - (return - (f64.const 1.2) - ) + (f64.const 1.2) ) (func $doubleCompares (param $x f64) (param $y f64) (result f64) (local $Int f64) @@ -105,16 +103,12 @@ (get_local $x) ) ) - (return - (get_local $y) - ) + (get_local $y) ) (func $intOps (result i32) (local $x i32) - (return - (i32.eqz - (get_local $x) - ) + (i32.eqz + (get_local $x) ) ) (func $hexLiterals @@ -256,30 +250,24 @@ ) (br $label$continue$L1) ) - (return - (i32.const 0) - ) + (i32.const 0) ) (func $blocker (nop) ) (func $frem (result f64) - (return - (call_import $f64-rem - (f64.const 5.5) - (f64.const 1.2) - ) + (call_import $f64-rem + (f64.const 5.5) + (f64.const 1.2) ) ) (func $big_uint_div_u (result i32) - (return - (i32.and - (i32.div_u - (i32.const -1) - (i32.const 2) - ) + (i32.and + (i32.div_u (i32.const -1) + (i32.const 2) ) + (i32.const -1) ) ) (func $fr (param $x f32) @@ -295,9 +283,7 @@ (f32.const 0) ) (func $negZero (result f64) - (return - (f64.const -0) - ) + (f64.const -0) ) (func $abs (local $asm2wasm_i32_temp i32) @@ -384,9 +370,7 @@ ) ) ) - (return - (get_local $i) - ) + (get_local $i) ) (func $cneg_nosemicolon (call_indirect $FUNCSIG$vi |