summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-07-20 20:05:28 -0700
committerAlon Zakai <alonzakai@gmail.com>2016-07-20 20:05:28 -0700
commitfa60ade30e03c6a13bbce26ff81c03ed1ae4da0b (patch)
treed45b2b08645ac004645dde875d22d1c66b15187d
parent56901f8cb6fb6db4622937479d3a375744289ff0 (diff)
downloadbinaryen-fa60ade30e03c6a13bbce26ff81c03ed1ae4da0b.tar.gz
binaryen-fa60ade30e03c6a13bbce26ff81c03ed1ae4da0b.tar.bz2
binaryen-fa60ade30e03c6a13bbce26ff81c03ed1ae4da0b.zip
more RemoveUnusedName opts: merge names when possible, and do block/loop merging based on their names
-rw-r--r--src/passes/RemoveUnusedNames.cpp47
-rw-r--r--test/emcc_hello_world.fromasm5260
-rw-r--r--test/emcc_hello_world.fromasm.imprecise5260
-rw-r--r--test/example/c-api-kitchen-sink.txt108
-rw-r--r--test/example/c-api-kitchen-sink.txt.txt54
-rw-r--r--test/passes/remove-unused-names.txt30
-rw-r--r--test/passes/remove-unused-names.wast30
-rw-r--r--test/unit.fromasm34
-rw-r--r--test/unit.fromasm.imprecise34
9 files changed, 5445 insertions, 5412 deletions
diff --git a/src/passes/RemoveUnusedNames.cpp b/src/passes/RemoveUnusedNames.cpp
index 5145cc744..9c6743479 100644
--- a/src/passes/RemoveUnusedNames.cpp
+++ b/src/passes/RemoveUnusedNames.cpp
@@ -15,7 +15,8 @@
*/
//
-// Removes names from locations that are never branched to.
+// Removes names from locations that are never branched to, and
+// merge names when possible (by merging their blocks)
//
#include <wasm.h>
@@ -30,17 +31,17 @@ struct RemoveUnusedNames : public WalkerPass<PostWalker<RemoveUnusedNames, Visit
// We maintain a list of branches that we saw in children, then when we reach
// a parent block, we know if it was branched to
- std::set<Name> branchesSeen;
+ std::map<Name, std::set<Expression*>> branchesSeen;
void visitBreak(Break *curr) {
- branchesSeen.insert(curr->name);
+ branchesSeen[curr->name].insert(curr);
}
void visitSwitch(Switch *curr) {
for (auto name : curr->targets) {
- branchesSeen.insert(name);
+ branchesSeen[name].insert(curr);
}
- branchesSeen.insert(curr->default_);
+ branchesSeen[curr->default_].insert(curr);
}
void handleBreakTarget(Name& name) {
@@ -54,7 +55,35 @@ struct RemoveUnusedNames : public WalkerPass<PostWalker<RemoveUnusedNames, Visit
}
void visitBlock(Block *curr) {
+ if (curr->name.is() && curr->list.size() == 1) {
+ auto* child = curr->list[0]->dynCast<Block>();
+ if (child && child->name.is()) {
+ // we have just one child, this block, so breaking out of it goes to the same place as breaking out of us, we just need one name (and block)
+ auto& branches = branchesSeen[curr->name];
+ for (auto* branch : branches) {
+ if (Break* br = branch->dynCast<Break>()) {
+ if (br->name == curr->name) br->name = child->name;
+ } else if (Switch* sw = branch->dynCast<Switch>()) {
+ for (auto& target : sw->targets) {
+ if (target == curr->name) target = child->name;
+ }
+ if (sw->default_ == curr->name) sw->default_ = child->name;
+ } else {
+ WASM_UNREACHABLE();
+ }
+ }
+ replaceCurrent(child);
+ }
+ }
handleBreakTarget(curr->name);
+ if (curr->name.is() && curr->list.size() == 1) {
+ auto* child = curr->list[0]->dynCast<Loop>();
+ if (child && !child->out.is()) {
+ // we have just one child, this loop, and it lacks an out label. So this block's name is doing just that!
+ child->out = curr->name;
+ replaceCurrent(child);
+ }
+ }
}
void visitLoop(Loop *curr) {
@@ -68,6 +97,14 @@ struct RemoveUnusedNames : public WalkerPass<PostWalker<RemoveUnusedNames, Visit
block->list.push_back(curr->body);
replaceCurrent(block);
}
+ if (curr->in.is() && !curr->out.is()) {
+ auto* child = curr->body->dynCast<Block>();
+ if (child && child->name.is()) {
+ // we have just one child, this block, and we lack an out label. So we can take the block's!
+ curr->out = child->name;
+ child->name = Name();
+ }
+ }
}
void visitFunction(Function *curr) {
diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm
index 82c2ccedb..c99290ba8 100644
--- a/test/emcc_hello_world.fromasm
+++ b/test/emcc_hello_world.fromasm
@@ -4389,3458 +4389,3438 @@
)
)
)
- (block $label$break$L75
- (block $switch$24
- (block $switch-default$127
- (block $switch-case$126
- (block $switch-case$55
- (block $switch-case$54
- (block $switch-case$53
- (block $switch-case$52
- (block $switch-case$51
- (block $switch-case$50
- (block $switch-case$49
- (block $switch-case$48
- (block $switch-case$47
- (block $switch-case$46
- (block $switch-case$45
- (block $switch-case$44
- (block $switch-case$43
- (block $switch-case$42
- (block $switch-case$41
- (block $switch-case$40
- (block $switch-case$37
- (block $switch-case$36
- (block $switch-case$35
- (block $switch-case$34
- (br_table $switch-case$49 $switch-default$127 $switch-case$47 $switch-default$127 $switch-case$52 $switch-case$51 $switch-case$50 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$48 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$53 $switch-default$127 $switch-case$44 $switch-case$42 $switch-case$126 $switch-case$55 $switch-case$54 $switch-default$127 $switch-case$41 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$45 $switch-case$34 $switch-case$40 $switch-case$35 $switch-default$127 $switch-default$127 $switch-case$46 $switch-default$127 $switch-case$43 $switch-default$127 $switch-default$127 $switch-case$37 $switch-default$127
- (i32.sub
- (set_local $26
- (select
- (i32.and
- (get_local $1)
- (i32.const -33)
- )
- (get_local $1)
- (get_local $5)
- )
- )
- (i32.const 65)
- )
- )
- )
- (block $switch-default$33
- (block $switch-case$32
- (block $switch-case$31
- (block $switch-case$30
- (block $switch-case$29
- (block $switch-case$28
- (block $switch-case$27
- (block $switch-case$26
- (br_table $switch-case$26 $switch-case$27 $switch-case$28 $switch-case$29 $switch-case$30 $switch-default$33 $switch-case$31 $switch-case$32 $switch-default$33
- (i32.sub
- (get_local $13)
- (i32.const 0)
- )
- )
- )
- (i32.store
- (i32.load
- (get_local $19)
- )
- (get_local $22)
- )
- (set_local $20
- (get_local $9)
- )
- (set_local $1
- (get_local $17)
- )
- (set_local $8
- (get_local $21)
- )
- (br $label$continue$L1)
- )
- (i32.store
- (i32.load
- (get_local $19)
- )
- (get_local $22)
- )
- (set_local $20
- (get_local $9)
- )
- (set_local $1
- (get_local $17)
- )
- (set_local $8
- (get_local $21)
- )
- (br $label$continue$L1)
- )
- (i32.store
- (set_local $1
- (i32.load
- (get_local $19)
- )
- )
- (get_local $22)
- )
- (i32.store offset=4
- (get_local $1)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $22)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
- (set_local $20
- (get_local $9)
- )
- (set_local $1
- (get_local $17)
- )
- (set_local $8
- (get_local $21)
- )
- (br $label$continue$L1)
- )
- (i32.store16
- (i32.load
- (get_local $19)
- )
- (i32.and
- (get_local $22)
- (i32.const 65535)
- )
- )
- (set_local $20
- (get_local $9)
- )
- (set_local $1
- (get_local $17)
- )
- (set_local $8
- (get_local $21)
- )
- (br $label$continue$L1)
- )
- (i32.store8
- (i32.load
- (get_local $19)
- )
- (i32.and
- (get_local $22)
- (i32.const 255)
- )
- )
- (set_local $20
- (get_local $9)
- )
- (set_local $1
- (get_local $17)
- )
- (set_local $8
- (get_local $21)
- )
- (br $label$continue$L1)
- )
- (i32.store
- (i32.load
- (get_local $19)
- )
- (get_local $22)
- )
- (set_local $20
- (get_local $9)
- )
- (set_local $1
- (get_local $17)
- )
- (set_local $8
- (get_local $21)
- )
- (br $label$continue$L1)
- )
- (i32.store
- (set_local $1
- (i32.load
- (get_local $19)
- )
- )
- (get_local $22)
- )
- (i32.store offset=4
- (get_local $1)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $22)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
- (set_local $20
- (get_local $9)
- )
- (set_local $1
- (get_local $17)
- )
- (set_local $8
- (get_local $21)
- )
- (br $label$continue$L1)
- )
- (set_local $20
- (get_local $9)
- )
- (set_local $1
- (get_local $17)
- )
- (set_local $8
- (get_local $21)
- )
- (br $label$continue$L1)
- )
- (set_local $46
- (i32.or
- (get_local $18)
- (i32.const 8)
- )
- )
- (set_local $57
- (select
- (get_local $10)
- (i32.const 8)
- (i32.gt_u
- (get_local $10)
- (i32.const 8)
- )
- )
- )
- (set_local $68
- (i32.const 120)
- )
- (set_local $12
- (i32.const 64)
+ (block $switch$24
+ (block $switch-default$127
+ (block $switch-case$49
+ (block $switch-case$48
+ (block $switch-case$47
+ (block $switch-case$46
+ (block $switch-case$45
+ (block $switch-case$44
+ (block $switch-case$43
+ (block $switch-case$41
+ (block $switch-case$40
+ (block $switch-case$36
+ (block $switch-case$35
+ (block $switch-case$34
+ (br_table $switch-case$49 $switch-default$127 $switch-case$47 $switch-default$127 $switch-case$49 $switch-case$49 $switch-case$49 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$48 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$49 $switch-default$127 $switch-case$44 $switch-case$41 $switch-case$49 $switch-case$49 $switch-case$49 $switch-default$127 $switch-case$41 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$45 $switch-case$34 $switch-case$40 $switch-case$35 $switch-default$127 $switch-default$127 $switch-case$46 $switch-default$127 $switch-case$43 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127
+ (i32.sub
+ (set_local $26
+ (select
+ (i32.and
+ (get_local $1)
+ (i32.const -33)
+ )
+ (get_local $1)
+ (get_local $5)
+ )
+ )
+ (i32.const 65)
+ )
+ )
+ )
+ (block $switch-default$33
+ (block $switch-case$32
+ (block $switch-case$31
+ (block $switch-case$30
+ (block $switch-case$29
+ (block $switch-case$28
+ (block $switch-case$27
+ (block $switch-case$26
+ (br_table $switch-case$26 $switch-case$27 $switch-case$28 $switch-case$29 $switch-case$30 $switch-default$33 $switch-case$31 $switch-case$32 $switch-default$33
+ (i32.sub
+ (get_local $13)
+ (i32.const 0)
)
- (br $switch$24)
)
)
- (set_local $46
- (get_local $18)
+ (i32.store
+ (i32.load
+ (get_local $19)
+ )
+ (get_local $22)
)
- (set_local $57
- (get_local $10)
+ (set_local $20
+ (get_local $9)
)
- (set_local $68
- (get_local $26)
+ (set_local $1
+ (get_local $17)
)
- (set_local $12
- (i32.const 64)
+ (set_local $8
+ (get_local $21)
)
- (br $switch$24)
+ (br $label$continue$L1)
)
- (if
- (i32.and
- (i32.eq
- (set_local $5
- (i32.load
- (set_local $1
- (get_local $19)
- )
- )
- )
- (i32.const 0)
- )
- (i32.eq
- (set_local $1
- (i32.load offset=4
- (get_local $1)
- )
- )
- (i32.const 0)
- )
- )
- (set_local $6
- (get_local $28)
- )
- (block
- (set_local $6
- (get_local $28)
- )
- (loop $while-out$38 $while-in$39
- (i32.store8
- (set_local $6
- (i32.add
- (get_local $6)
- (i32.const -1)
- )
- )
- (i32.and
- (i32.or
- (i32.and
- (get_local $5)
- (i32.const 7)
- )
- (i32.const 48)
- )
- (i32.const 255)
- )
- )
- (if
- (i32.and
- (i32.eq
- (set_local $5
- (call $_bitshift64Lshr
- (get_local $5)
- (get_local $1)
- (i32.const 3)
- )
- )
- (i32.const 0)
- )
- (i32.eq
- (set_local $1
- (i32.load
- (i32.const 168)
- )
- )
- (i32.const 0)
- )
- )
- (br $while-out$38)
- )
- (br $while-in$39)
- )
+ (i32.store
+ (i32.load
+ (get_local $19)
)
+ (get_local $22)
)
- (set_local $58
- (if
- (i32.eq
- (i32.and
- (get_local $18)
- (i32.const 8)
- )
- (i32.const 0)
- )
- (block
- (set_local $34
- (get_local $18)
- )
- (set_local $32
- (get_local $10)
- )
- (set_local $35
- (i32.const 0)
- )
- (set_local $36
- (i32.const 4091)
- )
- (set_local $12
- (i32.const 77)
- )
- (get_local $6)
- )
- (block
- (set_local $5
- (i32.lt_s
- (get_local $10)
- (set_local $1
- (i32.add
- (i32.sub
- (get_local $71)
- (get_local $6)
- )
- (i32.const 1)
- )
- )
- )
- )
- (set_local $34
- (get_local $18)
- )
- (set_local $32
- (select
- (get_local $1)
- (get_local $10)
- (get_local $5)
- )
- )
- (set_local $35
- (i32.const 0)
- )
- (set_local $36
- (i32.const 4091)
- )
- (set_local $12
- (i32.const 77)
- )
- (get_local $6)
- )
- )
+ (set_local $20
+ (get_local $9)
)
- (br $switch$24)
- )
- )
- (set_local $5
- (i32.load
(set_local $1
- (get_local $19)
+ (get_local $17)
)
- )
- )
- (if
- (i32.lt_s
- (set_local $33
- (i32.load offset=4
- (get_local $1)
- )
+ (set_local $8
+ (get_local $21)
)
- (i32.const 0)
+ (br $label$continue$L1)
)
- (block
+ (i32.store
(set_local $1
- (call $_i64Subtract
- (i32.const 0)
- (i32.const 0)
- (get_local $5)
- (get_local $33)
- )
- )
- (set_local $5
(i32.load
- (i32.const 168)
- )
- )
- (i32.store
- (set_local $33
(get_local $19)
)
- (get_local $1)
- )
- (i32.store offset=4
- (get_local $33)
- (get_local $5)
- )
- (set_local $33
- (get_local $1)
- )
- (set_local $59
- (get_local $5)
)
- (set_local $60
- (i32.const 1)
- )
- (set_local $61
- (i32.const 4091)
- )
- (set_local $12
- (i32.const 76)
- )
- (br $label$break$L75)
+ (get_local $22)
)
- )
- (set_local $33
- (if
- (i32.eq
- (i32.and
- (get_local $18)
- (i32.const 2048)
- )
- (i32.const 0)
- )
- (block
- (set_local $1
- (select
- (i32.const 4091)
- (i32.const 4093)
- (i32.eq
- (set_local $6
- (i32.and
- (get_local $18)
- (i32.const 1)
- )
- )
- (i32.const 0)
- )
+ (i32.store offset=4
+ (get_local $1)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $22)
+ (i32.const 0)
)
+ (i32.const 31)
)
- (set_local $59
- (get_local $33)
- )
- (set_local $60
- (get_local $6)
- )
- (set_local $61
- (get_local $1)
- )
- (set_local $12
- (i32.const 76)
- )
- (get_local $5)
- )
- (block
- (set_local $59
- (get_local $33)
- )
- (set_local $60
- (i32.const 1)
- )
- (set_local $61
- (i32.const 4092)
- )
- (set_local $12
- (i32.const 76)
- )
- (get_local $5)
+ (i32.const 31)
)
)
- )
- (br $switch$24)
- )
- (set_local $33
- (i32.load
+ (set_local $20
+ (get_local $9)
+ )
(set_local $1
+ (get_local $17)
+ )
+ (set_local $8
+ (get_local $21)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store16
+ (i32.load
(get_local $19)
)
+ (i32.and
+ (get_local $22)
+ (i32.const 65535)
+ )
)
+ (set_local $20
+ (get_local $9)
+ )
+ (set_local $1
+ (get_local $17)
+ )
+ (set_local $8
+ (get_local $21)
+ )
+ (br $label$continue$L1)
)
- (set_local $59
- (i32.load offset=4
- (get_local $1)
+ (i32.store8
+ (i32.load
+ (get_local $19)
+ )
+ (i32.and
+ (get_local $22)
+ (i32.const 255)
)
)
- (set_local $60
- (i32.const 0)
+ (set_local $20
+ (get_local $9)
)
- (set_local $61
- (i32.const 4091)
+ (set_local $1
+ (get_local $17)
)
- (set_local $12
- (i32.const 76)
+ (set_local $8
+ (get_local $21)
)
- (br $switch$24)
+ (br $label$continue$L1)
)
- (set_local $5
+ (i32.store
(i32.load
- (set_local $1
- (get_local $19)
- )
+ (get_local $19)
)
+ (get_local $22)
)
- (i32.load offset=4
- (get_local $1)
- )
- (i32.store8
- (get_local $72)
- (i32.and
- (get_local $5)
- (i32.const 255)
- )
+ (set_local $20
+ (get_local $9)
)
- (set_local $47
- (get_local $72)
+ (set_local $1
+ (get_local $17)
)
- (set_local $37
- (get_local $7)
+ (set_local $8
+ (get_local $21)
)
- (set_local $42
- (i32.const 1)
+ (br $label$continue$L1)
+ )
+ (i32.store
+ (set_local $1
+ (i32.load
+ (get_local $19)
+ )
)
- (set_local $43
- (i32.const 0)
+ (get_local $22)
+ )
+ (i32.store offset=4
+ (get_local $1)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $22)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
)
- (set_local $48
- (i32.const 4091)
+ )
+ (set_local $20
+ (get_local $9)
+ )
+ (set_local $1
+ (get_local $17)
+ )
+ (set_local $8
+ (get_local $21)
+ )
+ (br $label$continue$L1)
+ )
+ (set_local $20
+ (get_local $9)
+ )
+ (set_local $1
+ (get_local $17)
+ )
+ (set_local $8
+ (get_local $21)
+ )
+ (br $label$continue$L1)
+ )
+ (set_local $46
+ (i32.or
+ (get_local $18)
+ (i32.const 8)
+ )
+ )
+ (set_local $57
+ (select
+ (get_local $10)
+ (i32.const 8)
+ (i32.gt_u
+ (get_local $10)
+ (i32.const 8)
+ )
+ )
+ )
+ (set_local $68
+ (i32.const 120)
+ )
+ (set_local $12
+ (i32.const 64)
+ )
+ (br $switch$24)
+ )
+ (set_local $46
+ (get_local $18)
+ )
+ (set_local $57
+ (get_local $10)
+ )
+ (set_local $68
+ (get_local $26)
+ )
+ (set_local $12
+ (i32.const 64)
+ )
+ (br $switch$24)
+ )
+ (if
+ (i32.and
+ (i32.eq
+ (set_local $5
+ (i32.load
+ (set_local $1
+ (get_local $19)
)
- (set_local $49
- (get_local $28)
+ )
+ )
+ (i32.const 0)
+ )
+ (i32.eq
+ (set_local $1
+ (i32.load offset=4
+ (get_local $1)
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ (set_local $6
+ (get_local $28)
+ )
+ (block
+ (set_local $6
+ (get_local $28)
+ )
+ (loop $while-out$38 $while-in$39
+ (i32.store8
+ (set_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
)
- (br $switch$24)
)
- (set_local $50
- (call $_strerror
- (i32.load
- (call $___errno_location)
+ (i32.and
+ (i32.or
+ (i32.and
+ (get_local $5)
+ (i32.const 7)
)
+ (i32.const 48)
)
+ (i32.const 255)
)
- (set_local $12
- (i32.const 82)
+ )
+ (if
+ (i32.and
+ (i32.eq
+ (set_local $5
+ (call $_bitshift64Lshr
+ (get_local $5)
+ (get_local $1)
+ (i32.const 3)
+ )
+ )
+ (i32.const 0)
+ )
+ (i32.eq
+ (set_local $1
+ (i32.load
+ (i32.const 168)
+ )
+ )
+ (i32.const 0)
+ )
)
- (br $switch$24)
+ (br $while-out$38)
)
+ (br $while-in$39)
+ )
+ )
+ )
+ (set_local $58
+ (if
+ (i32.eq
+ (i32.and
+ (get_local $18)
+ (i32.const 8)
+ )
+ (i32.const 0)
+ )
+ (block
+ (set_local $34
+ (get_local $18)
+ )
+ (set_local $32
+ (get_local $10)
+ )
+ (set_local $35
+ (i32.const 0)
+ )
+ (set_local $36
+ (i32.const 4091)
+ )
+ (set_local $12
+ (i32.const 77)
+ )
+ (get_local $6)
+ )
+ (block
(set_local $5
- (i32.ne
+ (i32.lt_s
+ (get_local $10)
(set_local $1
- (i32.load
- (get_local $19)
+ (i32.add
+ (i32.sub
+ (get_local $71)
+ (get_local $6)
+ )
+ (i32.const 1)
)
)
- (i32.const 0)
)
)
- (set_local $50
+ (set_local $34
+ (get_local $18)
+ )
+ (set_local $32
(select
(get_local $1)
- (i32.const 4101)
+ (get_local $10)
(get_local $5)
)
)
- (set_local $12
- (i32.const 82)
+ (set_local $35
+ (i32.const 0)
)
- (br $switch$24)
- )
- (set_local $5
- (i32.load
- (set_local $1
- (get_local $19)
- )
+ (set_local $36
+ (i32.const 4091)
+ )
+ (set_local $12
+ (i32.const 77)
)
+ (get_local $6)
)
+ )
+ )
+ (br $switch$24)
+ )
+ (set_local $5
+ (i32.load
+ (set_local $1
+ (get_local $19)
+ )
+ )
+ )
+ (if
+ (i32.lt_s
+ (set_local $33
(i32.load offset=4
(get_local $1)
)
- (i32.store
- (get_local $73)
+ )
+ (i32.const 0)
+ )
+ (block
+ (set_local $1
+ (call $_i64Subtract
+ (i32.const 0)
+ (i32.const 0)
(get_local $5)
+ (get_local $33)
)
- (i32.store
- (get_local $76)
- (i32.const 0)
+ )
+ (set_local $5
+ (i32.load
+ (i32.const 168)
)
- (i32.store
+ )
+ (i32.store
+ (set_local $33
(get_local $19)
- (get_local $73)
- )
- (set_local $69
- (i32.const -1)
- )
- (set_local $12
- (i32.const 86)
)
- (br $switch$24)
+ (get_local $1)
+ )
+ (i32.store offset=4
+ (get_local $33)
+ (get_local $5)
+ )
+ (set_local $33
+ (get_local $1)
+ )
+ (set_local $59
+ (get_local $5)
+ )
+ (set_local $60
+ (i32.const 1)
+ )
+ (set_local $61
+ (i32.const 4091)
)
(set_local $12
- (if
- (i32.eq
- (get_local $10)
- (i32.const 0)
- )
- (block
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (i32.const 0)
- (get_local $18)
- )
- (set_local $38
+ (i32.const 76)
+ )
+ (br $switch$24)
+ )
+ )
+ (set_local $33
+ (if
+ (i32.eq
+ (i32.and
+ (get_local $18)
+ (i32.const 2048)
+ )
+ (i32.const 0)
+ )
+ (block
+ (set_local $1
+ (select
+ (i32.const 4091)
+ (i32.const 4093)
+ (i32.eq
+ (set_local $6
+ (i32.and
+ (get_local $18)
+ (i32.const 1)
+ )
+ )
(i32.const 0)
)
- (i32.const 98)
- )
- (block
- (set_local $69
- (get_local $10)
- )
- (i32.const 86)
)
)
+ (set_local $59
+ (get_local $33)
+ )
+ (set_local $60
+ (get_local $6)
+ )
+ (set_local $61
+ (get_local $1)
+ )
+ (set_local $12
+ (i32.const 76)
+ )
+ (get_local $5)
)
- (br $switch$24)
+ (block
+ (set_local $59
+ (get_local $33)
+ )
+ (set_local $60
+ (i32.const 1)
+ )
+ (set_local $61
+ (i32.const 4092)
+ )
+ (set_local $12
+ (i32.const 76)
+ )
+ (get_local $5)
+ )
+ )
+ )
+ (br $switch$24)
+ )
+ (set_local $33
+ (i32.load
+ (set_local $1
+ (get_local $19)
)
)
)
+ (set_local $59
+ (i32.load offset=4
+ (get_local $1)
+ )
+ )
+ (set_local $60
+ (i32.const 0)
+ )
+ (set_local $61
+ (i32.const 4091)
+ )
+ (set_local $12
+ (i32.const 76)
+ )
+ (br $switch$24)
)
+ (set_local $5
+ (i32.load
+ (set_local $1
+ (get_local $19)
+ )
+ )
+ )
+ (i32.load offset=4
+ (get_local $1)
+ )
+ (i32.store8
+ (get_local $72)
+ (i32.and
+ (get_local $5)
+ (i32.const 255)
+ )
+ )
+ (set_local $47
+ (get_local $72)
+ )
+ (set_local $37
+ (get_local $7)
+ )
+ (set_local $42
+ (i32.const 1)
+ )
+ (set_local $43
+ (i32.const 0)
+ )
+ (set_local $48
+ (i32.const 4091)
+ )
+ (set_local $49
+ (get_local $28)
+ )
+ (br $switch$24)
)
+ (set_local $50
+ (call $_strerror
+ (i32.load
+ (call $___errno_location)
+ )
+ )
+ )
+ (set_local $12
+ (i32.const 82)
+ )
+ (br $switch$24)
)
+ (set_local $5
+ (i32.ne
+ (set_local $1
+ (i32.load
+ (get_local $19)
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ (set_local $50
+ (select
+ (get_local $1)
+ (i32.const 4101)
+ (get_local $5)
+ )
+ )
+ (set_local $12
+ (i32.const 82)
+ )
+ (br $switch$24)
)
- )
- (set_local $15
- (f64.load
+ (set_local $5
+ (i32.load
+ (set_local $1
+ (get_local $19)
+ )
+ )
+ )
+ (i32.load offset=4
+ (get_local $1)
+ )
+ (i32.store
+ (get_local $73)
+ (get_local $5)
+ )
+ (i32.store
+ (get_local $76)
+ (i32.const 0)
+ )
+ (i32.store
(get_local $19)
+ (get_local $73)
)
- )
- (i32.store
- (get_local $25)
- (i32.const 0)
- )
- (f64.store
- (i32.load
- (i32.const 24)
+ (set_local $69
+ (i32.const -1)
)
- (get_local $15)
- )
- (i32.load
- (i32.load
- (i32.const 24)
+ (set_local $12
+ (i32.const 86)
)
+ (br $switch$24)
)
- (set_local $51
+ (set_local $12
(if
- (i32.lt_s
- (i32.load offset=4
- (i32.load
- (i32.const 24)
- )
- )
+ (i32.eq
+ (get_local $10)
(i32.const 0)
)
(block
- (set_local $39
- (i32.const 4108)
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (i32.const 0)
+ (get_local $18)
)
- (set_local $15
- (f64.neg
- (get_local $15)
- )
+ (set_local $38
+ (i32.const 0)
)
- (i32.const 1)
+ (i32.const 98)
)
- (if
- (i32.eq
- (i32.and
- (get_local $18)
- (i32.const 2048)
- )
- (i32.const 0)
+ (block
+ (set_local $69
+ (get_local $10)
)
- (block
- (set_local $39
- (select
- (i32.const 4109)
- (i32.const 4114)
- (i32.eq
- (set_local $1
- (i32.and
- (get_local $18)
- (i32.const 1)
- )
+ (i32.const 86)
+ )
+ )
+ )
+ (br $switch$24)
+ )
+ (set_local $15
+ (f64.load
+ (get_local $19)
+ )
+ )
+ (i32.store
+ (get_local $25)
+ (i32.const 0)
+ )
+ (f64.store
+ (i32.load
+ (i32.const 24)
+ )
+ (get_local $15)
+ )
+ (i32.load
+ (i32.load
+ (i32.const 24)
+ )
+ )
+ (set_local $51
+ (if
+ (i32.lt_s
+ (i32.load offset=4
+ (i32.load
+ (i32.const 24)
+ )
+ )
+ (i32.const 0)
+ )
+ (block
+ (set_local $39
+ (i32.const 4108)
+ )
+ (set_local $15
+ (f64.neg
+ (get_local $15)
+ )
+ )
+ (i32.const 1)
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (get_local $18)
+ (i32.const 2048)
+ )
+ (i32.const 0)
+ )
+ (block
+ (set_local $39
+ (select
+ (i32.const 4109)
+ (i32.const 4114)
+ (i32.eq
+ (set_local $1
+ (i32.and
+ (get_local $18)
+ (i32.const 1)
)
- (i32.const 0)
)
+ (i32.const 0)
)
)
- (get_local $1)
)
- (block
- (set_local $39
- (i32.const 4111)
- )
- (i32.const 1)
+ (get_local $1)
+ )
+ (block
+ (set_local $39
+ (i32.const 4111)
)
+ (i32.const 1)
)
)
)
- (f64.store
- (i32.load
- (i32.const 24)
- )
- (get_local $15)
- )
+ )
+ (f64.store
(i32.load
- (i32.load
- (i32.const 24)
- )
+ (i32.const 24)
)
- (set_local $20
- (get_local $9)
+ (get_local $15)
+ )
+ (i32.load
+ (i32.load
+ (i32.const 24)
)
- (set_local $1
- (block $do-once$56
- (if
- (i32.or
- (i32.lt_u
- (set_local $1
- (i32.and
- (i32.load offset=4
- (i32.load
- (i32.const 24)
- )
+ )
+ (set_local $20
+ (get_local $9)
+ )
+ (set_local $1
+ (block $do-once$56
+ (if
+ (i32.or
+ (i32.lt_u
+ (set_local $1
+ (i32.and
+ (i32.load offset=4
+ (i32.load
+ (i32.const 24)
)
- (i32.const 2146435072)
)
- )
- (i32.const 2146435072)
- )
- (i32.and
- (i32.eq
- (get_local $1)
(i32.const 2146435072)
)
- (i32.const 0)
)
+ (i32.const 2146435072)
)
- (block
- (if
- (set_local $5
- (f64.ne
- (set_local $15
- (f64.mul
- (call $_frexpl
- (get_local $15)
- (get_local $25)
- )
- (f64.const 2)
+ (i32.and
+ (i32.eq
+ (get_local $1)
+ (i32.const 2146435072)
+ )
+ (i32.const 0)
+ )
+ )
+ (block
+ (if
+ (set_local $5
+ (f64.ne
+ (set_local $15
+ (f64.mul
+ (call $_frexpl
+ (get_local $15)
+ (get_local $25)
)
+ (f64.const 2)
)
- (f64.const 0)
)
+ (f64.const 0)
)
- (i32.store
- (get_local $25)
- (i32.add
- (i32.load
- (get_local $25)
- )
- (i32.const -1)
+ )
+ (i32.store
+ (get_local $25)
+ (i32.add
+ (i32.load
+ (get_local $25)
)
+ (i32.const -1)
)
)
- (if
- (i32.eq
- (set_local $14
- (i32.or
- (get_local $26)
- (i32.const 32)
- )
+ )
+ (if
+ (i32.eq
+ (set_local $14
+ (i32.or
+ (get_local $26)
+ (i32.const 32)
)
- (i32.const 97)
)
- (block
- (set_local $9
- (select
+ (i32.const 97)
+ )
+ (block
+ (set_local $9
+ (select
+ (get_local $39)
+ (i32.add
(get_local $39)
- (i32.add
- (get_local $39)
- (i32.const 9)
- )
- (i32.eq
- (set_local $6
- (i32.and
- (get_local $26)
- (i32.const 32)
- )
+ (i32.const 9)
+ )
+ (i32.eq
+ (set_local $6
+ (i32.and
+ (get_local $26)
+ (i32.const 32)
)
- (i32.const 0)
)
+ (i32.const 0)
)
)
- (set_local $7
- (i32.or
- (get_local $51)
- (i32.const 2)
- )
+ )
+ (set_local $7
+ (i32.or
+ (get_local $51)
+ (i32.const 2)
)
- (set_local $15
- (if
- (i32.or
- (i32.gt_u
- (get_local $10)
- (i32.const 11)
- )
- (i32.eq
- (set_local $1
- (i32.sub
- (i32.const 12)
- (get_local $10)
- )
+ )
+ (set_local $15
+ (if
+ (i32.or
+ (i32.gt_u
+ (get_local $10)
+ (i32.const 11)
+ )
+ (i32.eq
+ (set_local $1
+ (i32.sub
+ (i32.const 12)
+ (get_local $10)
)
- (i32.const 0)
)
+ (i32.const 0)
)
- (get_local $15)
- (block
+ )
+ (get_local $15)
+ (block
+ (set_local $30
+ (f64.const 8)
+ )
+ (loop $while-out$60 $while-in$61
(set_local $30
- (f64.const 8)
- )
- (loop $while-out$60 $while-in$61
- (set_local $30
- (f64.mul
- (get_local $30)
- (f64.const 16)
- )
+ (f64.mul
+ (get_local $30)
+ (f64.const 16)
)
- (if
- (i32.eq
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const -1)
- )
+ )
+ (if
+ (i32.eq
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const -1)
)
- (i32.const 0)
)
- (br $while-out$60)
+ (i32.const 0)
)
- (br $while-in$61)
+ (br $while-out$60)
)
- (select
- (f64.neg
- (f64.add
- (get_local $30)
- (f64.sub
- (f64.neg
- (get_local $15)
- )
- (get_local $30)
+ (br $while-in$61)
+ )
+ (select
+ (f64.neg
+ (f64.add
+ (get_local $30)
+ (f64.sub
+ (f64.neg
+ (get_local $15)
)
- )
- )
- (f64.sub
- (f64.add
- (get_local $15)
(get_local $30)
)
+ )
+ )
+ (f64.sub
+ (f64.add
+ (get_local $15)
(get_local $30)
)
- (i32.eq
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (get_local $9)
- )
- (i32.const 24)
+ (get_local $30)
+ )
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (get_local $9)
)
(i32.const 24)
)
- (i32.const 45)
+ (i32.const 24)
)
+ (i32.const 45)
)
)
)
)
- (set_local $5
- (i32.lt_s
- (set_local $1
- (i32.load
- (get_local $25)
- )
+ )
+ (set_local $5
+ (i32.lt_s
+ (set_local $1
+ (i32.load
+ (get_local $25)
)
- (i32.const 0)
)
+ (i32.const 0)
)
- (set_local $5
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (set_local $8
- (select
- (i32.sub
- (i32.const 0)
- (get_local $1)
- )
+ )
+ (set_local $5
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (set_local $8
+ (select
+ (i32.sub
+ (i32.const 0)
(get_local $1)
- (get_local $5)
)
+ (get_local $1)
+ (get_local $5)
)
- (i32.const 0)
)
- (i32.const 31)
+ (i32.const 0)
)
(i32.const 31)
)
+ (i32.const 31)
)
- (i32.store8
- (i32.add
- (set_local $5
- (if
- (i32.eq
- (set_local $5
- (call $_fmt_u
- (get_local $8)
- (get_local $5)
- (get_local $52)
- )
+ )
+ (i32.store8
+ (i32.add
+ (set_local $5
+ (if
+ (i32.eq
+ (set_local $5
+ (call $_fmt_u
+ (get_local $8)
+ (get_local $5)
+ (get_local $52)
)
- (get_local $52)
)
- (block
- (i32.store8
- (get_local $74)
- (i32.const 48)
- )
+ (get_local $52)
+ )
+ (block
+ (i32.store8
(get_local $74)
+ (i32.const 48)
)
- (get_local $5)
+ (get_local $74)
)
+ (get_local $5)
)
- (i32.const -1)
)
- (i32.and
- (i32.add
- (i32.and
- (i32.shr_s
- (get_local $1)
- (i32.const 31)
- )
- (i32.const 2)
+ (i32.const -1)
+ )
+ (i32.and
+ (i32.add
+ (i32.and
+ (i32.shr_s
+ (get_local $1)
+ (i32.const 31)
)
- (i32.const 43)
+ (i32.const 2)
)
- (i32.const 255)
+ (i32.const 43)
)
+ (i32.const 255)
)
- (i32.store8
- (set_local $8
- (i32.add
- (get_local $5)
- (i32.const -2)
- )
- )
- (i32.and
- (i32.add
- (get_local $26)
- (i32.const 15)
- )
- (i32.const 255)
+ )
+ (i32.store8
+ (set_local $8
+ (i32.add
+ (get_local $5)
+ (i32.const -2)
)
)
- (set_local $5
- (i32.lt_s
- (get_local $10)
- (i32.const 1)
+ (i32.and
+ (i32.add
+ (get_local $26)
+ (i32.const 15)
)
+ (i32.const 255)
)
- (set_local $13
- (i32.eq
- (i32.and
- (get_local $18)
- (i32.const 8)
- )
- (i32.const 0)
- )
+ )
+ (set_local $5
+ (i32.lt_s
+ (get_local $10)
+ (i32.const 1)
)
- (set_local $11
- (get_local $29)
+ )
+ (set_local $13
+ (i32.eq
+ (i32.and
+ (get_local $18)
+ (i32.const 8)
+ )
+ (i32.const 0)
)
- (loop $while-out$62 $while-in$63
- (i32.store8
- (get_local $11)
- (i32.and
- (i32.or
- (i32.and
- (i32.load8_s
- (i32.add
- (set_local $1
- (call_import $f64-to-int
- (get_local $15)
- )
+ )
+ (set_local $11
+ (get_local $29)
+ )
+ (loop $while-out$62 $while-in$63
+ (i32.store8
+ (get_local $11)
+ (i32.and
+ (i32.or
+ (i32.and
+ (i32.load8_s
+ (i32.add
+ (set_local $1
+ (call_import $f64-to-int
+ (get_local $15)
)
- (i32.const 4075)
)
+ (i32.const 4075)
)
- (i32.const 255)
)
- (get_local $6)
+ (i32.const 255)
)
- (i32.const 255)
+ (get_local $6)
)
+ (i32.const 255)
)
- (set_local $15
- (f64.mul
- (f64.sub
- (get_local $15)
- (f64.convert_s/i32
- (get_local $1)
- )
+ )
+ (set_local $15
+ (f64.mul
+ (f64.sub
+ (get_local $15)
+ (f64.convert_s/i32
+ (get_local $1)
)
- (f64.const 16)
)
+ (f64.const 16)
)
- (set_local $11
- (block $do-once$64
- (if
- (i32.eq
- (i32.sub
- (set_local $1
- (i32.add
- (get_local $11)
- (i32.const 1)
- )
+ )
+ (set_local $11
+ (block $do-once$64
+ (if
+ (i32.eq
+ (i32.sub
+ (set_local $1
+ (i32.add
+ (get_local $11)
+ (i32.const 1)
)
- (get_local $64)
)
- (i32.const 1)
+ (get_local $64)
)
- (block
- (br_if $do-once$64
- (get_local $1)
+ (i32.const 1)
+ )
+ (block
+ (br_if $do-once$64
+ (get_local $1)
+ (i32.and
+ (get_local $13)
(i32.and
- (get_local $13)
- (i32.and
- (get_local $5)
- (f64.eq
- (get_local $15)
- (f64.const 0)
- )
+ (get_local $5)
+ (f64.eq
+ (get_local $15)
+ (f64.const 0)
)
)
)
- (i32.store8
- (get_local $1)
- (i32.const 46)
- )
- (i32.add
- (get_local $11)
- (i32.const 2)
- )
)
- (get_local $1)
+ (i32.store8
+ (get_local $1)
+ (i32.const 46)
+ )
+ (i32.add
+ (get_local $11)
+ (i32.const 2)
+ )
)
+ (get_local $1)
)
)
- (if
- (f64.eq
- (get_local $15)
- (f64.const 0)
- )
- (block
- (set_local $1
- (get_local $11)
- )
- (br $while-out$62)
+ )
+ (if
+ (f64.eq
+ (get_local $15)
+ (f64.const 0)
+ )
+ (block
+ (set_local $1
+ (get_local $11)
)
+ (br $while-out$62)
)
- (br $while-in$63)
)
- (set_local $5
- (i32.and
- (i32.ne
- (get_local $10)
- (i32.const 0)
- )
- (i32.lt_s
- (i32.add
- (get_local $78)
- (get_local $1)
- )
- (get_local $10)
+ (br $while-in$63)
+ )
+ (set_local $5
+ (i32.and
+ (i32.ne
+ (get_local $10)
+ (i32.const 0)
+ )
+ (i32.lt_s
+ (i32.add
+ (get_local $78)
+ (get_local $1)
)
+ (get_local $10)
)
)
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (set_local $5
- (i32.add
- (set_local $6
- (select
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (set_local $5
+ (i32.add
+ (set_local $6
+ (select
+ (i32.sub
+ (i32.add
+ (get_local $79)
+ (get_local $10)
+ )
+ (get_local $8)
+ )
+ (i32.add
(i32.sub
- (i32.add
- (get_local $79)
- (get_local $10)
- )
+ (get_local $77)
(get_local $8)
)
- (i32.add
- (i32.sub
- (get_local $77)
- (get_local $8)
- )
- (get_local $1)
- )
- (get_local $5)
+ (get_local $1)
)
+ (get_local $5)
)
- (get_local $7)
)
+ (get_local $7)
)
- (get_local $18)
)
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
+ (get_local $18)
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
)
- (i32.const 0)
- )
- (call $___fwritex
- (get_local $9)
- (get_local $7)
- (get_local $0)
+ (i32.const 32)
)
+ (i32.const 0)
)
- (call $_pad
+ (call $___fwritex
+ (get_local $9)
+ (get_local $7)
(get_local $0)
- (i32.const 48)
- (get_local $16)
- (get_local $5)
- (i32.xor
- (get_local $18)
- (i32.const 65536)
- )
)
- (set_local $1
- (i32.sub
- (get_local $1)
- (get_local $64)
- )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (get_local $16)
+ (get_local $5)
+ (i32.xor
+ (get_local $18)
+ (i32.const 65536)
)
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
+ )
+ (set_local $1
+ (i32.sub
+ (get_local $1)
+ (get_local $64)
+ )
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
)
- (i32.const 0)
- )
- (call $___fwritex
- (get_local $29)
- (get_local $1)
- (get_local $0)
+ (i32.const 32)
)
+ (i32.const 0)
)
- (call $_pad
+ (call $___fwritex
+ (get_local $29)
+ (get_local $1)
(get_local $0)
- (i32.const 48)
- (i32.sub
- (get_local $6)
- (i32.add
- (get_local $1)
- (set_local $1
- (i32.sub
- (get_local $40)
- (get_local $8)
- )
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.sub
+ (get_local $6)
+ (i32.add
+ (get_local $1)
+ (set_local $1
+ (i32.sub
+ (get_local $40)
+ (get_local $8)
)
)
)
- (i32.const 0)
- (i32.const 0)
)
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
+ (i32.const 0)
+ (i32.const 0)
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
)
- (i32.const 0)
- )
- (call $___fwritex
- (get_local $8)
- (get_local $1)
- (get_local $0)
+ (i32.const 32)
)
+ (i32.const 0)
)
- (call $_pad
+ (call $___fwritex
+ (get_local $8)
+ (get_local $1)
(get_local $0)
- (i32.const 32)
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (get_local $5)
+ (i32.xor
+ (get_local $18)
+ (i32.const 8192)
+ )
+ )
+ (br $do-once$56
+ (select
(get_local $16)
(get_local $5)
- (i32.xor
- (get_local $18)
- (i32.const 8192)
- )
- )
- (br $do-once$56
- (select
- (get_local $16)
+ (i32.lt_s
(get_local $5)
- (i32.lt_s
- (get_local $5)
- (get_local $16)
- )
+ (get_local $16)
)
)
)
)
- (set_local $1
- (select
- (i32.const 6)
+ )
+ (set_local $1
+ (select
+ (i32.const 6)
+ (get_local $10)
+ (i32.lt_s
(get_local $10)
- (i32.lt_s
- (get_local $10)
- (i32.const 0)
- )
+ (i32.const 0)
)
)
- (set_local $62
- (set_local $9
- (select
- (get_local $80)
- (get_local $81)
- (i32.lt_s
- (if
- (get_local $5)
- (block
- (i32.store
- (get_local $25)
- (set_local $5
- (i32.add
- (i32.load
- (get_local $25)
- )
- (i32.const -28)
+ )
+ (set_local $62
+ (set_local $9
+ (select
+ (get_local $80)
+ (get_local $81)
+ (i32.lt_s
+ (if
+ (get_local $5)
+ (block
+ (i32.store
+ (get_local $25)
+ (set_local $5
+ (i32.add
+ (i32.load
+ (get_local $25)
)
+ (i32.const -28)
)
)
- (set_local $15
- (f64.mul
- (get_local $15)
- (f64.const 268435456)
- )
- )
- (get_local $5)
)
- (i32.load
- (get_local $25)
+ (set_local $15
+ (f64.mul
+ (get_local $15)
+ (f64.const 268435456)
+ )
)
+ (get_local $5)
+ )
+ (i32.load
+ (get_local $25)
)
- (i32.const 0)
)
+ (i32.const 0)
)
)
)
- (set_local $7
- (get_local $9)
- )
- (loop $while-out$66 $while-in$67
- (i32.store
- (get_local $7)
- (set_local $5
- (call_import $f64-to-int
- (get_local $15)
- )
+ )
+ (set_local $7
+ (get_local $9)
+ )
+ (loop $while-out$66 $while-in$67
+ (i32.store
+ (get_local $7)
+ (set_local $5
+ (call_import $f64-to-int
+ (get_local $15)
)
)
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
+ )
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
)
- (if
- (f64.eq
- (set_local $15
- (f64.mul
- (f64.sub
- (get_local $15)
- (f64.convert_u/i32
- (get_local $5)
- )
+ )
+ (if
+ (f64.eq
+ (set_local $15
+ (f64.mul
+ (f64.sub
+ (get_local $15)
+ (f64.convert_u/i32
+ (get_local $5)
)
- (f64.const 1e9)
)
+ (f64.const 1e9)
)
- (f64.const 0)
)
- (block
- (set_local $6
- (get_local $7)
- )
- (br $while-out$66)
+ (f64.const 0)
+ )
+ (block
+ (set_local $6
+ (get_local $7)
)
+ (br $while-out$66)
)
- (br $while-in$67)
)
- (if
- (i32.gt_s
- (set_local $5
- (i32.load
- (get_local $25)
- )
+ (br $while-in$67)
+ )
+ (if
+ (i32.gt_s
+ (set_local $5
+ (i32.load
+ (get_local $25)
)
- (i32.const 0)
)
- (block
- (set_local $8
- (get_local $9)
- )
- (set_local $13
- (get_local $6)
- )
- (loop $while-out$68 $while-in$69
- (set_local $11
- (select
- (i32.const 29)
+ (i32.const 0)
+ )
+ (block
+ (set_local $8
+ (get_local $9)
+ )
+ (set_local $13
+ (get_local $6)
+ )
+ (loop $while-out$68 $while-in$69
+ (set_local $11
+ (select
+ (i32.const 29)
+ (get_local $5)
+ (i32.gt_s
(get_local $5)
- (i32.gt_s
- (get_local $5)
- (i32.const 29)
- )
+ (i32.const 29)
)
)
- (set_local $7
- (block $do-once$70
- (if
- (i32.lt_u
- (set_local $7
- (i32.add
- (get_local $13)
- (i32.const -4)
- )
+ )
+ (set_local $7
+ (block $do-once$70
+ (if
+ (i32.lt_u
+ (set_local $7
+ (i32.add
+ (get_local $13)
+ (i32.const -4)
)
- (get_local $8)
)
(get_local $8)
- (block
- (set_local $5
- (i32.const 0)
- )
- (set_local $10
- (get_local $7)
- )
- (loop $while-out$72 $while-in$73
- (set_local $6
- (call $___uremdi3
- (set_local $5
- (call $_i64Add
- (call $_bitshift64Shl
- (i32.load
- (get_local $10)
- )
- (i32.const 0)
- (get_local $11)
- )
+ )
+ (get_local $8)
+ (block
+ (set_local $5
+ (i32.const 0)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (loop $while-out$72 $while-in$73
+ (set_local $6
+ (call $___uremdi3
+ (set_local $5
+ (call $_i64Add
+ (call $_bitshift64Shl
(i32.load
- (i32.const 168)
+ (get_local $10)
)
- (get_local $5)
(i32.const 0)
+ (get_local $11)
)
- )
- (set_local $7
(i32.load
(i32.const 168)
)
+ (get_local $5)
+ (i32.const 0)
)
- (i32.const 1000000000)
- (i32.const 0)
- )
- )
- (i32.load
- (i32.const 168)
- )
- (i32.store
- (get_local $10)
- (get_local $6)
- )
- (set_local $5
- (call $___udivdi3
- (get_local $5)
- (get_local $7)
- (i32.const 1000000000)
- (i32.const 0)
)
- )
- (i32.load
- (i32.const 168)
- )
- (if
- (i32.lt_u
- (set_local $7
- (i32.add
- (get_local $10)
- (i32.const -4)
- )
+ (set_local $7
+ (i32.load
+ (i32.const 168)
)
- (get_local $8)
- )
- (br $while-out$72)
- (set_local $10
- (get_local $7)
)
+ (i32.const 1000000000)
+ (i32.const 0)
)
- (br $while-in$73)
)
- (br_if $do-once$70
- (get_local $8)
- (i32.eq
+ (i32.load
+ (i32.const 168)
+ )
+ (i32.store
+ (get_local $10)
+ (get_local $6)
+ )
+ (set_local $5
+ (call $___udivdi3
(get_local $5)
+ (get_local $7)
+ (i32.const 1000000000)
(i32.const 0)
)
)
- (i32.store
- (set_local $7
- (i32.add
- (get_local $8)
- (i32.const -4)
+ (i32.load
+ (i32.const 168)
+ )
+ (if
+ (i32.lt_u
+ (set_local $7
+ (i32.add
+ (get_local $10)
+ (i32.const -4)
+ )
)
+ (get_local $8)
)
+ (br $while-out$72)
+ (set_local $10
+ (get_local $7)
+ )
+ )
+ (br $while-in$73)
+ )
+ (br_if $do-once$70
+ (get_local $8)
+ (i32.eq
(get_local $5)
+ (i32.const 0)
)
- (get_local $7)
)
- )
- )
- )
- (loop $while-out$74 $while-in$75
- (if
- (i32.le_u
- (get_local $13)
- (get_local $7)
- )
- (br $while-out$74)
- )
- (if
- (i32.eq
- (i32.load
- (set_local $5
+ (i32.store
+ (set_local $7
(i32.add
- (get_local $13)
+ (get_local $8)
(i32.const -4)
)
)
+ (get_local $5)
)
- (i32.const 0)
- )
- (set_local $13
- (get_local $5)
+ (get_local $7)
)
- (br $while-out$74)
)
- (br $while-in$75)
)
- (i32.store
- (get_local $25)
- (set_local $5
- (i32.sub
- (i32.load
- (get_local $25)
- )
- (get_local $11)
- )
+ )
+ (loop $while-out$74 $while-in$75
+ (if
+ (i32.le_u
+ (get_local $13)
+ (get_local $7)
)
+ (br $while-out$74)
)
(if
- (i32.gt_s
- (get_local $5)
+ (i32.eq
+ (i32.load
+ (set_local $5
+ (i32.add
+ (get_local $13)
+ (i32.const -4)
+ )
+ )
+ )
(i32.const 0)
)
- (set_local $8
- (get_local $7)
+ (set_local $13
+ (get_local $5)
)
- (block
- (set_local $6
- (get_local $13)
+ (br $while-out$74)
+ )
+ (br $while-in$75)
+ )
+ (i32.store
+ (get_local $25)
+ (set_local $5
+ (i32.sub
+ (i32.load
+ (get_local $25)
)
- (br $while-out$68)
+ (get_local $11)
)
)
- (br $while-in$69)
)
- )
- (set_local $7
- (get_local $9)
+ (if
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ (set_local $8
+ (get_local $7)
+ )
+ (block
+ (set_local $6
+ (get_local $13)
+ )
+ (br $while-out$68)
+ )
+ )
+ (br $while-in$69)
)
)
- (if
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
- (block
- (set_local $8
- (i32.add
- (i32.and
- (call_import $i32s-div
- (i32.add
- (get_local $1)
- (i32.const 25)
- )
- (i32.const 9)
+ (set_local $7
+ (get_local $9)
+ )
+ )
+ (if
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ (block
+ (set_local $8
+ (i32.add
+ (i32.and
+ (call_import $i32s-div
+ (i32.add
+ (get_local $1)
+ (i32.const 25)
)
- (i32.const -1)
+ (i32.const 9)
)
- (i32.const 1)
- )
- )
- (set_local $10
- (i32.eq
- (get_local $14)
- (i32.const 102)
+ (i32.const -1)
)
+ (i32.const 1)
)
- (set_local $23
- (get_local $6)
+ )
+ (set_local $10
+ (i32.eq
+ (get_local $14)
+ (i32.const 102)
)
- (loop $while-out$76 $while-in$77
- (set_local $5
- (i32.gt_s
- (set_local $6
- (i32.sub
- (i32.const 0)
- (get_local $5)
- )
+ )
+ (set_local $23
+ (get_local $6)
+ )
+ (loop $while-out$76 $while-in$77
+ (set_local $5
+ (i32.gt_s
+ (set_local $6
+ (i32.sub
+ (i32.const 0)
+ (get_local $5)
)
- (i32.const 9)
)
+ (i32.const 9)
)
- (set_local $13
- (select
- (i32.const 9)
- (get_local $6)
- (get_local $5)
- )
+ )
+ (set_local $13
+ (select
+ (i32.const 9)
+ (get_local $6)
+ (get_local $5)
)
- (set_local $11
- (block $do-once$78
- (if
- (i32.lt_u
- (get_local $7)
- (get_local $23)
- )
- (block
- (set_local $70
- (i32.add
- (i32.shl
- (i32.const 1)
- (get_local $13)
- )
- (i32.const -1)
- )
- )
- (set_local $27
- (i32.shr_u
- (i32.const 1000000000)
+ )
+ (set_local $11
+ (block $do-once$78
+ (if
+ (i32.lt_u
+ (get_local $7)
+ (get_local $23)
+ )
+ (block
+ (set_local $70
+ (i32.add
+ (i32.shl
+ (i32.const 1)
(get_local $13)
)
+ (i32.const -1)
)
- (set_local $11
- (i32.const 0)
- )
- (set_local $17
- (get_local $7)
+ )
+ (set_local $27
+ (i32.shr_u
+ (i32.const 1000000000)
+ (get_local $13)
)
- (loop $while-out$80 $while-in$81
- (set_local $6
- (i32.and
- (set_local $5
- (i32.load
- (get_local $17)
- )
+ )
+ (set_local $11
+ (i32.const 0)
+ )
+ (set_local $17
+ (get_local $7)
+ )
+ (loop $while-out$80 $while-in$81
+ (set_local $6
+ (i32.and
+ (set_local $5
+ (i32.load
+ (get_local $17)
)
- (get_local $70)
)
+ (get_local $70)
)
- (i32.store
- (get_local $17)
- (i32.add
- (i32.shr_u
- (get_local $5)
- (get_local $13)
- )
- (get_local $11)
+ )
+ (i32.store
+ (get_local $17)
+ (i32.add
+ (i32.shr_u
+ (get_local $5)
+ (get_local $13)
)
+ (get_local $11)
)
- (set_local $11
- (i32.mul
- (get_local $6)
- (get_local $27)
- )
+ )
+ (set_local $11
+ (i32.mul
+ (get_local $6)
+ (get_local $27)
)
- (if
- (i32.ge_u
- (set_local $17
- (i32.add
- (get_local $17)
- (i32.const 4)
- )
+ )
+ (if
+ (i32.ge_u
+ (set_local $17
+ (i32.add
+ (get_local $17)
+ (i32.const 4)
)
- (get_local $23)
)
- (br $while-out$80)
+ (get_local $23)
)
- (br $while-in$81)
+ (br $while-out$80)
)
- (set_local $5
- (select
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
+ (br $while-in$81)
+ )
+ (set_local $5
+ (select
+ (i32.add
(get_local $7)
- (i32.eq
- (i32.load
- (get_local $7)
- )
- (i32.const 0)
- )
+ (i32.const 4)
)
- )
- (if
+ (get_local $7)
(i32.eq
- (get_local $11)
+ (i32.load
+ (get_local $7)
+ )
(i32.const 0)
)
- (br $do-once$78
- (get_local $5)
- )
)
- (i32.store
- (get_local $23)
+ )
+ (if
+ (i32.eq
(get_local $11)
+ (i32.const 0)
)
- (set_local $23
- (i32.add
- (get_local $23)
- (i32.const 4)
- )
+ (br $do-once$78
+ (get_local $5)
)
- (get_local $5)
)
- (select
+ (i32.store
+ (get_local $23)
+ (get_local $11)
+ )
+ (set_local $23
(i32.add
- (get_local $7)
+ (get_local $23)
(i32.const 4)
)
+ )
+ (get_local $5)
+ )
+ (select
+ (i32.add
(get_local $7)
- (i32.eq
- (i32.load
- (get_local $7)
- )
- (i32.const 0)
+ (i32.const 4)
+ )
+ (get_local $7)
+ (i32.eq
+ (i32.load
+ (get_local $7)
)
+ (i32.const 0)
)
)
)
)
- (set_local $5
- (i32.gt_s
- (i32.shr_s
- (i32.sub
- (get_local $23)
- (set_local $7
- (select
- (get_local $9)
- (get_local $11)
- (get_local $10)
- )
+ )
+ (set_local $5
+ (i32.gt_s
+ (i32.shr_s
+ (i32.sub
+ (get_local $23)
+ (set_local $7
+ (select
+ (get_local $9)
+ (get_local $11)
+ (get_local $10)
)
)
- (i32.const 2)
)
- (get_local $8)
+ (i32.const 2)
)
+ (get_local $8)
)
- (set_local $6
- (select
- (i32.add
- (get_local $7)
- (i32.shl
- (get_local $8)
- (i32.const 2)
- )
+ )
+ (set_local $6
+ (select
+ (i32.add
+ (get_local $7)
+ (i32.shl
+ (get_local $8)
+ (i32.const 2)
)
- (get_local $23)
- (get_local $5)
)
+ (get_local $23)
+ (get_local $5)
)
- (i32.store
- (get_local $25)
- (set_local $5
- (i32.add
- (i32.load
- (get_local $25)
- )
- (get_local $13)
+ )
+ (i32.store
+ (get_local $25)
+ (set_local $5
+ (i32.add
+ (i32.load
+ (get_local $25)
)
+ (get_local $13)
)
)
- (if
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
+ )
+ (if
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ (block
+ (set_local $7
+ (get_local $11)
)
- (block
- (set_local $7
- (get_local $11)
- )
- (set_local $23
- (get_local $6)
- )
+ (set_local $23
+ (get_local $6)
)
- (block
- (set_local $7
- (get_local $11)
- )
- (set_local $27
- (get_local $6)
- )
- (br $while-out$76)
+ )
+ (block
+ (set_local $7
+ (get_local $11)
+ )
+ (set_local $27
+ (get_local $6)
)
+ (br $while-out$76)
)
- (br $while-in$77)
)
- )
- (set_local $27
- (get_local $6)
+ (br $while-in$77)
)
)
- (block $do-once$82
- (if
- (i32.lt_u
- (get_local $7)
- (get_local $27)
+ (set_local $27
+ (get_local $6)
+ )
+ )
+ (block $do-once$82
+ (if
+ (i32.lt_u
+ (get_local $7)
+ (get_local $27)
+ )
+ (block
+ (set_local $6
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $62)
+ (get_local $7)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
+ )
)
- (block
- (set_local $6
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $62)
- (get_local $7)
- )
- (i32.const 2)
+ (if
+ (i32.lt_u
+ (set_local $5
+ (i32.load
+ (get_local $7)
)
- (i32.const 9)
+ )
+ (i32.const 10)
+ )
+ (block
+ (set_local $13
+ (get_local $6)
+ )
+ (br $do-once$82)
+ )
+ (set_local $8
+ (i32.const 10)
+ )
+ )
+ (loop $while-out$84 $while-in$85
+ (set_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 1)
)
)
(if
(i32.lt_u
- (set_local $5
- (i32.load
- (get_local $7)
+ (get_local $5)
+ (set_local $8
+ (i32.mul
+ (get_local $8)
+ (i32.const 10)
)
)
- (i32.const 10)
)
(block
(set_local $13
(get_local $6)
)
- (br $do-once$82)
- )
- (set_local $8
- (i32.const 10)
+ (br $while-out$84)
)
)
- (loop $while-out$84 $while-in$85
- (set_local $6
- (i32.add
- (get_local $6)
- (i32.const 1)
- )
- )
- (if
- (i32.lt_u
- (get_local $5)
- (set_local $8
- (i32.mul
- (get_local $8)
- (i32.const 10)
- )
- )
- )
- (block
- (set_local $13
- (get_local $6)
- )
- (br $while-out$84)
- )
- )
- (br $while-in$85)
- )
- )
- (set_local $13
- (i32.const 0)
+ (br $while-in$85)
)
)
+ (set_local $13
+ (i32.const 0)
+ )
)
- (set_local $7
- (if
- (i32.lt_s
- (set_local $5
- (i32.add
- (i32.sub
- (get_local $1)
- (select
- (get_local $13)
- (i32.const 0)
- (i32.ne
- (get_local $14)
- (i32.const 102)
- )
+ )
+ (set_local $7
+ (if
+ (i32.lt_s
+ (set_local $5
+ (i32.add
+ (i32.sub
+ (get_local $1)
+ (select
+ (get_local $13)
+ (i32.const 0)
+ (i32.ne
+ (get_local $14)
+ (i32.const 102)
)
)
- (i32.shr_s
- (i32.shl
- (i32.and
- (set_local $70
- (i32.ne
- (get_local $1)
- (i32.const 0)
- )
+ )
+ (i32.shr_s
+ (i32.shl
+ (i32.and
+ (set_local $70
+ (i32.ne
+ (get_local $1)
+ (i32.const 0)
)
- (set_local $8
- (i32.eq
- (get_local $14)
- (i32.const 103)
- )
+ )
+ (set_local $8
+ (i32.eq
+ (get_local $14)
+ (i32.const 103)
)
)
- (i32.const 31)
)
(i32.const 31)
)
+ (i32.const 31)
)
)
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $27)
- (get_local $62)
- )
- (i32.const 2)
+ )
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $27)
+ (get_local $62)
)
- (i32.const 9)
+ (i32.const 2)
)
- (i32.const -9)
+ (i32.const 9)
)
+ (i32.const -9)
)
- (block
- (set_local $6
+ )
+ (block
+ (set_local $6
+ (i32.add
(i32.add
+ (get_local $9)
+ (i32.const 4)
+ )
+ (i32.shl
(i32.add
- (get_local $9)
- (i32.const 4)
- )
- (i32.shl
- (i32.add
- (i32.and
- (call_import $i32s-div
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 9216)
- )
+ (i32.and
+ (call_import $i32s-div
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 9216)
)
- (i32.const 9)
)
- (i32.const -1)
+ (i32.const 9)
)
- (i32.const -1024)
+ (i32.const -1)
)
- (i32.const 2)
+ (i32.const -1024)
)
+ (i32.const 2)
)
)
- (if
- (i32.lt_s
- (set_local $11
- (i32.add
- (i32.and
- (call_import $i32s-rem
- (get_local $5)
- (i32.const 9)
- )
- (i32.const -1)
+ )
+ (if
+ (i32.lt_s
+ (set_local $11
+ (i32.add
+ (i32.and
+ (call_import $i32s-rem
+ (get_local $5)
+ (i32.const 9)
)
- (i32.const 1)
+ (i32.const -1)
)
+ (i32.const 1)
)
- (i32.const 9)
)
- (block
+ (i32.const 9)
+ )
+ (block
+ (set_local $5
+ (i32.const 10)
+ )
+ (loop $while-out$86 $while-in$87
(set_local $5
- (i32.const 10)
+ (i32.mul
+ (get_local $5)
+ (i32.const 10)
+ )
)
- (loop $while-out$86 $while-in$87
- (set_local $5
- (i32.mul
+ (if
+ (i32.eq
+ (set_local $11
+ (i32.add
+ (get_local $11)
+ (i32.const 1)
+ )
+ )
+ (i32.const 9)
+ )
+ (block
+ (set_local $17
(get_local $5)
- (i32.const 10)
)
+ (br $while-out$86)
)
- (if
+ )
+ (br $while-in$87)
+ )
+ )
+ (set_local $17
+ (i32.const 10)
+ )
+ )
+ (block $do-once$88
+ (if
+ (i32.eqz
+ (i32.and
+ (set_local $11
(i32.eq
- (set_local $11
- (i32.add
- (get_local $11)
- (i32.const 1)
- )
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
)
- (i32.const 9)
+ (get_local $27)
)
- (block
- (set_local $17
- (get_local $5)
+ )
+ (i32.eq
+ (set_local $14
+ (i32.and
+ (call_import $i32u-rem
+ (set_local $5
+ (i32.load
+ (get_local $6)
+ )
+ )
+ (get_local $17)
+ )
+ (i32.const -1)
)
- (br $while-out$86)
)
+ (i32.const 0)
)
- (br $while-in$87)
)
)
- (set_local $17
- (i32.const 10)
- )
- )
- (block $do-once$88
- (if
- (i32.eqz
- (i32.and
- (set_local $11
- (i32.eq
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- (get_local $27)
- )
- )
+ (block
+ (set_local $15
+ (select
+ (f64.const 9007199254740992)
+ (f64.const 9007199254740994)
(i32.eq
- (set_local $14
+ (i32.and
(i32.and
- (call_import $i32u-rem
- (set_local $5
- (i32.load
- (get_local $6)
- )
- )
+ (call_import $i32u-div
+ (get_local $5)
(get_local $17)
)
(i32.const -1)
)
+ (i32.const 1)
)
(i32.const 0)
)
)
)
- (block
- (set_local $15
- (select
- (f64.const 9007199254740992)
- (f64.const 9007199254740994)
- (i32.eq
+ (set_local $30
+ (if
+ (i32.lt_u
+ (get_local $14)
+ (set_local $10
(i32.and
- (i32.and
- (call_import $i32u-div
- (get_local $5)
- (get_local $17)
- )
- (i32.const -1)
+ (call_import $i32s-div
+ (get_local $17)
+ (i32.const 2)
)
- (i32.const 1)
+ (i32.const -1)
)
- (i32.const 0)
)
)
- )
- (set_local $30
- (if
- (i32.lt_u
- (get_local $14)
- (set_local $10
- (i32.and
- (call_import $i32s-div
- (get_local $17)
- (i32.const 2)
- )
- (i32.const -1)
- )
- )
- )
- (f64.const 0.5)
- (select
- (f64.const 1)
- (f64.const 1.5)
- (i32.and
- (get_local $11)
- (i32.eq
- (get_local $14)
- (get_local $10)
- )
+ (f64.const 0.5)
+ (select
+ (f64.const 1)
+ (f64.const 1.5)
+ (i32.and
+ (get_local $11)
+ (i32.eq
+ (get_local $14)
+ (get_local $10)
)
)
)
)
- (set_local $15
- (block $do-once$90
- (if
- (i32.eq
- (get_local $51)
- (i32.const 0)
- )
- (get_local $15)
- (block
- (if
- (i32.ne
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (get_local $39)
- )
- (i32.const 24)
+ )
+ (set_local $15
+ (block $do-once$90
+ (if
+ (i32.eq
+ (get_local $51)
+ (i32.const 0)
+ )
+ (get_local $15)
+ (block
+ (if
+ (i32.ne
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (get_local $39)
)
(i32.const 24)
)
- (i32.const 45)
- )
- (br $do-once$90
- (get_local $15)
+ (i32.const 24)
)
+ (i32.const 45)
)
- (set_local $30
- (f64.neg
- (get_local $30)
- )
+ (br $do-once$90
+ (get_local $15)
)
+ )
+ (set_local $30
(f64.neg
- (get_local $15)
+ (get_local $30)
)
)
+ (f64.neg
+ (get_local $15)
+ )
)
)
)
- (i32.store
- (get_local $6)
- (set_local $5
- (i32.sub
- (get_local $5)
- (get_local $14)
- )
+ )
+ (i32.store
+ (get_local $6)
+ (set_local $5
+ (i32.sub
+ (get_local $5)
+ (get_local $14)
)
)
- (if
- (f64.eq
- (f64.add
- (get_local $15)
- (get_local $30)
- )
+ )
+ (if
+ (f64.eq
+ (f64.add
(get_local $15)
+ (get_local $30)
)
- (br $do-once$88)
+ (get_local $15)
)
- (i32.store
- (get_local $6)
- (set_local $5
- (i32.add
- (get_local $5)
- (get_local $17)
- )
+ (br $do-once$88)
+ )
+ (i32.store
+ (get_local $6)
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (get_local $17)
)
)
- (if
- (i32.gt_u
- (get_local $5)
- (i32.const 999999999)
+ )
+ (if
+ (i32.gt_u
+ (get_local $5)
+ (i32.const 999999999)
+ )
+ (loop $while-out$92 $while-in$93
+ (i32.store
+ (get_local $6)
+ (i32.const 0)
)
- (loop $while-out$92 $while-in$93
- (i32.store
- (get_local $6)
- (i32.const 0)
- )
- (set_local $7
- (if
- (i32.lt_u
- (set_local $6
- (i32.add
- (get_local $6)
- (i32.const -4)
- )
+ (set_local $7
+ (if
+ (i32.lt_u
+ (set_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -4)
)
- (get_local $7)
)
- (block
- (i32.store
- (set_local $5
- (i32.add
- (get_local $7)
- (i32.const -4)
- )
+ (get_local $7)
+ )
+ (block
+ (i32.store
+ (set_local $5
+ (i32.add
+ (get_local $7)
+ (i32.const -4)
)
- (i32.const 0)
)
- (get_local $5)
+ (i32.const 0)
)
- (get_local $7)
+ (get_local $5)
)
+ (get_local $7)
)
- (i32.store
- (get_local $6)
- (set_local $5
- (i32.add
- (i32.load
- (get_local $6)
- )
- (i32.const 1)
+ )
+ (i32.store
+ (get_local $6)
+ (set_local $5
+ (i32.add
+ (i32.load
+ (get_local $6)
)
+ (i32.const 1)
)
)
- (if
- (i32.le_u
- (get_local $5)
- (i32.const 999999999)
- )
- (br $while-out$92)
+ )
+ (if
+ (i32.le_u
+ (get_local $5)
+ (i32.const 999999999)
)
- (br $while-in$93)
+ (br $while-out$92)
)
+ (br $while-in$93)
)
- (set_local $11
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $62)
- (get_local $7)
- )
- (i32.const 2)
+ )
+ (set_local $11
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $62)
+ (get_local $7)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
+ )
+ )
+ (if
+ (i32.lt_u
+ (set_local $5
+ (i32.load
+ (get_local $7)
)
- (i32.const 9)
+ )
+ (i32.const 10)
+ )
+ (block
+ (set_local $13
+ (get_local $11)
+ )
+ (br $do-once$88)
+ )
+ (set_local $10
+ (i32.const 10)
+ )
+ )
+ (loop $while-out$94 $while-in$95
+ (set_local $11
+ (i32.add
+ (get_local $11)
+ (i32.const 1)
)
)
(if
(i32.lt_u
- (set_local $5
- (i32.load
- (get_local $7)
+ (get_local $5)
+ (set_local $10
+ (i32.mul
+ (get_local $10)
+ (i32.const 10)
)
)
- (i32.const 10)
)
(block
(set_local $13
(get_local $11)
)
- (br $do-once$88)
- )
- (set_local $10
- (i32.const 10)
+ (br $while-out$94)
)
)
- (loop $while-out$94 $while-in$95
- (set_local $11
- (i32.add
- (get_local $11)
- (i32.const 1)
- )
- )
- (if
- (i32.lt_u
- (get_local $5)
- (set_local $10
- (i32.mul
- (get_local $10)
- (i32.const 10)
- )
- )
- )
- (block
- (set_local $13
- (get_local $11)
- )
- (br $while-out$94)
- )
- )
- (br $while-in$95)
- )
+ (br $while-in$95)
)
)
)
- (set_local $6
- (i32.gt_u
- (get_local $27)
- (set_local $5
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
+ )
+ (set_local $6
+ (i32.gt_u
+ (get_local $27)
+ (set_local $5
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
)
)
)
- (set_local $6
- (select
- (get_local $5)
- (get_local $27)
- (get_local $6)
- )
- )
- (get_local $7)
)
- (block
- (set_local $6
+ (set_local $6
+ (select
+ (get_local $5)
(get_local $27)
+ (get_local $6)
)
- (get_local $7)
)
+ (get_local $7)
)
- )
- (set_local $27
- (i32.sub
- (i32.const 0)
- (get_local $13)
+ (block
+ (set_local $6
+ (get_local $27)
+ )
+ (get_local $7)
)
)
- (loop $while-out$96 $while-in$97
- (if
- (i32.le_u
- (get_local $6)
- (get_local $7)
+ )
+ (set_local $27
+ (i32.sub
+ (i32.const 0)
+ (get_local $13)
+ )
+ )
+ (loop $while-out$96 $while-in$97
+ (if
+ (i32.le_u
+ (get_local $6)
+ (get_local $7)
+ )
+ (block
+ (set_local $11
+ (i32.const 0)
)
- (block
- (set_local $11
- (i32.const 0)
- )
- (set_local $23
- (get_local $6)
- )
- (br $while-out$96)
+ (set_local $23
+ (get_local $6)
)
+ (br $while-out$96)
)
- (if
- (i32.eq
- (i32.load
- (set_local $5
- (i32.add
- (get_local $6)
- (i32.const -4)
- )
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (set_local $5
+ (i32.add
+ (get_local $6)
+ (i32.const -4)
)
)
- (i32.const 0)
)
- (set_local $6
- (get_local $5)
+ (i32.const 0)
+ )
+ (set_local $6
+ (get_local $5)
+ )
+ (block
+ (set_local $11
+ (i32.const 1)
)
- (block
- (set_local $11
- (i32.const 1)
- )
- (set_local $23
- (get_local $6)
- )
- (br $while-out$96)
+ (set_local $23
+ (get_local $6)
)
+ (br $while-out$96)
)
- (br $while-in$97)
)
- (set_local $8
- (block $do-once$98
- (if
- (get_local $8)
- (block
- (set_local $8
- (if
- (i32.and
- (i32.gt_s
- (set_local $1
- (i32.add
- (i32.xor
- (i32.and
- (get_local $70)
- (i32.const 1)
- )
+ (br $while-in$97)
+ )
+ (set_local $8
+ (block $do-once$98
+ (if
+ (get_local $8)
+ (block
+ (set_local $8
+ (if
+ (i32.and
+ (i32.gt_s
+ (set_local $1
+ (i32.add
+ (i32.xor
+ (i32.and
+ (get_local $70)
(i32.const 1)
)
- (get_local $1)
+ (i32.const 1)
)
- )
- (get_local $13)
- )
- (i32.gt_s
- (get_local $13)
- (i32.const -5)
- )
- )
- (block
- (set_local $10
- (i32.add
- (get_local $26)
- (i32.const -1)
- )
- )
- (i32.sub
- (i32.add
(get_local $1)
- (i32.const -1)
)
- (get_local $13)
)
+ (get_local $13)
)
- (block
- (set_local $10
- (i32.add
- (get_local $26)
- (i32.const -2)
- )
- )
+ (i32.gt_s
+ (get_local $13)
+ (i32.const -5)
+ )
+ )
+ (block
+ (set_local $10
(i32.add
- (get_local $1)
+ (get_local $26)
(i32.const -1)
)
)
- )
- )
- (if
- (i32.ne
- (set_local $1
- (i32.and
- (get_local $18)
- (i32.const 8)
+ (i32.sub
+ (i32.add
+ (get_local $1)
+ (i32.const -1)
)
+ (get_local $13)
)
- (i32.const 0)
)
(block
- (set_local $14
- (get_local $8)
- )
- (set_local $26
- (get_local $10)
+ (set_local $10
+ (i32.add
+ (get_local $26)
+ (i32.const -2)
+ )
)
- (br $do-once$98
+ (i32.add
(get_local $1)
+ (i32.const -1)
)
)
)
- (block $do-once$100
- (if
- (get_local $11)
- (block
- (if
- (i32.eq
- (set_local $1
- (i32.load
- (i32.add
- (get_local $23)
- (i32.const -4)
- )
+ )
+ (if
+ (i32.ne
+ (set_local $1
+ (i32.and
+ (get_local $18)
+ (i32.const 8)
+ )
+ )
+ (i32.const 0)
+ )
+ (block
+ (set_local $14
+ (get_local $8)
+ )
+ (set_local $26
+ (get_local $10)
+ )
+ (br $do-once$98
+ (get_local $1)
+ )
+ )
+ )
+ (block $do-once$100
+ (if
+ (get_local $11)
+ (block
+ (if
+ (i32.eq
+ (set_local $1
+ (i32.load
+ (i32.add
+ (get_local $23)
+ (i32.const -4)
)
)
- (i32.const 0)
- )
- (block
- (set_local $6
- (i32.const 9)
- )
- (br $do-once$100)
)
+ (i32.const 0)
)
- (if
- (i32.eq
- (i32.and
- (call_import $i32u-rem
- (get_local $1)
- (i32.const 10)
- )
- (i32.const -1)
- )
- (i32.const 0)
+ (block
+ (set_local $6
+ (i32.const 9)
)
- (block
- (set_local $5
+ (br $do-once$100)
+ )
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (call_import $i32u-rem
+ (get_local $1)
(i32.const 10)
)
- (set_local $6
- (i32.const 0)
- )
+ (i32.const -1)
)
- (block
- (set_local $6
- (i32.const 0)
- )
- (br $do-once$100)
+ (i32.const 0)
+ )
+ (block
+ (set_local $5
+ (i32.const 10)
+ )
+ (set_local $6
+ (i32.const 0)
)
)
- (loop $while-out$102 $while-in$103
+ (block
(set_local $6
- (i32.add
- (get_local $6)
- (i32.const 1)
- )
+ (i32.const 0)
)
- (if
- (i32.ne
- (i32.and
- (call_import $i32u-rem
- (get_local $1)
- (set_local $5
- (i32.mul
- (get_local $5)
- (i32.const 10)
- )
+ (br $do-once$100)
+ )
+ )
+ (loop $while-out$102 $while-in$103
+ (set_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 1)
+ )
+ )
+ (if
+ (i32.ne
+ (i32.and
+ (call_import $i32u-rem
+ (get_local $1)
+ (set_local $5
+ (i32.mul
+ (get_local $5)
+ (i32.const 10)
)
)
- (i32.const -1)
)
- (i32.const 0)
+ (i32.const -1)
)
- (br $while-out$102)
+ (i32.const 0)
)
- (br $while-in$103)
+ (br $while-out$102)
)
+ (br $while-in$103)
)
- (set_local $6
- (i32.const 9)
- )
+ )
+ (set_local $6
+ (i32.const 9)
)
)
- (set_local $1
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $23)
- (get_local $62)
- )
- (i32.const 2)
+ )
+ (set_local $1
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $23)
+ (get_local $62)
)
- (i32.const 9)
+ (i32.const 2)
)
- (i32.const -9)
+ (i32.const 9)
)
+ (i32.const -9)
)
- (if
- (i32.eq
- (i32.or
- (get_local $10)
- (i32.const 32)
- )
- (i32.const 102)
+ )
+ (if
+ (i32.eq
+ (i32.or
+ (get_local $10)
+ (i32.const 32)
)
- (block
- (set_local $1
- (i32.lt_s
- (set_local $5
- (i32.sub
- (get_local $1)
- (get_local $6)
- )
+ (i32.const 102)
+ )
+ (block
+ (set_local $1
+ (i32.lt_s
+ (set_local $5
+ (i32.sub
+ (get_local $1)
+ (get_local $6)
)
- (i32.const 0)
)
+ (i32.const 0)
)
- (set_local $5
- (i32.lt_s
- (get_local $8)
- (set_local $1
- (select
- (i32.const 0)
- (get_local $5)
- (get_local $1)
- )
+ )
+ (set_local $5
+ (i32.lt_s
+ (get_local $8)
+ (set_local $1
+ (select
+ (i32.const 0)
+ (get_local $5)
+ (get_local $1)
)
)
)
- (set_local $14
- (select
- (get_local $8)
- (get_local $1)
- (get_local $5)
- )
- )
- (set_local $26
- (get_local $10)
- )
- (i32.const 0)
)
- (block
- (set_local $1
- (i32.lt_s
- (set_local $5
- (i32.sub
- (i32.add
- (get_local $1)
- (get_local $13)
- )
- (get_local $6)
- )
- )
- (i32.const 0)
- )
+ (set_local $14
+ (select
+ (get_local $8)
+ (get_local $1)
+ (get_local $5)
)
- (set_local $5
- (i32.lt_s
- (get_local $8)
- (set_local $1
- (select
- (i32.const 0)
- (get_local $5)
+ )
+ (set_local $26
+ (get_local $10)
+ )
+ (i32.const 0)
+ )
+ (block
+ (set_local $1
+ (i32.lt_s
+ (set_local $5
+ (i32.sub
+ (i32.add
(get_local $1)
+ (get_local $13)
)
+ (get_local $6)
)
)
+ (i32.const 0)
)
- (set_local $14
- (select
- (get_local $8)
- (get_local $1)
- (get_local $5)
+ )
+ (set_local $5
+ (i32.lt_s
+ (get_local $8)
+ (set_local $1
+ (select
+ (i32.const 0)
+ (get_local $5)
+ (get_local $1)
+ )
)
)
- (set_local $26
- (get_local $10)
+ )
+ (set_local $14
+ (select
+ (get_local $8)
+ (get_local $1)
+ (get_local $5)
)
- (i32.const 0)
)
+ (set_local $26
+ (get_local $10)
+ )
+ (i32.const 0)
)
)
- (block
- (set_local $14
- (get_local $1)
- )
- (i32.and
- (get_local $18)
- (i32.const 8)
- )
+ )
+ (block
+ (set_local $14
+ (get_local $1)
+ )
+ (i32.and
+ (get_local $18)
+ (i32.const 8)
)
)
)
)
- (set_local $17
- (i32.and
- (i32.ne
- (set_local $1
- (i32.or
- (get_local $14)
- (get_local $8)
- )
+ )
+ (set_local $17
+ (i32.and
+ (i32.ne
+ (set_local $1
+ (i32.or
+ (get_local $14)
+ (get_local $8)
)
- (i32.const 0)
)
- (i32.const 1)
+ (i32.const 0)
)
+ (i32.const 1)
)
- (set_local $13
- (if
- (set_local $10
- (i32.eq
- (i32.or
- (get_local $26)
- (i32.const 32)
- )
- (i32.const 102)
+ )
+ (set_local $13
+ (if
+ (set_local $10
+ (i32.eq
+ (i32.or
+ (get_local $26)
+ (i32.const 32)
)
+ (i32.const 102)
)
- (block
- (set_local $6
- (select
+ )
+ (block
+ (set_local $6
+ (select
+ (get_local $13)
+ (i32.const 0)
+ (i32.gt_s
(get_local $13)
(i32.const 0)
- (i32.gt_s
- (get_local $13)
- (i32.const 0)
- )
)
)
- (i32.const 0)
)
- (block
- (set_local $5
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (set_local $6
- (select
- (get_local $27)
+ (i32.const 0)
+ )
+ (block
+ (set_local $5
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (set_local $6
+ (select
+ (get_local $27)
+ (get_local $13)
+ (i32.lt_s
(get_local $13)
- (i32.lt_s
- (get_local $13)
- (i32.const 0)
- )
+ (i32.const 0)
)
)
- (i32.const 0)
)
- (i32.const 31)
+ (i32.const 0)
)
(i32.const 31)
)
+ (i32.const 31)
)
- (if
- (i32.lt_s
- (i32.sub
- (get_local $40)
- (set_local $5
- (call $_fmt_u
- (get_local $6)
- (get_local $5)
- (get_local $52)
- )
+ )
+ (if
+ (i32.lt_s
+ (i32.sub
+ (get_local $40)
+ (set_local $5
+ (call $_fmt_u
+ (get_local $6)
+ (get_local $5)
+ (get_local $52)
)
)
- (i32.const 2)
)
- (loop $while-out$104 $while-in$105
- (i32.store8
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const -1)
- )
+ (i32.const 2)
+ )
+ (loop $while-out$104 $while-in$105
+ (i32.store8
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
)
- (i32.const 48)
)
- (if
- (i32.lt_s
- (i32.sub
- (get_local $40)
- (get_local $5)
- )
- (i32.const 2)
+ (i32.const 48)
+ )
+ (if
+ (i32.lt_s
+ (i32.sub
+ (get_local $40)
+ (get_local $5)
)
- (get_local $5)
- (br $while-out$104)
+ (i32.const 2)
)
- (br $while-in$105)
+ (get_local $5)
+ (br $while-out$104)
)
+ (br $while-in$105)
+ )
+ (get_local $5)
+ )
+ (i32.store8
+ (i32.add
(get_local $5)
+ (i32.const -1)
)
- (i32.store8
+ (i32.and
(i32.add
- (get_local $5)
- (i32.const -1)
- )
- (i32.and
- (i32.add
- (i32.and
- (i32.shr_s
- (get_local $13)
- (i32.const 31)
- )
- (i32.const 2)
+ (i32.and
+ (i32.shr_s
+ (get_local $13)
+ (i32.const 31)
)
- (i32.const 43)
- )
- (i32.const 255)
- )
- )
- (i32.store8
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const -2)
+ (i32.const 2)
)
+ (i32.const 43)
)
- (i32.and
- (get_local $26)
- (i32.const 255)
- )
+ (i32.const 255)
)
- (set_local $6
- (i32.sub
- (get_local $40)
+ )
+ (i32.store8
+ (set_local $5
+ (i32.add
(get_local $5)
+ (i32.const -2)
)
)
- (get_local $5)
+ (i32.and
+ (get_local $26)
+ (i32.const 255)
+ )
+ )
+ (set_local $6
+ (i32.sub
+ (get_local $40)
+ (get_local $5)
+ )
)
+ (get_local $5)
)
)
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (set_local $6
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (set_local $6
+ (i32.add
(i32.add
(i32.add
(i32.add
- (i32.add
- (get_local $51)
- (i32.const 1)
- )
- (get_local $14)
+ (get_local $51)
+ (i32.const 1)
)
- (get_local $17)
+ (get_local $14)
)
- (get_local $6)
+ (get_local $17)
)
+ (get_local $6)
)
- (get_local $18)
)
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
+ (get_local $18)
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
)
- (i32.const 0)
- )
- (call $___fwritex
- (get_local $39)
- (get_local $51)
- (get_local $0)
+ (i32.const 32)
)
+ (i32.const 0)
)
- (call $_pad
+ (call $___fwritex
+ (get_local $39)
+ (get_local $51)
(get_local $0)
- (i32.const 48)
- (get_local $16)
- (get_local $6)
- (i32.xor
- (get_local $18)
- (i32.const 65536)
- )
)
- (block $do-once$106
- (if
- (get_local $10)
- (block
- (set_local $7
- (set_local $8
- (select
- (get_local $9)
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (get_local $16)
+ (get_local $6)
+ (i32.xor
+ (get_local $18)
+ (i32.const 65536)
+ )
+ )
+ (block $do-once$106
+ (if
+ (get_local $10)
+ (block
+ (set_local $7
+ (set_local $8
+ (select
+ (get_local $9)
+ (get_local $7)
+ (i32.gt_u
(get_local $7)
- (i32.gt_u
- (get_local $7)
- (get_local $9)
- )
+ (get_local $9)
)
)
)
- (loop $while-out$108 $while-in$109
- (set_local $5
- (call $_fmt_u
- (i32.load
- (get_local $7)
- )
- (i32.const 0)
- (get_local $45)
+ )
+ (loop $while-out$108 $while-in$109
+ (set_local $5
+ (call $_fmt_u
+ (i32.load
+ (get_local $7)
)
+ (i32.const 0)
+ (get_local $45)
)
- (block $do-once$110
- (if
- (i32.eq
- (get_local $7)
- (get_local $8)
+ )
+ (block $do-once$110
+ (if
+ (i32.eq
+ (get_local $7)
+ (get_local $8)
+ )
+ (block
+ (if
+ (i32.ne
+ (get_local $5)
+ (get_local $45)
+ )
+ (br $do-once$110)
)
- (block
- (if
- (i32.ne
- (get_local $5)
- (get_local $45)
- )
- (br $do-once$110)
+ (i32.store8
+ (get_local $53)
+ (i32.const 48)
+ )
+ (set_local $5
+ (get_local $53)
+ )
+ )
+ (block
+ (if
+ (i32.gt_u
+ (get_local $5)
+ (get_local $29)
)
+ (get_local $5)
+ (br $do-once$110)
+ )
+ (loop $while-out$112 $while-in$113
(i32.store8
- (get_local $53)
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ )
(i32.const 48)
)
- (set_local $5
- (get_local $53)
- )
- )
- (block
(if
(i32.gt_u
(get_local $5)
(get_local $29)
)
(get_local $5)
- (br $do-once$110)
- )
- (loop $while-out$112 $while-in$113
- (i32.store8
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const -1)
- )
- )
- (i32.const 48)
- )
- (if
- (i32.gt_u
- (get_local $5)
- (get_local $29)
- )
- (get_local $5)
- (br $while-out$112)
- )
- (br $while-in$113)
+ (br $while-out$112)
)
+ (br $while-in$113)
)
)
)
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
)
- (i32.const 0)
+ (i32.const 32)
)
- (call $___fwritex
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $5)
+ (i32.sub
+ (get_local $75)
(get_local $5)
- (i32.sub
- (get_local $75)
- (get_local $5)
- )
- (get_local $0)
)
+ (get_local $0)
)
- (if
- (i32.gt_u
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
- )
- (get_local $9)
- )
- (block
- (set_local $5
+ )
+ (if
+ (i32.gt_u
+ (set_local $7
+ (i32.add
(get_local $7)
+ (i32.const 4)
)
- (br $while-out$108)
)
- (get_local $7)
+ (get_local $9)
)
- (br $while-in$109)
- )
- (block $do-once$114
- (if
- (i32.ne
- (get_local $1)
- (i32.const 0)
+ (block
+ (set_local $5
+ (get_local $7)
)
- (block
- (br_if $do-once$114
- (i32.ne
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
+ (br $while-out$108)
+ )
+ (get_local $7)
+ )
+ (br $while-in$109)
+ )
+ (block $do-once$114
+ (if
+ (i32.ne
+ (get_local $1)
+ (i32.const 0)
+ )
+ (block
+ (br_if $do-once$114
+ (i32.ne
+ (i32.and
+ (i32.load
+ (get_local $0)
)
- (i32.const 0)
+ (i32.const 32)
)
- )
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (get_local $0)
+ (i32.const 0)
)
)
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (get_local $0)
+ )
)
)
- (if
- (i32.and
- (i32.gt_s
- (get_local $14)
- (i32.const 0)
- )
- (i32.lt_u
- (get_local $5)
- (get_local $23)
- )
+ )
+ (if
+ (i32.and
+ (i32.gt_s
+ (get_local $14)
+ (i32.const 0)
)
- (loop $while-out$116 $while-in$117
- (if
- (i32.gt_u
- (set_local $1
- (call $_fmt_u
- (i32.load
- (get_local $5)
- )
- (i32.const 0)
- (get_local $45)
+ (i32.lt_u
+ (get_local $5)
+ (get_local $23)
+ )
+ )
+ (loop $while-out$116 $while-in$117
+ (if
+ (i32.gt_u
+ (set_local $1
+ (call $_fmt_u
+ (i32.load
+ (get_local $5)
)
+ (i32.const 0)
+ (get_local $45)
)
- (get_local $29)
)
- (loop $while-out$118 $while-in$119
- (i32.store8
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const -1)
- )
- )
- (i32.const 48)
- )
- (if
- (i32.gt_u
+ (get_local $29)
+ )
+ (loop $while-out$118 $while-in$119
+ (i32.store8
+ (set_local $1
+ (i32.add
(get_local $1)
- (get_local $29)
+ (i32.const -1)
)
- (get_local $1)
- (br $while-out$118)
)
- (br $while-in$119)
+ (i32.const 48)
)
- (get_local $1)
- )
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
+ (if
+ (i32.gt_u
+ (get_local $1)
+ (get_local $29)
)
- (i32.const 0)
- )
- (call $___fwritex
(get_local $1)
- (select
- (i32.const 9)
- (get_local $14)
- (i32.gt_s
- (get_local $14)
- (i32.const 9)
- )
- )
- (get_local $0)
+ (br $while-out$118)
)
+ (br $while-in$119)
)
- (set_local $1
- (i32.add
- (get_local $14)
- (i32.const -9)
+ (get_local $1)
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
+ (i32.const 0)
)
- (if
- (i32.and
+ (call $___fwritex
+ (get_local $1)
+ (select
+ (i32.const 9)
+ (get_local $14)
(i32.gt_s
(get_local $14)
(i32.const 9)
)
- (i32.lt_u
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 4)
- )
+ )
+ (get_local $0)
+ )
+ )
+ (set_local $1
+ (i32.add
+ (get_local $14)
+ (i32.const -9)
+ )
+ )
+ (if
+ (i32.and
+ (i32.gt_s
+ (get_local $14)
+ (i32.const 9)
+ )
+ (i32.lt_u
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 4)
)
- (get_local $23)
)
+ (get_local $23)
)
+ )
+ (set_local $14
+ (get_local $1)
+ )
+ (block
(set_local $14
(get_local $1)
)
- (block
- (set_local $14
- (get_local $1)
- )
- (br $while-out$116)
- )
+ (br $while-out$116)
)
- (br $while-in$117)
)
+ (br $while-in$117)
+ )
+ (get_local $14)
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.add
(get_local $14)
+ (i32.const 9)
)
- (call $_pad
- (get_local $0)
- (i32.const 48)
+ (i32.const 9)
+ (i32.const 0)
+ )
+ )
+ (block
+ (set_local $11
+ (select
+ (get_local $23)
(i32.add
- (get_local $14)
- (i32.const 9)
+ (get_local $7)
+ (i32.const 4)
)
- (i32.const 9)
- (i32.const 0)
+ (get_local $11)
)
)
- (block
- (set_local $11
- (select
- (get_local $23)
- (i32.add
- (get_local $7)
- (i32.const 4)
+ (if
+ (i32.gt_s
+ (get_local $14)
+ (i32.const -1)
+ )
+ (block
+ (set_local $9
+ (i32.eq
+ (get_local $8)
+ (i32.const 0)
)
- (get_local $11)
)
- )
- (if
- (i32.gt_s
- (get_local $14)
- (i32.const -1)
+ (set_local $5
+ (get_local $7)
)
- (block
- (set_local $9
- (i32.eq
- (get_local $8)
- (i32.const 0)
- )
- )
- (set_local $5
- (get_local $7)
- )
- (loop $while-out$120 $while-in$121
- (set_local $8
- (if
- (i32.eq
- (set_local $1
- (call $_fmt_u
- (i32.load
- (get_local $5)
- )
- (i32.const 0)
- (get_local $45)
+ (loop $while-out$120 $while-in$121
+ (set_local $8
+ (if
+ (i32.eq
+ (set_local $1
+ (call $_fmt_u
+ (i32.load
+ (get_local $5)
)
+ (i32.const 0)
+ (get_local $45)
)
- (get_local $45)
)
- (block
- (i32.store8
- (get_local $53)
- (i32.const 48)
- )
+ (get_local $45)
+ )
+ (block
+ (i32.store8
(get_local $53)
+ (i32.const 48)
)
- (get_local $1)
+ (get_local $53)
)
+ (get_local $1)
)
- (block $do-once$122
- (if
- (i32.eq
- (get_local $5)
- (get_local $7)
- )
- (block
- (set_local $1
- (i32.add
- (get_local $8)
- (i32.const 1)
- )
+ )
+ (block $do-once$122
+ (if
+ (i32.eq
+ (get_local $5)
+ (get_local $7)
+ )
+ (block
+ (set_local $1
+ (i32.add
+ (get_local $8)
+ (i32.const 1)
)
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
)
- (i32.const 0)
+ (i32.const 32)
)
- (call $___fwritex
- (get_local $8)
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $8)
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ (if
+ (i32.and
+ (get_local $9)
+ (i32.lt_s
+ (get_local $14)
(i32.const 1)
- (get_local $0)
)
)
- (if
+ (br $do-once$122)
+ )
+ (if
+ (i32.ne
(i32.and
- (get_local $9)
- (i32.lt_s
- (get_local $14)
- (i32.const 1)
+ (i32.load
+ (get_local $0)
)
+ (i32.const 32)
)
- (br $do-once$122)
+ (i32.const 0)
)
- (if
- (i32.ne
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- (i32.const 0)
- )
- (br $do-once$122)
+ (br $do-once$122)
+ )
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ (block
+ (if
+ (i32.gt_u
+ (get_local $8)
+ (get_local $29)
)
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (get_local $0)
+ (set_local $1
+ (get_local $8)
)
- )
- (block
- (if
- (i32.gt_u
- (get_local $8)
- (get_local $29)
- )
+ (block
(set_local $1
(get_local $8)
)
- (block
- (set_local $1
- (get_local $8)
- )
- (br $do-once$122)
- )
+ (br $do-once$122)
)
- (loop $while-out$124 $while-in$125
- (i32.store8
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const -1)
- )
- )
- (i32.const 48)
- )
- (if
- (i32.gt_u
+ )
+ (loop $while-out$124 $while-in$125
+ (i32.store8
+ (set_local $1
+ (i32.add
(get_local $1)
- (get_local $29)
+ (i32.const -1)
)
+ )
+ (i32.const 48)
+ )
+ (if
+ (i32.gt_u
(get_local $1)
- (br $while-out$124)
+ (get_local $29)
)
- (br $while-in$125)
+ (get_local $1)
+ (br $while-out$124)
)
+ (br $while-in$125)
)
)
)
- (set_local $8
- (i32.sub
- (get_local $75)
- (get_local $1)
- )
+ )
+ (set_local $8
+ (i32.sub
+ (get_local $75)
+ (get_local $1)
)
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
)
- (i32.const 0)
+ (i32.const 32)
)
- (call $___fwritex
- (get_local $1)
- (select
- (get_local $8)
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $1)
+ (select
+ (get_local $8)
+ (get_local $14)
+ (i32.gt_s
(get_local $14)
- (i32.gt_s
- (get_local $14)
- (get_local $8)
- )
+ (get_local $8)
)
- (get_local $0)
)
+ (get_local $0)
)
- (if
- (i32.eqz
- (i32.and
- (i32.lt_u
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 4)
- )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.lt_u
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 4)
)
- (get_local $11)
)
- (i32.gt_s
- (set_local $14
- (i32.sub
- (get_local $14)
- (get_local $8)
- )
+ (get_local $11)
+ )
+ (i32.gt_s
+ (set_local $14
+ (i32.sub
+ (get_local $14)
+ (get_local $8)
)
- (i32.const -1)
)
+ (i32.const -1)
)
)
- (br $while-out$120)
)
- (br $while-in$121)
+ (br $while-out$120)
)
+ (br $while-in$121)
)
- (get_local $14)
)
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.add
- (get_local $14)
- (i32.const 18)
- )
+ (get_local $14)
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.add
+ (get_local $14)
(i32.const 18)
- (i32.const 0)
)
- (br_if $do-once$106
- (i32.ne
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
+ (i32.const 18)
+ (i32.const 0)
+ )
+ (br_if $do-once$106
+ (i32.ne
+ (i32.and
+ (i32.load
+ (get_local $0)
)
- (i32.const 0)
+ (i32.const 32)
)
+ (i32.const 0)
)
- (call $___fwritex
+ )
+ (call $___fwritex
+ (get_local $13)
+ (i32.sub
+ (get_local $40)
(get_local $13)
- (i32.sub
- (get_local $40)
- (get_local $13)
- )
- (get_local $0)
)
+ (get_local $0)
)
)
)
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (get_local $6)
- (i32.xor
- (get_local $18)
- (i32.const 8192)
- )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (get_local $6)
+ (i32.xor
+ (get_local $18)
+ (i32.const 8192)
)
- (select
- (get_local $16)
+ )
+ (select
+ (get_local $16)
+ (get_local $6)
+ (i32.lt_s
(get_local $6)
- (i32.lt_s
- (get_local $6)
- (get_local $16)
- )
+ (get_local $16)
)
)
- (block
- (set_local $5
- (select
- (i32.const 4127)
- (i32.const 4131)
- (set_local $8
- (i32.ne
- (i32.and
- (get_local $26)
- (i32.const 32)
- )
- (i32.const 0)
+ )
+ (block
+ (set_local $5
+ (select
+ (i32.const 4127)
+ (i32.const 4131)
+ (set_local $8
+ (i32.ne
+ (i32.and
+ (get_local $26)
+ (i32.const 32)
)
+ (i32.const 0)
)
)
)
- (set_local $6
- (select
- (i32.const 0)
- (get_local $51)
- (set_local $1
- (i32.or
- (f64.ne
- (get_local $15)
- (get_local $15)
- )
- (i32.const 0)
+ )
+ (set_local $6
+ (select
+ (i32.const 0)
+ (get_local $51)
+ (set_local $1
+ (i32.or
+ (f64.ne
+ (get_local $15)
+ (get_local $15)
)
+ (i32.const 0)
)
)
)
- (set_local $8
+ )
+ (set_local $8
+ (select
(select
- (select
- (i32.const 4135)
- (i32.const 4139)
- (get_local $8)
- )
- (get_local $5)
- (get_local $1)
+ (i32.const 4135)
+ (i32.const 4139)
+ (get_local $8)
)
+ (get_local $5)
+ (get_local $1)
)
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (set_local $5
- (i32.add
- (get_local $6)
- (i32.const 3)
- )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (set_local $5
+ (i32.add
+ (get_local $6)
+ (i32.const 3)
)
- (get_local $7)
)
- (if
- (i32.eq
- (i32.and
- (if
- (i32.eq
- (i32.and
- (set_local $1
- (i32.load
- (get_local $0)
- )
+ (get_local $7)
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (if
+ (i32.eq
+ (i32.and
+ (set_local $1
+ (i32.load
+ (get_local $0)
)
- (i32.const 32)
)
- (i32.const 0)
+ (i32.const 32)
)
- (block
- (call $___fwritex
- (get_local $39)
- (get_local $6)
- (get_local $0)
- )
- (i32.load
- (get_local $0)
- )
+ (i32.const 0)
+ )
+ (block
+ (call $___fwritex
+ (get_local $39)
+ (get_local $6)
+ (get_local $0)
+ )
+ (i32.load
+ (get_local $0)
)
- (get_local $1)
)
- (i32.const 32)
+ (get_local $1)
)
- (i32.const 0)
- )
- (call $___fwritex
- (get_local $8)
- (i32.const 3)
- (get_local $0)
+ (i32.const 32)
)
+ (i32.const 0)
)
- (call $_pad
+ (call $___fwritex
+ (get_local $8)
+ (i32.const 3)
(get_local $0)
- (i32.const 32)
- (get_local $16)
- (get_local $5)
- (i32.xor
- (get_local $18)
- (i32.const 8192)
- )
)
- (select
- (get_local $16)
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (get_local $5)
+ (i32.xor
+ (get_local $18)
+ (i32.const 8192)
+ )
+ )
+ (select
+ (get_local $16)
+ (get_local $5)
+ (i32.lt_s
(get_local $5)
- (i32.lt_s
- (get_local $5)
- (get_local $16)
- )
+ (get_local $16)
)
)
)
)
)
- (set_local $8
- (get_local $21)
- )
- (br $label$continue$L1)
- )
- (set_local $47
- (get_local $20)
- )
- (set_local $37
- (get_local $18)
- )
- (set_local $42
- (get_local $10)
)
- (set_local $43
- (i32.const 0)
- )
- (set_local $48
- (i32.const 4091)
- )
- (set_local $49
- (get_local $28)
+ (set_local $8
+ (get_local $21)
)
+ (br $label$continue$L1)
+ )
+ (set_local $47
+ (get_local $20)
+ )
+ (set_local $37
+ (get_local $18)
+ )
+ (set_local $42
+ (get_local $10)
+ )
+ (set_local $43
+ (i32.const 0)
+ )
+ (set_local $48
+ (i32.const 4091)
+ )
+ (set_local $49
+ (get_local $28)
)
)
(block $label$break$L308
diff --git a/test/emcc_hello_world.fromasm.imprecise b/test/emcc_hello_world.fromasm.imprecise
index a050ce072..ee84765a1 100644
--- a/test/emcc_hello_world.fromasm.imprecise
+++ b/test/emcc_hello_world.fromasm.imprecise
@@ -4383,3458 +4383,3438 @@
)
)
)
- (block $label$break$L75
- (block $switch$24
- (block $switch-default$127
- (block $switch-case$126
- (block $switch-case$55
- (block $switch-case$54
- (block $switch-case$53
- (block $switch-case$52
- (block $switch-case$51
- (block $switch-case$50
- (block $switch-case$49
- (block $switch-case$48
- (block $switch-case$47
- (block $switch-case$46
- (block $switch-case$45
- (block $switch-case$44
- (block $switch-case$43
- (block $switch-case$42
- (block $switch-case$41
- (block $switch-case$40
- (block $switch-case$37
- (block $switch-case$36
- (block $switch-case$35
- (block $switch-case$34
- (br_table $switch-case$49 $switch-default$127 $switch-case$47 $switch-default$127 $switch-case$52 $switch-case$51 $switch-case$50 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$48 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$53 $switch-default$127 $switch-case$44 $switch-case$42 $switch-case$126 $switch-case$55 $switch-case$54 $switch-default$127 $switch-case$41 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$45 $switch-case$34 $switch-case$40 $switch-case$35 $switch-default$127 $switch-default$127 $switch-case$46 $switch-default$127 $switch-case$43 $switch-default$127 $switch-default$127 $switch-case$37 $switch-default$127
- (i32.sub
- (set_local $26
- (select
- (i32.and
- (get_local $1)
- (i32.const -33)
- )
- (get_local $1)
- (get_local $5)
- )
- )
- (i32.const 65)
- )
- )
- )
- (block $switch-default$33
- (block $switch-case$32
- (block $switch-case$31
- (block $switch-case$30
- (block $switch-case$29
- (block $switch-case$28
- (block $switch-case$27
- (block $switch-case$26
- (br_table $switch-case$26 $switch-case$27 $switch-case$28 $switch-case$29 $switch-case$30 $switch-default$33 $switch-case$31 $switch-case$32 $switch-default$33
- (i32.sub
- (get_local $13)
- (i32.const 0)
- )
- )
- )
- (i32.store
- (i32.load
- (get_local $19)
- )
- (get_local $22)
- )
- (set_local $20
- (get_local $9)
- )
- (set_local $1
- (get_local $17)
- )
- (set_local $8
- (get_local $21)
- )
- (br $label$continue$L1)
- )
- (i32.store
- (i32.load
- (get_local $19)
- )
- (get_local $22)
- )
- (set_local $20
- (get_local $9)
- )
- (set_local $1
- (get_local $17)
- )
- (set_local $8
- (get_local $21)
- )
- (br $label$continue$L1)
- )
- (i32.store
- (set_local $1
- (i32.load
- (get_local $19)
- )
- )
- (get_local $22)
- )
- (i32.store offset=4
- (get_local $1)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $22)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
- (set_local $20
- (get_local $9)
- )
- (set_local $1
- (get_local $17)
- )
- (set_local $8
- (get_local $21)
- )
- (br $label$continue$L1)
- )
- (i32.store16
- (i32.load
- (get_local $19)
- )
- (i32.and
- (get_local $22)
- (i32.const 65535)
- )
- )
- (set_local $20
- (get_local $9)
- )
- (set_local $1
- (get_local $17)
- )
- (set_local $8
- (get_local $21)
- )
- (br $label$continue$L1)
- )
- (i32.store8
- (i32.load
- (get_local $19)
- )
- (i32.and
- (get_local $22)
- (i32.const 255)
- )
- )
- (set_local $20
- (get_local $9)
- )
- (set_local $1
- (get_local $17)
- )
- (set_local $8
- (get_local $21)
- )
- (br $label$continue$L1)
- )
- (i32.store
- (i32.load
- (get_local $19)
- )
- (get_local $22)
- )
- (set_local $20
- (get_local $9)
- )
- (set_local $1
- (get_local $17)
- )
- (set_local $8
- (get_local $21)
- )
- (br $label$continue$L1)
- )
- (i32.store
- (set_local $1
- (i32.load
- (get_local $19)
- )
- )
- (get_local $22)
- )
- (i32.store offset=4
- (get_local $1)
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (get_local $22)
- (i32.const 0)
- )
- (i32.const 31)
- )
- (i32.const 31)
- )
- )
- (set_local $20
- (get_local $9)
- )
- (set_local $1
- (get_local $17)
- )
- (set_local $8
- (get_local $21)
- )
- (br $label$continue$L1)
- )
- (set_local $20
- (get_local $9)
- )
- (set_local $1
- (get_local $17)
- )
- (set_local $8
- (get_local $21)
- )
- (br $label$continue$L1)
- )
- (set_local $46
- (i32.or
- (get_local $18)
- (i32.const 8)
- )
- )
- (set_local $57
- (select
- (get_local $10)
- (i32.const 8)
- (i32.gt_u
- (get_local $10)
- (i32.const 8)
- )
- )
- )
- (set_local $68
- (i32.const 120)
- )
- (set_local $12
- (i32.const 64)
+ (block $switch$24
+ (block $switch-default$127
+ (block $switch-case$49
+ (block $switch-case$48
+ (block $switch-case$47
+ (block $switch-case$46
+ (block $switch-case$45
+ (block $switch-case$44
+ (block $switch-case$43
+ (block $switch-case$41
+ (block $switch-case$40
+ (block $switch-case$36
+ (block $switch-case$35
+ (block $switch-case$34
+ (br_table $switch-case$49 $switch-default$127 $switch-case$47 $switch-default$127 $switch-case$49 $switch-case$49 $switch-case$49 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$48 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$49 $switch-default$127 $switch-case$44 $switch-case$41 $switch-case$49 $switch-case$49 $switch-case$49 $switch-default$127 $switch-case$41 $switch-default$127 $switch-default$127 $switch-default$127 $switch-case$45 $switch-case$34 $switch-case$40 $switch-case$35 $switch-default$127 $switch-default$127 $switch-case$46 $switch-default$127 $switch-case$43 $switch-default$127 $switch-default$127 $switch-case$36 $switch-default$127
+ (i32.sub
+ (set_local $26
+ (select
+ (i32.and
+ (get_local $1)
+ (i32.const -33)
+ )
+ (get_local $1)
+ (get_local $5)
+ )
+ )
+ (i32.const 65)
+ )
+ )
+ )
+ (block $switch-default$33
+ (block $switch-case$32
+ (block $switch-case$31
+ (block $switch-case$30
+ (block $switch-case$29
+ (block $switch-case$28
+ (block $switch-case$27
+ (block $switch-case$26
+ (br_table $switch-case$26 $switch-case$27 $switch-case$28 $switch-case$29 $switch-case$30 $switch-default$33 $switch-case$31 $switch-case$32 $switch-default$33
+ (i32.sub
+ (get_local $13)
+ (i32.const 0)
)
- (br $switch$24)
)
)
- (set_local $46
- (get_local $18)
+ (i32.store
+ (i32.load
+ (get_local $19)
+ )
+ (get_local $22)
)
- (set_local $57
- (get_local $10)
+ (set_local $20
+ (get_local $9)
)
- (set_local $68
- (get_local $26)
+ (set_local $1
+ (get_local $17)
)
- (set_local $12
- (i32.const 64)
+ (set_local $8
+ (get_local $21)
)
- (br $switch$24)
+ (br $label$continue$L1)
)
- (if
- (i32.and
- (i32.eq
- (set_local $5
- (i32.load
- (set_local $1
- (get_local $19)
- )
- )
- )
- (i32.const 0)
- )
- (i32.eq
- (set_local $1
- (i32.load offset=4
- (get_local $1)
- )
- )
- (i32.const 0)
- )
- )
- (set_local $6
- (get_local $28)
- )
- (block
- (set_local $6
- (get_local $28)
- )
- (loop $while-out$38 $while-in$39
- (i32.store8
- (set_local $6
- (i32.add
- (get_local $6)
- (i32.const -1)
- )
- )
- (i32.and
- (i32.or
- (i32.and
- (get_local $5)
- (i32.const 7)
- )
- (i32.const 48)
- )
- (i32.const 255)
- )
- )
- (if
- (i32.and
- (i32.eq
- (set_local $5
- (call $_bitshift64Lshr
- (get_local $5)
- (get_local $1)
- (i32.const 3)
- )
- )
- (i32.const 0)
- )
- (i32.eq
- (set_local $1
- (i32.load
- (i32.const 168)
- )
- )
- (i32.const 0)
- )
- )
- (br $while-out$38)
- )
- (br $while-in$39)
- )
+ (i32.store
+ (i32.load
+ (get_local $19)
)
+ (get_local $22)
)
- (set_local $58
- (if
- (i32.eq
- (i32.and
- (get_local $18)
- (i32.const 8)
- )
- (i32.const 0)
- )
- (block
- (set_local $34
- (get_local $18)
- )
- (set_local $32
- (get_local $10)
- )
- (set_local $35
- (i32.const 0)
- )
- (set_local $36
- (i32.const 4091)
- )
- (set_local $12
- (i32.const 77)
- )
- (get_local $6)
- )
- (block
- (set_local $5
- (i32.lt_s
- (get_local $10)
- (set_local $1
- (i32.add
- (i32.sub
- (get_local $71)
- (get_local $6)
- )
- (i32.const 1)
- )
- )
- )
- )
- (set_local $34
- (get_local $18)
- )
- (set_local $32
- (select
- (get_local $1)
- (get_local $10)
- (get_local $5)
- )
- )
- (set_local $35
- (i32.const 0)
- )
- (set_local $36
- (i32.const 4091)
- )
- (set_local $12
- (i32.const 77)
- )
- (get_local $6)
- )
- )
+ (set_local $20
+ (get_local $9)
)
- (br $switch$24)
- )
- )
- (set_local $5
- (i32.load
(set_local $1
- (get_local $19)
+ (get_local $17)
)
- )
- )
- (if
- (i32.lt_s
- (set_local $33
- (i32.load offset=4
- (get_local $1)
- )
+ (set_local $8
+ (get_local $21)
)
- (i32.const 0)
+ (br $label$continue$L1)
)
- (block
+ (i32.store
(set_local $1
- (call $_i64Subtract
- (i32.const 0)
- (i32.const 0)
- (get_local $5)
- (get_local $33)
- )
- )
- (set_local $5
(i32.load
- (i32.const 168)
- )
- )
- (i32.store
- (set_local $33
(get_local $19)
)
- (get_local $1)
- )
- (i32.store offset=4
- (get_local $33)
- (get_local $5)
- )
- (set_local $33
- (get_local $1)
- )
- (set_local $59
- (get_local $5)
)
- (set_local $60
- (i32.const 1)
- )
- (set_local $61
- (i32.const 4091)
- )
- (set_local $12
- (i32.const 76)
- )
- (br $label$break$L75)
+ (get_local $22)
)
- )
- (set_local $33
- (if
- (i32.eq
- (i32.and
- (get_local $18)
- (i32.const 2048)
- )
- (i32.const 0)
- )
- (block
- (set_local $1
- (select
- (i32.const 4091)
- (i32.const 4093)
- (i32.eq
- (set_local $6
- (i32.and
- (get_local $18)
- (i32.const 1)
- )
- )
- (i32.const 0)
- )
+ (i32.store offset=4
+ (get_local $1)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $22)
+ (i32.const 0)
)
+ (i32.const 31)
)
- (set_local $59
- (get_local $33)
- )
- (set_local $60
- (get_local $6)
- )
- (set_local $61
- (get_local $1)
- )
- (set_local $12
- (i32.const 76)
- )
- (get_local $5)
- )
- (block
- (set_local $59
- (get_local $33)
- )
- (set_local $60
- (i32.const 1)
- )
- (set_local $61
- (i32.const 4092)
- )
- (set_local $12
- (i32.const 76)
- )
- (get_local $5)
+ (i32.const 31)
)
)
- )
- (br $switch$24)
- )
- (set_local $33
- (i32.load
+ (set_local $20
+ (get_local $9)
+ )
(set_local $1
+ (get_local $17)
+ )
+ (set_local $8
+ (get_local $21)
+ )
+ (br $label$continue$L1)
+ )
+ (i32.store16
+ (i32.load
(get_local $19)
)
+ (i32.and
+ (get_local $22)
+ (i32.const 65535)
+ )
)
+ (set_local $20
+ (get_local $9)
+ )
+ (set_local $1
+ (get_local $17)
+ )
+ (set_local $8
+ (get_local $21)
+ )
+ (br $label$continue$L1)
)
- (set_local $59
- (i32.load offset=4
- (get_local $1)
+ (i32.store8
+ (i32.load
+ (get_local $19)
+ )
+ (i32.and
+ (get_local $22)
+ (i32.const 255)
)
)
- (set_local $60
- (i32.const 0)
+ (set_local $20
+ (get_local $9)
)
- (set_local $61
- (i32.const 4091)
+ (set_local $1
+ (get_local $17)
)
- (set_local $12
- (i32.const 76)
+ (set_local $8
+ (get_local $21)
)
- (br $switch$24)
+ (br $label$continue$L1)
)
- (set_local $5
+ (i32.store
(i32.load
- (set_local $1
- (get_local $19)
- )
+ (get_local $19)
)
+ (get_local $22)
)
- (i32.load offset=4
- (get_local $1)
- )
- (i32.store8
- (get_local $72)
- (i32.and
- (get_local $5)
- (i32.const 255)
- )
+ (set_local $20
+ (get_local $9)
)
- (set_local $47
- (get_local $72)
+ (set_local $1
+ (get_local $17)
)
- (set_local $37
- (get_local $7)
+ (set_local $8
+ (get_local $21)
)
- (set_local $42
- (i32.const 1)
+ (br $label$continue$L1)
+ )
+ (i32.store
+ (set_local $1
+ (i32.load
+ (get_local $19)
+ )
)
- (set_local $43
- (i32.const 0)
+ (get_local $22)
+ )
+ (i32.store offset=4
+ (get_local $1)
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (get_local $22)
+ (i32.const 0)
+ )
+ (i32.const 31)
+ )
+ (i32.const 31)
)
- (set_local $48
- (i32.const 4091)
+ )
+ (set_local $20
+ (get_local $9)
+ )
+ (set_local $1
+ (get_local $17)
+ )
+ (set_local $8
+ (get_local $21)
+ )
+ (br $label$continue$L1)
+ )
+ (set_local $20
+ (get_local $9)
+ )
+ (set_local $1
+ (get_local $17)
+ )
+ (set_local $8
+ (get_local $21)
+ )
+ (br $label$continue$L1)
+ )
+ (set_local $46
+ (i32.or
+ (get_local $18)
+ (i32.const 8)
+ )
+ )
+ (set_local $57
+ (select
+ (get_local $10)
+ (i32.const 8)
+ (i32.gt_u
+ (get_local $10)
+ (i32.const 8)
+ )
+ )
+ )
+ (set_local $68
+ (i32.const 120)
+ )
+ (set_local $12
+ (i32.const 64)
+ )
+ (br $switch$24)
+ )
+ (set_local $46
+ (get_local $18)
+ )
+ (set_local $57
+ (get_local $10)
+ )
+ (set_local $68
+ (get_local $26)
+ )
+ (set_local $12
+ (i32.const 64)
+ )
+ (br $switch$24)
+ )
+ (if
+ (i32.and
+ (i32.eq
+ (set_local $5
+ (i32.load
+ (set_local $1
+ (get_local $19)
)
- (set_local $49
- (get_local $28)
+ )
+ )
+ (i32.const 0)
+ )
+ (i32.eq
+ (set_local $1
+ (i32.load offset=4
+ (get_local $1)
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ (set_local $6
+ (get_local $28)
+ )
+ (block
+ (set_local $6
+ (get_local $28)
+ )
+ (loop $while-out$38 $while-in$39
+ (i32.store8
+ (set_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -1)
)
- (br $switch$24)
)
- (set_local $50
- (call $_strerror
- (i32.load
- (call $___errno_location)
+ (i32.and
+ (i32.or
+ (i32.and
+ (get_local $5)
+ (i32.const 7)
)
+ (i32.const 48)
)
+ (i32.const 255)
)
- (set_local $12
- (i32.const 82)
+ )
+ (if
+ (i32.and
+ (i32.eq
+ (set_local $5
+ (call $_bitshift64Lshr
+ (get_local $5)
+ (get_local $1)
+ (i32.const 3)
+ )
+ )
+ (i32.const 0)
+ )
+ (i32.eq
+ (set_local $1
+ (i32.load
+ (i32.const 168)
+ )
+ )
+ (i32.const 0)
+ )
)
- (br $switch$24)
+ (br $while-out$38)
)
+ (br $while-in$39)
+ )
+ )
+ )
+ (set_local $58
+ (if
+ (i32.eq
+ (i32.and
+ (get_local $18)
+ (i32.const 8)
+ )
+ (i32.const 0)
+ )
+ (block
+ (set_local $34
+ (get_local $18)
+ )
+ (set_local $32
+ (get_local $10)
+ )
+ (set_local $35
+ (i32.const 0)
+ )
+ (set_local $36
+ (i32.const 4091)
+ )
+ (set_local $12
+ (i32.const 77)
+ )
+ (get_local $6)
+ )
+ (block
(set_local $5
- (i32.ne
+ (i32.lt_s
+ (get_local $10)
(set_local $1
- (i32.load
- (get_local $19)
+ (i32.add
+ (i32.sub
+ (get_local $71)
+ (get_local $6)
+ )
+ (i32.const 1)
)
)
- (i32.const 0)
)
)
- (set_local $50
+ (set_local $34
+ (get_local $18)
+ )
+ (set_local $32
(select
(get_local $1)
- (i32.const 4101)
+ (get_local $10)
(get_local $5)
)
)
- (set_local $12
- (i32.const 82)
+ (set_local $35
+ (i32.const 0)
)
- (br $switch$24)
- )
- (set_local $5
- (i32.load
- (set_local $1
- (get_local $19)
- )
+ (set_local $36
+ (i32.const 4091)
+ )
+ (set_local $12
+ (i32.const 77)
)
+ (get_local $6)
)
+ )
+ )
+ (br $switch$24)
+ )
+ (set_local $5
+ (i32.load
+ (set_local $1
+ (get_local $19)
+ )
+ )
+ )
+ (if
+ (i32.lt_s
+ (set_local $33
(i32.load offset=4
(get_local $1)
)
- (i32.store
- (get_local $73)
+ )
+ (i32.const 0)
+ )
+ (block
+ (set_local $1
+ (call $_i64Subtract
+ (i32.const 0)
+ (i32.const 0)
(get_local $5)
+ (get_local $33)
)
- (i32.store
- (get_local $76)
- (i32.const 0)
+ )
+ (set_local $5
+ (i32.load
+ (i32.const 168)
)
- (i32.store
+ )
+ (i32.store
+ (set_local $33
(get_local $19)
- (get_local $73)
- )
- (set_local $69
- (i32.const -1)
- )
- (set_local $12
- (i32.const 86)
)
- (br $switch$24)
+ (get_local $1)
+ )
+ (i32.store offset=4
+ (get_local $33)
+ (get_local $5)
+ )
+ (set_local $33
+ (get_local $1)
+ )
+ (set_local $59
+ (get_local $5)
+ )
+ (set_local $60
+ (i32.const 1)
+ )
+ (set_local $61
+ (i32.const 4091)
)
(set_local $12
- (if
- (i32.eq
- (get_local $10)
- (i32.const 0)
- )
- (block
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (i32.const 0)
- (get_local $18)
- )
- (set_local $38
+ (i32.const 76)
+ )
+ (br $switch$24)
+ )
+ )
+ (set_local $33
+ (if
+ (i32.eq
+ (i32.and
+ (get_local $18)
+ (i32.const 2048)
+ )
+ (i32.const 0)
+ )
+ (block
+ (set_local $1
+ (select
+ (i32.const 4091)
+ (i32.const 4093)
+ (i32.eq
+ (set_local $6
+ (i32.and
+ (get_local $18)
+ (i32.const 1)
+ )
+ )
(i32.const 0)
)
- (i32.const 98)
- )
- (block
- (set_local $69
- (get_local $10)
- )
- (i32.const 86)
)
)
+ (set_local $59
+ (get_local $33)
+ )
+ (set_local $60
+ (get_local $6)
+ )
+ (set_local $61
+ (get_local $1)
+ )
+ (set_local $12
+ (i32.const 76)
+ )
+ (get_local $5)
)
- (br $switch$24)
+ (block
+ (set_local $59
+ (get_local $33)
+ )
+ (set_local $60
+ (i32.const 1)
+ )
+ (set_local $61
+ (i32.const 4092)
+ )
+ (set_local $12
+ (i32.const 76)
+ )
+ (get_local $5)
+ )
+ )
+ )
+ (br $switch$24)
+ )
+ (set_local $33
+ (i32.load
+ (set_local $1
+ (get_local $19)
)
)
)
+ (set_local $59
+ (i32.load offset=4
+ (get_local $1)
+ )
+ )
+ (set_local $60
+ (i32.const 0)
+ )
+ (set_local $61
+ (i32.const 4091)
+ )
+ (set_local $12
+ (i32.const 76)
+ )
+ (br $switch$24)
)
+ (set_local $5
+ (i32.load
+ (set_local $1
+ (get_local $19)
+ )
+ )
+ )
+ (i32.load offset=4
+ (get_local $1)
+ )
+ (i32.store8
+ (get_local $72)
+ (i32.and
+ (get_local $5)
+ (i32.const 255)
+ )
+ )
+ (set_local $47
+ (get_local $72)
+ )
+ (set_local $37
+ (get_local $7)
+ )
+ (set_local $42
+ (i32.const 1)
+ )
+ (set_local $43
+ (i32.const 0)
+ )
+ (set_local $48
+ (i32.const 4091)
+ )
+ (set_local $49
+ (get_local $28)
+ )
+ (br $switch$24)
)
+ (set_local $50
+ (call $_strerror
+ (i32.load
+ (call $___errno_location)
+ )
+ )
+ )
+ (set_local $12
+ (i32.const 82)
+ )
+ (br $switch$24)
)
+ (set_local $5
+ (i32.ne
+ (set_local $1
+ (i32.load
+ (get_local $19)
+ )
+ )
+ (i32.const 0)
+ )
+ )
+ (set_local $50
+ (select
+ (get_local $1)
+ (i32.const 4101)
+ (get_local $5)
+ )
+ )
+ (set_local $12
+ (i32.const 82)
+ )
+ (br $switch$24)
)
- )
- (set_local $15
- (f64.load
+ (set_local $5
+ (i32.load
+ (set_local $1
+ (get_local $19)
+ )
+ )
+ )
+ (i32.load offset=4
+ (get_local $1)
+ )
+ (i32.store
+ (get_local $73)
+ (get_local $5)
+ )
+ (i32.store
+ (get_local $76)
+ (i32.const 0)
+ )
+ (i32.store
(get_local $19)
+ (get_local $73)
)
- )
- (i32.store
- (get_local $25)
- (i32.const 0)
- )
- (f64.store
- (i32.load
- (i32.const 24)
+ (set_local $69
+ (i32.const -1)
)
- (get_local $15)
- )
- (i32.load
- (i32.load
- (i32.const 24)
+ (set_local $12
+ (i32.const 86)
)
+ (br $switch$24)
)
- (set_local $51
+ (set_local $12
(if
- (i32.lt_s
- (i32.load offset=4
- (i32.load
- (i32.const 24)
- )
- )
+ (i32.eq
+ (get_local $10)
(i32.const 0)
)
(block
- (set_local $39
- (i32.const 4108)
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (i32.const 0)
+ (get_local $18)
)
- (set_local $15
- (f64.neg
- (get_local $15)
- )
+ (set_local $38
+ (i32.const 0)
)
- (i32.const 1)
+ (i32.const 98)
)
- (if
- (i32.eq
- (i32.and
- (get_local $18)
- (i32.const 2048)
- )
- (i32.const 0)
+ (block
+ (set_local $69
+ (get_local $10)
)
- (block
- (set_local $39
- (select
- (i32.const 4109)
- (i32.const 4114)
- (i32.eq
- (set_local $1
- (i32.and
- (get_local $18)
- (i32.const 1)
- )
+ (i32.const 86)
+ )
+ )
+ )
+ (br $switch$24)
+ )
+ (set_local $15
+ (f64.load
+ (get_local $19)
+ )
+ )
+ (i32.store
+ (get_local $25)
+ (i32.const 0)
+ )
+ (f64.store
+ (i32.load
+ (i32.const 24)
+ )
+ (get_local $15)
+ )
+ (i32.load
+ (i32.load
+ (i32.const 24)
+ )
+ )
+ (set_local $51
+ (if
+ (i32.lt_s
+ (i32.load offset=4
+ (i32.load
+ (i32.const 24)
+ )
+ )
+ (i32.const 0)
+ )
+ (block
+ (set_local $39
+ (i32.const 4108)
+ )
+ (set_local $15
+ (f64.neg
+ (get_local $15)
+ )
+ )
+ (i32.const 1)
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (get_local $18)
+ (i32.const 2048)
+ )
+ (i32.const 0)
+ )
+ (block
+ (set_local $39
+ (select
+ (i32.const 4109)
+ (i32.const 4114)
+ (i32.eq
+ (set_local $1
+ (i32.and
+ (get_local $18)
+ (i32.const 1)
)
- (i32.const 0)
)
+ (i32.const 0)
)
)
- (get_local $1)
)
- (block
- (set_local $39
- (i32.const 4111)
- )
- (i32.const 1)
+ (get_local $1)
+ )
+ (block
+ (set_local $39
+ (i32.const 4111)
)
+ (i32.const 1)
)
)
)
- (f64.store
- (i32.load
- (i32.const 24)
- )
- (get_local $15)
- )
+ )
+ (f64.store
(i32.load
- (i32.load
- (i32.const 24)
- )
+ (i32.const 24)
)
- (set_local $20
- (get_local $9)
+ (get_local $15)
+ )
+ (i32.load
+ (i32.load
+ (i32.const 24)
)
- (set_local $1
- (block $do-once$56
- (if
- (i32.or
- (i32.lt_u
- (set_local $1
- (i32.and
- (i32.load offset=4
- (i32.load
- (i32.const 24)
- )
+ )
+ (set_local $20
+ (get_local $9)
+ )
+ (set_local $1
+ (block $do-once$56
+ (if
+ (i32.or
+ (i32.lt_u
+ (set_local $1
+ (i32.and
+ (i32.load offset=4
+ (i32.load
+ (i32.const 24)
)
- (i32.const 2146435072)
)
- )
- (i32.const 2146435072)
- )
- (i32.and
- (i32.eq
- (get_local $1)
(i32.const 2146435072)
)
- (i32.const 0)
)
+ (i32.const 2146435072)
)
- (block
- (if
- (set_local $5
- (f64.ne
- (set_local $15
- (f64.mul
- (call $_frexpl
- (get_local $15)
- (get_local $25)
- )
- (f64.const 2)
+ (i32.and
+ (i32.eq
+ (get_local $1)
+ (i32.const 2146435072)
+ )
+ (i32.const 0)
+ )
+ )
+ (block
+ (if
+ (set_local $5
+ (f64.ne
+ (set_local $15
+ (f64.mul
+ (call $_frexpl
+ (get_local $15)
+ (get_local $25)
)
+ (f64.const 2)
)
- (f64.const 0)
)
+ (f64.const 0)
)
- (i32.store
- (get_local $25)
- (i32.add
- (i32.load
- (get_local $25)
- )
- (i32.const -1)
+ )
+ (i32.store
+ (get_local $25)
+ (i32.add
+ (i32.load
+ (get_local $25)
)
+ (i32.const -1)
)
)
- (if
- (i32.eq
- (set_local $14
- (i32.or
- (get_local $26)
- (i32.const 32)
- )
+ )
+ (if
+ (i32.eq
+ (set_local $14
+ (i32.or
+ (get_local $26)
+ (i32.const 32)
)
- (i32.const 97)
)
- (block
- (set_local $9
- (select
+ (i32.const 97)
+ )
+ (block
+ (set_local $9
+ (select
+ (get_local $39)
+ (i32.add
(get_local $39)
- (i32.add
- (get_local $39)
- (i32.const 9)
- )
- (i32.eq
- (set_local $6
- (i32.and
- (get_local $26)
- (i32.const 32)
- )
+ (i32.const 9)
+ )
+ (i32.eq
+ (set_local $6
+ (i32.and
+ (get_local $26)
+ (i32.const 32)
)
- (i32.const 0)
)
+ (i32.const 0)
)
)
- (set_local $7
- (i32.or
- (get_local $51)
- (i32.const 2)
- )
+ )
+ (set_local $7
+ (i32.or
+ (get_local $51)
+ (i32.const 2)
)
- (set_local $15
- (if
- (i32.or
- (i32.gt_u
- (get_local $10)
- (i32.const 11)
- )
- (i32.eq
- (set_local $1
- (i32.sub
- (i32.const 12)
- (get_local $10)
- )
+ )
+ (set_local $15
+ (if
+ (i32.or
+ (i32.gt_u
+ (get_local $10)
+ (i32.const 11)
+ )
+ (i32.eq
+ (set_local $1
+ (i32.sub
+ (i32.const 12)
+ (get_local $10)
)
- (i32.const 0)
)
+ (i32.const 0)
)
- (get_local $15)
- (block
+ )
+ (get_local $15)
+ (block
+ (set_local $30
+ (f64.const 8)
+ )
+ (loop $while-out$60 $while-in$61
(set_local $30
- (f64.const 8)
- )
- (loop $while-out$60 $while-in$61
- (set_local $30
- (f64.mul
- (get_local $30)
- (f64.const 16)
- )
+ (f64.mul
+ (get_local $30)
+ (f64.const 16)
)
- (if
- (i32.eq
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const -1)
- )
+ )
+ (if
+ (i32.eq
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const -1)
)
- (i32.const 0)
)
- (br $while-out$60)
+ (i32.const 0)
)
- (br $while-in$61)
+ (br $while-out$60)
)
- (select
- (f64.neg
- (f64.add
- (get_local $30)
- (f64.sub
- (f64.neg
- (get_local $15)
- )
- (get_local $30)
+ (br $while-in$61)
+ )
+ (select
+ (f64.neg
+ (f64.add
+ (get_local $30)
+ (f64.sub
+ (f64.neg
+ (get_local $15)
)
- )
- )
- (f64.sub
- (f64.add
- (get_local $15)
(get_local $30)
)
+ )
+ )
+ (f64.sub
+ (f64.add
+ (get_local $15)
(get_local $30)
)
- (i32.eq
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (get_local $9)
- )
- (i32.const 24)
+ (get_local $30)
+ )
+ (i32.eq
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (get_local $9)
)
(i32.const 24)
)
- (i32.const 45)
+ (i32.const 24)
)
+ (i32.const 45)
)
)
)
)
- (set_local $5
- (i32.lt_s
- (set_local $1
- (i32.load
- (get_local $25)
- )
+ )
+ (set_local $5
+ (i32.lt_s
+ (set_local $1
+ (i32.load
+ (get_local $25)
)
- (i32.const 0)
)
+ (i32.const 0)
)
- (set_local $5
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (set_local $8
- (select
- (i32.sub
- (i32.const 0)
- (get_local $1)
- )
+ )
+ (set_local $5
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (set_local $8
+ (select
+ (i32.sub
+ (i32.const 0)
(get_local $1)
- (get_local $5)
)
+ (get_local $1)
+ (get_local $5)
)
- (i32.const 0)
)
- (i32.const 31)
+ (i32.const 0)
)
(i32.const 31)
)
+ (i32.const 31)
)
- (i32.store8
- (i32.add
- (set_local $5
- (if
- (i32.eq
- (set_local $5
- (call $_fmt_u
- (get_local $8)
- (get_local $5)
- (get_local $52)
- )
+ )
+ (i32.store8
+ (i32.add
+ (set_local $5
+ (if
+ (i32.eq
+ (set_local $5
+ (call $_fmt_u
+ (get_local $8)
+ (get_local $5)
+ (get_local $52)
)
- (get_local $52)
)
- (block
- (i32.store8
- (get_local $74)
- (i32.const 48)
- )
+ (get_local $52)
+ )
+ (block
+ (i32.store8
(get_local $74)
+ (i32.const 48)
)
- (get_local $5)
+ (get_local $74)
)
+ (get_local $5)
)
- (i32.const -1)
)
- (i32.and
- (i32.add
- (i32.and
- (i32.shr_s
- (get_local $1)
- (i32.const 31)
- )
- (i32.const 2)
+ (i32.const -1)
+ )
+ (i32.and
+ (i32.add
+ (i32.and
+ (i32.shr_s
+ (get_local $1)
+ (i32.const 31)
)
- (i32.const 43)
+ (i32.const 2)
)
- (i32.const 255)
+ (i32.const 43)
)
+ (i32.const 255)
)
- (i32.store8
- (set_local $8
- (i32.add
- (get_local $5)
- (i32.const -2)
- )
- )
- (i32.and
- (i32.add
- (get_local $26)
- (i32.const 15)
- )
- (i32.const 255)
+ )
+ (i32.store8
+ (set_local $8
+ (i32.add
+ (get_local $5)
+ (i32.const -2)
)
)
- (set_local $5
- (i32.lt_s
- (get_local $10)
- (i32.const 1)
+ (i32.and
+ (i32.add
+ (get_local $26)
+ (i32.const 15)
)
+ (i32.const 255)
)
- (set_local $13
- (i32.eq
- (i32.and
- (get_local $18)
- (i32.const 8)
- )
- (i32.const 0)
- )
+ )
+ (set_local $5
+ (i32.lt_s
+ (get_local $10)
+ (i32.const 1)
)
- (set_local $11
- (get_local $29)
+ )
+ (set_local $13
+ (i32.eq
+ (i32.and
+ (get_local $18)
+ (i32.const 8)
+ )
+ (i32.const 0)
)
- (loop $while-out$62 $while-in$63
- (i32.store8
- (get_local $11)
- (i32.and
- (i32.or
- (i32.and
- (i32.load8_s
- (i32.add
- (set_local $1
- (i32.trunc_s/f64
- (get_local $15)
- )
+ )
+ (set_local $11
+ (get_local $29)
+ )
+ (loop $while-out$62 $while-in$63
+ (i32.store8
+ (get_local $11)
+ (i32.and
+ (i32.or
+ (i32.and
+ (i32.load8_s
+ (i32.add
+ (set_local $1
+ (i32.trunc_s/f64
+ (get_local $15)
)
- (i32.const 4075)
)
+ (i32.const 4075)
)
- (i32.const 255)
)
- (get_local $6)
+ (i32.const 255)
)
- (i32.const 255)
+ (get_local $6)
)
+ (i32.const 255)
)
- (set_local $15
- (f64.mul
- (f64.sub
- (get_local $15)
- (f64.convert_s/i32
- (get_local $1)
- )
+ )
+ (set_local $15
+ (f64.mul
+ (f64.sub
+ (get_local $15)
+ (f64.convert_s/i32
+ (get_local $1)
)
- (f64.const 16)
)
+ (f64.const 16)
)
- (set_local $11
- (block $do-once$64
- (if
- (i32.eq
- (i32.sub
- (set_local $1
- (i32.add
- (get_local $11)
- (i32.const 1)
- )
+ )
+ (set_local $11
+ (block $do-once$64
+ (if
+ (i32.eq
+ (i32.sub
+ (set_local $1
+ (i32.add
+ (get_local $11)
+ (i32.const 1)
)
- (get_local $64)
)
- (i32.const 1)
+ (get_local $64)
)
- (block
- (br_if $do-once$64
- (get_local $1)
+ (i32.const 1)
+ )
+ (block
+ (br_if $do-once$64
+ (get_local $1)
+ (i32.and
+ (get_local $13)
(i32.and
- (get_local $13)
- (i32.and
- (get_local $5)
- (f64.eq
- (get_local $15)
- (f64.const 0)
- )
+ (get_local $5)
+ (f64.eq
+ (get_local $15)
+ (f64.const 0)
)
)
)
- (i32.store8
- (get_local $1)
- (i32.const 46)
- )
- (i32.add
- (get_local $11)
- (i32.const 2)
- )
)
- (get_local $1)
+ (i32.store8
+ (get_local $1)
+ (i32.const 46)
+ )
+ (i32.add
+ (get_local $11)
+ (i32.const 2)
+ )
)
+ (get_local $1)
)
)
- (if
- (f64.eq
- (get_local $15)
- (f64.const 0)
- )
- (block
- (set_local $1
- (get_local $11)
- )
- (br $while-out$62)
+ )
+ (if
+ (f64.eq
+ (get_local $15)
+ (f64.const 0)
+ )
+ (block
+ (set_local $1
+ (get_local $11)
)
+ (br $while-out$62)
)
- (br $while-in$63)
)
- (set_local $5
- (i32.and
- (i32.ne
- (get_local $10)
- (i32.const 0)
- )
- (i32.lt_s
- (i32.add
- (get_local $78)
- (get_local $1)
- )
- (get_local $10)
+ (br $while-in$63)
+ )
+ (set_local $5
+ (i32.and
+ (i32.ne
+ (get_local $10)
+ (i32.const 0)
+ )
+ (i32.lt_s
+ (i32.add
+ (get_local $78)
+ (get_local $1)
)
+ (get_local $10)
)
)
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (set_local $5
- (i32.add
- (set_local $6
- (select
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (set_local $5
+ (i32.add
+ (set_local $6
+ (select
+ (i32.sub
+ (i32.add
+ (get_local $79)
+ (get_local $10)
+ )
+ (get_local $8)
+ )
+ (i32.add
(i32.sub
- (i32.add
- (get_local $79)
- (get_local $10)
- )
+ (get_local $77)
(get_local $8)
)
- (i32.add
- (i32.sub
- (get_local $77)
- (get_local $8)
- )
- (get_local $1)
- )
- (get_local $5)
+ (get_local $1)
)
+ (get_local $5)
)
- (get_local $7)
)
+ (get_local $7)
)
- (get_local $18)
)
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
+ (get_local $18)
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
)
- (i32.const 0)
- )
- (call $___fwritex
- (get_local $9)
- (get_local $7)
- (get_local $0)
+ (i32.const 32)
)
+ (i32.const 0)
)
- (call $_pad
+ (call $___fwritex
+ (get_local $9)
+ (get_local $7)
(get_local $0)
- (i32.const 48)
- (get_local $16)
- (get_local $5)
- (i32.xor
- (get_local $18)
- (i32.const 65536)
- )
)
- (set_local $1
- (i32.sub
- (get_local $1)
- (get_local $64)
- )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (get_local $16)
+ (get_local $5)
+ (i32.xor
+ (get_local $18)
+ (i32.const 65536)
)
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
+ )
+ (set_local $1
+ (i32.sub
+ (get_local $1)
+ (get_local $64)
+ )
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
)
- (i32.const 0)
- )
- (call $___fwritex
- (get_local $29)
- (get_local $1)
- (get_local $0)
+ (i32.const 32)
)
+ (i32.const 0)
)
- (call $_pad
+ (call $___fwritex
+ (get_local $29)
+ (get_local $1)
(get_local $0)
- (i32.const 48)
- (i32.sub
- (get_local $6)
- (i32.add
- (get_local $1)
- (set_local $1
- (i32.sub
- (get_local $40)
- (get_local $8)
- )
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.sub
+ (get_local $6)
+ (i32.add
+ (get_local $1)
+ (set_local $1
+ (i32.sub
+ (get_local $40)
+ (get_local $8)
)
)
)
- (i32.const 0)
- (i32.const 0)
)
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
+ (i32.const 0)
+ (i32.const 0)
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
)
- (i32.const 0)
- )
- (call $___fwritex
- (get_local $8)
- (get_local $1)
- (get_local $0)
+ (i32.const 32)
)
+ (i32.const 0)
)
- (call $_pad
+ (call $___fwritex
+ (get_local $8)
+ (get_local $1)
(get_local $0)
- (i32.const 32)
+ )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (get_local $5)
+ (i32.xor
+ (get_local $18)
+ (i32.const 8192)
+ )
+ )
+ (br $do-once$56
+ (select
(get_local $16)
(get_local $5)
- (i32.xor
- (get_local $18)
- (i32.const 8192)
- )
- )
- (br $do-once$56
- (select
- (get_local $16)
+ (i32.lt_s
(get_local $5)
- (i32.lt_s
- (get_local $5)
- (get_local $16)
- )
+ (get_local $16)
)
)
)
)
- (set_local $1
- (select
- (i32.const 6)
+ )
+ (set_local $1
+ (select
+ (i32.const 6)
+ (get_local $10)
+ (i32.lt_s
(get_local $10)
- (i32.lt_s
- (get_local $10)
- (i32.const 0)
- )
+ (i32.const 0)
)
)
- (set_local $62
- (set_local $9
- (select
- (get_local $80)
- (get_local $81)
- (i32.lt_s
- (if
- (get_local $5)
- (block
- (i32.store
- (get_local $25)
- (set_local $5
- (i32.add
- (i32.load
- (get_local $25)
- )
- (i32.const -28)
+ )
+ (set_local $62
+ (set_local $9
+ (select
+ (get_local $80)
+ (get_local $81)
+ (i32.lt_s
+ (if
+ (get_local $5)
+ (block
+ (i32.store
+ (get_local $25)
+ (set_local $5
+ (i32.add
+ (i32.load
+ (get_local $25)
)
+ (i32.const -28)
)
)
- (set_local $15
- (f64.mul
- (get_local $15)
- (f64.const 268435456)
- )
- )
- (get_local $5)
)
- (i32.load
- (get_local $25)
+ (set_local $15
+ (f64.mul
+ (get_local $15)
+ (f64.const 268435456)
+ )
)
+ (get_local $5)
+ )
+ (i32.load
+ (get_local $25)
)
- (i32.const 0)
)
+ (i32.const 0)
)
)
)
- (set_local $7
- (get_local $9)
- )
- (loop $while-out$66 $while-in$67
- (i32.store
- (get_local $7)
- (set_local $5
- (i32.trunc_s/f64
- (get_local $15)
- )
+ )
+ (set_local $7
+ (get_local $9)
+ )
+ (loop $while-out$66 $while-in$67
+ (i32.store
+ (get_local $7)
+ (set_local $5
+ (i32.trunc_s/f64
+ (get_local $15)
)
)
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
+ )
+ (set_local $7
+ (i32.add
+ (get_local $7)
+ (i32.const 4)
)
- (if
- (f64.eq
- (set_local $15
- (f64.mul
- (f64.sub
- (get_local $15)
- (f64.convert_u/i32
- (get_local $5)
- )
+ )
+ (if
+ (f64.eq
+ (set_local $15
+ (f64.mul
+ (f64.sub
+ (get_local $15)
+ (f64.convert_u/i32
+ (get_local $5)
)
- (f64.const 1e9)
)
+ (f64.const 1e9)
)
- (f64.const 0)
)
- (block
- (set_local $6
- (get_local $7)
- )
- (br $while-out$66)
+ (f64.const 0)
+ )
+ (block
+ (set_local $6
+ (get_local $7)
)
+ (br $while-out$66)
)
- (br $while-in$67)
)
- (if
- (i32.gt_s
- (set_local $5
- (i32.load
- (get_local $25)
- )
+ (br $while-in$67)
+ )
+ (if
+ (i32.gt_s
+ (set_local $5
+ (i32.load
+ (get_local $25)
)
- (i32.const 0)
)
- (block
- (set_local $8
- (get_local $9)
- )
- (set_local $13
- (get_local $6)
- )
- (loop $while-out$68 $while-in$69
- (set_local $11
- (select
- (i32.const 29)
+ (i32.const 0)
+ )
+ (block
+ (set_local $8
+ (get_local $9)
+ )
+ (set_local $13
+ (get_local $6)
+ )
+ (loop $while-out$68 $while-in$69
+ (set_local $11
+ (select
+ (i32.const 29)
+ (get_local $5)
+ (i32.gt_s
(get_local $5)
- (i32.gt_s
- (get_local $5)
- (i32.const 29)
- )
+ (i32.const 29)
)
)
- (set_local $7
- (block $do-once$70
- (if
- (i32.lt_u
- (set_local $7
- (i32.add
- (get_local $13)
- (i32.const -4)
- )
+ )
+ (set_local $7
+ (block $do-once$70
+ (if
+ (i32.lt_u
+ (set_local $7
+ (i32.add
+ (get_local $13)
+ (i32.const -4)
)
- (get_local $8)
)
(get_local $8)
- (block
- (set_local $5
- (i32.const 0)
- )
- (set_local $10
- (get_local $7)
- )
- (loop $while-out$72 $while-in$73
- (set_local $6
- (call $___uremdi3
- (set_local $5
- (call $_i64Add
- (call $_bitshift64Shl
- (i32.load
- (get_local $10)
- )
- (i32.const 0)
- (get_local $11)
- )
+ )
+ (get_local $8)
+ (block
+ (set_local $5
+ (i32.const 0)
+ )
+ (set_local $10
+ (get_local $7)
+ )
+ (loop $while-out$72 $while-in$73
+ (set_local $6
+ (call $___uremdi3
+ (set_local $5
+ (call $_i64Add
+ (call $_bitshift64Shl
(i32.load
- (i32.const 168)
+ (get_local $10)
)
- (get_local $5)
(i32.const 0)
+ (get_local $11)
)
- )
- (set_local $7
(i32.load
(i32.const 168)
)
+ (get_local $5)
+ (i32.const 0)
)
- (i32.const 1000000000)
- (i32.const 0)
- )
- )
- (i32.load
- (i32.const 168)
- )
- (i32.store
- (get_local $10)
- (get_local $6)
- )
- (set_local $5
- (call $___udivdi3
- (get_local $5)
- (get_local $7)
- (i32.const 1000000000)
- (i32.const 0)
)
- )
- (i32.load
- (i32.const 168)
- )
- (if
- (i32.lt_u
- (set_local $7
- (i32.add
- (get_local $10)
- (i32.const -4)
- )
+ (set_local $7
+ (i32.load
+ (i32.const 168)
)
- (get_local $8)
- )
- (br $while-out$72)
- (set_local $10
- (get_local $7)
)
+ (i32.const 1000000000)
+ (i32.const 0)
)
- (br $while-in$73)
)
- (br_if $do-once$70
- (get_local $8)
- (i32.eq
+ (i32.load
+ (i32.const 168)
+ )
+ (i32.store
+ (get_local $10)
+ (get_local $6)
+ )
+ (set_local $5
+ (call $___udivdi3
(get_local $5)
+ (get_local $7)
+ (i32.const 1000000000)
(i32.const 0)
)
)
- (i32.store
- (set_local $7
- (i32.add
- (get_local $8)
- (i32.const -4)
+ (i32.load
+ (i32.const 168)
+ )
+ (if
+ (i32.lt_u
+ (set_local $7
+ (i32.add
+ (get_local $10)
+ (i32.const -4)
+ )
)
+ (get_local $8)
)
+ (br $while-out$72)
+ (set_local $10
+ (get_local $7)
+ )
+ )
+ (br $while-in$73)
+ )
+ (br_if $do-once$70
+ (get_local $8)
+ (i32.eq
(get_local $5)
+ (i32.const 0)
)
- (get_local $7)
)
- )
- )
- )
- (loop $while-out$74 $while-in$75
- (if
- (i32.le_u
- (get_local $13)
- (get_local $7)
- )
- (br $while-out$74)
- )
- (if
- (i32.eq
- (i32.load
- (set_local $5
+ (i32.store
+ (set_local $7
(i32.add
- (get_local $13)
+ (get_local $8)
(i32.const -4)
)
)
+ (get_local $5)
)
- (i32.const 0)
- )
- (set_local $13
- (get_local $5)
+ (get_local $7)
)
- (br $while-out$74)
)
- (br $while-in$75)
)
- (i32.store
- (get_local $25)
- (set_local $5
- (i32.sub
- (i32.load
- (get_local $25)
- )
- (get_local $11)
- )
+ )
+ (loop $while-out$74 $while-in$75
+ (if
+ (i32.le_u
+ (get_local $13)
+ (get_local $7)
)
+ (br $while-out$74)
)
(if
- (i32.gt_s
- (get_local $5)
+ (i32.eq
+ (i32.load
+ (set_local $5
+ (i32.add
+ (get_local $13)
+ (i32.const -4)
+ )
+ )
+ )
(i32.const 0)
)
- (set_local $8
- (get_local $7)
+ (set_local $13
+ (get_local $5)
)
- (block
- (set_local $6
- (get_local $13)
+ (br $while-out$74)
+ )
+ (br $while-in$75)
+ )
+ (i32.store
+ (get_local $25)
+ (set_local $5
+ (i32.sub
+ (i32.load
+ (get_local $25)
)
- (br $while-out$68)
+ (get_local $11)
)
)
- (br $while-in$69)
)
- )
- (set_local $7
- (get_local $9)
+ (if
+ (i32.gt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ (set_local $8
+ (get_local $7)
+ )
+ (block
+ (set_local $6
+ (get_local $13)
+ )
+ (br $while-out$68)
+ )
+ )
+ (br $while-in$69)
)
)
- (if
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
- )
- (block
- (set_local $8
- (i32.add
- (i32.and
- (i32.div_s
- (i32.add
- (get_local $1)
- (i32.const 25)
- )
- (i32.const 9)
+ (set_local $7
+ (get_local $9)
+ )
+ )
+ (if
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ (block
+ (set_local $8
+ (i32.add
+ (i32.and
+ (i32.div_s
+ (i32.add
+ (get_local $1)
+ (i32.const 25)
)
- (i32.const -1)
+ (i32.const 9)
)
- (i32.const 1)
- )
- )
- (set_local $10
- (i32.eq
- (get_local $14)
- (i32.const 102)
+ (i32.const -1)
)
+ (i32.const 1)
)
- (set_local $23
- (get_local $6)
+ )
+ (set_local $10
+ (i32.eq
+ (get_local $14)
+ (i32.const 102)
)
- (loop $while-out$76 $while-in$77
- (set_local $5
- (i32.gt_s
- (set_local $6
- (i32.sub
- (i32.const 0)
- (get_local $5)
- )
+ )
+ (set_local $23
+ (get_local $6)
+ )
+ (loop $while-out$76 $while-in$77
+ (set_local $5
+ (i32.gt_s
+ (set_local $6
+ (i32.sub
+ (i32.const 0)
+ (get_local $5)
)
- (i32.const 9)
)
+ (i32.const 9)
)
- (set_local $13
- (select
- (i32.const 9)
- (get_local $6)
- (get_local $5)
- )
+ )
+ (set_local $13
+ (select
+ (i32.const 9)
+ (get_local $6)
+ (get_local $5)
)
- (set_local $11
- (block $do-once$78
- (if
- (i32.lt_u
- (get_local $7)
- (get_local $23)
- )
- (block
- (set_local $70
- (i32.add
- (i32.shl
- (i32.const 1)
- (get_local $13)
- )
- (i32.const -1)
- )
- )
- (set_local $27
- (i32.shr_u
- (i32.const 1000000000)
+ )
+ (set_local $11
+ (block $do-once$78
+ (if
+ (i32.lt_u
+ (get_local $7)
+ (get_local $23)
+ )
+ (block
+ (set_local $70
+ (i32.add
+ (i32.shl
+ (i32.const 1)
(get_local $13)
)
+ (i32.const -1)
)
- (set_local $11
- (i32.const 0)
- )
- (set_local $17
- (get_local $7)
+ )
+ (set_local $27
+ (i32.shr_u
+ (i32.const 1000000000)
+ (get_local $13)
)
- (loop $while-out$80 $while-in$81
- (set_local $6
- (i32.and
- (set_local $5
- (i32.load
- (get_local $17)
- )
+ )
+ (set_local $11
+ (i32.const 0)
+ )
+ (set_local $17
+ (get_local $7)
+ )
+ (loop $while-out$80 $while-in$81
+ (set_local $6
+ (i32.and
+ (set_local $5
+ (i32.load
+ (get_local $17)
)
- (get_local $70)
)
+ (get_local $70)
)
- (i32.store
- (get_local $17)
- (i32.add
- (i32.shr_u
- (get_local $5)
- (get_local $13)
- )
- (get_local $11)
+ )
+ (i32.store
+ (get_local $17)
+ (i32.add
+ (i32.shr_u
+ (get_local $5)
+ (get_local $13)
)
+ (get_local $11)
)
- (set_local $11
- (i32.mul
- (get_local $6)
- (get_local $27)
- )
+ )
+ (set_local $11
+ (i32.mul
+ (get_local $6)
+ (get_local $27)
)
- (if
- (i32.ge_u
- (set_local $17
- (i32.add
- (get_local $17)
- (i32.const 4)
- )
+ )
+ (if
+ (i32.ge_u
+ (set_local $17
+ (i32.add
+ (get_local $17)
+ (i32.const 4)
)
- (get_local $23)
)
- (br $while-out$80)
+ (get_local $23)
)
- (br $while-in$81)
+ (br $while-out$80)
)
- (set_local $5
- (select
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
+ (br $while-in$81)
+ )
+ (set_local $5
+ (select
+ (i32.add
(get_local $7)
- (i32.eq
- (i32.load
- (get_local $7)
- )
- (i32.const 0)
- )
+ (i32.const 4)
)
- )
- (if
+ (get_local $7)
(i32.eq
- (get_local $11)
+ (i32.load
+ (get_local $7)
+ )
(i32.const 0)
)
- (br $do-once$78
- (get_local $5)
- )
)
- (i32.store
- (get_local $23)
+ )
+ (if
+ (i32.eq
(get_local $11)
+ (i32.const 0)
)
- (set_local $23
- (i32.add
- (get_local $23)
- (i32.const 4)
- )
+ (br $do-once$78
+ (get_local $5)
)
- (get_local $5)
)
- (select
+ (i32.store
+ (get_local $23)
+ (get_local $11)
+ )
+ (set_local $23
(i32.add
- (get_local $7)
+ (get_local $23)
(i32.const 4)
)
+ )
+ (get_local $5)
+ )
+ (select
+ (i32.add
(get_local $7)
- (i32.eq
- (i32.load
- (get_local $7)
- )
- (i32.const 0)
+ (i32.const 4)
+ )
+ (get_local $7)
+ (i32.eq
+ (i32.load
+ (get_local $7)
)
+ (i32.const 0)
)
)
)
)
- (set_local $5
- (i32.gt_s
- (i32.shr_s
- (i32.sub
- (get_local $23)
- (set_local $7
- (select
- (get_local $9)
- (get_local $11)
- (get_local $10)
- )
+ )
+ (set_local $5
+ (i32.gt_s
+ (i32.shr_s
+ (i32.sub
+ (get_local $23)
+ (set_local $7
+ (select
+ (get_local $9)
+ (get_local $11)
+ (get_local $10)
)
)
- (i32.const 2)
)
- (get_local $8)
+ (i32.const 2)
)
+ (get_local $8)
)
- (set_local $6
- (select
- (i32.add
- (get_local $7)
- (i32.shl
- (get_local $8)
- (i32.const 2)
- )
+ )
+ (set_local $6
+ (select
+ (i32.add
+ (get_local $7)
+ (i32.shl
+ (get_local $8)
+ (i32.const 2)
)
- (get_local $23)
- (get_local $5)
)
+ (get_local $23)
+ (get_local $5)
)
- (i32.store
- (get_local $25)
- (set_local $5
- (i32.add
- (i32.load
- (get_local $25)
- )
- (get_local $13)
+ )
+ (i32.store
+ (get_local $25)
+ (set_local $5
+ (i32.add
+ (i32.load
+ (get_local $25)
)
+ (get_local $13)
)
)
- (if
- (i32.lt_s
- (get_local $5)
- (i32.const 0)
+ )
+ (if
+ (i32.lt_s
+ (get_local $5)
+ (i32.const 0)
+ )
+ (block
+ (set_local $7
+ (get_local $11)
)
- (block
- (set_local $7
- (get_local $11)
- )
- (set_local $23
- (get_local $6)
- )
+ (set_local $23
+ (get_local $6)
)
- (block
- (set_local $7
- (get_local $11)
- )
- (set_local $27
- (get_local $6)
- )
- (br $while-out$76)
+ )
+ (block
+ (set_local $7
+ (get_local $11)
+ )
+ (set_local $27
+ (get_local $6)
)
+ (br $while-out$76)
)
- (br $while-in$77)
)
- )
- (set_local $27
- (get_local $6)
+ (br $while-in$77)
)
)
- (block $do-once$82
- (if
- (i32.lt_u
- (get_local $7)
- (get_local $27)
+ (set_local $27
+ (get_local $6)
+ )
+ )
+ (block $do-once$82
+ (if
+ (i32.lt_u
+ (get_local $7)
+ (get_local $27)
+ )
+ (block
+ (set_local $6
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $62)
+ (get_local $7)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
+ )
)
- (block
- (set_local $6
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $62)
- (get_local $7)
- )
- (i32.const 2)
+ (if
+ (i32.lt_u
+ (set_local $5
+ (i32.load
+ (get_local $7)
)
- (i32.const 9)
+ )
+ (i32.const 10)
+ )
+ (block
+ (set_local $13
+ (get_local $6)
+ )
+ (br $do-once$82)
+ )
+ (set_local $8
+ (i32.const 10)
+ )
+ )
+ (loop $while-out$84 $while-in$85
+ (set_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 1)
)
)
(if
(i32.lt_u
- (set_local $5
- (i32.load
- (get_local $7)
+ (get_local $5)
+ (set_local $8
+ (i32.mul
+ (get_local $8)
+ (i32.const 10)
)
)
- (i32.const 10)
)
(block
(set_local $13
(get_local $6)
)
- (br $do-once$82)
- )
- (set_local $8
- (i32.const 10)
+ (br $while-out$84)
)
)
- (loop $while-out$84 $while-in$85
- (set_local $6
- (i32.add
- (get_local $6)
- (i32.const 1)
- )
- )
- (if
- (i32.lt_u
- (get_local $5)
- (set_local $8
- (i32.mul
- (get_local $8)
- (i32.const 10)
- )
- )
- )
- (block
- (set_local $13
- (get_local $6)
- )
- (br $while-out$84)
- )
- )
- (br $while-in$85)
- )
- )
- (set_local $13
- (i32.const 0)
+ (br $while-in$85)
)
)
+ (set_local $13
+ (i32.const 0)
+ )
)
- (set_local $7
- (if
- (i32.lt_s
- (set_local $5
- (i32.add
- (i32.sub
- (get_local $1)
- (select
- (get_local $13)
- (i32.const 0)
- (i32.ne
- (get_local $14)
- (i32.const 102)
- )
+ )
+ (set_local $7
+ (if
+ (i32.lt_s
+ (set_local $5
+ (i32.add
+ (i32.sub
+ (get_local $1)
+ (select
+ (get_local $13)
+ (i32.const 0)
+ (i32.ne
+ (get_local $14)
+ (i32.const 102)
)
)
- (i32.shr_s
- (i32.shl
- (i32.and
- (set_local $70
- (i32.ne
- (get_local $1)
- (i32.const 0)
- )
+ )
+ (i32.shr_s
+ (i32.shl
+ (i32.and
+ (set_local $70
+ (i32.ne
+ (get_local $1)
+ (i32.const 0)
)
- (set_local $8
- (i32.eq
- (get_local $14)
- (i32.const 103)
- )
+ )
+ (set_local $8
+ (i32.eq
+ (get_local $14)
+ (i32.const 103)
)
)
- (i32.const 31)
)
(i32.const 31)
)
+ (i32.const 31)
)
)
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $27)
- (get_local $62)
- )
- (i32.const 2)
+ )
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $27)
+ (get_local $62)
)
- (i32.const 9)
+ (i32.const 2)
)
- (i32.const -9)
+ (i32.const 9)
)
+ (i32.const -9)
)
- (block
- (set_local $6
+ )
+ (block
+ (set_local $6
+ (i32.add
(i32.add
+ (get_local $9)
+ (i32.const 4)
+ )
+ (i32.shl
(i32.add
- (get_local $9)
- (i32.const 4)
- )
- (i32.shl
- (i32.add
- (i32.and
- (i32.div_s
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 9216)
- )
+ (i32.and
+ (i32.div_s
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 9216)
)
- (i32.const 9)
)
- (i32.const -1)
+ (i32.const 9)
)
- (i32.const -1024)
+ (i32.const -1)
)
- (i32.const 2)
+ (i32.const -1024)
)
+ (i32.const 2)
)
)
- (if
- (i32.lt_s
- (set_local $11
- (i32.add
- (i32.and
- (i32.rem_s
- (get_local $5)
- (i32.const 9)
- )
- (i32.const -1)
+ )
+ (if
+ (i32.lt_s
+ (set_local $11
+ (i32.add
+ (i32.and
+ (i32.rem_s
+ (get_local $5)
+ (i32.const 9)
)
- (i32.const 1)
+ (i32.const -1)
)
+ (i32.const 1)
)
- (i32.const 9)
)
- (block
+ (i32.const 9)
+ )
+ (block
+ (set_local $5
+ (i32.const 10)
+ )
+ (loop $while-out$86 $while-in$87
(set_local $5
- (i32.const 10)
+ (i32.mul
+ (get_local $5)
+ (i32.const 10)
+ )
)
- (loop $while-out$86 $while-in$87
- (set_local $5
- (i32.mul
+ (if
+ (i32.eq
+ (set_local $11
+ (i32.add
+ (get_local $11)
+ (i32.const 1)
+ )
+ )
+ (i32.const 9)
+ )
+ (block
+ (set_local $17
(get_local $5)
- (i32.const 10)
)
+ (br $while-out$86)
)
- (if
+ )
+ (br $while-in$87)
+ )
+ )
+ (set_local $17
+ (i32.const 10)
+ )
+ )
+ (block $do-once$88
+ (if
+ (i32.eqz
+ (i32.and
+ (set_local $11
(i32.eq
- (set_local $11
- (i32.add
- (get_local $11)
- (i32.const 1)
- )
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
)
- (i32.const 9)
+ (get_local $27)
)
- (block
- (set_local $17
- (get_local $5)
+ )
+ (i32.eq
+ (set_local $14
+ (i32.and
+ (i32.rem_u
+ (set_local $5
+ (i32.load
+ (get_local $6)
+ )
+ )
+ (get_local $17)
+ )
+ (i32.const -1)
)
- (br $while-out$86)
)
+ (i32.const 0)
)
- (br $while-in$87)
)
)
- (set_local $17
- (i32.const 10)
- )
- )
- (block $do-once$88
- (if
- (i32.eqz
- (i32.and
- (set_local $11
- (i32.eq
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- (get_local $27)
- )
- )
+ (block
+ (set_local $15
+ (select
+ (f64.const 9007199254740992)
+ (f64.const 9007199254740994)
(i32.eq
- (set_local $14
+ (i32.and
(i32.and
- (i32.rem_u
- (set_local $5
- (i32.load
- (get_local $6)
- )
- )
+ (i32.div_u
+ (get_local $5)
(get_local $17)
)
(i32.const -1)
)
+ (i32.const 1)
)
(i32.const 0)
)
)
)
- (block
- (set_local $15
- (select
- (f64.const 9007199254740992)
- (f64.const 9007199254740994)
- (i32.eq
+ (set_local $30
+ (if
+ (i32.lt_u
+ (get_local $14)
+ (set_local $10
(i32.and
- (i32.and
- (i32.div_u
- (get_local $5)
- (get_local $17)
- )
- (i32.const -1)
+ (i32.div_s
+ (get_local $17)
+ (i32.const 2)
)
- (i32.const 1)
+ (i32.const -1)
)
- (i32.const 0)
)
)
- )
- (set_local $30
- (if
- (i32.lt_u
- (get_local $14)
- (set_local $10
- (i32.and
- (i32.div_s
- (get_local $17)
- (i32.const 2)
- )
- (i32.const -1)
- )
- )
- )
- (f64.const 0.5)
- (select
- (f64.const 1)
- (f64.const 1.5)
- (i32.and
- (get_local $11)
- (i32.eq
- (get_local $14)
- (get_local $10)
- )
+ (f64.const 0.5)
+ (select
+ (f64.const 1)
+ (f64.const 1.5)
+ (i32.and
+ (get_local $11)
+ (i32.eq
+ (get_local $14)
+ (get_local $10)
)
)
)
)
- (set_local $15
- (block $do-once$90
- (if
- (i32.eq
- (get_local $51)
- (i32.const 0)
- )
- (get_local $15)
- (block
- (if
- (i32.ne
- (i32.shr_s
- (i32.shl
- (i32.load8_s
- (get_local $39)
- )
- (i32.const 24)
+ )
+ (set_local $15
+ (block $do-once$90
+ (if
+ (i32.eq
+ (get_local $51)
+ (i32.const 0)
+ )
+ (get_local $15)
+ (block
+ (if
+ (i32.ne
+ (i32.shr_s
+ (i32.shl
+ (i32.load8_s
+ (get_local $39)
)
(i32.const 24)
)
- (i32.const 45)
- )
- (br $do-once$90
- (get_local $15)
+ (i32.const 24)
)
+ (i32.const 45)
)
- (set_local $30
- (f64.neg
- (get_local $30)
- )
+ (br $do-once$90
+ (get_local $15)
)
+ )
+ (set_local $30
(f64.neg
- (get_local $15)
+ (get_local $30)
)
)
+ (f64.neg
+ (get_local $15)
+ )
)
)
)
- (i32.store
- (get_local $6)
- (set_local $5
- (i32.sub
- (get_local $5)
- (get_local $14)
- )
+ )
+ (i32.store
+ (get_local $6)
+ (set_local $5
+ (i32.sub
+ (get_local $5)
+ (get_local $14)
)
)
- (if
- (f64.eq
- (f64.add
- (get_local $15)
- (get_local $30)
- )
+ )
+ (if
+ (f64.eq
+ (f64.add
(get_local $15)
+ (get_local $30)
)
- (br $do-once$88)
+ (get_local $15)
)
- (i32.store
- (get_local $6)
- (set_local $5
- (i32.add
- (get_local $5)
- (get_local $17)
- )
+ (br $do-once$88)
+ )
+ (i32.store
+ (get_local $6)
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (get_local $17)
)
)
- (if
- (i32.gt_u
- (get_local $5)
- (i32.const 999999999)
+ )
+ (if
+ (i32.gt_u
+ (get_local $5)
+ (i32.const 999999999)
+ )
+ (loop $while-out$92 $while-in$93
+ (i32.store
+ (get_local $6)
+ (i32.const 0)
)
- (loop $while-out$92 $while-in$93
- (i32.store
- (get_local $6)
- (i32.const 0)
- )
- (set_local $7
- (if
- (i32.lt_u
- (set_local $6
- (i32.add
- (get_local $6)
- (i32.const -4)
- )
+ (set_local $7
+ (if
+ (i32.lt_u
+ (set_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const -4)
)
- (get_local $7)
)
- (block
- (i32.store
- (set_local $5
- (i32.add
- (get_local $7)
- (i32.const -4)
- )
+ (get_local $7)
+ )
+ (block
+ (i32.store
+ (set_local $5
+ (i32.add
+ (get_local $7)
+ (i32.const -4)
)
- (i32.const 0)
)
- (get_local $5)
+ (i32.const 0)
)
- (get_local $7)
+ (get_local $5)
)
+ (get_local $7)
)
- (i32.store
- (get_local $6)
- (set_local $5
- (i32.add
- (i32.load
- (get_local $6)
- )
- (i32.const 1)
+ )
+ (i32.store
+ (get_local $6)
+ (set_local $5
+ (i32.add
+ (i32.load
+ (get_local $6)
)
+ (i32.const 1)
)
)
- (if
- (i32.le_u
- (get_local $5)
- (i32.const 999999999)
- )
- (br $while-out$92)
+ )
+ (if
+ (i32.le_u
+ (get_local $5)
+ (i32.const 999999999)
)
- (br $while-in$93)
+ (br $while-out$92)
)
+ (br $while-in$93)
)
- (set_local $11
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $62)
- (get_local $7)
- )
- (i32.const 2)
+ )
+ (set_local $11
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $62)
+ (get_local $7)
+ )
+ (i32.const 2)
+ )
+ (i32.const 9)
+ )
+ )
+ (if
+ (i32.lt_u
+ (set_local $5
+ (i32.load
+ (get_local $7)
)
- (i32.const 9)
+ )
+ (i32.const 10)
+ )
+ (block
+ (set_local $13
+ (get_local $11)
+ )
+ (br $do-once$88)
+ )
+ (set_local $10
+ (i32.const 10)
+ )
+ )
+ (loop $while-out$94 $while-in$95
+ (set_local $11
+ (i32.add
+ (get_local $11)
+ (i32.const 1)
)
)
(if
(i32.lt_u
- (set_local $5
- (i32.load
- (get_local $7)
+ (get_local $5)
+ (set_local $10
+ (i32.mul
+ (get_local $10)
+ (i32.const 10)
)
)
- (i32.const 10)
)
(block
(set_local $13
(get_local $11)
)
- (br $do-once$88)
- )
- (set_local $10
- (i32.const 10)
+ (br $while-out$94)
)
)
- (loop $while-out$94 $while-in$95
- (set_local $11
- (i32.add
- (get_local $11)
- (i32.const 1)
- )
- )
- (if
- (i32.lt_u
- (get_local $5)
- (set_local $10
- (i32.mul
- (get_local $10)
- (i32.const 10)
- )
- )
- )
- (block
- (set_local $13
- (get_local $11)
- )
- (br $while-out$94)
- )
- )
- (br $while-in$95)
- )
+ (br $while-in$95)
)
)
)
- (set_local $6
- (i32.gt_u
- (get_local $27)
- (set_local $5
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
+ )
+ (set_local $6
+ (i32.gt_u
+ (get_local $27)
+ (set_local $5
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
)
)
)
- (set_local $6
- (select
- (get_local $5)
- (get_local $27)
- (get_local $6)
- )
- )
- (get_local $7)
)
- (block
- (set_local $6
+ (set_local $6
+ (select
+ (get_local $5)
(get_local $27)
+ (get_local $6)
)
- (get_local $7)
)
+ (get_local $7)
)
- )
- (set_local $27
- (i32.sub
- (i32.const 0)
- (get_local $13)
+ (block
+ (set_local $6
+ (get_local $27)
+ )
+ (get_local $7)
)
)
- (loop $while-out$96 $while-in$97
- (if
- (i32.le_u
- (get_local $6)
- (get_local $7)
+ )
+ (set_local $27
+ (i32.sub
+ (i32.const 0)
+ (get_local $13)
+ )
+ )
+ (loop $while-out$96 $while-in$97
+ (if
+ (i32.le_u
+ (get_local $6)
+ (get_local $7)
+ )
+ (block
+ (set_local $11
+ (i32.const 0)
)
- (block
- (set_local $11
- (i32.const 0)
- )
- (set_local $23
- (get_local $6)
- )
- (br $while-out$96)
+ (set_local $23
+ (get_local $6)
)
+ (br $while-out$96)
)
- (if
- (i32.eq
- (i32.load
- (set_local $5
- (i32.add
- (get_local $6)
- (i32.const -4)
- )
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (set_local $5
+ (i32.add
+ (get_local $6)
+ (i32.const -4)
)
)
- (i32.const 0)
)
- (set_local $6
- (get_local $5)
+ (i32.const 0)
+ )
+ (set_local $6
+ (get_local $5)
+ )
+ (block
+ (set_local $11
+ (i32.const 1)
)
- (block
- (set_local $11
- (i32.const 1)
- )
- (set_local $23
- (get_local $6)
- )
- (br $while-out$96)
+ (set_local $23
+ (get_local $6)
)
+ (br $while-out$96)
)
- (br $while-in$97)
)
- (set_local $8
- (block $do-once$98
- (if
- (get_local $8)
- (block
- (set_local $8
- (if
- (i32.and
- (i32.gt_s
- (set_local $1
- (i32.add
- (i32.xor
- (i32.and
- (get_local $70)
- (i32.const 1)
- )
+ (br $while-in$97)
+ )
+ (set_local $8
+ (block $do-once$98
+ (if
+ (get_local $8)
+ (block
+ (set_local $8
+ (if
+ (i32.and
+ (i32.gt_s
+ (set_local $1
+ (i32.add
+ (i32.xor
+ (i32.and
+ (get_local $70)
(i32.const 1)
)
- (get_local $1)
+ (i32.const 1)
)
- )
- (get_local $13)
- )
- (i32.gt_s
- (get_local $13)
- (i32.const -5)
- )
- )
- (block
- (set_local $10
- (i32.add
- (get_local $26)
- (i32.const -1)
- )
- )
- (i32.sub
- (i32.add
(get_local $1)
- (i32.const -1)
)
- (get_local $13)
)
+ (get_local $13)
)
- (block
- (set_local $10
- (i32.add
- (get_local $26)
- (i32.const -2)
- )
- )
+ (i32.gt_s
+ (get_local $13)
+ (i32.const -5)
+ )
+ )
+ (block
+ (set_local $10
(i32.add
- (get_local $1)
+ (get_local $26)
(i32.const -1)
)
)
- )
- )
- (if
- (i32.ne
- (set_local $1
- (i32.and
- (get_local $18)
- (i32.const 8)
+ (i32.sub
+ (i32.add
+ (get_local $1)
+ (i32.const -1)
)
+ (get_local $13)
)
- (i32.const 0)
)
(block
- (set_local $14
- (get_local $8)
- )
- (set_local $26
- (get_local $10)
+ (set_local $10
+ (i32.add
+ (get_local $26)
+ (i32.const -2)
+ )
)
- (br $do-once$98
+ (i32.add
(get_local $1)
+ (i32.const -1)
)
)
)
- (block $do-once$100
- (if
- (get_local $11)
- (block
- (if
- (i32.eq
- (set_local $1
- (i32.load
- (i32.add
- (get_local $23)
- (i32.const -4)
- )
+ )
+ (if
+ (i32.ne
+ (set_local $1
+ (i32.and
+ (get_local $18)
+ (i32.const 8)
+ )
+ )
+ (i32.const 0)
+ )
+ (block
+ (set_local $14
+ (get_local $8)
+ )
+ (set_local $26
+ (get_local $10)
+ )
+ (br $do-once$98
+ (get_local $1)
+ )
+ )
+ )
+ (block $do-once$100
+ (if
+ (get_local $11)
+ (block
+ (if
+ (i32.eq
+ (set_local $1
+ (i32.load
+ (i32.add
+ (get_local $23)
+ (i32.const -4)
)
)
- (i32.const 0)
- )
- (block
- (set_local $6
- (i32.const 9)
- )
- (br $do-once$100)
)
+ (i32.const 0)
)
- (if
- (i32.eq
- (i32.and
- (i32.rem_u
- (get_local $1)
- (i32.const 10)
- )
- (i32.const -1)
- )
- (i32.const 0)
+ (block
+ (set_local $6
+ (i32.const 9)
)
- (block
- (set_local $5
+ (br $do-once$100)
+ )
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (i32.rem_u
+ (get_local $1)
(i32.const 10)
)
- (set_local $6
- (i32.const 0)
- )
+ (i32.const -1)
)
- (block
- (set_local $6
- (i32.const 0)
- )
- (br $do-once$100)
+ (i32.const 0)
+ )
+ (block
+ (set_local $5
+ (i32.const 10)
+ )
+ (set_local $6
+ (i32.const 0)
)
)
- (loop $while-out$102 $while-in$103
+ (block
(set_local $6
- (i32.add
- (get_local $6)
- (i32.const 1)
- )
+ (i32.const 0)
)
- (if
- (i32.ne
- (i32.and
- (i32.rem_u
- (get_local $1)
- (set_local $5
- (i32.mul
- (get_local $5)
- (i32.const 10)
- )
+ (br $do-once$100)
+ )
+ )
+ (loop $while-out$102 $while-in$103
+ (set_local $6
+ (i32.add
+ (get_local $6)
+ (i32.const 1)
+ )
+ )
+ (if
+ (i32.ne
+ (i32.and
+ (i32.rem_u
+ (get_local $1)
+ (set_local $5
+ (i32.mul
+ (get_local $5)
+ (i32.const 10)
)
)
- (i32.const -1)
)
- (i32.const 0)
+ (i32.const -1)
)
- (br $while-out$102)
+ (i32.const 0)
)
- (br $while-in$103)
+ (br $while-out$102)
)
+ (br $while-in$103)
)
- (set_local $6
- (i32.const 9)
- )
+ )
+ (set_local $6
+ (i32.const 9)
)
)
- (set_local $1
- (i32.add
- (i32.mul
- (i32.shr_s
- (i32.sub
- (get_local $23)
- (get_local $62)
- )
- (i32.const 2)
+ )
+ (set_local $1
+ (i32.add
+ (i32.mul
+ (i32.shr_s
+ (i32.sub
+ (get_local $23)
+ (get_local $62)
)
- (i32.const 9)
+ (i32.const 2)
)
- (i32.const -9)
+ (i32.const 9)
)
+ (i32.const -9)
)
- (if
- (i32.eq
- (i32.or
- (get_local $10)
- (i32.const 32)
- )
- (i32.const 102)
+ )
+ (if
+ (i32.eq
+ (i32.or
+ (get_local $10)
+ (i32.const 32)
)
- (block
- (set_local $1
- (i32.lt_s
- (set_local $5
- (i32.sub
- (get_local $1)
- (get_local $6)
- )
+ (i32.const 102)
+ )
+ (block
+ (set_local $1
+ (i32.lt_s
+ (set_local $5
+ (i32.sub
+ (get_local $1)
+ (get_local $6)
)
- (i32.const 0)
)
+ (i32.const 0)
)
- (set_local $5
- (i32.lt_s
- (get_local $8)
- (set_local $1
- (select
- (i32.const 0)
- (get_local $5)
- (get_local $1)
- )
+ )
+ (set_local $5
+ (i32.lt_s
+ (get_local $8)
+ (set_local $1
+ (select
+ (i32.const 0)
+ (get_local $5)
+ (get_local $1)
)
)
)
- (set_local $14
- (select
- (get_local $8)
- (get_local $1)
- (get_local $5)
- )
- )
- (set_local $26
- (get_local $10)
- )
- (i32.const 0)
)
- (block
- (set_local $1
- (i32.lt_s
- (set_local $5
- (i32.sub
- (i32.add
- (get_local $1)
- (get_local $13)
- )
- (get_local $6)
- )
- )
- (i32.const 0)
- )
+ (set_local $14
+ (select
+ (get_local $8)
+ (get_local $1)
+ (get_local $5)
)
- (set_local $5
- (i32.lt_s
- (get_local $8)
- (set_local $1
- (select
- (i32.const 0)
- (get_local $5)
+ )
+ (set_local $26
+ (get_local $10)
+ )
+ (i32.const 0)
+ )
+ (block
+ (set_local $1
+ (i32.lt_s
+ (set_local $5
+ (i32.sub
+ (i32.add
(get_local $1)
+ (get_local $13)
)
+ (get_local $6)
)
)
+ (i32.const 0)
)
- (set_local $14
- (select
- (get_local $8)
- (get_local $1)
- (get_local $5)
+ )
+ (set_local $5
+ (i32.lt_s
+ (get_local $8)
+ (set_local $1
+ (select
+ (i32.const 0)
+ (get_local $5)
+ (get_local $1)
+ )
)
)
- (set_local $26
- (get_local $10)
+ )
+ (set_local $14
+ (select
+ (get_local $8)
+ (get_local $1)
+ (get_local $5)
)
- (i32.const 0)
)
+ (set_local $26
+ (get_local $10)
+ )
+ (i32.const 0)
)
)
- (block
- (set_local $14
- (get_local $1)
- )
- (i32.and
- (get_local $18)
- (i32.const 8)
- )
+ )
+ (block
+ (set_local $14
+ (get_local $1)
+ )
+ (i32.and
+ (get_local $18)
+ (i32.const 8)
)
)
)
)
- (set_local $17
- (i32.and
- (i32.ne
- (set_local $1
- (i32.or
- (get_local $14)
- (get_local $8)
- )
+ )
+ (set_local $17
+ (i32.and
+ (i32.ne
+ (set_local $1
+ (i32.or
+ (get_local $14)
+ (get_local $8)
)
- (i32.const 0)
)
- (i32.const 1)
+ (i32.const 0)
)
+ (i32.const 1)
)
- (set_local $13
- (if
- (set_local $10
- (i32.eq
- (i32.or
- (get_local $26)
- (i32.const 32)
- )
- (i32.const 102)
+ )
+ (set_local $13
+ (if
+ (set_local $10
+ (i32.eq
+ (i32.or
+ (get_local $26)
+ (i32.const 32)
)
+ (i32.const 102)
)
- (block
- (set_local $6
- (select
+ )
+ (block
+ (set_local $6
+ (select
+ (get_local $13)
+ (i32.const 0)
+ (i32.gt_s
(get_local $13)
(i32.const 0)
- (i32.gt_s
- (get_local $13)
- (i32.const 0)
- )
)
)
- (i32.const 0)
)
- (block
- (set_local $5
- (i32.shr_s
- (i32.shl
- (i32.lt_s
- (set_local $6
- (select
- (get_local $27)
+ (i32.const 0)
+ )
+ (block
+ (set_local $5
+ (i32.shr_s
+ (i32.shl
+ (i32.lt_s
+ (set_local $6
+ (select
+ (get_local $27)
+ (get_local $13)
+ (i32.lt_s
(get_local $13)
- (i32.lt_s
- (get_local $13)
- (i32.const 0)
- )
+ (i32.const 0)
)
)
- (i32.const 0)
)
- (i32.const 31)
+ (i32.const 0)
)
(i32.const 31)
)
+ (i32.const 31)
)
- (if
- (i32.lt_s
- (i32.sub
- (get_local $40)
- (set_local $5
- (call $_fmt_u
- (get_local $6)
- (get_local $5)
- (get_local $52)
- )
+ )
+ (if
+ (i32.lt_s
+ (i32.sub
+ (get_local $40)
+ (set_local $5
+ (call $_fmt_u
+ (get_local $6)
+ (get_local $5)
+ (get_local $52)
)
)
- (i32.const 2)
)
- (loop $while-out$104 $while-in$105
- (i32.store8
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const -1)
- )
+ (i32.const 2)
+ )
+ (loop $while-out$104 $while-in$105
+ (i32.store8
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
)
- (i32.const 48)
)
- (if
- (i32.lt_s
- (i32.sub
- (get_local $40)
- (get_local $5)
- )
- (i32.const 2)
+ (i32.const 48)
+ )
+ (if
+ (i32.lt_s
+ (i32.sub
+ (get_local $40)
+ (get_local $5)
)
- (get_local $5)
- (br $while-out$104)
+ (i32.const 2)
)
- (br $while-in$105)
+ (get_local $5)
+ (br $while-out$104)
)
+ (br $while-in$105)
+ )
+ (get_local $5)
+ )
+ (i32.store8
+ (i32.add
(get_local $5)
+ (i32.const -1)
)
- (i32.store8
+ (i32.and
(i32.add
- (get_local $5)
- (i32.const -1)
- )
- (i32.and
- (i32.add
- (i32.and
- (i32.shr_s
- (get_local $13)
- (i32.const 31)
- )
- (i32.const 2)
+ (i32.and
+ (i32.shr_s
+ (get_local $13)
+ (i32.const 31)
)
- (i32.const 43)
- )
- (i32.const 255)
- )
- )
- (i32.store8
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const -2)
+ (i32.const 2)
)
+ (i32.const 43)
)
- (i32.and
- (get_local $26)
- (i32.const 255)
- )
+ (i32.const 255)
)
- (set_local $6
- (i32.sub
- (get_local $40)
+ )
+ (i32.store8
+ (set_local $5
+ (i32.add
(get_local $5)
+ (i32.const -2)
)
)
- (get_local $5)
+ (i32.and
+ (get_local $26)
+ (i32.const 255)
+ )
+ )
+ (set_local $6
+ (i32.sub
+ (get_local $40)
+ (get_local $5)
+ )
)
+ (get_local $5)
)
)
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (set_local $6
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (set_local $6
+ (i32.add
(i32.add
(i32.add
(i32.add
- (i32.add
- (get_local $51)
- (i32.const 1)
- )
- (get_local $14)
+ (get_local $51)
+ (i32.const 1)
)
- (get_local $17)
+ (get_local $14)
)
- (get_local $6)
+ (get_local $17)
)
+ (get_local $6)
)
- (get_local $18)
)
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
+ (get_local $18)
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
)
- (i32.const 0)
- )
- (call $___fwritex
- (get_local $39)
- (get_local $51)
- (get_local $0)
+ (i32.const 32)
)
+ (i32.const 0)
)
- (call $_pad
+ (call $___fwritex
+ (get_local $39)
+ (get_local $51)
(get_local $0)
- (i32.const 48)
- (get_local $16)
- (get_local $6)
- (i32.xor
- (get_local $18)
- (i32.const 65536)
- )
)
- (block $do-once$106
- (if
- (get_local $10)
- (block
- (set_local $7
- (set_local $8
- (select
- (get_local $9)
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (get_local $16)
+ (get_local $6)
+ (i32.xor
+ (get_local $18)
+ (i32.const 65536)
+ )
+ )
+ (block $do-once$106
+ (if
+ (get_local $10)
+ (block
+ (set_local $7
+ (set_local $8
+ (select
+ (get_local $9)
+ (get_local $7)
+ (i32.gt_u
(get_local $7)
- (i32.gt_u
- (get_local $7)
- (get_local $9)
- )
+ (get_local $9)
)
)
)
- (loop $while-out$108 $while-in$109
- (set_local $5
- (call $_fmt_u
- (i32.load
- (get_local $7)
- )
- (i32.const 0)
- (get_local $45)
+ )
+ (loop $while-out$108 $while-in$109
+ (set_local $5
+ (call $_fmt_u
+ (i32.load
+ (get_local $7)
)
+ (i32.const 0)
+ (get_local $45)
)
- (block $do-once$110
- (if
- (i32.eq
- (get_local $7)
- (get_local $8)
+ )
+ (block $do-once$110
+ (if
+ (i32.eq
+ (get_local $7)
+ (get_local $8)
+ )
+ (block
+ (if
+ (i32.ne
+ (get_local $5)
+ (get_local $45)
+ )
+ (br $do-once$110)
)
- (block
- (if
- (i32.ne
- (get_local $5)
- (get_local $45)
- )
- (br $do-once$110)
+ (i32.store8
+ (get_local $53)
+ (i32.const 48)
+ )
+ (set_local $5
+ (get_local $53)
+ )
+ )
+ (block
+ (if
+ (i32.gt_u
+ (get_local $5)
+ (get_local $29)
)
+ (get_local $5)
+ (br $do-once$110)
+ )
+ (loop $while-out$112 $while-in$113
(i32.store8
- (get_local $53)
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const -1)
+ )
+ )
(i32.const 48)
)
- (set_local $5
- (get_local $53)
- )
- )
- (block
(if
(i32.gt_u
(get_local $5)
(get_local $29)
)
(get_local $5)
- (br $do-once$110)
- )
- (loop $while-out$112 $while-in$113
- (i32.store8
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const -1)
- )
- )
- (i32.const 48)
- )
- (if
- (i32.gt_u
- (get_local $5)
- (get_local $29)
- )
- (get_local $5)
- (br $while-out$112)
- )
- (br $while-in$113)
+ (br $while-out$112)
)
+ (br $while-in$113)
)
)
)
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
)
- (i32.const 0)
+ (i32.const 32)
)
- (call $___fwritex
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $5)
+ (i32.sub
+ (get_local $75)
(get_local $5)
- (i32.sub
- (get_local $75)
- (get_local $5)
- )
- (get_local $0)
)
+ (get_local $0)
)
- (if
- (i32.gt_u
- (set_local $7
- (i32.add
- (get_local $7)
- (i32.const 4)
- )
- )
- (get_local $9)
- )
- (block
- (set_local $5
+ )
+ (if
+ (i32.gt_u
+ (set_local $7
+ (i32.add
(get_local $7)
+ (i32.const 4)
)
- (br $while-out$108)
)
- (get_local $7)
+ (get_local $9)
)
- (br $while-in$109)
- )
- (block $do-once$114
- (if
- (i32.ne
- (get_local $1)
- (i32.const 0)
+ (block
+ (set_local $5
+ (get_local $7)
)
- (block
- (br_if $do-once$114
- (i32.ne
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
+ (br $while-out$108)
+ )
+ (get_local $7)
+ )
+ (br $while-in$109)
+ )
+ (block $do-once$114
+ (if
+ (i32.ne
+ (get_local $1)
+ (i32.const 0)
+ )
+ (block
+ (br_if $do-once$114
+ (i32.ne
+ (i32.and
+ (i32.load
+ (get_local $0)
)
- (i32.const 0)
+ (i32.const 32)
)
- )
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (get_local $0)
+ (i32.const 0)
)
)
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (get_local $0)
+ )
)
)
- (if
- (i32.and
- (i32.gt_s
- (get_local $14)
- (i32.const 0)
- )
- (i32.lt_u
- (get_local $5)
- (get_local $23)
- )
+ )
+ (if
+ (i32.and
+ (i32.gt_s
+ (get_local $14)
+ (i32.const 0)
)
- (loop $while-out$116 $while-in$117
- (if
- (i32.gt_u
- (set_local $1
- (call $_fmt_u
- (i32.load
- (get_local $5)
- )
- (i32.const 0)
- (get_local $45)
+ (i32.lt_u
+ (get_local $5)
+ (get_local $23)
+ )
+ )
+ (loop $while-out$116 $while-in$117
+ (if
+ (i32.gt_u
+ (set_local $1
+ (call $_fmt_u
+ (i32.load
+ (get_local $5)
)
+ (i32.const 0)
+ (get_local $45)
)
- (get_local $29)
)
- (loop $while-out$118 $while-in$119
- (i32.store8
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const -1)
- )
- )
- (i32.const 48)
- )
- (if
- (i32.gt_u
+ (get_local $29)
+ )
+ (loop $while-out$118 $while-in$119
+ (i32.store8
+ (set_local $1
+ (i32.add
(get_local $1)
- (get_local $29)
+ (i32.const -1)
)
- (get_local $1)
- (br $while-out$118)
)
- (br $while-in$119)
+ (i32.const 48)
)
- (get_local $1)
- )
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
+ (if
+ (i32.gt_u
+ (get_local $1)
+ (get_local $29)
)
- (i32.const 0)
- )
- (call $___fwritex
(get_local $1)
- (select
- (i32.const 9)
- (get_local $14)
- (i32.gt_s
- (get_local $14)
- (i32.const 9)
- )
- )
- (get_local $0)
+ (br $while-out$118)
)
+ (br $while-in$119)
)
- (set_local $1
- (i32.add
- (get_local $14)
- (i32.const -9)
+ (get_local $1)
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 32)
)
+ (i32.const 0)
)
- (if
- (i32.and
+ (call $___fwritex
+ (get_local $1)
+ (select
+ (i32.const 9)
+ (get_local $14)
(i32.gt_s
(get_local $14)
(i32.const 9)
)
- (i32.lt_u
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 4)
- )
+ )
+ (get_local $0)
+ )
+ )
+ (set_local $1
+ (i32.add
+ (get_local $14)
+ (i32.const -9)
+ )
+ )
+ (if
+ (i32.and
+ (i32.gt_s
+ (get_local $14)
+ (i32.const 9)
+ )
+ (i32.lt_u
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 4)
)
- (get_local $23)
)
+ (get_local $23)
)
+ )
+ (set_local $14
+ (get_local $1)
+ )
+ (block
(set_local $14
(get_local $1)
)
- (block
- (set_local $14
- (get_local $1)
- )
- (br $while-out$116)
- )
+ (br $while-out$116)
)
- (br $while-in$117)
)
+ (br $while-in$117)
+ )
+ (get_local $14)
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.add
(get_local $14)
+ (i32.const 9)
)
- (call $_pad
- (get_local $0)
- (i32.const 48)
+ (i32.const 9)
+ (i32.const 0)
+ )
+ )
+ (block
+ (set_local $11
+ (select
+ (get_local $23)
(i32.add
- (get_local $14)
- (i32.const 9)
+ (get_local $7)
+ (i32.const 4)
)
- (i32.const 9)
- (i32.const 0)
+ (get_local $11)
)
)
- (block
- (set_local $11
- (select
- (get_local $23)
- (i32.add
- (get_local $7)
- (i32.const 4)
+ (if
+ (i32.gt_s
+ (get_local $14)
+ (i32.const -1)
+ )
+ (block
+ (set_local $9
+ (i32.eq
+ (get_local $8)
+ (i32.const 0)
)
- (get_local $11)
)
- )
- (if
- (i32.gt_s
- (get_local $14)
- (i32.const -1)
+ (set_local $5
+ (get_local $7)
)
- (block
- (set_local $9
- (i32.eq
- (get_local $8)
- (i32.const 0)
- )
- )
- (set_local $5
- (get_local $7)
- )
- (loop $while-out$120 $while-in$121
- (set_local $8
- (if
- (i32.eq
- (set_local $1
- (call $_fmt_u
- (i32.load
- (get_local $5)
- )
- (i32.const 0)
- (get_local $45)
+ (loop $while-out$120 $while-in$121
+ (set_local $8
+ (if
+ (i32.eq
+ (set_local $1
+ (call $_fmt_u
+ (i32.load
+ (get_local $5)
)
+ (i32.const 0)
+ (get_local $45)
)
- (get_local $45)
)
- (block
- (i32.store8
- (get_local $53)
- (i32.const 48)
- )
+ (get_local $45)
+ )
+ (block
+ (i32.store8
(get_local $53)
+ (i32.const 48)
)
- (get_local $1)
+ (get_local $53)
)
+ (get_local $1)
)
- (block $do-once$122
- (if
- (i32.eq
- (get_local $5)
- (get_local $7)
- )
- (block
- (set_local $1
- (i32.add
- (get_local $8)
- (i32.const 1)
- )
+ )
+ (block $do-once$122
+ (if
+ (i32.eq
+ (get_local $5)
+ (get_local $7)
+ )
+ (block
+ (set_local $1
+ (i32.add
+ (get_local $8)
+ (i32.const 1)
)
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
)
- (i32.const 0)
+ (i32.const 32)
)
- (call $___fwritex
- (get_local $8)
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $8)
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ (if
+ (i32.and
+ (get_local $9)
+ (i32.lt_s
+ (get_local $14)
(i32.const 1)
- (get_local $0)
)
)
- (if
+ (br $do-once$122)
+ )
+ (if
+ (i32.ne
(i32.and
- (get_local $9)
- (i32.lt_s
- (get_local $14)
- (i32.const 1)
+ (i32.load
+ (get_local $0)
)
+ (i32.const 32)
)
- (br $do-once$122)
+ (i32.const 0)
)
- (if
- (i32.ne
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
- )
- (i32.const 0)
- )
- (br $do-once$122)
+ (br $do-once$122)
+ )
+ (call $___fwritex
+ (i32.const 4143)
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ (block
+ (if
+ (i32.gt_u
+ (get_local $8)
+ (get_local $29)
)
- (call $___fwritex
- (i32.const 4143)
- (i32.const 1)
- (get_local $0)
+ (set_local $1
+ (get_local $8)
)
- )
- (block
- (if
- (i32.gt_u
- (get_local $8)
- (get_local $29)
- )
+ (block
(set_local $1
(get_local $8)
)
- (block
- (set_local $1
- (get_local $8)
- )
- (br $do-once$122)
- )
+ (br $do-once$122)
)
- (loop $while-out$124 $while-in$125
- (i32.store8
- (set_local $1
- (i32.add
- (get_local $1)
- (i32.const -1)
- )
- )
- (i32.const 48)
- )
- (if
- (i32.gt_u
+ )
+ (loop $while-out$124 $while-in$125
+ (i32.store8
+ (set_local $1
+ (i32.add
(get_local $1)
- (get_local $29)
+ (i32.const -1)
)
+ )
+ (i32.const 48)
+ )
+ (if
+ (i32.gt_u
(get_local $1)
- (br $while-out$124)
+ (get_local $29)
)
- (br $while-in$125)
+ (get_local $1)
+ (br $while-out$124)
)
+ (br $while-in$125)
)
)
)
- (set_local $8
- (i32.sub
- (get_local $75)
- (get_local $1)
- )
+ )
+ (set_local $8
+ (i32.sub
+ (get_local $75)
+ (get_local $1)
)
- (if
- (i32.eq
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load
+ (get_local $0)
)
- (i32.const 0)
+ (i32.const 32)
)
- (call $___fwritex
- (get_local $1)
- (select
- (get_local $8)
+ (i32.const 0)
+ )
+ (call $___fwritex
+ (get_local $1)
+ (select
+ (get_local $8)
+ (get_local $14)
+ (i32.gt_s
(get_local $14)
- (i32.gt_s
- (get_local $14)
- (get_local $8)
- )
+ (get_local $8)
)
- (get_local $0)
)
+ (get_local $0)
)
- (if
- (i32.eqz
- (i32.and
- (i32.lt_u
- (set_local $5
- (i32.add
- (get_local $5)
- (i32.const 4)
- )
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.lt_u
+ (set_local $5
+ (i32.add
+ (get_local $5)
+ (i32.const 4)
)
- (get_local $11)
)
- (i32.gt_s
- (set_local $14
- (i32.sub
- (get_local $14)
- (get_local $8)
- )
+ (get_local $11)
+ )
+ (i32.gt_s
+ (set_local $14
+ (i32.sub
+ (get_local $14)
+ (get_local $8)
)
- (i32.const -1)
)
+ (i32.const -1)
)
)
- (br $while-out$120)
)
- (br $while-in$121)
+ (br $while-out$120)
)
+ (br $while-in$121)
)
- (get_local $14)
)
- (call $_pad
- (get_local $0)
- (i32.const 48)
- (i32.add
- (get_local $14)
- (i32.const 18)
- )
+ (get_local $14)
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 48)
+ (i32.add
+ (get_local $14)
(i32.const 18)
- (i32.const 0)
)
- (br_if $do-once$106
- (i32.ne
- (i32.and
- (i32.load
- (get_local $0)
- )
- (i32.const 32)
+ (i32.const 18)
+ (i32.const 0)
+ )
+ (br_if $do-once$106
+ (i32.ne
+ (i32.and
+ (i32.load
+ (get_local $0)
)
- (i32.const 0)
+ (i32.const 32)
)
+ (i32.const 0)
)
- (call $___fwritex
+ )
+ (call $___fwritex
+ (get_local $13)
+ (i32.sub
+ (get_local $40)
(get_local $13)
- (i32.sub
- (get_local $40)
- (get_local $13)
- )
- (get_local $0)
)
+ (get_local $0)
)
)
)
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (get_local $6)
- (i32.xor
- (get_local $18)
- (i32.const 8192)
- )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (get_local $6)
+ (i32.xor
+ (get_local $18)
+ (i32.const 8192)
)
- (select
- (get_local $16)
+ )
+ (select
+ (get_local $16)
+ (get_local $6)
+ (i32.lt_s
(get_local $6)
- (i32.lt_s
- (get_local $6)
- (get_local $16)
- )
+ (get_local $16)
)
)
- (block
- (set_local $5
- (select
- (i32.const 4127)
- (i32.const 4131)
- (set_local $8
- (i32.ne
- (i32.and
- (get_local $26)
- (i32.const 32)
- )
- (i32.const 0)
+ )
+ (block
+ (set_local $5
+ (select
+ (i32.const 4127)
+ (i32.const 4131)
+ (set_local $8
+ (i32.ne
+ (i32.and
+ (get_local $26)
+ (i32.const 32)
)
+ (i32.const 0)
)
)
)
- (set_local $6
- (select
- (i32.const 0)
- (get_local $51)
- (set_local $1
- (i32.or
- (f64.ne
- (get_local $15)
- (get_local $15)
- )
- (i32.const 0)
+ )
+ (set_local $6
+ (select
+ (i32.const 0)
+ (get_local $51)
+ (set_local $1
+ (i32.or
+ (f64.ne
+ (get_local $15)
+ (get_local $15)
)
+ (i32.const 0)
)
)
)
- (set_local $8
+ )
+ (set_local $8
+ (select
(select
- (select
- (i32.const 4135)
- (i32.const 4139)
- (get_local $8)
- )
- (get_local $5)
- (get_local $1)
+ (i32.const 4135)
+ (i32.const 4139)
+ (get_local $8)
)
+ (get_local $5)
+ (get_local $1)
)
- (call $_pad
- (get_local $0)
- (i32.const 32)
- (get_local $16)
- (set_local $5
- (i32.add
- (get_local $6)
- (i32.const 3)
- )
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (set_local $5
+ (i32.add
+ (get_local $6)
+ (i32.const 3)
)
- (get_local $7)
)
- (if
- (i32.eq
- (i32.and
- (if
- (i32.eq
- (i32.and
- (set_local $1
- (i32.load
- (get_local $0)
- )
+ (get_local $7)
+ )
+ (if
+ (i32.eq
+ (i32.and
+ (if
+ (i32.eq
+ (i32.and
+ (set_local $1
+ (i32.load
+ (get_local $0)
)
- (i32.const 32)
)
- (i32.const 0)
+ (i32.const 32)
)
- (block
- (call $___fwritex
- (get_local $39)
- (get_local $6)
- (get_local $0)
- )
- (i32.load
- (get_local $0)
- )
+ (i32.const 0)
+ )
+ (block
+ (call $___fwritex
+ (get_local $39)
+ (get_local $6)
+ (get_local $0)
+ )
+ (i32.load
+ (get_local $0)
)
- (get_local $1)
)
- (i32.const 32)
+ (get_local $1)
)
- (i32.const 0)
- )
- (call $___fwritex
- (get_local $8)
- (i32.const 3)
- (get_local $0)
+ (i32.const 32)
)
+ (i32.const 0)
)
- (call $_pad
+ (call $___fwritex
+ (get_local $8)
+ (i32.const 3)
(get_local $0)
- (i32.const 32)
- (get_local $16)
- (get_local $5)
- (i32.xor
- (get_local $18)
- (i32.const 8192)
- )
)
- (select
- (get_local $16)
+ )
+ (call $_pad
+ (get_local $0)
+ (i32.const 32)
+ (get_local $16)
+ (get_local $5)
+ (i32.xor
+ (get_local $18)
+ (i32.const 8192)
+ )
+ )
+ (select
+ (get_local $16)
+ (get_local $5)
+ (i32.lt_s
(get_local $5)
- (i32.lt_s
- (get_local $5)
- (get_local $16)
- )
+ (get_local $16)
)
)
)
)
)
- (set_local $8
- (get_local $21)
- )
- (br $label$continue$L1)
- )
- (set_local $47
- (get_local $20)
- )
- (set_local $37
- (get_local $18)
- )
- (set_local $42
- (get_local $10)
)
- (set_local $43
- (i32.const 0)
- )
- (set_local $48
- (i32.const 4091)
- )
- (set_local $49
- (get_local $28)
+ (set_local $8
+ (get_local $21)
)
+ (br $label$continue$L1)
+ )
+ (set_local $47
+ (get_local $20)
+ )
+ (set_local $37
+ (get_local $18)
+ )
+ (set_local $42
+ (get_local $10)
+ )
+ (set_local $43
+ (i32.const 0)
+ )
+ (set_local $48
+ (i32.const 4091)
+ )
+ (set_local $49
+ (get_local $28)
)
)
(block $label$break$L308
diff --git a/test/example/c-api-kitchen-sink.txt b/test/example/c-api-kitchen-sink.txt
index 0d27fa464..64f5fc3b4 100644
--- a/test/example/c-api-kitchen-sink.txt
+++ b/test/example/c-api-kitchen-sink.txt
@@ -904,19 +904,17 @@ optimized:
)
)
(func $loop-tail (type $v)
- (block $block$3$break
- (loop $shape$0$continue
- (call_import $check
- (i32.const 0)
- )
- (call_import $check
- (i32.const 1)
- )
- (if
- (i32.const 10)
- (br $shape$0$continue)
- (br $block$3$break)
- )
+ (loop $block$3$break $shape$0$continue
+ (call_import $check
+ (i32.const 0)
+ )
+ (call_import $check
+ (i32.const 1)
+ )
+ (if
+ (i32.const 10)
+ (br $shape$0$continue)
+ (br $block$3$break)
)
)
(call_import $check
@@ -928,22 +926,20 @@ optimized:
(i32.const 0)
)
(block $block$7$break
- (block $block$4$break
- (loop $shape$1$continue
- (call_import $check
- (i32.const 1)
- )
- (br_if $block$7$break
- (i32.const 0)
- )
- (call_import $check
- (i32.const 2)
- )
- (if
- (i32.const -6)
- (br $block$4$break)
- (br $shape$1$continue)
- )
+ (loop $block$4$break $shape$1$continue
+ (call_import $check
+ (i32.const 1)
+ )
+ (br_if $block$7$break
+ (i32.const 0)
+ )
+ (call_import $check
+ (i32.const 2)
+ )
+ (if
+ (i32.const -6)
+ (br $block$4$break)
+ (br $shape$1$continue)
)
)
(call_import $check
@@ -2751,19 +2747,17 @@ optimized:
)
)
(func $loop-tail (type $v)
- (block $block$3$break
- (loop $shape$0$continue
- (call_import $check
- (i32.const 0)
- )
- (call_import $check
- (i32.const 1)
- )
- (if
- (i32.const 10)
- (br $shape$0$continue)
- (br $block$3$break)
- )
+ (loop $block$3$break $shape$0$continue
+ (call_import $check
+ (i32.const 0)
+ )
+ (call_import $check
+ (i32.const 1)
+ )
+ (if
+ (i32.const 10)
+ (br $shape$0$continue)
+ (br $block$3$break)
)
)
(call_import $check
@@ -2775,22 +2769,20 @@ optimized:
(i32.const 0)
)
(block $block$7$break
- (block $block$4$break
- (loop $shape$1$continue
- (call_import $check
- (i32.const 1)
- )
- (br_if $block$7$break
- (i32.const 0)
- )
- (call_import $check
- (i32.const 2)
- )
- (if
- (i32.const -6)
- (br $block$4$break)
- (br $shape$1$continue)
- )
+ (loop $block$4$break $shape$1$continue
+ (call_import $check
+ (i32.const 1)
+ )
+ (br_if $block$7$break
+ (i32.const 0)
+ )
+ (call_import $check
+ (i32.const 2)
+ )
+ (if
+ (i32.const -6)
+ (br $block$4$break)
+ (br $shape$1$continue)
)
)
(call_import $check
diff --git a/test/example/c-api-kitchen-sink.txt.txt b/test/example/c-api-kitchen-sink.txt.txt
index 0ba8ccf94..96cbaaa00 100644
--- a/test/example/c-api-kitchen-sink.txt.txt
+++ b/test/example/c-api-kitchen-sink.txt.txt
@@ -897,19 +897,17 @@
)
)
(func $loop-tail (type $v)
- (block $block$3$break
- (loop $shape$0$continue
- (call_import $check
- (i32.const 0)
- )
- (call_import $check
- (i32.const 1)
- )
- (if
- (i32.const 10)
- (br $shape$0$continue)
- (br $block$3$break)
- )
+ (loop $block$3$break $shape$0$continue
+ (call_import $check
+ (i32.const 0)
+ )
+ (call_import $check
+ (i32.const 1)
+ )
+ (if
+ (i32.const 10)
+ (br $shape$0$continue)
+ (br $block$3$break)
)
)
(call_import $check
@@ -921,22 +919,20 @@
(i32.const 0)
)
(block $block$7$break
- (block $block$4$break
- (loop $shape$1$continue
- (call_import $check
- (i32.const 1)
- )
- (br_if $block$7$break
- (i32.const 0)
- )
- (call_import $check
- (i32.const 2)
- )
- (if
- (i32.const -6)
- (br $block$4$break)
- (br $shape$1$continue)
- )
+ (loop $block$4$break $shape$1$continue
+ (call_import $check
+ (i32.const 1)
+ )
+ (br_if $block$7$break
+ (i32.const 0)
+ )
+ (call_import $check
+ (i32.const 2)
+ )
+ (if
+ (i32.const -6)
+ (br $block$4$break)
+ (br $shape$1$continue)
)
)
(call_import $check
diff --git a/test/passes/remove-unused-names.txt b/test/passes/remove-unused-names.txt
index ed9e4b53f..74cde2f1a 100644
--- a/test/passes/remove-unused-names.txt
+++ b/test/passes/remove-unused-names.txt
@@ -29,10 +29,32 @@
(br $in)
)
)
- (loop $in
- (block $out
- (br $out)
- (br $in)
+ (loop $out $in
+ (br $out)
+ (br $in)
+ )
+ (loop $out $in
+ (br $out)
+ (br $in)
+ )
+ (loop $out $in
+ (br $out)
+ (br $in)
+ )
+ )
+ (func $merges
+ (block $b
+ (br $b)
+ (br $b)
+ )
+ (block $b
+ (br_table $b $b
+ (i32.const 3)
+ )
+ )
+ (block $b
+ (br_table $b $b
+ (i32.const 3)
)
)
)
diff --git a/test/passes/remove-unused-names.wast b/test/passes/remove-unused-names.wast
index 5e1ba5fd5..9423b2675 100644
--- a/test/passes/remove-unused-names.wast
+++ b/test/passes/remove-unused-names.wast
@@ -37,6 +37,36 @@
(br $in)
)
)
+ (loop $in
+ (block $out
+ (br $out)
+ (br $in)
+ )
+ )
+ (block $out
+ (loop $in
+ (br $out)
+ (br $in)
+ )
+ )
+ )
+ (func $merges
+ (block $a
+ (block $b
+ (br $a)
+ (br $b)
+ )
+ )
+ (block $a
+ (block $b
+ (br_table $a $b (i32.const 3))
+ )
+ )
+ (block $a
+ (block $b
+ (br_table $b $a (i32.const 3))
+ )
+ )
)
)
diff --git a/test/unit.fromasm b/test/unit.fromasm
index e4a2ec488..f939782e7 100644
--- a/test/unit.fromasm
+++ b/test/unit.fromasm
@@ -143,30 +143,28 @@
(i32.const 51)
)
)
- (block $label$break$Lout
- (block $switch-default$16
- (block $switch-case$15
- (block $switch-case$12
- (block $switch-case$9
- (block $switch-case$8
- (br_table $switch-case$15 $switch-default$16 $switch-default$16 $switch-case$12 $switch-default$16 $switch-default$16 $switch-default$16 $switch-default$16 $switch-case$9 $switch-default$16 $switch-case$8 $switch-default$16
- (i32.sub
- (get_local $0)
- (i32.const 2)
- )
+ (block $switch-default$16
+ (block $switch-case$15
+ (block $switch-case$12
+ (block $switch-case$9
+ (block $switch-case$8
+ (br_table $switch-case$15 $switch-default$16 $switch-default$16 $switch-case$12 $switch-default$16 $switch-default$16 $switch-default$16 $switch-default$16 $switch-case$9 $switch-default$16 $switch-case$8 $switch-default$16
+ (i32.sub
+ (get_local $0)
+ (i32.const 2)
)
)
- (br $label$break$Lout)
)
- (br $label$break$Lout)
- )
- (block $while-out$10
+ (br $switch-default$16)
)
- (br $label$break$Lout)
+ (br $switch-default$16)
)
- (loop
- (br $label$break$Lout)
+ (block $while-out$10
)
+ (br $switch-default$16)
+ )
+ (loop
+ (br $switch-default$16)
)
)
(loop $label$break$L1 $label$continue$L1
diff --git a/test/unit.fromasm.imprecise b/test/unit.fromasm.imprecise
index 81ce89a88..f80f4ce6c 100644
--- a/test/unit.fromasm.imprecise
+++ b/test/unit.fromasm.imprecise
@@ -133,30 +133,28 @@
(i32.const 51)
)
)
- (block $label$break$Lout
- (block $switch-default$16
- (block $switch-case$15
- (block $switch-case$12
- (block $switch-case$9
- (block $switch-case$8
- (br_table $switch-case$15 $switch-default$16 $switch-default$16 $switch-case$12 $switch-default$16 $switch-default$16 $switch-default$16 $switch-default$16 $switch-case$9 $switch-default$16 $switch-case$8 $switch-default$16
- (i32.sub
- (get_local $0)
- (i32.const 2)
- )
+ (block $switch-default$16
+ (block $switch-case$15
+ (block $switch-case$12
+ (block $switch-case$9
+ (block $switch-case$8
+ (br_table $switch-case$15 $switch-default$16 $switch-default$16 $switch-case$12 $switch-default$16 $switch-default$16 $switch-default$16 $switch-default$16 $switch-case$9 $switch-default$16 $switch-case$8 $switch-default$16
+ (i32.sub
+ (get_local $0)
+ (i32.const 2)
)
)
- (br $label$break$Lout)
)
- (br $label$break$Lout)
- )
- (block $while-out$10
+ (br $switch-default$16)
)
- (br $label$break$Lout)
+ (br $switch-default$16)
)
- (loop
- (br $label$break$Lout)
+ (block $while-out$10
)
+ (br $switch-default$16)
+ )
+ (loop
+ (br $switch-default$16)
)
)
(loop $label$break$L1 $label$continue$L1