summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/passes/RemoveUnusedBrs.cpp24
-rw-r--r--test/emcc_O2_hello_world.fromasm720
-rw-r--r--test/emcc_O2_hello_world.fromasm.imprecise720
-rw-r--r--test/emcc_hello_world.fromasm1395
-rw-r--r--test/emcc_hello_world.fromasm.imprecise1395
-rw-r--r--test/hello_world.fromasm8
-rw-r--r--test/hello_world.fromasm.imprecise8
-rw-r--r--test/memorygrowth.fromasm562
-rw-r--r--test/memorygrowth.fromasm.imprecise562
-rw-r--r--test/min.fromasm32
-rw-r--r--test/min.fromasm.imprecise32
-rw-r--r--test/passes/remove-unused-brs.txt26
-rw-r--r--test/passes/remove-unused-brs.wast28
-rw-r--r--test/two_sides.fromasm4
-rw-r--r--test/two_sides.fromasm.imprecise4
-rw-r--r--test/unit.fromasm44
-rw-r--r--test/unit.fromasm.imprecise44
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