summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2017-06-28 22:05:05 -0700
committerGitHub <noreply@github.com>2017-06-28 22:05:05 -0700
commite488da5adbef2613c08fe205db5b79b1765a4af3 (patch)
treee3cab840dcbf7d8d4ccf1f47a742fbfc41e1d5ef
parente2c08d42ab0ffc05d980ae2d34fee0e77b201134 (diff)
downloadbinaryen-e488da5adbef2613c08fe205db5b79b1765a4af3.tar.gz
binaryen-e488da5adbef2613c08fe205db5b79b1765a4af3.tar.bz2
binaryen-e488da5adbef2613c08fe205db5b79b1765a4af3.zip
Code folding (#1076)
Adds a pass that folds code, i.e. merges it when possible. See details in comment in the pass implementation cpp. This is enabled by default in -Os and -Oz. Seems risky to enable anywhere else, as it does add branches - likely predictable ones so maybe no slowdown, but still some risk. Code size numbers: wasm-backend: 196331 + binaryen -Os (before): 182598 + binaryen -Os (with folding): 181943 asm2wasm -Os (before): 172463 asm2wasm -Os (with folding): 168774 So this reduces wasm-backend output by an additional 0.5% than it could before. Mainly this is because the wasm backend already has code folding, whereas on asm2wasm output, where we didn't have folding before, this saves over 2%. The 0.5% improvement on the wasm backend's output might be because this can fold more types of code than LLVM can (it can fold nested control flow, in particular).
-rw-r--r--src/ast/branch-utils.h55
-rw-r--r--src/ast/label-utils.h62
-rw-r--r--src/mixed_arena.h4
-rw-r--r--src/pass.h23
-rw-r--r--src/passes/CMakeLists.txt2
-rw-r--r--src/passes/CodeFolding.cpp603
-rw-r--r--src/passes/NameManager.cpp80
-rw-r--r--src/passes/pass.cpp7
-rw-r--r--src/passes/passes.h2
-rw-r--r--src/wasm-traversal.h2
-rw-r--r--test/emcc_hello_world.fromasm8016
-rw-r--r--test/emcc_hello_world.fromasm.clamp8016
-rw-r--r--test/emcc_hello_world.fromasm.imprecise8016
-rw-r--r--test/memorygrowth.fromasm8459
-rw-r--r--test/memorygrowth.fromasm.clamp8459
-rw-r--r--test/memorygrowth.fromasm.imprecise8459
-rw-r--r--test/passes/remove-unused-names_code-folding.txt1681
-rw-r--r--test/passes/remove-unused-names_code-folding.wast1176
-rw-r--r--test/wasm-only.fromasm25
-rw-r--r--test/wasm-only.fromasm.clamp25
-rw-r--r--test/wasm-only.fromasm.imprecise25
21 files changed, 28204 insertions, 24993 deletions
diff --git a/src/ast/branch-utils.h b/src/ast/branch-utils.h
index a54b8151f..bdf52d36a 100644
--- a/src/ast/branch-utils.h
+++ b/src/ast/branch-utils.h
@@ -18,6 +18,7 @@
#define wasm_ast_branch_h
#include "wasm.h"
+#include "wasm-traversal.h"
namespace wasm {
@@ -36,6 +37,60 @@ inline bool isBranchTaken(Switch* sw) {
sw->condition->type != unreachable;
}
+// returns the set of targets to which we branch that are
+// outside of a node
+inline std::set<Name> getExitingBranches(Expression* ast) {
+ struct Scanner : public PostWalker<Scanner> {
+ std::set<Name> targets;
+
+ void visitBreak(Break* curr) {
+ targets.insert(curr->name);
+ }
+ void visitSwitch(Switch* curr) {
+ for (auto target : targets) {
+ targets.insert(target);
+ }
+ targets.insert(curr->default_);
+ }
+ void visitBlock(Block* curr) {
+ if (curr->name.is()) {
+ targets.erase(curr->name);
+ }
+ }
+ void visitLoop(Loop* curr) {
+ if (curr->name.is()) {
+ targets.erase(curr->name);
+ }
+ }
+ };
+ Scanner scanner;
+ scanner.walk(ast);
+ // anything not erased is a branch out
+ return scanner.targets;
+}
+
+// returns the list of all branch targets in a node
+
+inline std::set<Name> getBranchTargets(Expression* ast) {
+ struct Scanner : public PostWalker<Scanner> {
+ std::set<Name> targets;
+
+ void visitBlock(Block* curr) {
+ if (curr->name.is()) {
+ targets.insert(curr->name);
+ }
+ }
+ void visitLoop(Loop* curr) {
+ if (curr->name.is()) {
+ targets.insert(curr->name);
+ }
+ }
+ };
+ Scanner scanner;
+ scanner.walk(ast);
+ return scanner.targets;
+}
+
} // namespace BranchUtils
} // namespace wasm
diff --git a/src/ast/label-utils.h b/src/ast/label-utils.h
new file mode 100644
index 000000000..6ec9ecf5d
--- /dev/null
+++ b/src/ast/label-utils.h
@@ -0,0 +1,62 @@
+/*
+ * Copyright 2017 WebAssembly Community Group participants
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef wasm_ast_label_h
+#define wasm_ast_label_h
+
+#include "wasm.h"
+#include "wasm-traversal.h"
+
+namespace wasm {
+
+namespace LabelUtils {
+
+// Handles branch/loop labels in a function; makes it easy to add new
+// ones without duplicates
+class LabelManager : public PostWalker<LabelManager> {
+public:
+ LabelManager(Function* func) {
+ walkFunction(func);
+ }
+
+ Name getUnique(std::string prefix) {
+ while (1) {
+ auto curr = Name(prefix + std::to_string(counter++));
+ if (labels.find(curr) == labels.end()) {
+ labels.insert(curr);
+ return curr;
+ }
+ }
+ }
+
+ void visitBlock(Block* curr) {
+ labels.insert(curr->name);
+ }
+ void visitLoop(Loop* curr) {
+ labels.insert(curr->name);
+ }
+
+private:
+ std::set<Name> labels;
+ size_t counter = 0;
+};
+
+} // namespace LabelUtils
+
+} // namespace wasm
+
+#endif // wasm_ast_label_h
+
diff --git a/src/mixed_arena.h b/src/mixed_arena.h
index af585092e..47e718454 100644
--- a/src/mixed_arena.h
+++ b/src/mixed_arena.h
@@ -172,6 +172,10 @@ public:
return usedElements;
}
+ bool empty() const {
+ return size() == 0;
+ }
+
void resize(size_t size) {
if (size > allocatedElements) {
reallocate(size);
diff --git a/src/pass.h b/src/pass.h
index 198d5dcb5..21836ebf9 100644
--- a/src/pass.h
+++ b/src/pass.h
@@ -237,29 +237,6 @@ public:
// but registering them here in addition allows them to communicate
// e.g. through PassRunner::getLast
-// Handles names in a module, in particular adding names without duplicates
-class NameManager : public WalkerPass<PostWalker<NameManager>> {
- public:
- Name getUnique(std::string prefix);
- // TODO: getUniqueInFunction
-
- // visitors
- void visitBlock(Block* curr);
- void visitLoop(Loop* curr);
- void visitBreak(Break* curr);
- void visitSwitch(Switch* curr);
- void visitCall(Call* curr);
- void visitCallImport(CallImport* curr);
- void visitFunctionType(FunctionType* curr);
- void visitFunction(Function* curr);
- void visitImport(Import* curr);
- void visitExport(Export* curr);
-
-private:
- std::set<Name> names;
- size_t counter = 0;
-};
-
// Prints out a module
class Printer : public Pass {
protected:
diff --git a/src/passes/CMakeLists.txt b/src/passes/CMakeLists.txt
index d05390d45..7c0166786 100644
--- a/src/passes/CMakeLists.txt
+++ b/src/passes/CMakeLists.txt
@@ -2,6 +2,7 @@ SET(passes_SOURCES
pass.cpp
CoalesceLocals.cpp
CodePushing.cpp
+ CodeFolding.cpp
DeadCodeElimination.cpp
DuplicateFunctionElimination.cpp
ExtractFunction.cpp
@@ -15,7 +16,6 @@ SET(passes_SOURCES
MemoryPacking.cpp
MergeBlocks.cpp
Metrics.cpp
- NameManager.cpp
NameList.cpp
OptimizeInstructions.cpp
PickLoadSigns.cpp
diff --git a/src/passes/CodeFolding.cpp b/src/passes/CodeFolding.cpp
new file mode 100644
index 000000000..ae2f81283
--- /dev/null
+++ b/src/passes/CodeFolding.cpp
@@ -0,0 +1,603 @@
+/*
+ * Copyright 2017 WebAssembly Community Group participants
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+//
+// Folds duplicate code together, saving space.
+//
+// We fold tails of code where they merge and moving the code
+// to the merge point is helpful. There are two cases here: (1) expressions,
+// in which we merge to right after the expression itself, in these cases:
+// * blocks, we merge the fallthrough + the breaks
+// * if-else, we merge the arms
+// and (2) the function body as a whole, in which we can merge returns or
+// unreachables, putting the merged code at the end of the function body.
+//
+// For example, with an if-else, we might merge this:
+// (if (condition)
+// (block
+// A
+// C
+// )
+// (block
+// B
+// C
+// )
+// )
+// to
+// (if (condition)
+// (block
+// A
+// )
+// (block
+// B
+// )
+// )
+// C
+//
+// Note that the merged code, C in the example above, can be anything,
+// including code with control flow. If C is identical in all the locations,
+// then it must be safe to merge (if it contains a branch to something
+// higher up, then since our branch target names are unique, it must be
+// to the same thing, and after merging it can still reach it).
+//
+
+#include <iterator>
+
+#include "wasm.h"
+#include "pass.h"
+#include "wasm-builder.h"
+#include "ast_utils.h"
+#include "ast/branch-utils.h"
+#include "ast/label-utils.h"
+
+namespace wasm {
+
+static const Index WORTH_ADDING_BLOCK_TO_REMOVE_THIS_MUCH = 3;
+
+struct ExpressionMarker : public PostWalker<ExpressionMarker, UnifiedExpressionVisitor<ExpressionMarker>> {
+ std::set<Expression*>& marked;
+
+ ExpressionMarker(std::set<Expression*>& marked, Expression* expr) : marked(marked) {
+ walk(expr);
+ }
+
+ void visitExpression(Expression* expr) {
+ marked.insert(expr);
+ }
+};
+
+struct CodeFolding : public WalkerPass<ControlFlowWalker<CodeFolding>> {
+ bool isFunctionParallel() override { return true; }
+
+ Pass* create() override { return new CodeFolding; }
+
+ // information about a "tail" - code that reaches a point that we can
+ // merge (e.g., a branch and some code leading up to it)
+ struct Tail {
+ Expression* expr; // nullptr if this is a fallthrough
+ Block* block; // the enclosing block of code we hope to merge at its tail
+ Expression** pointer; // for an expr with no parent block, the location it is at, so we can replace it
+
+ // For a fallthrough
+ Tail(Block* block) : expr(nullptr), block(block), pointer(nullptr) {}
+ // For a break
+ Tail(Expression* expr, Block* block) : expr(expr), block(block), pointer(nullptr) {
+ validate();
+ }
+ Tail(Expression* expr, Expression** pointer) : expr(expr), block(nullptr), pointer(pointer) {}
+
+ bool isFallthrough() const { return expr == nullptr; }
+
+ void validate() const {
+ if (expr && block) {
+ assert(block->list.back() == expr);
+ }
+ }
+ };
+
+ // state
+
+ bool anotherPass;
+
+ // pass state
+
+ std::map<Name, std::vector<Tail>> breakTails; // break target name => tails that reach it
+ std::vector<Tail> unreachableTails; // tails leading to (unreachable)
+ std::vector<Tail> returnTails; // tails leading to (return)
+ std::set<Name> unoptimizables; // break target names that we can't handle
+ std::set<Expression*> modifieds; // modified code should not be processed again, wait for next pass
+
+ // walking
+
+ void visitBreak(Break* curr) {
+ if (curr->condition || curr->value) {
+ unoptimizables.insert(curr->name);
+ } else {
+ // we can only optimize if we are at the end of the parent block
+ Block* parent = controlFlowStack.back()->dynCast<Block>();
+ if (parent && curr == parent->list.back()) {
+ breakTails[curr->name].push_back(Tail(curr, parent));
+ } else {
+ unoptimizables.insert(curr->name);
+ }
+ }
+ }
+
+ void visitSwitch(Switch* curr) {
+ for (auto target : curr->targets) {
+ unoptimizables.insert(target);
+ }
+ unoptimizables.insert(curr->default_);
+ }
+
+ void visitUnreachable(Unreachable* curr) {
+ // we can only optimize if we are at the end of the parent block
+ if (!controlFlowStack.empty()) {
+ Block* parent = controlFlowStack.back()->dynCast<Block>();
+ if (parent && curr == parent->list.back()) {
+ unreachableTails.push_back(Tail(curr, parent));
+ }
+ }
+ }
+
+ void visitReturn(Return* curr) {
+ if (!controlFlowStack.empty()) {
+ // we can easily optimize if we are at the end of the parent block
+ Block* parent = controlFlowStack.back()->dynCast<Block>();
+ if (parent && curr == parent->list.back()) {
+ returnTails.push_back(Tail(curr, parent));
+ return;
+ }
+ }
+ // otherwise, if we have a large value, it might be worth optimizing us as well
+ returnTails.push_back(Tail(curr, getCurrentPointer()));
+ }
+
+ void visitBlock(Block* curr) {
+ if (!curr->name.is()) return;
+ if (unoptimizables.count(curr->name) > 0) return;
+ auto iter = breakTails.find(curr->name);
+ if (iter == breakTails.end()) return;
+ // looks promising
+ auto& tails = iter->second;
+ // see if there is a fallthrough
+ bool hasFallthrough = true;
+ for (auto* child : curr->list) {
+ if (child->type == unreachable) {
+ hasFallthrough = false;
+ }
+ }
+ if (hasFallthrough) {
+ tails.push_back({ Tail(curr) });
+ }
+ optimizeExpressionTails(tails, curr);
+ }
+
+ void visitIf(If* curr) {
+ if (!curr->ifFalse) return;
+ // if both sides are identical, this is easy to fold
+ // (except if the condition is unreachable and we return a value, then we can't just replace
+ // outselves with a drop
+ if (ExpressionAnalyzer::equal(curr->ifTrue, curr->ifFalse)) {
+ Builder builder(*getModule());
+ // remove if (4 bytes), remove one arm, add drop (1), add block (3),
+ // so this must be a net savings
+ markAsModified(curr);
+ auto* ret = builder.makeSequence(
+ builder.makeDrop(curr->condition),
+ curr->ifTrue
+ );
+ // we must ensure we present the same type as the if had
+ ret->finalize(curr->type);
+ replaceCurrent(ret);
+ } else {
+ // if both are blocks, look for a tail we can merge
+ auto* left = curr->ifTrue->dynCast<Block>();
+ auto* right = curr->ifFalse->dynCast<Block>();
+ // we need nameless blocks, as if there is a name, someone might branch
+ // to the end, skipping the code we want to merge
+ if (left && right &&
+ !left->name.is() && !right->name.is()) {
+ std::vector<Tail> tails = { Tail(left), Tail(right) };
+ optimizeExpressionTails(tails, curr);
+ }
+ }
+ }
+
+ void doWalkFunction(Function* func) {
+ anotherPass = true;
+ while (anotherPass) {
+ anotherPass = false;
+ WalkerPass<ControlFlowWalker<CodeFolding>>::doWalkFunction(func);
+ optimizeTerminatingTails(unreachableTails);
+ // optimize returns at the end, so we can benefit from a fallthrough if there is a value TODO: separate passes for them?
+ optimizeTerminatingTails(returnTails);
+ // TODO add fallthrough for returns
+ // TODO optimzier returns not in blocks, a big return value can be worth it
+ // clean up
+ breakTails.clear();
+ unreachableTails.clear();
+ returnTails.clear();
+ unoptimizables.clear();
+ modifieds.clear();
+ }
+ }
+
+private:
+ // check if we can move a list of items out of another item. we can't do so
+ // if one of the items has a branch to something inside outOf that is not
+ // inside that item
+ bool canMove(const std::vector<Expression*>& items, Expression* outOf) {
+ auto allTargets = BranchUtils::getBranchTargets(outOf);
+ for (auto* item : items) {
+ auto exiting = BranchUtils::getExitingBranches(item);
+ std::vector<Name> intersection;
+ std::set_intersection(allTargets.begin(), allTargets.end(), exiting.begin(), exiting.end(),
+ std::back_inserter(intersection));
+ if (intersection.size() > 0) {
+ // anything exiting that is in all targets is something bad
+ return false;
+ }
+ }
+ return true;
+ }
+
+ // optimize tails that reach the outside of an expression. code that is identical in all
+ // paths leading to the block exit can be merged.
+ template<typename T>
+ void optimizeExpressionTails(std::vector<Tail>& tails, T* curr) {
+ if (tails.size() < 2) return;
+ // see if anything is untoward, and we should not do this
+ for (auto& tail : tails) {
+ if (tail.expr && modifieds.count(tail.expr) > 0) return;
+ if (modifieds.count(tail.block) > 0) return;
+ // if we were not modified, then we should be valid for processing
+ tail.validate();
+ }
+ // we can ignore the final br in a tail
+ auto effectiveSize = [&](const Tail& tail) {
+ auto ret = tail.block->list.size();
+ if (!tail.isFallthrough()) {
+ ret--;
+ }
+ return ret;
+ };
+ // the mergeable items do not include the final br in a tail
+ auto getMergeable = [&](const Tail& tail, Index num) {
+ return tail.block->list[effectiveSize(tail) - num - 1];
+ };
+ // we are going to remove duplicate elements and add a block.
+ // so for this to make sense, we need the size of the duplicate
+ // elements to be worth that extra block (although, there is
+ // some chance the block would get merged higher up, see later)
+ std::vector<Expression*> mergeable; // the elements we can merge
+ Index num = 0; // how many elements back from the tail to look at
+ Index saved = 0; // how much we can save
+ while (1) {
+ // check if this num is still relevant
+ bool stop = false;
+ for (auto& tail : tails) {
+ assert(tail.block);
+ if (num >= effectiveSize(tail)) {
+ // one of the lists is too short
+ stop = true;
+ break;
+ }
+ }
+ if (stop) break;
+ auto* item = getMergeable(tails[0], num);
+ for (auto& tail : tails) {
+ if (!ExpressionAnalyzer::equal(item, getMergeable(tail, num))) {
+ // one of the lists has a different item
+ stop = true;
+ break;
+ }
+ }
+ if (stop) break;
+ // we may have found another one we can merge - can we move it?
+ if (!canMove({ item }, curr)) break;
+ // we found another one we can merge
+ mergeable.push_back(item);
+ num++;
+ saved += Measurer::measure(item);
+ }
+ if (saved == 0) return;
+ // we may be able to save enough.
+ if (saved < WORTH_ADDING_BLOCK_TO_REMOVE_THIS_MUCH) {
+ // it's not obvious we can save enough. see if we get rid
+ // of a block, that would justify this
+ bool willEmptyBlock = false;
+ for (auto& tail : tails) {
+ // it is enough to zero out the block, or leave just one
+ // element, as then the block can be replaced with that
+ if (num >= tail.block->list.size() - 1) {
+ willEmptyBlock = true;
+ break;
+ }
+ }
+ if (!willEmptyBlock) {
+ // last chance, if our parent is a block, then it should be
+ // fine to create a new block here, it will be merged up
+ assert(curr == controlFlowStack.back()); // we are an if or a block, at the top
+ if (controlFlowStack.size() <= 1) {
+ return; // no parent at all
+ // TODO: if we are the toplevel in the function, then in the binary format
+ // we might avoid emitting a block, so the same logic applies here?
+ }
+ auto* parent = controlFlowStack[controlFlowStack.size() - 2]->dynCast<Block>();
+ if (!parent) {
+ return; // parent is not a block
+ }
+ bool isChild = false;
+ for (auto* child : parent->list) {
+ if (child == curr) {
+ isChild = true;
+ break;
+ }
+ }
+ if (!isChild) {
+ return; // not a child, something in between
+ }
+ }
+ }
+ // this is worth doing, do it!
+ for (auto& tail : tails) {
+ // remove the items we are merging / moving
+ // first, mark them as modified, so we don't try to handle them
+ // again in this pass, which might be buggy
+ markAsModified(tail.block);
+ // we must preserve the br if there is one
+ Expression* last = nullptr;
+ if (!tail.isFallthrough()) {
+ last = tail.block->list.back();
+ tail.block->list.pop_back();
+ }
+ for (Index i = 0; i < mergeable.size(); i++) {
+ tail.block->list.pop_back();
+ }
+ if (!tail.isFallthrough()) {
+ tail.block->list.push_back(last);
+ }
+ // the blocks lose their endings, so any values are gone, and the blocks
+ // are now either none or unreachable
+ tail.block->finalize();
+ }
+ // since we managed a merge, then it might open up more opportunities later
+ anotherPass = true;
+ // make a block with curr + the merged code
+ Builder builder(*getModule());
+ auto* block = builder.makeBlock();
+ block->list.push_back(curr);
+ while (!mergeable.empty()) {
+ block->list.push_back(mergeable.back());
+ mergeable.pop_back();
+ }
+ auto oldType = curr->type;
+ // NB: we template-specialize so that this calls the proper finalizer for
+ // the type
+ curr->finalize();
+ // ensure the replacement has the same type, so the outside is not surprised
+ block->finalize(oldType);
+ replaceCurrent(block);
+ }
+
+ // optimize tails that terminate control flow in this function, so we
+ // are (1) merge just a few of them, we don't need all like with the
+ // branches to a block, and (2) we do it on the function body.
+ // num is the depth, i.e., how many tail items we can merge. 0 means
+ // we are just starting; num > 0 means that tails is guaranteed to be
+ // equal in the last num items, so we can merge there, but we look for
+ // deeper merges first.
+ // returns whether we optimized something.
+ bool optimizeTerminatingTails(std::vector<Tail>& tails, Index num = 0) {
+ if (tails.size() < 2) return false;
+ // remove things that are untoward and cannot be optimized
+ tails.erase(std::remove_if(tails.begin(), tails.end(), [&](Tail& tail) {
+ if (tail.expr && modifieds.count(tail.expr) > 0) return true;
+ if (tail.block && modifieds.count(tail.block) > 0) return true;
+ // if we were not modified, then we should be valid for processing
+ tail.validate();
+ return false;
+ }), tails.end());
+ // now let's try to find subsets that are mergeable. we don't look hard
+ // for the most optimal; further passes may find more
+ // effectiveSize: TODO: special-case fallthrough, matters for returns
+ auto effectiveSize = [&](Tail& tail) -> Index {
+ if (tail.block) {
+ return tail.block->list.size();
+ } else {
+ return 1;
+ }
+ };
+ // getItem: returns the relevant item from the tail. this includes the
+ // final item
+ // TODO: special-case fallthrough, matters for returns
+ auto getItem = [&](Tail& tail, Index num) {
+ if (tail.block) {
+ return tail.block->list[effectiveSize(tail) - num - 1];
+ } else {
+ return tail.expr;
+ }
+ };
+ // gets the tail elements of a certain depth
+ auto getTailItems = [&](Index num, std::vector<Tail>& tails) {
+ std::vector<Expression*> items;
+ for (Index i = 0; i < num; i++) {
+ auto item = getItem(tails[0], i);
+ items.push_back(item);
+ }
+ return items;
+ };
+ // estimate if a merging is worth the cost
+ auto worthIt = [&](Index num, std::vector<Tail>& tails) {
+ auto items = getTailItems(num, tails); // the elements we can merge
+ Index saved = 0; // how much we can save
+ for (auto* item : items) {
+ saved += Measurer::measure(item) * (tails.size() - 1);
+ }
+ // compure the cost: in non-fallthroughs, we are replacing the final
+ // element with a br; for a fallthrough, if there is one, we must
+ // add a return element (for the function body, so it doesn't reach us)
+ // TODO: handle fallthroughts for return
+ Index cost = tails.size();
+ // we also need to add two blocks: for us to break to, and to contain
+ // that block and the merged code. very possibly one of the blocks
+ // can be removed, though
+ cost += WORTH_ADDING_BLOCK_TO_REMOVE_THIS_MUCH;
+ // if we cannot merge to the end, then we definitely need 2 blocks,
+ // and a branch
+ if (!canMove(items, getFunction()->body)) { // TODO: efficiency, entire body
+ cost += 1 + WORTH_ADDING_BLOCK_TO_REMOVE_THIS_MUCH;
+ // TODO: to do this, we need to maintain a map of element=>parent,
+ // so that we can insert the new blocks in the right place
+ // for now, just don't do this optimization
+ return false;
+ }
+ // is it worth it?
+ return saved > cost;
+ };
+ // let's see if we can merge deeper than num, to num + 1
+ auto next = tails;
+ // remove tails that are too short
+ next.erase(std::remove_if(next.begin(), next.end(), [&](Tail& tail) {
+ return effectiveSize(tail) < num + 1;
+ }), next.end());
+ // if we have enough to investigate, do so
+ if (next.size() >= 2) {
+ // now we want to find a mergeable item - any item that is equal among a subset
+ std::map<uint32_t, std::vector<Expression*>> hashed; // hash value => expressions with that hash
+ for (auto& tail : next) {
+ auto* item = getItem(tail, num);
+ hashed[ExpressionAnalyzer::hash(item)].push_back(item);
+ }
+ for (auto& iter : hashed) {
+ auto& items = iter.second;
+ if (items.size() == 1) continue;
+ assert(items.size() > 0);
+ // look for an item that has another match.
+ while (items.size() >= 2) {
+ auto first = items[0];
+ std::vector<Expression*> others;
+ items.erase(std::remove_if(items.begin(), items.end(), [&](Expression* item) {
+ if (item == first || // don't bother comparing the first
+ ExpressionAnalyzer::equal(item, first)) {
+ // equal, keep it
+ return false;
+ } else {
+ // unequal, look at it later
+ others.push_back(item);
+ return true;
+ }
+ }), items.end());
+ if (items.size() >= 2) {
+ // possible merge here, investigate it
+ auto* correct = items[0];
+ auto explore = next;
+ explore.erase(std::remove_if(explore.begin(), explore.end(), [&](Tail& tail) {
+ auto* item = getItem(tail, num);
+ return !ExpressionAnalyzer::equal(item, correct);
+ }), explore.end());
+ // try to optimize this deeper tail. if we succeed, then stop here, as the
+ // changes may influence us. we leave further opts to further passes (as this
+ // is rare in practice, it's generally not a perf issue, but TODO optimize)
+ if (optimizeTerminatingTails(explore, num + 1)) {
+ return true;
+ }
+ }
+ items.swap(others);
+ }
+ }
+ }
+ // we explored deeper (higher num) options, but perhaps there
+ // was nothing there while there is something we can do at this level
+ // but if we are at num == 0, then we found nothing at all
+ if (num == 0) return false;
+ // if not worth it, stop
+ if (!worthIt(num, tails)) return false;
+ // this is worth doing, do it!
+ auto mergeable = getTailItems(num, tails); // the elements we can merge
+ // since we managed a merge, then it might open up more opportunities later
+ anotherPass = true;
+ Builder builder(*getModule());
+ LabelUtils::LabelManager labels(getFunction()); // TODO: don't create one per merge, linear in function size
+ Name innerName = labels.getUnique("folding-inner");
+ for (auto& tail : tails) {
+ // remove the items we are merging / moving, and add a break
+ // also mark as modified, so we don't try to handle them
+ // again in this pass, which might be buggy
+ if (tail.block) {
+ markAsModified(tail.block);
+ for (Index i = 0; i < mergeable.size(); i++) {
+ tail.block->list.pop_back();
+ }
+ tail.block->list.push_back(builder.makeBreak(innerName));
+ tail.block->finalize(tail.block->type);
+ } else {
+ markAsModified(tail.expr);
+ *tail.pointer = builder.makeBreak(innerName);
+ }
+ }
+ // make a block with the old body + the merged code
+ auto* old = getFunction()->body;
+ auto* inner = builder.makeBlock();
+ inner->name = innerName;
+ if (old->type == unreachable) {
+ // the old body is not flowed out of anyhow, so just put it there
+ inner->list.push_back(old);
+ } else {
+ // otherwise, we must not flow out to the merged code
+ if (old->type == none) {
+ inner->list.push_back(old);
+ inner->list.push_back(builder.makeReturn());
+ } else {
+ // looks like we must return this. but if it's a toplevel block
+ // then it might be marked as having a type, but not actually
+ // returning it (we marked it as such for wasm type-checking
+ // rules, and now it won't be toplevel in the function, it can
+ // change)
+ auto* toplevel = old->dynCast<Block>();
+ if (toplevel) toplevel->finalize();
+ if (old->type != unreachable) {
+ inner->list.push_back(builder.makeReturn(old));
+ } else {
+ inner->list.push_back(old);
+ }
+ }
+ }
+ inner->finalize();
+ auto* outer = builder.makeBlock();
+ outer->list.push_back(inner);
+ while (!mergeable.empty()) {
+ outer->list.push_back(mergeable.back());
+ mergeable.pop_back();
+ }
+ // ensure the replacement has the same type, so the outside is not surprised
+ outer->finalize(getFunction()->result);
+ getFunction()->body = outer;
+ return true;
+ }
+
+ void markAsModified(Expression* curr) {
+ ExpressionMarker marker(modifieds, curr);
+ }
+};
+
+Pass *createCodeFoldingPass() {
+ return new CodeFolding();
+}
+
+} // namespace wasm
+
diff --git a/src/passes/NameManager.cpp b/src/passes/NameManager.cpp
deleted file mode 100644
index 035586a77..000000000
--- a/src/passes/NameManager.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright 2015 WebAssembly Community Group participants
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-//
-// NameManager
-//
-
-#include <wasm.h>
-#include <pass.h>
-
-namespace wasm {
-
-Name NameManager::getUnique(std::string prefix) {
- while (1) {
- Name curr = cashew::IString((prefix + std::to_string(counter++)).c_str(), false);
- if (names.find(curr) == names.end()) {
- names.insert(curr);
- return curr;
- }
- }
-}
-
-void NameManager::visitBlock(Block* curr) {
- names.insert(curr->name);
-}
-void NameManager::visitLoop(Loop* curr) {
- names.insert(curr->name);
-}
-void NameManager::visitBreak(Break* curr) {
- names.insert(curr->name);
-}
-void NameManager::visitSwitch(Switch* curr) {
- names.insert(curr->default_);
- for (auto& target : curr->targets) {
- names.insert(target);
- }
-}
-void NameManager::visitCall(Call* curr) {
- names.insert(curr->target);
-}
-void NameManager::visitCallImport(CallImport* curr) {
- names.insert(curr->target);
-}
-void NameManager::visitFunctionType(FunctionType* curr) {
- names.insert(curr->name);
-}
-void NameManager::visitFunction(Function* curr) {
- names.insert(curr->name);
- for (Index i = 0; i < curr->getNumLocals(); i++) {
- Name name = curr->getLocalNameOrDefault(i);
- if (name.is()) {
- names.insert(name);
- }
- }
-}
-void NameManager::visitImport(Import* curr) {
- names.insert(curr->name);
-}
-void NameManager::visitExport(Export* curr) {
- names.insert(curr->name);
-}
-
-Pass *createNameManagerPass() {
- return new NameManager();
-}
-
-} // namespace wasm
diff --git a/src/passes/pass.cpp b/src/passes/pass.cpp
index 903675b8c..fc0a583fb 100644
--- a/src/passes/pass.cpp
+++ b/src/passes/pass.cpp
@@ -67,6 +67,7 @@ void PassRegistry::registerPasses() {
registerPass("coalesce-locals", "reduce # of locals by coalescing", createCoalesceLocalsPass);
registerPass("coalesce-locals-learning", "reduce # of locals by coalescing and learning", createCoalesceLocalsWithLearningPass);
registerPass("code-pushing", "push code forward, potentially making it not always execute", createCodePushingPass);
+ registerPass("code-folding", "fold code, merging duplicates", createCodeFoldingPass);
registerPass("dce", "removes unreachable code", createDeadCodeEliminationPass);
registerPass("duplicate-function-elimination", "removes duplicate functions", createDuplicateFunctionEliminationPass);
registerPass("extract-function", "leaves just one function (useful for debugging)", createExtractFunctionPass);
@@ -81,7 +82,6 @@ void PassRegistry::registerPasses() {
registerPass("merge-blocks", "merges blocks to their parents", createMergeBlocksPass);
registerPass("metrics", "reports metrics", createMetricsPass);
registerPass("nm", "name list", createNameListPass);
- registerPass("name-manager", "utility pass to manage names in modules", createNameManagerPass);
registerPass("optimize-instructions", "optimizes instruction combinations", createOptimizeInstructionsPass);
registerPass("pick-load-signs", "pick load signs based on their uses", createPickLoadSignsPass);
registerPass("post-emscripten", "miscellaneous optimizations for Emscripten-generated code", createPostEmscriptenPass);
@@ -139,6 +139,9 @@ void PassRunner::addDefaultFunctionOptimizationPasses() {
add("simplify-locals");
add("vacuum"); // previous pass creates garbage
add("reorder-locals");
+ if (options.shrinkLevel >= 1) {
+ add("code-folding");
+ }
add("merge-blocks"); // makes remove-unused-brs more effective
add("remove-unused-brs"); // coalesce-locals opens opportunities for optimizations
add("merge-blocks"); // clean up remove-unused-brs new blocks
@@ -148,7 +151,7 @@ void PassRunner::addDefaultFunctionOptimizationPasses() {
add("local-cse"); // TODO: run this early, before first coalesce-locals. right now doing so uncovers some deficiencies we need to fix first
add("coalesce-locals"); // just for localCSE
}
- add("vacuum"); // should not be needed, last few passes do not create garbage, but just to be safe
+ add("vacuum"); // just to be safe
}
void PassRunner::addDefaultGlobalOptimizationPasses() {
diff --git a/src/passes/passes.h b/src/passes/passes.h
index 43bdd3efe..7a40b7da4 100644
--- a/src/passes/passes.h
+++ b/src/passes/passes.h
@@ -24,6 +24,7 @@ class Pass;
// All passes:
Pass *createCoalesceLocalsPass();
Pass *createCoalesceLocalsWithLearningPass();
+Pass *createCodeFoldingPass();
Pass *createCodePushingPass();
Pass *createDeadCodeEliminationPass();
Pass *createDuplicateFunctionEliminationPass();
@@ -41,7 +42,6 @@ Pass *createMergeBlocksPass();
Pass *createMinifiedPrinterPass();
Pass *createMetricsPass();
Pass *createNameListPass();
-Pass *createNameManagerPass();
Pass *createOptimizeInstructionsPass();
Pass *createPickLoadSignsPass();
Pass *createPostEmscriptenPass();
diff --git a/src/wasm-traversal.h b/src/wasm-traversal.h
index aa8e008ad..3b1de2e32 100644
--- a/src/wasm-traversal.h
+++ b/src/wasm-traversal.h
@@ -513,7 +513,7 @@ struct ControlFlowWalker : public PostWalker<SubType, VisitorType> {
}
static void doPostVisitControlFlow(SubType* self, Expression** currp) {
- assert(self->controlFlowStack.back() == *currp);
+ // note that we might be popping something else, as we may have been replaced
self->controlFlowStack.pop_back();
}
diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm
index 9d87a0e2c..a7ad859f6 100644
--- a/test/emcc_hello_world.fromasm
+++ b/test/emcc_hello_world.fromasm
@@ -296,26 +296,20 @@
(set_local $1
(i32.const 87)
)
- (set_local $0
- (i32.const 775)
- )
(br $__rjti$1)
)
)
- (if
+ (br_if $__rjti$1
(get_local $1)
- (block
- (set_local $0
- (i32.const 775)
- )
- (br $__rjti$1)
- )
- (set_local $0
- (i32.const 775)
- )
+ )
+ (set_local $0
+ (i32.const 775)
)
(br $__rjto$1)
)
+ (set_local $0
+ (i32.const 775)
+ )
(loop $while-in1
(loop $while-in3
(set_local $2
@@ -956,35 +950,34 @@
(get_local $5)
)
)
- (if (result i32)
- (i32.eq
- (get_local $4)
- (i32.const 2)
- )
- (block (result i32)
- (i32.store
- (get_local $6)
- (i32.add
- (i32.load
- (get_local $6)
+ (block (result i32)
+ (if
+ (i32.eq
+ (get_local $4)
+ (i32.const 2)
+ )
+ (block
+ (i32.store
+ (get_local $6)
+ (i32.add
+ (i32.load
+ (get_local $6)
+ )
+ (get_local $3)
)
- (get_local $3)
+ )
+ (set_local $7
+ (get_local $5)
+ )
+ (set_local $4
+ (i32.const 2)
)
)
(set_local $7
(get_local $5)
)
- (set_local $4
- (i32.const 2)
- )
- (get_local $3)
- )
- (block (result i32)
- (set_local $7
- (get_local $5)
- )
- (get_local $3)
)
+ (get_local $3)
)
)
)
@@ -1861,7 +1854,7 @@
(get_local $0)
)
(loop $while-in
- (if
+ (br_if $__rjti$2
(i32.eq
(i32.load8_u
(get_local $2)
@@ -1871,12 +1864,6 @@
(i32.const 255)
)
)
- (block
- (set_local $0
- (get_local $3)
- )
- (br $__rjti$2)
- )
)
(br_if $while-in
(i32.and
@@ -1919,20 +1906,17 @@
)
)
)
- (if
+ (br_if $__rjti$2
(get_local $0)
- (block
- (set_local $0
- (get_local $3)
- )
- (br $__rjti$2)
- )
- (set_local $0
- (i32.const 0)
- )
+ )
+ (set_local $0
+ (i32.const 0)
)
(br $label$break$L8)
)
+ (set_local $0
+ (get_local $3)
+ )
(if
(i32.ne
(i32.load8_u
@@ -2921,34 +2905,31 @@
(get_local $6)
)
)
- (set_local $1
- (if (result i32)
- (i32.lt_s
- (get_local $14)
- (i32.const 0)
- )
- (block (result i32)
- (set_local $11
- (i32.or
- (get_local $1)
- (i32.const 8192)
- )
- )
- (set_local $14
- (i32.sub
- (i32.const 0)
- (get_local $14)
- )
+ (if
+ (i32.lt_s
+ (get_local $14)
+ (i32.const 0)
+ )
+ (block
+ (set_local $11
+ (i32.or
+ (get_local $1)
+ (i32.const 8192)
)
- (get_local $8)
)
- (block (result i32)
- (set_local $11
- (get_local $1)
+ (set_local $14
+ (i32.sub
+ (i32.const 0)
+ (get_local $14)
)
- (get_local $8)
)
)
+ (set_local $11
+ (get_local $1)
+ )
+ )
+ (set_local $1
+ (get_local $8)
)
)
(if
@@ -3788,13 +3769,6 @@
)
)
)
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjti$8)
)
(block
(set_local $5
@@ -3803,15 +3777,15 @@
(set_local $7
(get_local $11)
)
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjti$8)
)
)
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjti$8)
)
(set_local $5
(i32.load
@@ -3870,7 +3844,6 @@
(set_local $9
(i32.const 4092)
)
- (br $__rjti$4)
)
(block
(set_local $8
@@ -3888,9 +3861,9 @@
(get_local $9)
)
)
- (br $__rjti$4)
)
)
+ (br $__rjti$4)
)
(set_local $5
(i32.load
@@ -6615,7 +6588,6 @@
(set_local $9
(i32.const 4091)
)
- (br $__rjti$8)
)
(block
(set_local $8
@@ -6630,9 +6602,9 @@
(i32.const 4091)
)
)
- (br $__rjti$8)
)
)
+ (br $__rjti$8)
)
)
)
@@ -6898,7 +6870,7 @@
)
)
)
- (if (result i32)
+ (if
(i32.or
(get_local $6)
(tee_local $12
@@ -6920,7 +6892,7 @@
)
)
)
- (block (result i32)
+ (block
(set_local $7
(get_local $5)
)
@@ -6948,18 +6920,17 @@
)
)
)
- (get_local $22)
)
- (block (result i32)
+ (block
(set_local $7
(get_local $22)
)
(set_local $12
(i32.const 0)
)
- (get_local $22)
)
)
+ (get_local $22)
)
)
(call $_pad
@@ -7865,258 +7836,274 @@
(local $16 i32)
(local $17 i32)
(local $18 i32)
- (block $do-once
- (if
- (i32.lt_u
- (get_local $0)
- (i32.const 245)
- )
- (block
- (if
- (i32.and
- (tee_local $5
- (i32.shr_u
- (tee_local $11
- (i32.load
- (i32.const 176)
+ (block $folding-inner0
+ (block $do-once
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (i32.const 245)
+ )
+ (block
+ (if
+ (i32.and
+ (tee_local $5
+ (i32.shr_u
+ (tee_local $11
+ (i32.load
+ (i32.const 176)
+ )
)
- )
- (tee_local $13
- (i32.shr_u
- (tee_local $4
- (select
- (i32.const 16)
- (i32.and
- (i32.add
+ (tee_local $13
+ (i32.shr_u
+ (tee_local $4
+ (select
+ (i32.const 16)
+ (i32.and
+ (i32.add
+ (get_local $0)
+ (i32.const 11)
+ )
+ (i32.const -8)
+ )
+ (i32.lt_u
(get_local $0)
(i32.const 11)
)
- (i32.const -8)
- )
- (i32.lt_u
- (get_local $0)
- (i32.const 11)
)
)
+ (i32.const 3)
)
- (i32.const 3)
)
)
)
+ (i32.const 3)
)
- (i32.const 3)
- )
- (block
- (set_local $10
- (i32.load
- (tee_local $1
- (i32.add
- (tee_local $7
- (i32.load
- (tee_local $3
- (i32.add
- (tee_local $2
- (i32.add
- (i32.shl
- (tee_local $4
- (i32.add
- (i32.xor
- (i32.and
- (get_local $5)
+ (block
+ (set_local $10
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (tee_local $7
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (tee_local $2
+ (i32.add
+ (i32.shl
+ (tee_local $4
+ (i32.add
+ (i32.xor
+ (i32.and
+ (get_local $5)
+ (i32.const 1)
+ )
(i32.const 1)
)
- (i32.const 1)
+ (get_local $13)
)
- (get_local $13)
)
+ (i32.const 3)
)
- (i32.const 3)
+ (i32.const 216)
)
- (i32.const 216)
)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
- )
- (if
- (i32.eq
- (get_local $2)
- (get_local $10)
- )
- (i32.store
- (i32.const 176)
- (i32.and
- (get_local $11)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $4)
- )
- (i32.const -1)
- )
+ (if
+ (i32.eq
+ (get_local $2)
+ (get_local $10)
)
- )
- (block
- (if
- (i32.lt_u
- (get_local $10)
- (i32.load
- (i32.const 192)
+ (i32.store
+ (i32.const 176)
+ (i32.and
+ (get_local $11)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $4)
+ )
+ (i32.const -1)
)
)
- (call $_abort)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $10)
- (i32.const 12)
- )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $10)
+ (i32.load
+ (i32.const 192)
)
)
- (get_local $7)
+ (call $_abort)
)
- (block
- (i32.store
- (get_local $0)
- (get_local $2)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $10)
+ (i32.const 12)
+ )
+ )
+ )
+ (get_local $7)
)
- (i32.store
- (get_local $3)
- (get_local $10)
+ (block
+ (i32.store
+ (get_local $0)
+ (get_local $2)
+ )
+ (i32.store
+ (get_local $3)
+ (get_local $10)
+ )
)
+ (call $_abort)
)
- (call $_abort)
)
)
- )
- (i32.store offset=4
- (get_local $7)
- (i32.or
- (tee_local $0
- (i32.shl
- (get_local $4)
- (i32.const 3)
+ (i32.store offset=4
+ (get_local $7)
+ (i32.or
+ (tee_local $0
+ (i32.shl
+ (get_local $4)
+ (i32.const 3)
+ )
)
+ (i32.const 3)
)
- (i32.const 3)
)
- )
- (i32.store
- (tee_local $0
- (i32.add
+ (i32.store
+ (tee_local $0
(i32.add
- (get_local $7)
+ (i32.add
+ (get_local $7)
+ (get_local $0)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.load
(get_local $0)
)
- (i32.const 4)
+ (i32.const 1)
)
)
- (i32.or
- (i32.load
- (get_local $0)
- )
- (i32.const 1)
+ (return
+ (get_local $1)
)
)
- (return
- (get_local $1)
- )
)
- )
- (if
- (i32.gt_u
- (get_local $4)
- (tee_local $0
- (i32.load
- (i32.const 184)
+ (if
+ (i32.gt_u
+ (get_local $4)
+ (tee_local $0
+ (i32.load
+ (i32.const 184)
+ )
)
)
- )
- (block
- (if
- (get_local $5)
- (block
- (set_local $10
- (i32.and
- (i32.shr_u
- (tee_local $3
- (i32.add
- (i32.and
- (tee_local $3
- (i32.and
- (i32.shl
- (get_local $5)
- (get_local $13)
- )
- (i32.or
- (tee_local $3
- (i32.shl
- (i32.const 2)
- (get_local $13)
- )
+ (block
+ (if
+ (get_local $5)
+ (block
+ (set_local $10
+ (i32.and
+ (i32.shr_u
+ (tee_local $3
+ (i32.add
+ (i32.and
+ (tee_local $3
+ (i32.and
+ (i32.shl
+ (get_local $5)
+ (get_local $13)
)
- (i32.sub
- (i32.const 0)
- (get_local $3)
+ (i32.or
+ (tee_local $3
+ (i32.shl
+ (i32.const 2)
+ (get_local $13)
+ )
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $3)
+ )
)
)
)
+ (i32.sub
+ (i32.const 0)
+ (get_local $3)
+ )
)
- (i32.sub
- (i32.const 0)
- (get_local $3)
- )
+ (i32.const -1)
)
- (i32.const -1)
)
+ (i32.const 12)
)
- (i32.const 12)
+ (i32.const 16)
)
- (i32.const 16)
)
- )
- (set_local $9
- (i32.load
- (tee_local $7
- (i32.add
- (tee_local $12
- (i32.load
- (tee_local $3
- (i32.add
- (tee_local $10
- (i32.add
- (i32.shl
- (tee_local $5
- (i32.add
- (i32.or
+ (set_local $9
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (tee_local $12
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (tee_local $10
+ (i32.add
+ (i32.shl
+ (tee_local $5
+ (i32.add
(i32.or
(i32.or
(i32.or
+ (i32.or
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (tee_local $7
+ (i32.shr_u
+ (get_local $3)
+ (get_local $10)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (get_local $10)
+ )
(tee_local $3
(i32.and
(i32.shr_u
(tee_local $7
(i32.shr_u
+ (get_local $7)
(get_local $3)
- (get_local $10)
)
)
- (i32.const 5)
+ (i32.const 2)
)
- (i32.const 8)
+ (i32.const 4)
)
)
- (get_local $10)
)
(tee_local $3
(i32.and
@@ -8127,9 +8114,9 @@
(get_local $3)
)
)
- (i32.const 2)
+ (i32.const 1)
)
- (i32.const 4)
+ (i32.const 2)
)
)
)
@@ -8144,310 +8131,310 @@
)
(i32.const 1)
)
- (i32.const 2)
- )
- )
- )
- (tee_local $3
- (i32.and
- (i32.shr_u
- (tee_local $7
- (i32.shr_u
- (get_local $7)
- (get_local $3)
- )
- )
(i32.const 1)
)
- (i32.const 1)
)
)
- )
- (i32.shr_u
- (get_local $7)
- (get_local $3)
+ (i32.shr_u
+ (get_local $7)
+ (get_local $3)
+ )
)
)
+ (i32.const 3)
)
- (i32.const 3)
+ (i32.const 216)
)
- (i32.const 216)
)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
- )
- (if
- (i32.eq
- (get_local $10)
- (get_local $9)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.and
- (get_local $11)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $5)
+ (if
+ (i32.eq
+ (get_local $10)
+ (get_local $9)
+ )
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.and
+ (get_local $11)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $5)
+ )
+ (i32.const -1)
)
- (i32.const -1)
)
)
- )
- (set_local $8
- (get_local $0)
- )
- )
- (block
- (if
- (i32.lt_u
- (get_local $9)
- (i32.load
- (i32.const 192)
- )
+ (set_local $8
+ (get_local $0)
)
- (call $_abort)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $9)
- (i32.const 12)
- )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $9)
+ (i32.load
+ (i32.const 192)
)
)
- (get_local $12)
+ (call $_abort)
)
- (block
- (i32.store
- (get_local $0)
- (get_local $10)
- )
- (i32.store
- (get_local $3)
- (get_local $9)
- )
- (set_local $8
+ (if
+ (i32.eq
(i32.load
- (i32.const 184)
+ (tee_local $0
+ (i32.add
+ (get_local $9)
+ (i32.const 12)
+ )
+ )
+ )
+ (get_local $12)
+ )
+ (block
+ (i32.store
+ (get_local $0)
+ (get_local $10)
+ )
+ (i32.store
+ (get_local $3)
+ (get_local $9)
+ )
+ (set_local $8
+ (i32.load
+ (i32.const 184)
+ )
)
)
+ (call $_abort)
)
- (call $_abort)
)
)
- )
- (i32.store offset=4
- (get_local $12)
- (i32.or
- (get_local $4)
- (i32.const 3)
- )
- )
- (i32.store offset=4
- (tee_local $10
- (i32.add
- (get_local $12)
+ (i32.store offset=4
+ (get_local $12)
+ (i32.or
(get_local $4)
+ (i32.const 3)
)
)
- (i32.or
- (tee_local $5
- (i32.sub
- (i32.shl
- (get_local $5)
- (i32.const 3)
- )
+ (i32.store offset=4
+ (tee_local $10
+ (i32.add
+ (get_local $12)
(get_local $4)
)
)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (get_local $10)
- (get_local $5)
- )
- (get_local $5)
- )
- (if
- (get_local $8)
- (block
- (set_local $12
- (i32.load
- (i32.const 196)
- )
- )
- (set_local $4
- (i32.add
- (i32.shl
- (tee_local $0
- (i32.shr_u
- (get_local $8)
- (i32.const 3)
- )
+ (i32.or
+ (tee_local $5
+ (i32.sub
+ (i32.shl
+ (get_local $5)
+ (i32.const 3)
)
- (i32.const 3)
+ (get_local $4)
)
- (i32.const 216)
)
+ (i32.const 1)
)
- (if
- (i32.and
- (tee_local $3
- (i32.load
- (i32.const 176)
- )
+ )
+ (i32.store
+ (i32.add
+ (get_local $10)
+ (get_local $5)
+ )
+ (get_local $5)
+ )
+ (if
+ (get_local $8)
+ (block
+ (set_local $12
+ (i32.load
+ (i32.const 196)
)
- (tee_local $0
+ )
+ (set_local $4
+ (i32.add
(i32.shl
- (i32.const 1)
- (get_local $0)
+ (tee_local $0
+ (i32.shr_u
+ (get_local $8)
+ (i32.const 3)
+ )
+ )
+ (i32.const 3)
)
+ (i32.const 216)
)
)
(if
- (i32.lt_u
- (tee_local $0
+ (i32.and
+ (tee_local $3
(i32.load
- (tee_local $3
- (i32.add
- (get_local $4)
- (i32.const 8)
+ (i32.const 176)
+ )
+ )
+ (tee_local $0
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $0
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 192)
+ )
)
- (i32.load
- (i32.const 192)
+ (call $_abort)
+ (block
+ (set_local $2
+ (get_local $3)
+ )
+ (set_local $1
+ (get_local $0)
+ )
)
)
- (call $_abort)
(block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $3)
+ (get_local $0)
+ )
+ )
(set_local $2
- (get_local $3)
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
)
(set_local $1
- (get_local $0)
- )
- )
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $3)
- (get_local $0)
- )
- )
- (set_local $2
- (i32.add
(get_local $4)
- (i32.const 8)
)
)
- (set_local $1
- (get_local $4)
- )
)
- )
- (i32.store
- (get_local $2)
- (get_local $12)
- )
- (i32.store offset=12
- (get_local $1)
- (get_local $12)
- )
- (i32.store offset=8
- (get_local $12)
- (get_local $1)
- )
- (i32.store offset=12
- (get_local $12)
- (get_local $4)
+ (i32.store
+ (get_local $2)
+ (get_local $12)
+ )
+ (i32.store offset=12
+ (get_local $1)
+ (get_local $12)
+ )
+ (i32.store offset=8
+ (get_local $12)
+ (get_local $1)
+ )
+ (i32.store offset=12
+ (get_local $12)
+ (get_local $4)
+ )
)
)
- )
- (i32.store
- (i32.const 184)
- (get_local $5)
- )
- (i32.store
- (i32.const 196)
- (get_local $10)
- )
- (return
- (get_local $7)
+ (i32.store
+ (i32.const 184)
+ (get_local $5)
+ )
+ (i32.store
+ (i32.const 196)
+ (get_local $10)
+ )
+ (return
+ (get_local $7)
+ )
)
)
- )
- (if
- (tee_local $0
- (i32.load
- (i32.const 180)
+ (if
+ (tee_local $0
+ (i32.load
+ (i32.const 180)
+ )
)
- )
- (block
- (set_local $2
- (i32.and
- (i32.shr_u
- (tee_local $0
- (i32.add
- (i32.and
- (get_local $0)
- (i32.sub
- (i32.const 0)
+ (block
+ (set_local $2
+ (i32.and
+ (i32.shr_u
+ (tee_local $0
+ (i32.add
+ (i32.and
(get_local $0)
+ (i32.sub
+ (i32.const 0)
+ (get_local $0)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
)
+ (i32.const 12)
)
- (i32.const 12)
+ (i32.const 16)
)
- (i32.const 16)
)
- )
- (set_local $7
- (i32.sub
- (i32.and
- (i32.load offset=4
- (tee_local $0
- (i32.load offset=480
- (i32.shl
- (i32.add
- (i32.or
+ (set_local $7
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (tee_local $0
+ (i32.load offset=480
+ (i32.shl
+ (i32.add
(i32.or
(i32.or
(i32.or
+ (i32.or
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (tee_local $1
+ (i32.shr_u
+ (get_local $0)
+ (get_local $2)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (get_local $2)
+ )
(tee_local $0
(i32.and
(i32.shr_u
(tee_local $1
(i32.shr_u
+ (get_local $1)
(get_local $0)
- (get_local $2)
)
)
- (i32.const 5)
+ (i32.const 2)
)
- (i32.const 8)
+ (i32.const 4)
)
)
- (get_local $2)
)
(tee_local $0
(i32.and
@@ -8458,9 +8445,9 @@
(get_local $0)
)
)
- (i32.const 2)
+ (i32.const 1)
)
- (i32.const 4)
+ (i32.const 2)
)
)
)
@@ -8475,163 +8462,135 @@
)
(i32.const 1)
)
- (i32.const 2)
- )
- )
- )
- (tee_local $0
- (i32.and
- (i32.shr_u
- (tee_local $1
- (i32.shr_u
- (get_local $1)
- (get_local $0)
- )
- )
(i32.const 1)
)
- (i32.const 1)
)
)
+ (i32.shr_u
+ (get_local $1)
+ (get_local $0)
+ )
)
- (i32.shr_u
- (get_local $1)
- (get_local $0)
- )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $4)
)
- (get_local $4)
)
- )
- (set_local $1
- (get_local $0)
- )
- (set_local $2
- (get_local $0)
- )
- (loop $while-in
- (block $while-out
- (if
- (i32.eqz
- (tee_local $0
- (i32.load offset=16
- (get_local $1)
- )
- )
- )
+ (set_local $1
+ (get_local $0)
+ )
+ (set_local $2
+ (get_local $0)
+ )
+ (loop $while-in
+ (block $while-out
(if
(i32.eqz
(tee_local $0
- (i32.load offset=20
+ (i32.load offset=16
(get_local $1)
)
)
)
- (block
- (set_local $10
- (get_local $7)
+ (if
+ (i32.eqz
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $1)
+ )
+ )
)
- (set_local $5
- (get_local $2)
+ (block
+ (set_local $10
+ (get_local $7)
+ )
+ (set_local $5
+ (get_local $2)
+ )
+ (br $while-out)
)
- (br $while-out)
)
)
- )
- (set_local $10
- (i32.lt_u
- (tee_local $1
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $0)
+ (set_local $10
+ (i32.lt_u
+ (tee_local $1
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $0)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $4)
)
- (get_local $4)
)
+ (get_local $7)
)
- (get_local $7)
)
- )
- (set_local $7
- (select
- (get_local $1)
- (get_local $7)
- (get_local $10)
+ (set_local $7
+ (select
+ (get_local $1)
+ (get_local $7)
+ (get_local $10)
+ )
)
- )
- (set_local $1
- (get_local $0)
- )
- (set_local $2
- (select
+ (set_local $1
(get_local $0)
- (get_local $2)
- (get_local $10)
)
- )
- (br $while-in)
- )
- )
- (if
- (i32.lt_u
- (get_local $5)
- (tee_local $12
- (i32.load
- (i32.const 192)
+ (set_local $2
+ (select
+ (get_local $0)
+ (get_local $2)
+ (get_local $10)
+ )
)
+ (br $while-in)
)
)
- (call $_abort)
- )
- (if
- (i32.ge_u
- (get_local $5)
- (tee_local $11
- (i32.add
- (get_local $5)
- (get_local $4)
+ (if
+ (i32.lt_u
+ (get_local $5)
+ (tee_local $12
+ (i32.load
+ (i32.const 192)
+ )
)
)
+ (call $_abort)
)
- (call $_abort)
- )
- (set_local $8
- (i32.load offset=24
- (get_local $5)
- )
- )
- (block $do-once4
(if
- (i32.eq
- (tee_local $0
- (i32.load offset=12
+ (i32.ge_u
+ (get_local $5)
+ (tee_local $11
+ (i32.add
(get_local $5)
+ (get_local $4)
)
)
+ )
+ (call $_abort)
+ )
+ (set_local $8
+ (i32.load offset=24
(get_local $5)
)
- (block
- (if
- (i32.eqz
- (tee_local $1
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $5)
- (i32.const 20)
- )
- )
- )
+ )
+ (block $do-once4
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=12
+ (get_local $5)
)
)
+ (get_local $5)
+ )
+ (block
(if
(i32.eqz
(tee_local $1
@@ -8639,719 +8598,733 @@
(tee_local $0
(i32.add
(get_local $5)
- (i32.const 16)
+ (i32.const 20)
)
)
)
)
)
- (block
- (set_local $9
- (i32.const 0)
- )
- (br $do-once4)
- )
- )
- )
- (loop $while-in7
- (if
- (tee_local $2
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $1)
- (i32.const 20)
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $5)
+ (i32.const 16)
+ )
+ )
)
)
)
- )
- (block
- (set_local $1
- (get_local $2)
- )
- (set_local $0
- (get_local $7)
+ (block
+ (set_local $9
+ (i32.const 0)
+ )
+ (br $do-once4)
)
- (br $while-in7)
)
)
- (if
- (tee_local $2
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $1)
- (i32.const 16)
+ (loop $while-in7
+ (if
+ (tee_local $2
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $1)
+ (i32.const 20)
+ )
)
)
)
+ (block
+ (set_local $1
+ (get_local $2)
+ )
+ (set_local $0
+ (get_local $7)
+ )
+ (br $while-in7)
+ )
)
- (block
- (set_local $1
- (get_local $2)
+ (if
+ (tee_local $2
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ )
+ )
)
- (set_local $0
- (get_local $7)
+ (block
+ (set_local $1
+ (get_local $2)
+ )
+ (set_local $0
+ (get_local $7)
+ )
+ (br $while-in7)
)
- (br $while-in7)
)
)
- )
- (if
- (i32.lt_u
- (get_local $0)
- (get_local $12)
- )
- (call $_abort)
- (block
- (i32.store
+ (if
+ (i32.lt_u
(get_local $0)
- (i32.const 0)
- )
- (set_local $9
- (get_local $1)
+ (get_local $12)
)
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (tee_local $7
- (i32.load offset=8
- (get_local $5)
+ (call $_abort)
+ (block
+ (i32.store
+ (get_local $0)
+ (i32.const 0)
+ )
+ (set_local $9
+ (get_local $1)
)
)
- (get_local $12)
)
- (call $_abort)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $7)
- (i32.const 12)
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $7
+ (i32.load offset=8
+ (get_local $5)
)
)
+ (get_local $12)
)
- (get_local $5)
+ (call $_abort)
)
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $0)
- (i32.const 8)
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $7)
+ (i32.const 12)
+ )
)
)
+ (get_local $5)
)
- (get_local $5)
+ (call $_abort)
)
- (block
- (i32.store
- (get_local $2)
- (get_local $0)
- )
- (i32.store
- (get_local $1)
- (get_local $7)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
+ )
+ )
+ )
+ (get_local $5)
)
- (set_local $9
- (get_local $0)
+ (block
+ (i32.store
+ (get_local $2)
+ (get_local $0)
+ )
+ (i32.store
+ (get_local $1)
+ (get_local $7)
+ )
+ (set_local $9
+ (get_local $0)
+ )
)
+ (call $_abort)
)
- (call $_abort)
)
)
)
- )
- (block $do-once8
- (if
- (get_local $8)
- (block
- (if
- (i32.eq
- (get_local $5)
- (i32.load
- (tee_local $0
- (i32.add
- (i32.shl
- (tee_local $1
- (i32.load offset=28
- (get_local $5)
+ (block $do-once8
+ (if
+ (get_local $8)
+ (block
+ (if
+ (i32.eq
+ (get_local $5)
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (i32.shl
+ (tee_local $1
+ (i32.load offset=28
+ (get_local $5)
+ )
)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 480)
)
- (i32.const 480)
)
)
)
- )
- (block
- (i32.store
- (get_local $0)
- (get_local $9)
- )
- (if
- (i32.eqz
+ (block
+ (i32.store
+ (get_local $0)
(get_local $9)
)
- (block
- (i32.store
- (i32.const 180)
- (i32.and
- (i32.load
- (i32.const 180)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $1)
+ (if
+ (i32.eqz
+ (get_local $9)
+ )
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.and
+ (i32.load
+ (i32.const 180)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $1)
+ )
+ (i32.const -1)
)
- (i32.const -1)
)
)
+ (br $do-once8)
)
- (br $do-once8)
)
)
- )
- (block
- (if
- (i32.lt_u
- (get_local $8)
- (i32.load
- (i32.const 192)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $8)
+ (i32.load
+ (i32.const 192)
+ )
)
+ (call $_abort)
)
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $8)
- (i32.const 16)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $8)
+ (i32.const 16)
+ )
)
)
+ (get_local $5)
+ )
+ (i32.store
+ (get_local $0)
+ (get_local $9)
+ )
+ (i32.store offset=20
+ (get_local $8)
+ (get_local $9)
)
- (get_local $5)
- )
- (i32.store
- (get_local $0)
- (get_local $9)
- )
- (i32.store offset=20
- (get_local $8)
- (get_local $9)
)
- )
- (br_if $do-once8
- (i32.eqz
- (get_local $9)
+ (br_if $do-once8
+ (i32.eqz
+ (get_local $9)
+ )
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $9)
- (tee_local $0
- (i32.load
- (i32.const 192)
+ (if
+ (i32.lt_u
+ (get_local $9)
+ (tee_local $0
+ (i32.load
+ (i32.const 192)
+ )
)
)
+ (call $_abort)
)
- (call $_abort)
- )
- (i32.store offset=24
- (get_local $9)
- (get_local $8)
- )
- (if
- (tee_local $1
- (i32.load offset=16
- (get_local $5)
- )
+ (i32.store offset=24
+ (get_local $9)
+ (get_local $8)
)
(if
- (i32.lt_u
- (get_local $1)
- (get_local $0)
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $5)
+ )
)
- (call $_abort)
- (block
- (i32.store offset=16
- (get_local $9)
+ (if
+ (i32.lt_u
(get_local $1)
+ (get_local $0)
)
- (i32.store offset=24
- (get_local $1)
- (get_local $9)
+ (call $_abort)
+ (block
+ (i32.store offset=16
+ (get_local $9)
+ (get_local $1)
+ )
+ (i32.store offset=24
+ (get_local $1)
+ (get_local $9)
+ )
)
)
)
- )
- (if
- (tee_local $0
- (i32.load offset=20
- (get_local $5)
- )
- )
(if
- (i32.lt_u
- (get_local $0)
- (i32.load
- (i32.const 192)
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $5)
)
)
- (call $_abort)
- (block
- (i32.store offset=20
- (get_local $9)
+ (if
+ (i32.lt_u
(get_local $0)
+ (i32.load
+ (i32.const 192)
+ )
)
- (i32.store offset=24
- (get_local $0)
- (get_local $9)
+ (call $_abort)
+ (block
+ (i32.store offset=20
+ (get_local $9)
+ (get_local $0)
+ )
+ (i32.store offset=24
+ (get_local $0)
+ (get_local $9)
+ )
)
)
)
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $10)
- (i32.const 16)
- )
- (block
- (i32.store offset=4
- (get_local $5)
- (i32.or
- (tee_local $0
- (i32.add
- (get_local $10)
- (get_local $4)
+ (if
+ (i32.lt_u
+ (get_local $10)
+ (i32.const 16)
+ )
+ (block
+ (i32.store offset=4
+ (get_local $5)
+ (i32.or
+ (tee_local $0
+ (i32.add
+ (get_local $10)
+ (get_local $4)
+ )
)
+ (i32.const 3)
)
- (i32.const 3)
)
- )
- (i32.store
- (tee_local $0
- (i32.add
+ (i32.store
+ (tee_local $0
(i32.add
- (get_local $5)
- (get_local $0)
+ (i32.add
+ (get_local $5)
+ (get_local $0)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (i32.or
- (i32.load
- (get_local $0)
+ (i32.or
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 1)
)
- (i32.const 1)
- )
- )
- )
- (block
- (i32.store offset=4
- (get_local $5)
- (i32.or
- (get_local $4)
- (i32.const 3)
)
)
- (i32.store offset=4
- (get_local $11)
- (i32.or
- (get_local $10)
- (i32.const 1)
+ (block
+ (i32.store offset=4
+ (get_local $5)
+ (i32.or
+ (get_local $4)
+ (i32.const 3)
+ )
)
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $11)
- (get_local $10)
+ (i32.or
+ (get_local $10)
+ (i32.const 1)
+ )
)
- (get_local $10)
- )
- (if
- (tee_local $0
- (i32.load
- (i32.const 184)
+ (i32.store
+ (i32.add
+ (get_local $11)
+ (get_local $10)
)
+ (get_local $10)
)
- (block
- (set_local $4
+ (if
+ (tee_local $0
(i32.load
- (i32.const 196)
+ (i32.const 184)
)
)
- (set_local $2
- (i32.add
- (i32.shl
- (tee_local $0
- (i32.shr_u
- (get_local $0)
- (i32.const 3)
- )
- )
- (i32.const 3)
+ (block
+ (set_local $4
+ (i32.load
+ (i32.const 196)
)
- (i32.const 216)
)
- )
- (if
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 176)
- )
- )
- (tee_local $0
+ (set_local $2
+ (i32.add
(i32.shl
- (i32.const 1)
- (get_local $0)
+ (tee_local $0
+ (i32.shr_u
+ (get_local $0)
+ (i32.const 3)
+ )
+ )
+ (i32.const 3)
)
+ (i32.const 216)
)
)
(if
- (i32.lt_u
- (tee_local $0
+ (i32.and
+ (tee_local $1
(i32.load
- (tee_local $1
- (i32.add
- (get_local $2)
- (i32.const 8)
+ (i32.const 176)
+ )
+ )
+ (tee_local $0
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $0
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 192)
+ )
)
- (i32.load
- (i32.const 192)
+ (call $_abort)
+ (block
+ (set_local $6
+ (get_local $1)
+ )
+ (set_local $3
+ (get_local $0)
+ )
)
)
- (call $_abort)
(block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $1)
+ (get_local $0)
+ )
+ )
(set_local $6
- (get_local $1)
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
)
(set_local $3
- (get_local $0)
- )
- )
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $1)
- (get_local $0)
- )
- )
- (set_local $6
- (i32.add
(get_local $2)
- (i32.const 8)
)
)
- (set_local $3
- (get_local $2)
- )
)
- )
- (i32.store
- (get_local $6)
- (get_local $4)
- )
- (i32.store offset=12
- (get_local $3)
- (get_local $4)
- )
- (i32.store offset=8
- (get_local $4)
- (get_local $3)
- )
- (i32.store offset=12
- (get_local $4)
- (get_local $2)
+ (i32.store
+ (get_local $6)
+ (get_local $4)
+ )
+ (i32.store offset=12
+ (get_local $3)
+ (get_local $4)
+ )
+ (i32.store offset=8
+ (get_local $4)
+ (get_local $3)
+ )
+ (i32.store offset=12
+ (get_local $4)
+ (get_local $2)
+ )
)
)
+ (i32.store
+ (i32.const 184)
+ (get_local $10)
+ )
+ (i32.store
+ (i32.const 196)
+ (get_local $11)
+ )
)
- (i32.store
- (i32.const 184)
- (get_local $10)
- )
- (i32.store
- (i32.const 196)
- (get_local $11)
+ )
+ (return
+ (i32.add
+ (get_local $5)
+ (i32.const 8)
)
)
)
- (return
- (i32.add
- (get_local $5)
- (i32.const 8)
- )
+ (set_local $0
+ (get_local $4)
)
)
- (set_local $0
- (get_local $4)
- )
+ )
+ (set_local $0
+ (get_local $4)
)
)
+ )
+ (if
+ (i32.gt_u
+ (get_local $0)
+ (i32.const -65)
+ )
(set_local $0
- (get_local $4)
+ (i32.const -1)
)
- )
- )
- (if
- (i32.gt_u
- (get_local $0)
- (i32.const -65)
- )
- (set_local $0
- (i32.const -1)
- )
- (block
- (set_local $2
- (i32.and
- (tee_local $0
- (i32.add
- (get_local $0)
- (i32.const 11)
+ (block
+ (set_local $2
+ (i32.and
+ (tee_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 11)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
)
- )
- (if
- (tee_local $18
- (i32.load
- (i32.const 180)
+ (if
+ (tee_local $18
+ (i32.load
+ (i32.const 180)
+ )
)
- )
- (block
- (set_local $14
- (if (result i32)
- (tee_local $0
- (i32.shr_u
- (get_local $0)
- (i32.const 8)
- )
- )
+ (block
+ (set_local $14
(if (result i32)
- (i32.gt_u
- (get_local $2)
- (i32.const 16777215)
+ (tee_local $0
+ (i32.shr_u
+ (get_local $0)
+ (i32.const 8)
+ )
)
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $2)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (if (result i32)
+ (i32.gt_u
+ (get_local $2)
+ (i32.const 16777215)
+ )
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $2)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $0)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
+ (i32.or
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $0)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 520192)
)
- (i32.const 520192)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 4)
)
- (i32.const 4)
)
+ (get_local $3)
)
- (get_local $3)
- )
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
+ )
)
+ (i32.const 245760)
)
- (i32.const 245760)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (i32.shr_u
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (set_local $3
- (i32.sub
- (i32.const 0)
- (get_local $2)
+ (set_local $3
+ (i32.sub
+ (i32.const 0)
+ (get_local $2)
+ )
)
- )
- (block $__rjto$3
- (block $__rjti$3
- (if
- (tee_local $0
- (i32.load offset=480
- (i32.shl
- (get_local $14)
- (i32.const 2)
+ (block $__rjto$3
+ (block $__rjti$3
+ (if
+ (tee_local $0
+ (i32.load offset=480
+ (i32.shl
+ (get_local $14)
+ (i32.const 2)
+ )
)
)
- )
- (block
- (set_local $6
- (i32.const 0)
- )
- (set_local $8
- (i32.shl
- (get_local $2)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
+ (block
+ (set_local $6
+ (i32.const 0)
+ )
+ (set_local $8
+ (i32.shl
+ (get_local $2)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $14)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
(get_local $14)
- (i32.const 1)
+ (i32.const 31)
)
)
- (i32.eq
- (get_local $14)
- (i32.const 31)
- )
)
)
- )
- (set_local $1
- (i32.const 0)
- )
- (loop $while-in14
- (if
- (i32.lt_u
- (tee_local $4
- (i32.sub
- (tee_local $9
- (i32.and
- (i32.load offset=4
- (get_local $0)
+ (set_local $1
+ (i32.const 0)
+ )
+ (loop $while-in14
+ (if
+ (i32.lt_u
+ (tee_local $4
+ (i32.sub
+ (tee_local $9
+ (i32.and
+ (i32.load offset=4
+ (get_local $0)
+ )
+ (i32.const -8)
)
- (i32.const -8)
)
+ (get_local $2)
)
- (get_local $2)
)
+ (get_local $3)
)
- (get_local $3)
- )
- (if
- (i32.eq
- (get_local $9)
- (get_local $2)
- )
- (block
- (set_local $1
- (get_local $4)
- )
- (set_local $3
- (get_local $0)
+ (if
+ (i32.eq
+ (get_local $9)
+ (get_local $2)
)
- (br $__rjti$3)
- )
- (block
- (set_local $3
- (get_local $4)
+ (block
+ (set_local $1
+ (get_local $4)
+ )
+ (set_local $3
+ (get_local $0)
+ )
+ (br $__rjti$3)
)
- (set_local $1
- (get_local $0)
+ (block
+ (set_local $3
+ (get_local $4)
+ )
+ (set_local $1
+ (get_local $0)
+ )
)
)
)
- )
- (set_local $0
- (select
- (get_local $6)
- (tee_local $4
- (i32.load offset=20
- (get_local $0)
- )
- )
- (i32.or
- (i32.eqz
- (get_local $4)
+ (set_local $0
+ (select
+ (get_local $6)
+ (tee_local $4
+ (i32.load offset=20
+ (get_local $0)
+ )
)
- (i32.eq
- (get_local $4)
- (tee_local $9
- (i32.load
- (i32.add
+ (i32.or
+ (i32.eqz
+ (get_local $4)
+ )
+ (i32.eq
+ (get_local $4)
+ (tee_local $9
+ (i32.load
(i32.add
- (get_local $0)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $8)
- (i32.const 31)
+ (i32.add
+ (get_local $0)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $8)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
@@ -9359,134 +9332,148 @@
)
)
)
- )
- (set_local $4
- (i32.shl
- (get_local $8)
- (i32.xor
- (tee_local $6
- (i32.eqz
- (get_local $9)
+ (set_local $4
+ (i32.shl
+ (get_local $8)
+ (i32.xor
+ (tee_local $6
+ (i32.eqz
+ (get_local $9)
+ )
)
+ (i32.const 1)
)
- (i32.const 1)
)
)
- )
- (if
- (get_local $6)
- (block
- (set_local $4
- (get_local $0)
- )
- (set_local $0
- (get_local $1)
- )
- )
- (block
- (set_local $6
- (get_local $0)
- )
- (set_local $8
- (get_local $4)
+ (if
+ (get_local $6)
+ (block
+ (set_local $4
+ (get_local $0)
+ )
+ (set_local $0
+ (get_local $1)
+ )
)
- (set_local $0
- (get_local $9)
+ (block
+ (set_local $6
+ (get_local $0)
+ )
+ (set_local $8
+ (get_local $4)
+ )
+ (set_local $0
+ (get_local $9)
+ )
+ (br $while-in14)
)
- (br $while-in14)
)
)
)
- )
- (block
- (set_local $4
- (i32.const 0)
- )
- (set_local $0
- (i32.const 0)
- )
- )
- )
- (if
- (i32.and
- (i32.eqz
- (get_local $4)
- )
- (i32.eqz
- (get_local $0)
+ (block
+ (set_local $4
+ (i32.const 0)
+ )
+ (set_local $0
+ (i32.const 0)
+ )
)
)
- (block
- (if
+ (if
+ (i32.and
(i32.eqz
- (tee_local $1
- (i32.and
- (get_local $18)
- (i32.or
- (tee_local $1
- (i32.shl
- (i32.const 2)
- (get_local $14)
+ (get_local $4)
+ )
+ (i32.eqz
+ (get_local $0)
+ )
+ )
+ (block
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.and
+ (get_local $18)
+ (i32.or
+ (tee_local $1
+ (i32.shl
+ (i32.const 2)
+ (get_local $14)
+ )
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $1)
)
- )
- (i32.sub
- (i32.const 0)
- (get_local $1)
)
)
)
)
- )
- (block
- (set_local $0
- (get_local $2)
+ (block
+ (set_local $0
+ (get_local $2)
+ )
+ (br $do-once)
)
- (br $do-once)
)
- )
- (set_local $9
- (i32.and
- (i32.shr_u
- (tee_local $1
- (i32.add
- (i32.and
- (get_local $1)
- (i32.sub
- (i32.const 0)
+ (set_local $9
+ (i32.and
+ (i32.shr_u
+ (tee_local $1
+ (i32.add
+ (i32.and
(get_local $1)
+ (i32.sub
+ (i32.const 0)
+ (get_local $1)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
)
+ (i32.const 12)
)
- (i32.const 12)
+ (i32.const 16)
)
- (i32.const 16)
)
- )
- (set_local $4
- (i32.load offset=480
- (i32.shl
- (i32.add
- (i32.or
+ (set_local $4
+ (i32.load offset=480
+ (i32.shl
+ (i32.add
(i32.or
(i32.or
(i32.or
+ (i32.or
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (tee_local $4
+ (i32.shr_u
+ (get_local $1)
+ (get_local $9)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (get_local $9)
+ )
(tee_local $1
(i32.and
(i32.shr_u
(tee_local $4
(i32.shr_u
+ (get_local $4)
(get_local $1)
- (get_local $9)
)
)
- (i32.const 5)
+ (i32.const 2)
)
- (i32.const 8)
+ (i32.const 4)
)
)
- (get_local $9)
)
(tee_local $1
(i32.and
@@ -9497,9 +9484,9 @@
(get_local $1)
)
)
- (i32.const 2)
+ (i32.const 1)
)
- (i32.const 4)
+ (i32.const 2)
)
)
)
@@ -9514,177 +9501,149 @@
)
(i32.const 1)
)
- (i32.const 2)
- )
- )
- )
- (tee_local $1
- (i32.and
- (i32.shr_u
- (tee_local $4
- (i32.shr_u
- (get_local $4)
- (get_local $1)
- )
- )
(i32.const 1)
)
- (i32.const 1)
)
)
+ (i32.shr_u
+ (get_local $4)
+ (get_local $1)
+ )
)
- (i32.shr_u
- (get_local $4)
- (get_local $1)
- )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
- )
- (if
- (get_local $4)
- (block
- (set_local $1
- (get_local $3)
+ (if
+ (get_local $4)
+ (block
+ (set_local $1
+ (get_local $3)
+ )
+ (set_local $3
+ (get_local $4)
+ )
+ (br $__rjti$3)
)
- (set_local $3
- (get_local $4)
+ (set_local $4
+ (get_local $0)
)
- (br $__rjti$3)
- )
- (set_local $4
- (get_local $0)
)
+ (br $__rjto$3)
)
- (br $__rjto$3)
- )
- (loop $while-in16
- (set_local $9
- (i32.lt_u
- (tee_local $4
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $3)
+ (loop $while-in16
+ (set_local $9
+ (i32.lt_u
+ (tee_local $4
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $3)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $2)
)
- (get_local $2)
)
+ (get_local $1)
)
- (get_local $1)
- )
- )
- (set_local $1
- (select
- (get_local $4)
- (get_local $1)
- (get_local $9)
)
- )
- (set_local $0
- (select
- (get_local $3)
- (get_local $0)
- (get_local $9)
+ (set_local $1
+ (select
+ (get_local $4)
+ (get_local $1)
+ (get_local $9)
+ )
)
- )
- (if
- (tee_local $4
- (i32.load offset=16
+ (set_local $0
+ (select
(get_local $3)
+ (get_local $0)
+ (get_local $9)
)
)
- (block
- (set_local $3
- (get_local $4)
+ (if
+ (tee_local $4
+ (i32.load offset=16
+ (get_local $3)
+ )
+ )
+ (block
+ (set_local $3
+ (get_local $4)
+ )
+ (br $while-in16)
)
- (br $while-in16)
)
- )
- (br_if $while-in16
- (tee_local $3
- (i32.load offset=20
- (get_local $3)
+ (br_if $while-in16
+ (tee_local $3
+ (i32.load offset=20
+ (get_local $3)
+ )
)
)
- )
- (set_local $3
- (get_local $1)
- )
- (set_local $4
- (get_local $0)
+ (set_local $3
+ (get_local $1)
+ )
+ (set_local $4
+ (get_local $0)
+ )
)
)
- )
- (if
- (get_local $4)
(if
- (i32.lt_u
- (get_local $3)
- (i32.sub
- (i32.load
- (i32.const 184)
- )
- (get_local $2)
- )
- )
- (block
- (if
- (i32.lt_u
- (get_local $4)
- (tee_local $12
- (i32.load
- (i32.const 192)
- )
+ (get_local $4)
+ (if
+ (i32.lt_u
+ (get_local $3)
+ (i32.sub
+ (i32.load
+ (i32.const 184)
)
+ (get_local $2)
)
- (call $_abort)
)
- (if
- (i32.ge_u
- (get_local $4)
- (tee_local $6
- (i32.add
- (get_local $4)
- (get_local $2)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $4)
+ (tee_local $12
+ (i32.load
+ (i32.const 192)
+ )
)
)
+ (call $_abort)
)
- (call $_abort)
- )
- (set_local $9
- (i32.load offset=24
- (get_local $4)
- )
- )
- (block $do-once17
(if
- (i32.eq
- (tee_local $0
- (i32.load offset=12
+ (i32.ge_u
+ (get_local $4)
+ (tee_local $6
+ (i32.add
(get_local $4)
+ (get_local $2)
)
)
+ )
+ (call $_abort)
+ )
+ (set_local $9
+ (i32.load offset=24
(get_local $4)
)
- (block
- (if
- (i32.eqz
- (tee_local $1
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $4)
- (i32.const 20)
- )
- )
- )
+ )
+ (block $do-once17
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=12
+ (get_local $4)
)
)
+ (get_local $4)
+ )
+ (block
(if
(i32.eqz
(tee_local $1
@@ -9692,1758 +9651,1694 @@
(tee_local $0
(i32.add
(get_local $4)
- (i32.const 16)
+ (i32.const 20)
)
)
)
)
)
- (block
- (set_local $11
- (i32.const 0)
- )
- (br $do-once17)
- )
- )
- )
- (loop $while-in20
- (if
- (tee_local $7
- (i32.load
- (tee_local $10
- (i32.add
- (get_local $1)
- (i32.const 20)
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $4)
+ (i32.const 16)
+ )
+ )
)
)
)
- )
- (block
- (set_local $1
- (get_local $7)
- )
- (set_local $0
- (get_local $10)
+ (block
+ (set_local $11
+ (i32.const 0)
+ )
+ (br $do-once17)
)
- (br $while-in20)
)
)
- (if
- (tee_local $7
- (i32.load
- (tee_local $10
- (i32.add
- (get_local $1)
- (i32.const 16)
+ (loop $while-in20
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (get_local $1)
+ (i32.const 20)
+ )
)
)
)
+ (block
+ (set_local $1
+ (get_local $7)
+ )
+ (set_local $0
+ (get_local $10)
+ )
+ (br $while-in20)
+ )
)
- (block
- (set_local $1
- (get_local $7)
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ )
+ )
)
- (set_local $0
- (get_local $10)
+ (block
+ (set_local $1
+ (get_local $7)
+ )
+ (set_local $0
+ (get_local $10)
+ )
+ (br $while-in20)
)
- (br $while-in20)
)
)
- )
- (if
- (i32.lt_u
- (get_local $0)
- (get_local $12)
- )
- (call $_abort)
- (block
- (i32.store
+ (if
+ (i32.lt_u
(get_local $0)
- (i32.const 0)
- )
- (set_local $11
- (get_local $1)
+ (get_local $12)
)
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (tee_local $10
- (i32.load offset=8
- (get_local $4)
+ (call $_abort)
+ (block
+ (i32.store
+ (get_local $0)
+ (i32.const 0)
+ )
+ (set_local $11
+ (get_local $1)
)
)
- (get_local $12)
)
- (call $_abort)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $10)
- (i32.const 12)
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $10
+ (i32.load offset=8
+ (get_local $4)
)
)
+ (get_local $12)
)
- (get_local $4)
+ (call $_abort)
)
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $0)
- (i32.const 8)
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $10)
+ (i32.const 12)
+ )
)
)
+ (get_local $4)
)
- (get_local $4)
+ (call $_abort)
)
- (block
- (i32.store
- (get_local $7)
- (get_local $0)
- )
- (i32.store
- (get_local $1)
- (get_local $10)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
+ )
+ )
+ )
+ (get_local $4)
)
- (set_local $11
- (get_local $0)
+ (block
+ (i32.store
+ (get_local $7)
+ (get_local $0)
+ )
+ (i32.store
+ (get_local $1)
+ (get_local $10)
+ )
+ (set_local $11
+ (get_local $0)
+ )
)
+ (call $_abort)
)
- (call $_abort)
)
)
)
- )
- (block $do-once21
- (if
- (get_local $9)
- (block
- (if
- (i32.eq
- (get_local $4)
- (i32.load
- (tee_local $0
- (i32.add
- (i32.shl
- (tee_local $1
- (i32.load offset=28
- (get_local $4)
+ (block $do-once21
+ (if
+ (get_local $9)
+ (block
+ (if
+ (i32.eq
+ (get_local $4)
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (i32.shl
+ (tee_local $1
+ (i32.load offset=28
+ (get_local $4)
+ )
)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 480)
)
- (i32.const 480)
)
)
)
- )
- (block
- (i32.store
- (get_local $0)
- (get_local $11)
- )
- (if
- (i32.eqz
+ (block
+ (i32.store
+ (get_local $0)
(get_local $11)
)
- (block
- (i32.store
- (i32.const 180)
- (i32.and
- (i32.load
- (i32.const 180)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $1)
+ (if
+ (i32.eqz
+ (get_local $11)
+ )
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.and
+ (i32.load
+ (i32.const 180)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $1)
+ )
+ (i32.const -1)
)
- (i32.const -1)
)
)
+ (br $do-once21)
)
- (br $do-once21)
)
)
- )
- (block
- (if
- (i32.lt_u
- (get_local $9)
- (i32.load
- (i32.const 192)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $9)
+ (i32.load
+ (i32.const 192)
+ )
)
+ (call $_abort)
)
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $9)
- (i32.const 16)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $9)
+ (i32.const 16)
+ )
)
)
+ (get_local $4)
+ )
+ (i32.store
+ (get_local $0)
+ (get_local $11)
+ )
+ (i32.store offset=20
+ (get_local $9)
+ (get_local $11)
)
- (get_local $4)
- )
- (i32.store
- (get_local $0)
- (get_local $11)
- )
- (i32.store offset=20
- (get_local $9)
- (get_local $11)
)
- )
- (br_if $do-once21
- (i32.eqz
- (get_local $11)
+ (br_if $do-once21
+ (i32.eqz
+ (get_local $11)
+ )
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $11)
- (tee_local $0
- (i32.load
- (i32.const 192)
+ (if
+ (i32.lt_u
+ (get_local $11)
+ (tee_local $0
+ (i32.load
+ (i32.const 192)
+ )
)
)
+ (call $_abort)
)
- (call $_abort)
- )
- (i32.store offset=24
- (get_local $11)
- (get_local $9)
- )
- (if
- (tee_local $1
- (i32.load offset=16
- (get_local $4)
- )
+ (i32.store offset=24
+ (get_local $11)
+ (get_local $9)
)
(if
- (i32.lt_u
- (get_local $1)
- (get_local $0)
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $4)
+ )
)
- (call $_abort)
- (block
- (i32.store offset=16
- (get_local $11)
+ (if
+ (i32.lt_u
(get_local $1)
+ (get_local $0)
)
- (i32.store offset=24
- (get_local $1)
- (get_local $11)
+ (call $_abort)
+ (block
+ (i32.store offset=16
+ (get_local $11)
+ (get_local $1)
+ )
+ (i32.store offset=24
+ (get_local $1)
+ (get_local $11)
+ )
)
)
)
- )
- (if
- (tee_local $0
- (i32.load offset=20
- (get_local $4)
- )
- )
(if
- (i32.lt_u
- (get_local $0)
- (i32.load
- (i32.const 192)
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $4)
)
)
- (call $_abort)
- (block
- (i32.store offset=20
- (get_local $11)
+ (if
+ (i32.lt_u
(get_local $0)
+ (i32.load
+ (i32.const 192)
+ )
)
- (i32.store offset=24
- (get_local $0)
- (get_local $11)
+ (call $_abort)
+ (block
+ (i32.store offset=20
+ (get_local $11)
+ (get_local $0)
+ )
+ (i32.store offset=24
+ (get_local $0)
+ (get_local $11)
+ )
)
)
)
)
)
)
- )
- (block $do-once25
- (if
- (i32.lt_u
- (get_local $3)
- (i32.const 16)
- )
- (block
- (i32.store offset=4
- (get_local $4)
- (i32.or
- (tee_local $0
- (i32.add
- (get_local $3)
- (get_local $2)
+ (block $do-once25
+ (if
+ (i32.lt_u
+ (get_local $3)
+ (i32.const 16)
+ )
+ (block
+ (i32.store offset=4
+ (get_local $4)
+ (i32.or
+ (tee_local $0
+ (i32.add
+ (get_local $3)
+ (get_local $2)
+ )
)
+ (i32.const 3)
)
- (i32.const 3)
)
- )
- (i32.store
- (tee_local $0
- (i32.add
+ (i32.store
+ (tee_local $0
(i32.add
- (get_local $4)
- (get_local $0)
+ (i32.add
+ (get_local $4)
+ (get_local $0)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (i32.or
- (i32.load
- (get_local $0)
+ (i32.or
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 1)
)
- (i32.const 1)
- )
- )
- )
- (block
- (i32.store offset=4
- (get_local $4)
- (i32.or
- (get_local $2)
- (i32.const 3)
)
)
- (i32.store offset=4
- (get_local $6)
- (i32.or
- (get_local $3)
- (i32.const 1)
+ (block
+ (i32.store offset=4
+ (get_local $4)
+ (i32.or
+ (get_local $2)
+ (i32.const 3)
+ )
)
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $6)
- (get_local $3)
+ (i32.or
+ (get_local $3)
+ (i32.const 1)
+ )
)
- (get_local $3)
- )
- (set_local $0
- (i32.shr_u
+ (i32.store
+ (i32.add
+ (get_local $6)
+ (get_local $3)
+ )
(get_local $3)
- (i32.const 3)
)
- )
- (if
- (i32.lt_u
- (get_local $3)
- (i32.const 256)
+ (set_local $0
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 3)
+ )
)
- (block
- (set_local $3
- (i32.add
- (i32.shl
- (get_local $0)
- (i32.const 3)
- )
- (i32.const 216)
- )
+ (if
+ (i32.lt_u
+ (get_local $3)
+ (i32.const 256)
)
- (if
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 176)
- )
- )
- (tee_local $0
+ (block
+ (set_local $3
+ (i32.add
(i32.shl
- (i32.const 1)
(get_local $0)
+ (i32.const 3)
)
+ (i32.const 216)
)
)
(if
- (i32.lt_u
- (tee_local $0
+ (i32.and
+ (tee_local $1
(i32.load
- (tee_local $1
- (i32.add
- (get_local $3)
- (i32.const 8)
+ (i32.const 176)
+ )
+ )
+ (tee_local $0
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $0
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 192)
+ )
)
- (i32.load
- (i32.const 192)
+ (call $_abort)
+ (block
+ (set_local $13
+ (get_local $1)
+ )
+ (set_local $5
+ (get_local $0)
+ )
)
)
- (call $_abort)
(block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $1)
+ (get_local $0)
+ )
+ )
(set_local $13
- (get_local $1)
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
)
(set_local $5
- (get_local $0)
- )
- )
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $1)
- (get_local $0)
- )
- )
- (set_local $13
- (i32.add
(get_local $3)
- (i32.const 8)
)
)
- (set_local $5
- (get_local $3)
- )
)
+ (i32.store
+ (get_local $13)
+ (get_local $6)
+ )
+ (i32.store offset=12
+ (get_local $5)
+ (get_local $6)
+ )
+ (i32.store offset=8
+ (get_local $6)
+ (get_local $5)
+ )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $3)
+ )
+ (br $do-once25)
)
- (i32.store
- (get_local $13)
- (get_local $6)
- )
- (i32.store offset=12
- (get_local $5)
- (get_local $6)
- )
- (i32.store offset=8
- (get_local $6)
- (get_local $5)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $3)
- )
- (br $do-once25)
)
- )
- (set_local $2
- (i32.add
- (i32.shl
- (tee_local $7
- (if (result i32)
- (tee_local $0
- (i32.shr_u
- (get_local $3)
- (i32.const 8)
- )
- )
+ (set_local $2
+ (i32.add
+ (i32.shl
+ (tee_local $7
(if (result i32)
- (i32.gt_u
- (get_local $3)
- (i32.const 16777215)
+ (tee_local $0
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 8)
+ )
)
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $3)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (if (result i32)
+ (i32.gt_u
+ (get_local $3)
+ (i32.const 16777215)
+ )
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $3)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $0)
- (tee_local $2
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
+ (i32.or
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $0)
+ (tee_local $2
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 520192)
)
- (i32.const 520192)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 4)
)
- (i32.const 4)
)
+ (get_local $2)
)
- (get_local $2)
- )
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
+ )
)
+ (i32.const 245760)
)
- (i32.const 245760)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (i32.shr_u
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
+ (i32.const 0)
)
- (i32.const 0)
)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 480)
)
- (i32.const 480)
)
- )
- (i32.store offset=28
- (get_local $6)
- (get_local $7)
- )
- (i32.store offset=4
- (tee_local $0
- (i32.add
- (get_local $6)
- (i32.const 16)
+ (i32.store offset=28
+ (get_local $6)
+ (get_local $7)
+ )
+ (i32.store offset=4
+ (tee_local $0
+ (i32.add
+ (get_local $6)
+ (i32.const 16)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (i32.store
- (get_local $0)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 180)
+ (i32.store
+ (get_local $0)
+ (i32.const 0)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (i32.const 180)
+ )
)
- )
- (tee_local $0
- (i32.shl
- (i32.const 1)
- (get_local $7)
+ (tee_local $0
+ (i32.shl
+ (i32.const 1)
+ (get_local $7)
+ )
)
)
)
- )
- (block
- (i32.store
- (i32.const 180)
- (i32.or
- (get_local $1)
- (get_local $0)
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.or
+ (get_local $1)
+ (get_local $0)
+ )
)
+ (i32.store
+ (get_local $2)
+ (get_local $6)
+ )
+ (i32.store offset=24
+ (get_local $6)
+ (get_local $2)
+ )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $6)
+ )
+ (i32.store offset=8
+ (get_local $6)
+ (get_local $6)
+ )
+ (br $do-once25)
)
- (i32.store
- (get_local $2)
- (get_local $6)
- )
- (i32.store offset=24
- (get_local $6)
- (get_local $2)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $6)
- )
- (i32.store offset=8
- (get_local $6)
- (get_local $6)
- )
- (br $do-once25)
)
- )
- (set_local $7
- (i32.shl
- (get_local $3)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
+ (set_local $7
+ (i32.shl
+ (get_local $3)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $7)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
(get_local $7)
- (i32.const 1)
+ (i32.const 31)
)
)
- (i32.eq
- (get_local $7)
- (i32.const 31)
- )
)
)
- )
- (set_local $0
- (i32.load
- (get_local $2)
+ (set_local $0
+ (i32.load
+ (get_local $2)
+ )
)
- )
- (block $__rjto$1
- (block $__rjti$1
- (loop $while-in28
- (br_if $__rjti$1
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $0)
+ (block $__rjto$1
+ (block $__rjti$1
+ (loop $while-in28
+ (br_if $__rjti$1
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $0)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $3)
)
- (get_local $3)
)
- )
- (set_local $2
- (i32.shl
- (get_local $7)
- (i32.const 1)
+ (set_local $2
+ (i32.shl
+ (get_local $7)
+ (i32.const 1)
+ )
)
- )
- (if
- (tee_local $1
- (i32.load
- (tee_local $7
- (i32.add
+ (if
+ (tee_local $1
+ (i32.load
+ (tee_local $7
(i32.add
- (get_local $0)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $7)
- (i32.const 31)
+ (i32.add
+ (get_local $0)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $7)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
+ (block
+ (set_local $7
+ (get_local $2)
+ )
+ (set_local $0
+ (get_local $1)
+ )
+ (br $while-in28)
+ )
)
+ )
+ (if
+ (i32.lt_u
+ (get_local $7)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
(block
- (set_local $7
- (get_local $2)
+ (i32.store
+ (get_local $7)
+ (get_local $6)
)
- (set_local $0
- (get_local $1)
+ (i32.store offset=24
+ (get_local $6)
+ (get_local $0)
+ )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $6)
+ )
+ (i32.store offset=8
+ (get_local $6)
+ (get_local $6)
)
- (br $while-in28)
+ (br $do-once25)
)
)
+ (br $__rjto$1)
)
(if
- (i32.lt_u
- (get_local $7)
- (i32.load
- (i32.const 192)
+ (i32.and
+ (i32.ge_u
+ (tee_local $2
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (tee_local $1
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (i32.ge_u
+ (get_local $0)
+ (get_local $1)
)
)
- (call $_abort)
(block
+ (i32.store offset=12
+ (get_local $2)
+ (get_local $6)
+ )
(i32.store
- (get_local $7)
+ (get_local $3)
(get_local $6)
)
- (i32.store offset=24
+ (i32.store offset=8
(get_local $6)
- (get_local $0)
+ (get_local $2)
)
(i32.store offset=12
(get_local $6)
- (get_local $6)
+ (get_local $0)
)
- (i32.store offset=8
- (get_local $6)
+ (i32.store offset=24
(get_local $6)
- )
- (br $do-once25)
- )
- )
- (br $__rjto$1)
- )
- (if
- (i32.and
- (i32.ge_u
- (tee_local $2
- (i32.load
- (tee_local $3
- (i32.add
- (get_local $0)
- (i32.const 8)
- )
- )
- )
- )
- (tee_local $1
- (i32.load
- (i32.const 192)
- )
+ (i32.const 0)
)
)
- (i32.ge_u
- (get_local $0)
- (get_local $1)
- )
- )
- (block
- (i32.store offset=12
- (get_local $2)
- (get_local $6)
- )
- (i32.store
- (get_local $3)
- (get_local $6)
- )
- (i32.store offset=8
- (get_local $6)
- (get_local $2)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $0)
- )
- (i32.store offset=24
- (get_local $6)
- (i32.const 0)
- )
+ (call $_abort)
)
- (call $_abort)
)
)
)
)
- )
- (return
- (i32.add
- (get_local $4)
- (i32.const 8)
+ (return
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
)
)
+ (set_local $0
+ (get_local $2)
+ )
)
(set_local $0
(get_local $2)
)
)
- (set_local $0
- (get_local $2)
- )
)
- )
- (set_local $0
- (get_local $2)
+ (set_local $0
+ (get_local $2)
+ )
)
)
)
)
)
- )
- (if
- (i32.ge_u
- (tee_local $1
- (i32.load
- (i32.const 184)
- )
- )
- (get_local $0)
- )
- (block
- (set_local $2
- (i32.load
- (i32.const 196)
+ (if
+ (i32.ge_u
+ (tee_local $1
+ (i32.load
+ (i32.const 184)
+ )
)
+ (get_local $0)
)
- (if
- (i32.gt_u
- (tee_local $3
- (i32.sub
- (get_local $1)
- (get_local $0)
- )
+ (block
+ (set_local $2
+ (i32.load
+ (i32.const 196)
)
- (i32.const 15)
)
- (block
- (i32.store
- (i32.const 196)
- (tee_local $1
- (i32.add
- (get_local $2)
+ (if
+ (i32.gt_u
+ (tee_local $3
+ (i32.sub
+ (get_local $1)
(get_local $0)
)
)
+ (i32.const 15)
)
- (i32.store
- (i32.const 184)
- (get_local $3)
- )
- (i32.store offset=4
- (get_local $1)
- (i32.or
+ (block
+ (i32.store
+ (i32.const 196)
+ (tee_local $1
+ (i32.add
+ (get_local $2)
+ (get_local $0)
+ )
+ )
+ )
+ (i32.store
+ (i32.const 184)
(get_local $3)
- (i32.const 1)
)
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $1)
+ (i32.or
+ (get_local $3)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
+ (get_local $1)
+ (get_local $3)
+ )
(get_local $3)
)
- (get_local $3)
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $0)
- (i32.const 3)
+ (i32.store offset=4
+ (get_local $2)
+ (i32.or
+ (get_local $0)
+ (i32.const 3)
+ )
)
)
- )
- (block
- (i32.store
- (i32.const 184)
- (i32.const 0)
- )
- (i32.store
- (i32.const 196)
- (i32.const 0)
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $1)
- (i32.const 3)
+ (block
+ (i32.store
+ (i32.const 184)
+ (i32.const 0)
)
- )
- (i32.store
- (tee_local $0
- (i32.add
+ (i32.store
+ (i32.const 196)
+ (i32.const 0)
+ )
+ (i32.store offset=4
+ (get_local $2)
+ (i32.or
+ (get_local $1)
+ (i32.const 3)
+ )
+ )
+ (i32.store
+ (tee_local $0
(i32.add
- (get_local $2)
- (get_local $1)
+ (i32.add
+ (get_local $2)
+ (get_local $1)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (i32.or
- (i32.load
- (get_local $0)
+ (i32.or
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 1)
)
- (i32.const 1)
)
)
)
- )
- (return
- (i32.add
- (get_local $2)
- (i32.const 8)
+ (return
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
)
)
)
- )
- (if
- (i32.gt_u
- (tee_local $1
- (i32.load
- (i32.const 188)
+ (br_if $folding-inner0
+ (i32.gt_u
+ (tee_local $1
+ (i32.load
+ (i32.const 188)
+ )
)
+ (get_local $0)
)
- (get_local $0)
)
- (block
- (i32.store
- (i32.const 188)
- (tee_local $3
- (i32.sub
- (get_local $1)
- (get_local $0)
- )
+ (if
+ (i32.eqz
+ (i32.load
+ (i32.const 648)
)
)
- (i32.store
- (i32.const 200)
- (tee_local $1
+ (if
+ (i32.and
(i32.add
- (tee_local $2
- (i32.load
- (i32.const 200)
+ (tee_local $1
+ (call $_sysconf
+ (i32.const 30)
)
)
- (get_local $0)
- )
- )
- )
- (i32.store offset=4
- (get_local $1)
- (i32.or
- (get_local $3)
- (i32.const 1)
- )
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $0)
- (i32.const 3)
- )
- )
- (return
- (i32.add
- (get_local $2)
- (i32.const 8)
- )
- )
- )
- )
- (if
- (i32.eqz
- (i32.load
- (i32.const 648)
- )
- )
- (if
- (i32.and
- (i32.add
- (tee_local $1
- (call $_sysconf
- (i32.const 30)
- )
+ (i32.const -1)
)
- (i32.const -1)
- )
- (get_local $1)
- )
- (call $_abort)
- (block
- (i32.store
- (i32.const 656)
(get_local $1)
)
- (i32.store
- (i32.const 652)
- (get_local $1)
- )
- (i32.store
- (i32.const 660)
- (i32.const -1)
- )
- (i32.store
- (i32.const 664)
- (i32.const -1)
- )
- (i32.store
- (i32.const 668)
- (i32.const 0)
- )
- (i32.store
- (i32.const 620)
- (i32.const 0)
- )
- (i32.store
- (i32.const 648)
- (i32.xor
- (i32.and
- (call $_time
- (i32.const 0)
+ (call $_abort)
+ (block
+ (i32.store
+ (i32.const 656)
+ (get_local $1)
+ )
+ (i32.store
+ (i32.const 652)
+ (get_local $1)
+ )
+ (i32.store
+ (i32.const 660)
+ (i32.const -1)
+ )
+ (i32.store
+ (i32.const 664)
+ (i32.const -1)
+ )
+ (i32.store
+ (i32.const 668)
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 620)
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 648)
+ (i32.xor
+ (i32.and
+ (call $_time
+ (i32.const 0)
+ )
+ (i32.const -16)
)
- (i32.const -16)
+ (i32.const 1431655768)
)
- (i32.const 1431655768)
)
)
)
)
- )
- (if
- (i32.le_u
- (tee_local $5
- (i32.and
- (tee_local $6
- (i32.add
- (tee_local $1
- (i32.load
- (i32.const 656)
+ (if
+ (i32.le_u
+ (tee_local $5
+ (i32.and
+ (tee_local $6
+ (i32.add
+ (tee_local $1
+ (i32.load
+ (i32.const 656)
+ )
)
- )
- (tee_local $8
- (i32.add
- (get_local $0)
- (i32.const 47)
+ (tee_local $8
+ (i32.add
+ (get_local $0)
+ (i32.const 47)
+ )
)
)
)
- )
- (tee_local $9
- (i32.sub
- (i32.const 0)
- (get_local $1)
+ (tee_local $9
+ (i32.sub
+ (i32.const 0)
+ (get_local $1)
+ )
)
)
)
+ (get_local $0)
)
- (get_local $0)
- )
- (return
- (i32.const 0)
- )
- )
- (if
- (tee_local $2
- (i32.load
- (i32.const 616)
+ (return
+ (i32.const 0)
)
)
(if
- (i32.or
- (i32.le_u
- (tee_local $1
- (i32.add
- (tee_local $3
- (i32.load
- (i32.const 608)
+ (tee_local $2
+ (i32.load
+ (i32.const 616)
+ )
+ )
+ (if
+ (i32.or
+ (i32.le_u
+ (tee_local $1
+ (i32.add
+ (tee_local $3
+ (i32.load
+ (i32.const 608)
+ )
)
+ (get_local $5)
)
- (get_local $5)
)
+ (get_local $3)
+ )
+ (i32.gt_u
+ (get_local $1)
+ (get_local $2)
)
- (get_local $3)
)
- (i32.gt_u
- (get_local $1)
- (get_local $2)
+ (return
+ (i32.const 0)
)
)
- (return
- (i32.const 0)
- )
)
- )
- (set_local $11
- (i32.add
- (get_local $0)
- (i32.const 48)
+ (set_local $11
+ (i32.add
+ (get_local $0)
+ (i32.const 48)
+ )
)
- )
- (block $__rjto$13
- (block $__rjti$13
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (i32.const 620)
+ (block $__rjto$13
+ (block $__rjti$13
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (i32.const 620)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (block
- (block $label$break$L279
- (block $__rjti$5
- (block $__rjti$4
- (br_if $__rjti$4
- (i32.eqz
- (tee_local $4
- (i32.load
- (i32.const 200)
+ (block
+ (block $label$break$L279
+ (block $__rjti$5
+ (block $__rjti$4
+ (br_if $__rjti$4
+ (i32.eqz
+ (tee_local $4
+ (i32.load
+ (i32.const 200)
+ )
)
)
)
- )
- (set_local $1
- (i32.const 624)
- )
- (loop $while-in34
- (block $while-out33
- (if
- (i32.le_u
- (tee_local $3
- (i32.load
- (get_local $1)
- )
- )
- (get_local $4)
- )
+ (set_local $1
+ (i32.const 624)
+ )
+ (loop $while-in34
+ (block $while-out33
(if
- (i32.gt_u
- (i32.add
- (get_local $3)
+ (i32.le_u
+ (tee_local $3
(i32.load
- (tee_local $2
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (get_local $1)
+ )
+ )
+ (get_local $4)
+ )
+ (if
+ (i32.gt_u
+ (i32.add
+ (get_local $3)
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
+ )
)
)
)
+ (get_local $4)
+ )
+ (block
+ (set_local $4
+ (get_local $1)
+ )
+ (br $while-out33)
)
- (get_local $4)
)
- (block
- (set_local $4
+ )
+ (br_if $while-in34
+ (tee_local $1
+ (i32.load offset=8
(get_local $1)
)
- (br $while-out33)
)
)
+ (br $__rjti$4)
)
- (br_if $while-in34
- (tee_local $1
- (i32.load offset=8
- (get_local $1)
+ )
+ (if
+ (i32.lt_u
+ (tee_local $3
+ (i32.and
+ (i32.sub
+ (get_local $6)
+ (i32.load
+ (i32.const 188)
+ )
+ )
+ (get_local $9)
)
)
+ (i32.const 2147483647)
)
- (br $__rjti$4)
- )
- )
- (if
- (i32.lt_u
- (tee_local $3
- (i32.and
- (i32.sub
- (get_local $6)
+ (if
+ (i32.eq
+ (tee_local $1
+ (call $_sbrk
+ (get_local $3)
+ )
+ )
+ (i32.add
(i32.load
- (i32.const 188)
+ (get_local $4)
+ )
+ (i32.load
+ (get_local $2)
)
)
- (get_local $9)
)
- )
- (i32.const 2147483647)
- )
- (if
- (i32.eq
- (tee_local $1
- (call $_sbrk
- (get_local $3)
+ (br_if $__rjti$13
+ (i32.ne
+ (get_local $1)
+ (i32.const -1)
)
)
- (i32.add
- (i32.load
- (get_local $4)
- )
- (i32.load
- (get_local $2)
+ (block
+ (set_local $2
+ (get_local $1)
)
+ (br $__rjti$5)
)
)
- (br_if $__rjti$13
- (i32.ne
- (get_local $1)
- (i32.const -1)
- )
- )
- (block
- (set_local $2
- (get_local $1)
- )
- (set_local $1
- (get_local $3)
- )
- (br $__rjti$5)
- )
)
+ (br $label$break$L279)
)
- (br $label$break$L279)
- )
- (if
- (i32.ne
- (tee_local $1
- (call $_sbrk
- (i32.const 0)
+ (if
+ (i32.ne
+ (tee_local $1
+ (call $_sbrk
+ (i32.const 0)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
- )
- (block
- (set_local $3
- (if (result i32)
- (i32.and
- (tee_local $2
- (i32.add
- (tee_local $4
- (i32.load
- (i32.const 652)
+ (block
+ (set_local $3
+ (if (result i32)
+ (i32.and
+ (tee_local $2
+ (i32.add
+ (tee_local $4
+ (i32.load
+ (i32.const 652)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
+ )
+ (tee_local $3
+ (get_local $1)
)
)
- (tee_local $3
- (get_local $1)
- )
- )
- (i32.add
- (i32.sub
- (get_local $5)
- (get_local $3)
- )
- (i32.and
- (i32.add
- (get_local $2)
+ (i32.add
+ (i32.sub
+ (get_local $5)
(get_local $3)
)
- (i32.sub
- (i32.const 0)
- (get_local $4)
+ (i32.and
+ (i32.add
+ (get_local $2)
+ (get_local $3)
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $4)
+ )
)
)
+ (get_local $5)
)
- (get_local $5)
)
- )
- (set_local $9
- (i32.add
- (tee_local $4
- (i32.load
- (i32.const 608)
+ (set_local $9
+ (i32.add
+ (tee_local $4
+ (i32.load
+ (i32.const 608)
+ )
)
- )
- (get_local $3)
- )
- )
- (if
- (i32.and
- (i32.gt_u
- (get_local $3)
- (get_local $0)
- )
- (i32.lt_u
(get_local $3)
- (i32.const 2147483647)
)
)
- (block
- (if
- (tee_local $2
- (i32.load
- (i32.const 616)
- )
+ (if
+ (i32.and
+ (i32.gt_u
+ (get_local $3)
+ (get_local $0)
)
- (br_if $label$break$L279
- (i32.or
- (i32.le_u
- (get_local $9)
- (get_local $4)
+ (i32.lt_u
+ (get_local $3)
+ (i32.const 2147483647)
+ )
+ )
+ (block
+ (if
+ (tee_local $2
+ (i32.load
+ (i32.const 616)
)
- (i32.gt_u
- (get_local $9)
- (get_local $2)
+ )
+ (br_if $label$break$L279
+ (i32.or
+ (i32.le_u
+ (get_local $9)
+ (get_local $4)
+ )
+ (i32.gt_u
+ (get_local $9)
+ (get_local $2)
+ )
)
)
)
- )
- (br_if $__rjti$13
- (i32.eq
- (tee_local $2
- (call $_sbrk
- (get_local $3)
+ (br_if $__rjti$13
+ (i32.eq
+ (tee_local $2
+ (call $_sbrk
+ (get_local $3)
+ )
)
+ (get_local $1)
)
- (get_local $1)
)
+ (br $__rjti$5)
)
- (set_local $1
- (get_local $3)
- )
- (br $__rjti$5)
)
)
)
+ (br $label$break$L279)
)
- (br $label$break$L279)
- )
- (set_local $4
- (i32.sub
- (i32.const 0)
- (get_local $1)
+ (set_local $1
+ (get_local $3)
)
- )
- (if
- (i32.and
- (i32.gt_u
- (get_local $11)
+ (set_local $4
+ (i32.sub
+ (i32.const 0)
(get_local $1)
)
+ )
+ (if
(i32.and
- (i32.lt_u
+ (i32.gt_u
+ (get_local $11)
(get_local $1)
- (i32.const 2147483647)
)
- (i32.ne
- (get_local $2)
- (i32.const -1)
+ (i32.and
+ (i32.lt_u
+ (get_local $1)
+ (i32.const 2147483647)
+ )
+ (i32.ne
+ (get_local $2)
+ (i32.const -1)
+ )
)
)
- )
- (if
- (i32.lt_u
- (tee_local $3
- (i32.and
- (i32.add
- (i32.sub
- (get_local $8)
- (get_local $1)
- )
- (tee_local $3
- (i32.load
- (i32.const 656)
+ (if
+ (i32.lt_u
+ (tee_local $3
+ (i32.and
+ (i32.add
+ (i32.sub
+ (get_local $8)
+ (get_local $1)
+ )
+ (tee_local $3
+ (i32.load
+ (i32.const 656)
+ )
)
)
+ (i32.sub
+ (i32.const 0)
+ (get_local $3)
+ )
)
- (i32.sub
- (i32.const 0)
+ )
+ (i32.const 2147483647)
+ )
+ (if
+ (i32.eq
+ (call $_sbrk
(get_local $3)
)
+ (i32.const -1)
)
- )
- (i32.const 2147483647)
- )
- (if
- (i32.eq
- (call $_sbrk
- (get_local $3)
+ (block
+ (drop
+ (call $_sbrk
+ (get_local $4)
+ )
+ )
+ (br $label$break$L279)
)
- (i32.const -1)
- )
- (block
- (drop
- (call $_sbrk
- (get_local $4)
+ (set_local $3
+ (i32.add
+ (get_local $3)
+ (get_local $1)
)
)
- (br $label$break$L279)
)
(set_local $3
- (i32.add
- (get_local $3)
- (get_local $1)
- )
+ (get_local $1)
)
)
(set_local $3
(get_local $1)
)
)
- (set_local $3
- (get_local $1)
- )
- )
- (if
- (i32.ne
- (get_local $2)
- (i32.const -1)
- )
- (block
- (set_local $1
+ (if
+ (i32.ne
(get_local $2)
+ (i32.const -1)
+ )
+ (block
+ (set_local $1
+ (get_local $2)
+ )
+ (br $__rjti$13)
)
- (br $__rjti$13)
)
)
- )
- (i32.store
- (i32.const 620)
- (i32.or
- (i32.load
- (i32.const 620)
+ (i32.store
+ (i32.const 620)
+ (i32.or
+ (i32.load
+ (i32.const 620)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $5)
- (i32.const 2147483647)
- )
(if
- (i32.and
- (i32.lt_u
- (tee_local $1
- (call $_sbrk
- (get_local $5)
+ (i32.lt_u
+ (get_local $5)
+ (i32.const 2147483647)
+ )
+ (if
+ (i32.and
+ (i32.lt_u
+ (tee_local $1
+ (call $_sbrk
+ (get_local $5)
+ )
)
- )
- (tee_local $3
- (call $_sbrk
- (i32.const 0)
+ (tee_local $3
+ (call $_sbrk
+ (i32.const 0)
+ )
)
)
- )
- (i32.and
- (i32.ne
- (get_local $1)
- (i32.const -1)
- )
- (i32.ne
- (get_local $3)
- (i32.const -1)
- )
- )
- )
- (br_if $__rjti$13
- (i32.gt_u
- (tee_local $3
- (i32.sub
- (get_local $3)
+ (i32.and
+ (i32.ne
(get_local $1)
+ (i32.const -1)
+ )
+ (i32.ne
+ (get_local $3)
+ (i32.const -1)
)
)
- (i32.add
- (get_local $0)
- (i32.const 40)
+ )
+ (br_if $__rjti$13
+ (i32.gt_u
+ (tee_local $3
+ (i32.sub
+ (get_local $3)
+ (get_local $1)
+ )
+ )
+ (i32.add
+ (get_local $0)
+ (i32.const 40)
+ )
)
)
)
)
+ (br $__rjto$13)
)
- (br $__rjto$13)
- )
- (i32.store
- (i32.const 608)
- (tee_local $2
- (i32.add
- (i32.load
- (i32.const 608)
+ (i32.store
+ (i32.const 608)
+ (tee_local $2
+ (i32.add
+ (i32.load
+ (i32.const 608)
+ )
+ (get_local $3)
)
- (get_local $3)
- )
- )
- )
- (if
- (i32.gt_u
- (get_local $2)
- (i32.load
- (i32.const 612)
)
)
- (i32.store
- (i32.const 612)
- (get_local $2)
- )
- )
- (block $do-once40
(if
- (tee_local $6
+ (i32.gt_u
+ (get_local $2)
(i32.load
- (i32.const 200)
+ (i32.const 612)
)
)
- (block
- (set_local $2
- (i32.const 624)
+ (i32.store
+ (i32.const 612)
+ (get_local $2)
+ )
+ )
+ (block $do-once40
+ (if
+ (tee_local $6
+ (i32.load
+ (i32.const 200)
+ )
)
- (block $__rjto$10
- (block $__rjti$10
- (loop $while-in45
- (br_if $__rjti$10
- (i32.eq
- (get_local $1)
- (i32.add
- (tee_local $11
- (i32.load
- (get_local $2)
+ (block
+ (set_local $2
+ (i32.const 624)
+ )
+ (block $__rjto$10
+ (block $__rjti$10
+ (loop $while-in45
+ (br_if $__rjti$10
+ (i32.eq
+ (get_local $1)
+ (i32.add
+ (tee_local $11
+ (i32.load
+ (get_local $2)
+ )
)
- )
- (tee_local $5
- (i32.load
- (tee_local $4
- (i32.add
- (get_local $2)
- (i32.const 4)
+ (tee_local $5
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (get_local $2)
+ (i32.const 4)
+ )
)
)
)
)
)
)
- )
- (br_if $while-in45
- (tee_local $2
- (i32.load offset=8
- (get_local $2)
+ (br_if $while-in45
+ (tee_local $2
+ (i32.load offset=8
+ (get_local $2)
+ )
)
)
)
- )
- (br $__rjto$10)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load offset=12
- (get_local $2)
- )
- (i32.const 8)
- )
+ (br $__rjto$10)
)
(if
- (i32.and
- (i32.lt_u
- (get_local $6)
- (get_local $1)
- )
- (i32.ge_u
- (get_local $6)
- (get_local $11)
+ (i32.eqz
+ (i32.and
+ (i32.load offset=12
+ (get_local $2)
+ )
+ (i32.const 8)
)
)
- (block
- (i32.store
- (get_local $4)
- (i32.add
- (get_local $5)
- (get_local $3)
+ (if
+ (i32.and
+ (i32.lt_u
+ (get_local $6)
+ (get_local $1)
)
- )
- (set_local $2
- (i32.add
+ (i32.ge_u
(get_local $6)
- (tee_local $1
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $1
- (i32.add
- (get_local $6)
- (i32.const 8)
+ (get_local $11)
+ )
+ )
+ (block
+ (i32.store
+ (get_local $4)
+ (i32.add
+ (get_local $5)
+ (get_local $3)
+ )
+ )
+ (set_local $2
+ (i32.add
+ (get_local $6)
+ (tee_local $1
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $1
+ (i32.add
+ (get_local $6)
+ (i32.const 8)
+ )
)
)
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $1)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $1)
- (i32.const 7)
)
)
)
)
- )
- (set_local $1
- (i32.add
- (i32.sub
- (get_local $3)
- (get_local $1)
- )
- (i32.load
- (i32.const 188)
+ (set_local $1
+ (i32.add
+ (i32.sub
+ (get_local $3)
+ (get_local $1)
+ )
+ (i32.load
+ (i32.const 188)
+ )
)
)
- )
- (i32.store
- (i32.const 200)
- (get_local $2)
- )
- (i32.store
- (i32.const 188)
- (get_local $1)
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
+ (i32.store
+ (i32.const 200)
+ (get_local $2)
+ )
+ (i32.store
+ (i32.const 188)
(get_local $1)
- (i32.const 1)
)
- )
- (i32.store offset=4
- (i32.add
+ (i32.store offset=4
(get_local $2)
- (get_local $1)
+ (i32.or
+ (get_local $1)
+ (i32.const 1)
+ )
)
- (i32.const 40)
- )
- (i32.store
- (i32.const 204)
- (i32.load
- (i32.const 664)
+ (i32.store offset=4
+ (i32.add
+ (get_local $2)
+ (get_local $1)
+ )
+ (i32.const 40)
+ )
+ (i32.store
+ (i32.const 204)
+ (i32.load
+ (i32.const 664)
+ )
)
+ (br $do-once40)
)
- (br $do-once40)
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $1)
- (tee_local $4
- (i32.load
+ (if
+ (i32.lt_u
+ (get_local $1)
+ (tee_local $4
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (block
+ (i32.store
(i32.const 192)
+ (get_local $1)
+ )
+ (set_local $4
+ (get_local $1)
)
)
)
- (block
- (i32.store
- (i32.const 192)
- (get_local $1)
- )
- (set_local $4
+ (set_local $11
+ (i32.add
(get_local $1)
+ (get_local $3)
)
)
- )
- (set_local $11
- (i32.add
- (get_local $1)
- (get_local $3)
+ (set_local $2
+ (i32.const 624)
)
- )
- (set_local $2
- (i32.const 624)
- )
- (block $__rjto$11
- (block $__rjti$11
- (loop $while-in47
- (if
- (i32.eq
- (i32.load
- (get_local $2)
+ (block $__rjto$11
+ (block $__rjti$11
+ (loop $while-in47
+ (if
+ (i32.eq
+ (i32.load
+ (get_local $2)
+ )
+ (get_local $11)
+ )
+ (block
+ (set_local $5
+ (get_local $2)
+ )
+ (br $__rjti$11)
)
- (get_local $11)
)
- (block
- (set_local $5
- (get_local $2)
+ (br_if $while-in47
+ (tee_local $2
+ (i32.load offset=8
+ (get_local $2)
+ )
)
- (br $__rjti$11)
+ )
+ (set_local $4
+ (i32.const 624)
)
)
- (br_if $while-in47
- (tee_local $2
- (i32.load offset=8
- (get_local $2)
- )
+ (br $__rjto$11)
+ )
+ (if
+ (i32.and
+ (i32.load offset=12
+ (get_local $2)
)
+ (i32.const 8)
)
(set_local $4
(i32.const 624)
)
- )
- (br $__rjto$11)
- )
- (if
- (i32.and
- (i32.load offset=12
- (get_local $2)
- )
- (i32.const 8)
- )
- (set_local $4
- (i32.const 624)
- )
- (block
- (i32.store
- (get_local $5)
- (get_local $1)
- )
- (i32.store
- (tee_local $2
- (i32.add
- (get_local $2)
- (i32.const 4)
- )
- )
- (i32.add
- (i32.load
- (get_local $2)
- )
- (get_local $3)
+ (block
+ (i32.store
+ (get_local $5)
+ (get_local $1)
)
- )
- (set_local $8
- (i32.add
- (tee_local $9
+ (i32.store
+ (tee_local $2
(i32.add
- (get_local $1)
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $1
- (i32.add
- (get_local $1)
- (i32.const 8)
- )
- )
- )
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $1)
- (i32.const 7)
- )
- )
+ (get_local $2)
+ (i32.const 4)
)
)
- (get_local $0)
+ (i32.add
+ (i32.load
+ (get_local $2)
+ )
+ (get_local $3)
+ )
)
- )
- (set_local $7
- (i32.sub
- (i32.sub
- (tee_local $5
+ (set_local $8
+ (i32.add
+ (tee_local $9
(i32.add
- (get_local $11)
+ (get_local $1)
(select
(i32.and
(i32.sub
(i32.const 0)
(tee_local $1
(i32.add
- (get_local $11)
+ (get_local $1)
(i32.const 8)
)
)
@@ -11458,1919 +11353,1948 @@
)
)
)
- (get_local $9)
+ (get_local $0)
)
- (get_local $0)
)
- )
- (i32.store offset=4
- (get_local $9)
- (i32.or
- (get_local $0)
- (i32.const 3)
- )
- )
- (block $do-once48
- (if
- (i32.eq
- (get_local $5)
- (get_local $6)
- )
- (block
- (i32.store
- (i32.const 188)
- (tee_local $0
+ (set_local $7
+ (i32.sub
+ (i32.sub
+ (tee_local $5
(i32.add
- (i32.load
- (i32.const 188)
+ (get_local $11)
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $1
+ (i32.add
+ (get_local $11)
+ (i32.const 8)
+ )
+ )
+ )
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $1)
+ (i32.const 7)
+ )
)
- (get_local $7)
)
)
+ (get_local $9)
)
- (i32.store
- (i32.const 200)
- (get_local $8)
+ (get_local $0)
+ )
+ )
+ (i32.store offset=4
+ (get_local $9)
+ (i32.or
+ (get_local $0)
+ (i32.const 3)
+ )
+ )
+ (block $do-once48
+ (if
+ (i32.eq
+ (get_local $5)
+ (get_local $6)
)
- (i32.store offset=4
- (get_local $8)
- (i32.or
- (get_local $0)
- (i32.const 1)
+ (block
+ (i32.store
+ (i32.const 188)
+ (tee_local $0
+ (i32.add
+ (i32.load
+ (i32.const 188)
+ )
+ (get_local $7)
+ )
+ )
)
- )
- )
- (block
- (if
- (i32.eq
- (get_local $5)
- (i32.load
- (i32.const 196)
+ (i32.store
+ (i32.const 200)
+ (get_local $8)
+ )
+ (i32.store offset=4
+ (get_local $8)
+ (i32.or
+ (get_local $0)
+ (i32.const 1)
)
)
- (block
- (i32.store
- (i32.const 184)
- (tee_local $0
- (i32.add
- (i32.load
- (i32.const 184)
+ )
+ (block
+ (if
+ (i32.eq
+ (get_local $5)
+ (i32.load
+ (i32.const 196)
+ )
+ )
+ (block
+ (i32.store
+ (i32.const 184)
+ (tee_local $0
+ (i32.add
+ (i32.load
+ (i32.const 184)
+ )
+ (get_local $7)
)
- (get_local $7)
)
)
- )
- (i32.store
- (i32.const 196)
- (get_local $8)
- )
- (i32.store offset=4
- (get_local $8)
- (i32.or
- (get_local $0)
- (i32.const 1)
+ (i32.store
+ (i32.const 196)
+ (get_local $8)
)
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $8)
+ (i32.or
+ (get_local $0)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
+ (get_local $8)
+ (get_local $0)
+ )
(get_local $0)
)
- (get_local $0)
+ (br $do-once48)
)
- (br $do-once48)
)
- )
- (i32.store
- (tee_local $0
- (i32.add
- (tee_local $0
- (if (result i32)
- (i32.eq
- (i32.and
- (tee_local $0
- (i32.load offset=4
- (get_local $5)
- )
- )
- (i32.const 3)
- )
- (i32.const 1)
- )
- (block (result i32)
- (set_local $11
+ (i32.store
+ (tee_local $0
+ (i32.add
+ (tee_local $0
+ (if (result i32)
+ (i32.eq
(i32.and
- (get_local $0)
- (i32.const -8)
- )
- )
- (set_local $1
- (i32.shr_u
- (get_local $0)
+ (tee_local $0
+ (i32.load offset=4
+ (get_local $5)
+ )
+ )
(i32.const 3)
)
+ (i32.const 1)
)
- (block $label$break$L331
- (if
- (i32.lt_u
+ (block (result i32)
+ (set_local $11
+ (i32.and
(get_local $0)
- (i32.const 256)
+ (i32.const -8)
)
- (block
- (set_local $2
- (i32.load offset=12
- (get_local $5)
- )
+ )
+ (set_local $1
+ (i32.shr_u
+ (get_local $0)
+ (i32.const 3)
+ )
+ )
+ (block $label$break$L331
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (i32.const 256)
)
- (block $do-once51
- (if
- (i32.ne
- (tee_local $3
- (i32.load offset=8
- (get_local $5)
- )
- )
- (tee_local $0
- (i32.add
- (i32.shl
- (get_local $1)
- (i32.const 3)
+ (block
+ (set_local $2
+ (i32.load offset=12
+ (get_local $5)
+ )
+ )
+ (block $do-once51
+ (if
+ (i32.ne
+ (tee_local $3
+ (i32.load offset=8
+ (get_local $5)
)
- (i32.const 216)
)
- )
- )
- (block
- (if
- (i32.lt_u
- (get_local $3)
- (get_local $4)
+ (tee_local $0
+ (i32.add
+ (i32.shl
+ (get_local $1)
+ (i32.const 3)
+ )
+ (i32.const 216)
+ )
)
- (call $_abort)
)
- (br_if $do-once51
- (i32.eq
- (i32.load offset=12
+ (block
+ (if
+ (i32.lt_u
(get_local $3)
+ (get_local $4)
)
- (get_local $5)
+ (call $_abort)
)
- )
- (call $_abort)
- )
- )
- )
- (if
- (i32.eq
- (get_local $2)
- (get_local $3)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.and
- (i32.load
- (i32.const 176)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $1)
+ (br_if $do-once51
+ (i32.eq
+ (i32.load offset=12
+ (get_local $3)
+ )
+ (get_local $5)
)
- (i32.const -1)
)
+ (call $_abort)
)
)
- (br $label$break$L331)
)
- )
- (block $do-once53
(if
(i32.eq
(get_local $2)
- (get_local $0)
+ (get_local $3)
)
- (set_local $15
- (i32.add
- (get_local $2)
- (i32.const 8)
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.and
+ (i32.load
+ (i32.const 176)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $1)
+ )
+ (i32.const -1)
+ )
+ )
)
+ (br $label$break$L331)
)
- (block
- (if
- (i32.lt_u
+ )
+ (block $do-once53
+ (if
+ (i32.eq
+ (get_local $2)
+ (get_local $0)
+ )
+ (set_local $15
+ (i32.add
(get_local $2)
- (get_local $4)
+ (i32.const 8)
)
- (call $_abort)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $2)
- (i32.const 8)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $2)
+ (get_local $4)
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
)
)
+ (get_local $5)
)
- (get_local $5)
- )
- (block
- (set_local $15
- (get_local $0)
+ (block
+ (set_local $15
+ (get_local $0)
+ )
+ (br $do-once53)
)
- (br $do-once53)
)
+ (call $_abort)
)
- (call $_abort)
)
)
- )
- (i32.store offset=12
- (get_local $3)
- (get_local $2)
- )
- (i32.store
- (get_local $15)
- (get_local $3)
- )
- )
- (block
- (set_local $6
- (i32.load offset=24
- (get_local $5)
+ (i32.store offset=12
+ (get_local $3)
+ (get_local $2)
+ )
+ (i32.store
+ (get_local $15)
+ (get_local $3)
)
)
- (block $do-once55
- (if
- (i32.eq
- (tee_local $0
- (i32.load offset=12
- (get_local $5)
- )
- )
+ (block
+ (set_local $6
+ (i32.load offset=24
(get_local $5)
)
- (block
- (if
- (i32.eqz
- (tee_local $1
- (i32.load
- (tee_local $0
- (i32.add
- (tee_local $3
- (i32.add
- (get_local $5)
- (i32.const 16)
+ )
+ (block $do-once55
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=12
+ (get_local $5)
+ )
+ )
+ (get_local $5)
+ )
+ (block
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (tee_local $3
+ (i32.add
+ (get_local $5)
+ (i32.const 16)
+ )
)
+ (i32.const 4)
)
- (i32.const 4)
)
)
)
)
- )
- (if
- (tee_local $1
- (i32.load
+ (if
+ (tee_local $1
+ (i32.load
+ (get_local $3)
+ )
+ )
+ (set_local $0
(get_local $3)
)
+ (block
+ (set_local $12
+ (i32.const 0)
+ )
+ (br $do-once55)
+ )
)
- (set_local $0
- (get_local $3)
+ )
+ (loop $while-in58
+ (if
+ (tee_local $3
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $1)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $1
+ (get_local $3)
+ )
+ (set_local $0
+ (get_local $2)
+ )
+ (br $while-in58)
+ )
+ )
+ (if
+ (tee_local $3
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $1
+ (get_local $3)
+ )
+ (set_local $0
+ (get_local $2)
+ )
+ (br $while-in58)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (get_local $4)
)
+ (call $_abort)
(block
- (set_local $12
+ (i32.store
+ (get_local $0)
(i32.const 0)
)
- (br $do-once55)
+ (set_local $12
+ (get_local $1)
+ )
)
)
)
- (loop $while-in58
+ (block
(if
- (tee_local $3
+ (i32.lt_u
+ (tee_local $2
+ (i32.load offset=8
+ (get_local $5)
+ )
+ )
+ (get_local $4)
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.ne
(i32.load
- (tee_local $2
+ (tee_local $3
(i32.add
- (get_local $1)
- (i32.const 20)
+ (get_local $2)
+ (i32.const 12)
)
)
)
+ (get_local $5)
)
- (block
- (set_local $1
- (get_local $3)
- )
- (set_local $0
- (get_local $2)
- )
- (br $while-in58)
- )
+ (call $_abort)
)
(if
- (tee_local $3
+ (i32.eq
(i32.load
- (tee_local $2
+ (tee_local $1
(i32.add
- (get_local $1)
- (i32.const 16)
+ (get_local $0)
+ (i32.const 8)
)
)
)
+ (get_local $5)
)
(block
- (set_local $1
+ (i32.store
(get_local $3)
+ (get_local $0)
)
- (set_local $0
+ (i32.store
+ (get_local $1)
(get_local $2)
)
- (br $while-in58)
- )
- )
- )
- (if
- (i32.lt_u
- (get_local $0)
- (get_local $4)
- )
- (call $_abort)
- (block
- (i32.store
- (get_local $0)
- (i32.const 0)
- )
- (set_local $12
- (get_local $1)
+ (set_local $12
+ (get_local $0)
+ )
)
+ (call $_abort)
)
)
)
- (block
- (if
- (i32.lt_u
- (tee_local $2
- (i32.load offset=8
- (get_local $5)
+ )
+ (br_if $label$break$L331
+ (i32.eqz
+ (get_local $6)
+ )
+ )
+ (block $do-once59
+ (if
+ (i32.eq
+ (get_local $5)
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (i32.shl
+ (tee_local $1
+ (i32.load offset=28
+ (get_local $5)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 480)
)
)
- (get_local $4)
)
- (call $_abort)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $3
- (i32.add
- (get_local $2)
- (i32.const 12)
+ (block
+ (i32.store
+ (get_local $0)
+ (get_local $12)
+ )
+ (br_if $do-once59
+ (get_local $12)
+ )
+ (i32.store
+ (i32.const 180)
+ (i32.and
+ (i32.load
+ (i32.const 180)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $1)
)
+ (i32.const -1)
)
)
- (get_local $5)
)
- (call $_abort)
+ (br $label$break$L331)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $0)
- (i32.const 8)
- )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $6)
+ (i32.load
+ (i32.const 192)
)
)
- (get_local $5)
+ (call $_abort)
)
- (block
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $6)
+ (i32.const 16)
+ )
+ )
+ )
+ (get_local $5)
+ )
(i32.store
- (get_local $3)
(get_local $0)
+ (get_local $12)
)
- (i32.store
- (get_local $1)
- (get_local $2)
+ (i32.store offset=20
+ (get_local $6)
+ (get_local $12)
)
- (set_local $12
- (get_local $0)
+ )
+ (br_if $label$break$L331
+ (i32.eqz
+ (get_local $12)
)
)
- (call $_abort)
)
)
)
- )
- (br_if $label$break$L331
- (i32.eqz
+ (if
+ (i32.lt_u
+ (get_local $12)
+ (tee_local $1
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (call $_abort)
+ )
+ (i32.store offset=24
+ (get_local $12)
(get_local $6)
)
- )
- (block $do-once59
(if
- (i32.eq
- (get_local $5)
+ (tee_local $3
(i32.load
(tee_local $0
(i32.add
- (i32.shl
- (tee_local $1
- (i32.load offset=28
- (get_local $5)
- )
- )
- (i32.const 2)
- )
- (i32.const 480)
- )
- )
- )
- )
- (block
- (i32.store
- (get_local $0)
- (get_local $12)
- )
- (br_if $do-once59
- (get_local $12)
- )
- (i32.store
- (i32.const 180)
- (i32.and
- (i32.load
- (i32.const 180)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $1)
- )
- (i32.const -1)
+ (get_local $5)
+ (i32.const 16)
)
)
)
- (br $label$break$L331)
)
- (block
- (if
- (i32.lt_u
- (get_local $6)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
+ (if
+ (i32.lt_u
+ (get_local $3)
+ (get_local $1)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $6)
- (i32.const 16)
- )
- )
- )
- (get_local $5)
- )
- (i32.store
- (get_local $0)
- (get_local $12)
- )
- (i32.store offset=20
- (get_local $6)
+ (call $_abort)
+ (block
+ (i32.store offset=16
(get_local $12)
+ (get_local $3)
)
- )
- (br_if $label$break$L331
- (i32.eqz
+ (i32.store offset=24
+ (get_local $3)
(get_local $12)
)
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $12)
- (tee_local $1
- (i32.load
- (i32.const 192)
- )
- )
- )
- (call $_abort)
- )
- (i32.store offset=24
- (get_local $12)
- (get_local $6)
- )
- (if
- (tee_local $3
- (i32.load
+ (br_if $label$break$L331
+ (i32.eqz
(tee_local $0
- (i32.add
- (get_local $5)
- (i32.const 16)
+ (i32.load offset=4
+ (get_local $0)
)
)
)
)
(if
(i32.lt_u
- (get_local $3)
- (get_local $1)
+ (get_local $0)
+ (i32.load
+ (i32.const 192)
+ )
)
(call $_abort)
(block
- (i32.store offset=16
+ (i32.store offset=20
(get_local $12)
- (get_local $3)
+ (get_local $0)
)
(i32.store offset=24
- (get_local $3)
- (get_local $12)
- )
- )
- )
- )
- (br_if $label$break$L331
- (i32.eqz
- (tee_local $0
- (i32.load offset=4
(get_local $0)
+ (get_local $12)
)
)
)
)
- (if
- (i32.lt_u
- (get_local $0)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block
- (i32.store offset=20
- (get_local $12)
- (get_local $0)
- )
- (i32.store offset=24
- (get_local $0)
- (get_local $12)
- )
- )
- )
)
)
- )
- (set_local $7
+ (set_local $7
+ (i32.add
+ (get_local $11)
+ (get_local $7)
+ )
+ )
(i32.add
+ (get_local $5)
(get_local $11)
- (get_local $7)
)
)
- (i32.add
- (get_local $5)
- (get_local $11)
- )
+ (get_local $5)
)
- (get_local $5)
)
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (i32.and
- (i32.load
- (get_local $0)
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const -2)
)
- (i32.const -2)
)
- )
- (i32.store offset=4
- (get_local $8)
- (i32.or
- (get_local $7)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $8)
- (get_local $7)
+ (i32.or
+ (get_local $7)
+ (i32.const 1)
+ )
)
- (get_local $7)
- )
- (set_local $0
- (i32.shr_u
+ (i32.store
+ (i32.add
+ (get_local $8)
+ (get_local $7)
+ )
(get_local $7)
- (i32.const 3)
)
- )
- (if
- (i32.lt_u
- (get_local $7)
- (i32.const 256)
+ (set_local $0
+ (i32.shr_u
+ (get_local $7)
+ (i32.const 3)
+ )
)
- (block
- (set_local $3
- (i32.add
- (i32.shl
- (get_local $0)
- (i32.const 3)
+ (if
+ (i32.lt_u
+ (get_local $7)
+ (i32.const 256)
+ )
+ (block
+ (set_local $3
+ (i32.add
+ (i32.shl
+ (get_local $0)
+ (i32.const 3)
+ )
+ (i32.const 216)
)
- (i32.const 216)
)
- )
- (block $do-once63
- (if
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 176)
+ (block $do-once63
+ (if
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (i32.const 176)
+ )
)
- )
- (tee_local $0
- (i32.shl
- (i32.const 1)
- (get_local $0)
+ (tee_local $0
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
+ )
)
)
- )
- (block
- (if
- (i32.ge_u
- (tee_local $0
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $3)
- (i32.const 8)
+ (block
+ (if
+ (i32.ge_u
+ (tee_local $0
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 192)
+ )
)
- (i32.load
- (i32.const 192)
+ (block
+ (set_local $16
+ (get_local $1)
+ )
+ (set_local $10
+ (get_local $0)
+ )
+ (br $do-once63)
)
)
- (block
- (set_local $16
+ (call $_abort)
+ )
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
(get_local $1)
- )
- (set_local $10
(get_local $0)
)
- (br $do-once63)
)
- )
- (call $_abort)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $1)
- (get_local $0)
+ (set_local $16
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
)
- )
- (set_local $16
- (i32.add
+ (set_local $10
(get_local $3)
- (i32.const 8)
)
)
- (set_local $10
- (get_local $3)
- )
)
)
+ (i32.store
+ (get_local $16)
+ (get_local $8)
+ )
+ (i32.store offset=12
+ (get_local $10)
+ (get_local $8)
+ )
+ (i32.store offset=8
+ (get_local $8)
+ (get_local $10)
+ )
+ (i32.store offset=12
+ (get_local $8)
+ (get_local $3)
+ )
+ (br $do-once48)
)
- (i32.store
- (get_local $16)
- (get_local $8)
- )
- (i32.store offset=12
- (get_local $10)
- (get_local $8)
- )
- (i32.store offset=8
- (get_local $8)
- (get_local $10)
- )
- (i32.store offset=12
- (get_local $8)
- (get_local $3)
- )
- (br $do-once48)
)
- )
- (set_local $3
- (i32.add
- (i32.shl
- (tee_local $2
- (block $do-once65 (result i32)
- (if (result i32)
- (tee_local $0
- (i32.shr_u
- (get_local $7)
- (i32.const 8)
+ (set_local $3
+ (i32.add
+ (i32.shl
+ (tee_local $2
+ (block $do-once65 (result i32)
+ (if (result i32)
+ (tee_local $0
+ (i32.shr_u
+ (get_local $7)
+ (i32.const 8)
+ )
)
- )
- (block (result i32)
- (drop
- (br_if $do-once65
- (i32.const 31)
- (i32.gt_u
- (get_local $7)
- (i32.const 16777215)
+ (block (result i32)
+ (drop
+ (br_if $do-once65
+ (i32.const 31)
+ (i32.gt_u
+ (get_local $7)
+ (i32.const 16777215)
+ )
)
)
- )
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $7)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $7)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $0)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
+ (i32.or
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $0)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 520192)
)
- (i32.const 520192)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 4)
)
- (i32.const 4)
)
+ (get_local $3)
)
- (get_local $3)
- )
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
+ )
)
+ (i32.const 245760)
)
- (i32.const 245760)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (i32.shr_u
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
+ (i32.const 0)
)
- (i32.const 0)
)
)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 480)
)
- (i32.const 480)
)
- )
- (i32.store offset=28
- (get_local $8)
- (get_local $2)
- )
- (i32.store offset=4
- (tee_local $0
- (i32.add
- (get_local $8)
- (i32.const 16)
+ (i32.store offset=28
+ (get_local $8)
+ (get_local $2)
+ )
+ (i32.store offset=4
+ (tee_local $0
+ (i32.add
+ (get_local $8)
+ (i32.const 16)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (i32.store
- (get_local $0)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 180)
+ (i32.store
+ (get_local $0)
+ (i32.const 0)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (i32.const 180)
+ )
)
- )
- (tee_local $0
- (i32.shl
- (i32.const 1)
- (get_local $2)
+ (tee_local $0
+ (i32.shl
+ (i32.const 1)
+ (get_local $2)
+ )
)
)
)
- )
- (block
- (i32.store
- (i32.const 180)
- (i32.or
- (get_local $1)
- (get_local $0)
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.or
+ (get_local $1)
+ (get_local $0)
+ )
)
+ (i32.store
+ (get_local $3)
+ (get_local $8)
+ )
+ (i32.store offset=24
+ (get_local $8)
+ (get_local $3)
+ )
+ (i32.store offset=12
+ (get_local $8)
+ (get_local $8)
+ )
+ (i32.store offset=8
+ (get_local $8)
+ (get_local $8)
+ )
+ (br $do-once48)
)
- (i32.store
- (get_local $3)
- (get_local $8)
- )
- (i32.store offset=24
- (get_local $8)
- (get_local $3)
- )
- (i32.store offset=12
- (get_local $8)
- (get_local $8)
- )
- (i32.store offset=8
- (get_local $8)
- (get_local $8)
- )
- (br $do-once48)
)
- )
- (set_local $2
- (i32.shl
- (get_local $7)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
+ (set_local $2
+ (i32.shl
+ (get_local $7)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $2)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
(get_local $2)
- (i32.const 1)
+ (i32.const 31)
)
)
- (i32.eq
- (get_local $2)
- (i32.const 31)
- )
)
)
- )
- (set_local $0
- (i32.load
- (get_local $3)
+ (set_local $0
+ (i32.load
+ (get_local $3)
+ )
)
- )
- (block $__rjto$7
- (block $__rjti$7
- (loop $while-in68
- (br_if $__rjti$7
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $0)
+ (block $__rjto$7
+ (block $__rjti$7
+ (loop $while-in68
+ (br_if $__rjti$7
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $0)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $7)
)
- (get_local $7)
)
- )
- (set_local $3
- (i32.shl
- (get_local $2)
- (i32.const 1)
+ (set_local $3
+ (i32.shl
+ (get_local $2)
+ (i32.const 1)
+ )
)
- )
- (if
- (tee_local $1
- (i32.load
- (tee_local $2
- (i32.add
+ (if
+ (tee_local $1
+ (i32.load
+ (tee_local $2
(i32.add
- (get_local $0)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $2)
- (i32.const 31)
+ (i32.add
+ (get_local $0)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $2)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
+ (block
+ (set_local $2
+ (get_local $3)
+ )
+ (set_local $0
+ (get_local $1)
+ )
+ (br $while-in68)
+ )
)
+ )
+ (if
+ (i32.lt_u
+ (get_local $2)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
(block
- (set_local $2
- (get_local $3)
+ (i32.store
+ (get_local $2)
+ (get_local $8)
)
- (set_local $0
- (get_local $1)
+ (i32.store offset=24
+ (get_local $8)
+ (get_local $0)
+ )
+ (i32.store offset=12
+ (get_local $8)
+ (get_local $8)
)
- (br $while-in68)
+ (i32.store offset=8
+ (get_local $8)
+ (get_local $8)
+ )
+ (br $do-once48)
)
)
+ (br $__rjto$7)
)
(if
- (i32.lt_u
- (get_local $2)
- (i32.load
- (i32.const 192)
+ (i32.and
+ (i32.ge_u
+ (tee_local $2
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (tee_local $1
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (i32.ge_u
+ (get_local $0)
+ (get_local $1)
)
)
- (call $_abort)
(block
- (i32.store
+ (i32.store offset=12
(get_local $2)
(get_local $8)
)
- (i32.store offset=24
- (get_local $8)
- (get_local $0)
- )
- (i32.store offset=12
- (get_local $8)
+ (i32.store
+ (get_local $3)
(get_local $8)
)
(i32.store offset=8
(get_local $8)
- (get_local $8)
+ (get_local $2)
)
- (br $do-once48)
- )
- )
- (br $__rjto$7)
- )
- (if
- (i32.and
- (i32.ge_u
- (tee_local $2
- (i32.load
- (tee_local $3
- (i32.add
- (get_local $0)
- (i32.const 8)
- )
- )
- )
+ (i32.store offset=12
+ (get_local $8)
+ (get_local $0)
)
- (tee_local $1
- (i32.load
- (i32.const 192)
- )
+ (i32.store offset=24
+ (get_local $8)
+ (i32.const 0)
)
)
- (i32.ge_u
- (get_local $0)
- (get_local $1)
- )
- )
- (block
- (i32.store offset=12
- (get_local $2)
- (get_local $8)
- )
- (i32.store
- (get_local $3)
- (get_local $8)
- )
- (i32.store offset=8
- (get_local $8)
- (get_local $2)
- )
- (i32.store offset=12
- (get_local $8)
- (get_local $0)
- )
- (i32.store offset=24
- (get_local $8)
- (i32.const 0)
- )
+ (call $_abort)
)
- (call $_abort)
)
)
)
)
- )
- (return
- (i32.add
- (get_local $9)
- (i32.const 8)
+ (return
+ (i32.add
+ (get_local $9)
+ (i32.const 8)
+ )
)
)
)
)
- )
- (loop $while-in70
- (block $while-out69
- (if
- (i32.le_u
- (tee_local $2
- (i32.load
- (get_local $4)
+ (loop $while-in70
+ (block $while-out69
+ (if
+ (i32.le_u
+ (tee_local $2
+ (i32.load
+ (get_local $4)
+ )
)
+ (get_local $6)
)
- (get_local $6)
- )
- (br_if $while-out69
- (i32.gt_u
- (tee_local $2
- (i32.add
- (get_local $2)
- (i32.load offset=4
- (get_local $4)
+ (br_if $while-out69
+ (i32.gt_u
+ (tee_local $2
+ (i32.add
+ (get_local $2)
+ (i32.load offset=4
+ (get_local $4)
+ )
)
)
+ (get_local $6)
)
- (get_local $6)
)
)
- )
- (set_local $4
- (i32.load offset=8
- (get_local $4)
+ (set_local $4
+ (i32.load offset=8
+ (get_local $4)
+ )
)
+ (br $while-in70)
)
- (br $while-in70)
)
- )
- (set_local $10
- (i32.add
- (tee_local $4
- (i32.add
- (get_local $2)
- (i32.const -47)
+ (set_local $10
+ (i32.add
+ (tee_local $4
+ (i32.add
+ (get_local $2)
+ (i32.const -47)
+ )
)
+ (i32.const 8)
)
- (i32.const 8)
)
- )
- (set_local $12
- (i32.add
- (tee_local $11
- (select
- (get_local $6)
- (tee_local $4
- (i32.add
- (get_local $4)
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
+ (set_local $12
+ (i32.add
+ (tee_local $11
+ (select
+ (get_local $6)
+ (tee_local $4
+ (i32.add
+ (get_local $4)
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (get_local $10)
+ )
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
(get_local $10)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $10)
- (i32.const 7)
)
)
)
- )
- (i32.lt_u
- (get_local $4)
- (tee_local $10
- (i32.add
- (get_local $6)
- (i32.const 16)
+ (i32.lt_u
+ (get_local $4)
+ (tee_local $10
+ (i32.add
+ (get_local $6)
+ (i32.const 16)
+ )
)
)
)
)
+ (i32.const 8)
)
- (i32.const 8)
)
- )
- (i32.store
- (i32.const 200)
- (tee_local $5
- (i32.add
- (get_local $1)
- (tee_local $4
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $4
- (i32.add
- (get_local $1)
- (i32.const 8)
+ (i32.store
+ (i32.const 200)
+ (tee_local $5
+ (i32.add
+ (get_local $1)
+ (tee_local $4
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $4
+ (i32.add
+ (get_local $1)
+ (i32.const 8)
+ )
)
)
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $4)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $4)
- (i32.const 7)
)
)
)
)
)
- )
- (i32.store
- (i32.const 188)
- (tee_local $4
- (i32.sub
- (i32.add
- (get_local $3)
- (i32.const -40)
+ (i32.store
+ (i32.const 188)
+ (tee_local $4
+ (i32.sub
+ (i32.add
+ (get_local $3)
+ (i32.const -40)
+ )
+ (get_local $4)
)
+ )
+ )
+ (i32.store offset=4
+ (get_local $5)
+ (i32.or
(get_local $4)
+ (i32.const 1)
)
)
- )
- (i32.store offset=4
- (get_local $5)
- (i32.or
- (get_local $4)
- (i32.const 1)
+ (i32.store offset=4
+ (i32.add
+ (get_local $5)
+ (get_local $4)
+ )
+ (i32.const 40)
)
- )
- (i32.store offset=4
- (i32.add
- (get_local $5)
- (get_local $4)
+ (i32.store
+ (i32.const 204)
+ (i32.load
+ (i32.const 664)
+ )
)
- (i32.const 40)
- )
- (i32.store
- (i32.const 204)
- (i32.load
- (i32.const 664)
+ (i32.store
+ (tee_local $4
+ (i32.add
+ (get_local $11)
+ (i32.const 4)
+ )
+ )
+ (i32.const 27)
)
- )
- (i32.store
- (tee_local $4
- (i32.add
- (get_local $11)
- (i32.const 4)
+ (i32.store
+ (get_local $12)
+ (i32.load
+ (i32.const 624)
)
)
- (i32.const 27)
- )
- (i32.store
- (get_local $12)
- (i32.load
+ (i32.store offset=4
+ (get_local $12)
+ (i32.load
+ (i32.const 628)
+ )
+ )
+ (i32.store offset=8
+ (get_local $12)
+ (i32.load
+ (i32.const 632)
+ )
+ )
+ (i32.store offset=12
+ (get_local $12)
+ (i32.load
+ (i32.const 636)
+ )
+ )
+ (i32.store
(i32.const 624)
+ (get_local $1)
)
- )
- (i32.store offset=4
- (get_local $12)
- (i32.load
+ (i32.store
(i32.const 628)
+ (get_local $3)
)
- )
- (i32.store offset=8
- (get_local $12)
- (i32.load
- (i32.const 632)
- )
- )
- (i32.store offset=12
- (get_local $12)
- (i32.load
+ (i32.store
(i32.const 636)
+ (i32.const 0)
)
- )
- (i32.store
- (i32.const 624)
- (get_local $1)
- )
- (i32.store
- (i32.const 628)
- (get_local $3)
- )
- (i32.store
- (i32.const 636)
- (i32.const 0)
- )
- (i32.store
- (i32.const 632)
- (get_local $12)
- )
- (set_local $1
- (i32.add
- (get_local $11)
- (i32.const 24)
- )
- )
- (loop $while-in72
(i32.store
- (tee_local $1
- (i32.add
- (get_local $1)
- (i32.const 4)
- )
- )
- (i32.const 7)
+ (i32.const 632)
+ (get_local $12)
)
- (br_if $while-in72
- (i32.lt_u
- (i32.add
- (get_local $1)
- (i32.const 4)
- )
- (get_local $2)
+ (set_local $1
+ (i32.add
+ (get_local $11)
+ (i32.const 24)
)
)
- )
- (if
- (i32.ne
- (get_local $11)
- (get_local $6)
- )
- (block
+ (loop $while-in72
(i32.store
- (get_local $4)
- (i32.and
- (i32.load
- (get_local $4)
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
)
- (i32.const -2)
)
+ (i32.const 7)
)
- (i32.store offset=4
- (get_local $6)
- (i32.or
- (tee_local $5
- (i32.sub
- (get_local $11)
- (get_local $6)
- )
+ (br_if $while-in72
+ (i32.lt_u
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
)
- (i32.const 1)
+ (get_local $2)
)
)
- (i32.store
+ )
+ (if
+ (i32.ne
(get_local $11)
- (get_local $5)
- )
- (set_local $1
- (i32.shr_u
- (get_local $5)
- (i32.const 3)
- )
+ (get_local $6)
)
- (if
- (i32.lt_u
- (get_local $5)
- (i32.const 256)
+ (block
+ (i32.store
+ (get_local $4)
+ (i32.and
+ (i32.load
+ (get_local $4)
+ )
+ (i32.const -2)
+ )
)
- (block
- (set_local $2
- (i32.add
- (i32.shl
- (get_local $1)
- (i32.const 3)
+ (i32.store offset=4
+ (get_local $6)
+ (i32.or
+ (tee_local $5
+ (i32.sub
+ (get_local $11)
+ (get_local $6)
)
- (i32.const 216)
)
+ (i32.const 1)
)
- (if
- (i32.and
- (tee_local $3
- (i32.load
- (i32.const 176)
- )
- )
- (tee_local $1
+ )
+ (i32.store
+ (get_local $11)
+ (get_local $5)
+ )
+ (set_local $1
+ (i32.shr_u
+ (get_local $5)
+ (i32.const 3)
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $5)
+ (i32.const 256)
+ )
+ (block
+ (set_local $2
+ (i32.add
(i32.shl
- (i32.const 1)
(get_local $1)
+ (i32.const 3)
)
+ (i32.const 216)
)
)
(if
- (i32.lt_u
- (tee_local $1
+ (i32.and
+ (tee_local $3
(i32.load
- (tee_local $3
- (i32.add
- (get_local $2)
- (i32.const 8)
+ (i32.const 176)
+ )
+ )
+ (tee_local $1
+ (i32.shl
+ (i32.const 1)
+ (get_local $1)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $1
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 192)
+ )
)
- (i32.load
- (i32.const 192)
+ (call $_abort)
+ (block
+ (set_local $17
+ (get_local $3)
+ )
+ (set_local $7
+ (get_local $1)
+ )
)
)
- (call $_abort)
(block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $3)
+ (get_local $1)
+ )
+ )
(set_local $17
- (get_local $3)
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
)
(set_local $7
- (get_local $1)
- )
- )
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $3)
- (get_local $1)
- )
- )
- (set_local $17
- (i32.add
(get_local $2)
- (i32.const 8)
)
)
- (set_local $7
- (get_local $2)
- )
)
+ (i32.store
+ (get_local $17)
+ (get_local $6)
+ )
+ (i32.store offset=12
+ (get_local $7)
+ (get_local $6)
+ )
+ (i32.store offset=8
+ (get_local $6)
+ (get_local $7)
+ )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $2)
+ )
+ (br $do-once40)
)
- (i32.store
- (get_local $17)
- (get_local $6)
- )
- (i32.store offset=12
- (get_local $7)
- (get_local $6)
- )
- (i32.store offset=8
- (get_local $6)
- (get_local $7)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $2)
- )
- (br $do-once40)
)
- )
- (set_local $2
- (i32.add
- (i32.shl
- (tee_local $4
- (if (result i32)
- (tee_local $1
- (i32.shr_u
- (get_local $5)
- (i32.const 8)
- )
- )
+ (set_local $2
+ (i32.add
+ (i32.shl
+ (tee_local $4
(if (result i32)
- (i32.gt_u
- (get_local $5)
- (i32.const 16777215)
+ (tee_local $1
+ (i32.shr_u
+ (get_local $5)
+ (i32.const 8)
+ )
)
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $5)
- (i32.add
- (tee_local $1
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (if (result i32)
+ (i32.gt_u
+ (get_local $5)
+ (i32.const 16777215)
+ )
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $5)
+ (i32.add
+ (tee_local $1
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $1
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $3
- (i32.shl
- (get_local $1)
- (tee_local $2
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $1)
- (i32.const 1048320)
+ (i32.or
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $3
+ (i32.shl
+ (get_local $1)
+ (tee_local $2
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $1)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 520192)
)
- (i32.const 520192)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 4)
)
- (i32.const 4)
)
+ (get_local $2)
)
- (get_local $2)
- )
- (tee_local $1
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $3
- (i32.shl
- (get_local $3)
- (get_local $1)
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $3
+ (i32.shl
+ (get_local $3)
+ (get_local $1)
+ )
)
+ (i32.const 245760)
)
- (i32.const 245760)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $3)
- (get_local $1)
+ (i32.shr_u
+ (i32.shl
+ (get_local $3)
+ (get_local $1)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $1)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $1)
- (i32.const 1)
)
)
+ (i32.const 0)
)
- (i32.const 0)
)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 480)
)
- (i32.const 480)
)
- )
- (i32.store offset=28
- (get_local $6)
- (get_local $4)
- )
- (i32.store offset=20
- (get_local $6)
- (i32.const 0)
- )
- (i32.store
- (get_local $10)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $3
- (i32.load
- (i32.const 180)
+ (i32.store offset=28
+ (get_local $6)
+ (get_local $4)
+ )
+ (i32.store offset=20
+ (get_local $6)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $10)
+ (i32.const 0)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $3
+ (i32.load
+ (i32.const 180)
+ )
)
- )
- (tee_local $1
- (i32.shl
- (i32.const 1)
- (get_local $4)
+ (tee_local $1
+ (i32.shl
+ (i32.const 1)
+ (get_local $4)
+ )
)
)
)
- )
- (block
- (i32.store
- (i32.const 180)
- (i32.or
- (get_local $3)
- (get_local $1)
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.or
+ (get_local $3)
+ (get_local $1)
+ )
)
+ (i32.store
+ (get_local $2)
+ (get_local $6)
+ )
+ (i32.store offset=24
+ (get_local $6)
+ (get_local $2)
+ )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $6)
+ )
+ (i32.store offset=8
+ (get_local $6)
+ (get_local $6)
+ )
+ (br $do-once40)
)
- (i32.store
- (get_local $2)
- (get_local $6)
- )
- (i32.store offset=24
- (get_local $6)
- (get_local $2)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $6)
- )
- (i32.store offset=8
- (get_local $6)
- (get_local $6)
- )
- (br $do-once40)
)
- )
- (set_local $4
- (i32.shl
- (get_local $5)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
+ (set_local $4
+ (i32.shl
+ (get_local $5)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $4)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
(get_local $4)
- (i32.const 1)
+ (i32.const 31)
)
)
- (i32.eq
- (get_local $4)
- (i32.const 31)
- )
)
)
- )
- (set_local $1
- (i32.load
- (get_local $2)
+ (set_local $1
+ (i32.load
+ (get_local $2)
+ )
)
- )
- (block $__rjto$9
- (block $__rjti$9
- (loop $while-in74
- (br_if $__rjti$9
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $1)
+ (block $__rjto$9
+ (block $__rjti$9
+ (loop $while-in74
+ (br_if $__rjti$9
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $1)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $5)
)
- (get_local $5)
)
- )
- (set_local $2
- (i32.shl
- (get_local $4)
- (i32.const 1)
+ (set_local $2
+ (i32.shl
+ (get_local $4)
+ (i32.const 1)
+ )
)
- )
- (if
- (tee_local $3
- (i32.load
- (tee_local $4
- (i32.add
+ (if
+ (tee_local $3
+ (i32.load
+ (tee_local $4
(i32.add
- (get_local $1)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $4)
- (i32.const 31)
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $4)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
+ (block
+ (set_local $4
+ (get_local $2)
+ )
+ (set_local $1
+ (get_local $3)
+ )
+ (br $while-in74)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $4)
+ (i32.load
+ (i32.const 192)
+ )
)
+ (call $_abort)
(block
- (set_local $4
- (get_local $2)
+ (i32.store
+ (get_local $4)
+ (get_local $6)
)
- (set_local $1
- (get_local $3)
+ (i32.store offset=24
+ (get_local $6)
+ (get_local $1)
)
- (br $while-in74)
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $6)
+ )
+ (i32.store offset=8
+ (get_local $6)
+ (get_local $6)
+ )
+ (br $do-once40)
)
)
+ (br $__rjto$9)
)
(if
- (i32.lt_u
- (get_local $4)
- (i32.load
- (i32.const 192)
+ (i32.and
+ (i32.ge_u
+ (tee_local $4
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $1)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (tee_local $3
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (i32.ge_u
+ (get_local $1)
+ (get_local $3)
)
)
- (call $_abort)
(block
- (i32.store
+ (i32.store offset=12
(get_local $4)
(get_local $6)
)
- (i32.store offset=24
- (get_local $6)
- (get_local $1)
- )
- (i32.store offset=12
- (get_local $6)
+ (i32.store
+ (get_local $2)
(get_local $6)
)
(i32.store offset=8
(get_local $6)
- (get_local $6)
+ (get_local $4)
)
- (br $do-once40)
- )
- )
- (br $__rjto$9)
- )
- (if
- (i32.and
- (i32.ge_u
- (tee_local $4
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $1)
- (i32.const 8)
- )
- )
- )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $1)
)
- (tee_local $3
- (i32.load
- (i32.const 192)
- )
+ (i32.store offset=24
+ (get_local $6)
+ (i32.const 0)
)
)
- (i32.ge_u
- (get_local $1)
- (get_local $3)
- )
- )
- (block
- (i32.store offset=12
- (get_local $4)
- (get_local $6)
- )
- (i32.store
- (get_local $2)
- (get_local $6)
- )
- (i32.store offset=8
- (get_local $6)
- (get_local $4)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $1)
- )
- (i32.store offset=24
- (get_local $6)
- (i32.const 0)
- )
+ (call $_abort)
)
- (call $_abort)
)
)
)
)
- )
- (block
- (if
- (i32.or
- (i32.eqz
- (tee_local $2
- (i32.load
- (i32.const 192)
+ (block
+ (if
+ (i32.or
+ (i32.eqz
+ (tee_local $2
+ (i32.load
+ (i32.const 192)
+ )
)
)
+ (i32.lt_u
+ (get_local $1)
+ (get_local $2)
+ )
)
- (i32.lt_u
+ (i32.store
+ (i32.const 192)
(get_local $1)
- (get_local $2)
)
)
(i32.store
- (i32.const 192)
+ (i32.const 624)
(get_local $1)
)
- )
- (i32.store
- (i32.const 624)
- (get_local $1)
- )
- (i32.store
- (i32.const 628)
- (get_local $3)
- )
- (i32.store
- (i32.const 636)
- (i32.const 0)
- )
- (i32.store
- (i32.const 212)
- (i32.load
- (i32.const 648)
+ (i32.store
+ (i32.const 628)
+ (get_local $3)
)
- )
- (i32.store
- (i32.const 208)
- (i32.const -1)
- )
- (set_local $2
- (i32.const 0)
- )
- (loop $while-in43
- (i32.store offset=12
- (tee_local $4
- (i32.add
- (i32.shl
- (get_local $2)
- (i32.const 3)
- )
- (i32.const 216)
- )
+ (i32.store
+ (i32.const 636)
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 212)
+ (i32.load
+ (i32.const 648)
)
- (get_local $4)
)
- (i32.store offset=8
- (get_local $4)
- (get_local $4)
+ (i32.store
+ (i32.const 208)
+ (i32.const -1)
)
- (br_if $while-in43
- (i32.ne
- (tee_local $2
+ (set_local $2
+ (i32.const 0)
+ )
+ (loop $while-in43
+ (i32.store offset=12
+ (tee_local $4
(i32.add
- (get_local $2)
- (i32.const 1)
+ (i32.shl
+ (get_local $2)
+ (i32.const 3)
+ )
+ (i32.const 216)
)
)
- (i32.const 32)
+ (get_local $4)
+ )
+ (i32.store offset=8
+ (get_local $4)
+ (get_local $4)
+ )
+ (br_if $while-in43
+ (i32.ne
+ (tee_local $2
+ (i32.add
+ (get_local $2)
+ (i32.const 1)
+ )
+ )
+ (i32.const 32)
+ )
)
)
- )
- (i32.store
- (i32.const 200)
- (tee_local $2
- (i32.add
- (get_local $1)
- (tee_local $1
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $1
- (i32.add
- (get_local $1)
- (i32.const 8)
+ (i32.store
+ (i32.const 200)
+ (tee_local $2
+ (i32.add
+ (get_local $1)
+ (tee_local $1
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 8)
+ )
)
)
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $1)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $1)
- (i32.const 7)
)
)
)
)
)
- )
- (i32.store
- (i32.const 188)
- (tee_local $1
- (i32.sub
- (i32.add
- (get_local $3)
- (i32.const -40)
+ (i32.store
+ (i32.const 188)
+ (tee_local $1
+ (i32.sub
+ (i32.add
+ (get_local $3)
+ (i32.const -40)
+ )
+ (get_local $1)
)
+ )
+ )
+ (i32.store offset=4
+ (get_local $2)
+ (i32.or
(get_local $1)
+ (i32.const 1)
)
)
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $1)
- (i32.const 1)
+ (i32.store offset=4
+ (i32.add
+ (get_local $2)
+ (get_local $1)
+ )
+ (i32.const 40)
)
- )
- (i32.store offset=4
- (i32.add
- (get_local $2)
- (get_local $1)
+ (i32.store
+ (i32.const 204)
+ (i32.load
+ (i32.const 664)
+ )
)
- (i32.const 40)
)
- (i32.store
- (i32.const 204)
+ )
+ )
+ (br_if $folding-inner0
+ (i32.gt_u
+ (tee_local $1
(i32.load
- (i32.const 664)
+ (i32.const 188)
)
)
+ (get_local $0)
)
)
)
- (if
- (i32.gt_u
- (tee_local $1
- (i32.load
- (i32.const 188)
- )
- )
+ (i32.store
+ (call $___errno_location)
+ (i32.const 12)
+ )
+ (return
+ (i32.const 0)
+ )
+ )
+ (i32.store
+ (i32.const 188)
+ (tee_local $3
+ (i32.sub
+ (get_local $1)
(get_local $0)
)
- (block
- (i32.store
- (i32.const 188)
- (tee_local $3
- (i32.sub
- (get_local $1)
- (get_local $0)
- )
- )
- )
- (i32.store
- (i32.const 200)
- (tee_local $1
- (i32.add
- (tee_local $2
- (i32.load
- (i32.const 200)
- )
- )
- (get_local $0)
- )
- )
- )
- (i32.store offset=4
- (get_local $1)
- (i32.or
- (get_local $3)
- (i32.const 1)
- )
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $0)
- (i32.const 3)
- )
- )
- (return
- (i32.add
- (get_local $2)
- (i32.const 8)
+ )
+ )
+ (i32.store
+ (i32.const 200)
+ (tee_local $1
+ (i32.add
+ (tee_local $2
+ (i32.load
+ (i32.const 200)
)
)
+ (get_local $0)
)
)
)
- (i32.store
- (call $___errno_location)
- (i32.const 12)
+ (i32.store offset=4
+ (get_local $1)
+ (i32.or
+ (get_local $3)
+ (i32.const 1)
+ )
+ )
+ (i32.store offset=4
+ (get_local $2)
+ (i32.or
+ (get_local $0)
+ (i32.const 3)
+ )
+ )
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
)
- (i32.const 0)
)
(func $_free (param $0 i32)
(local $1 i32)
diff --git a/test/emcc_hello_world.fromasm.clamp b/test/emcc_hello_world.fromasm.clamp
index 24b65fc1f..80a1f92b2 100644
--- a/test/emcc_hello_world.fromasm.clamp
+++ b/test/emcc_hello_world.fromasm.clamp
@@ -294,26 +294,20 @@
(set_local $1
(i32.const 87)
)
- (set_local $0
- (i32.const 775)
- )
(br $__rjti$1)
)
)
- (if
+ (br_if $__rjti$1
(get_local $1)
- (block
- (set_local $0
- (i32.const 775)
- )
- (br $__rjti$1)
- )
- (set_local $0
- (i32.const 775)
- )
+ )
+ (set_local $0
+ (i32.const 775)
)
(br $__rjto$1)
)
+ (set_local $0
+ (i32.const 775)
+ )
(loop $while-in1
(loop $while-in3
(set_local $2
@@ -954,35 +948,34 @@
(get_local $5)
)
)
- (if (result i32)
- (i32.eq
- (get_local $4)
- (i32.const 2)
- )
- (block (result i32)
- (i32.store
- (get_local $6)
- (i32.add
- (i32.load
- (get_local $6)
+ (block (result i32)
+ (if
+ (i32.eq
+ (get_local $4)
+ (i32.const 2)
+ )
+ (block
+ (i32.store
+ (get_local $6)
+ (i32.add
+ (i32.load
+ (get_local $6)
+ )
+ (get_local $3)
)
- (get_local $3)
+ )
+ (set_local $7
+ (get_local $5)
+ )
+ (set_local $4
+ (i32.const 2)
)
)
(set_local $7
(get_local $5)
)
- (set_local $4
- (i32.const 2)
- )
- (get_local $3)
- )
- (block (result i32)
- (set_local $7
- (get_local $5)
- )
- (get_local $3)
)
+ (get_local $3)
)
)
)
@@ -1859,7 +1852,7 @@
(get_local $0)
)
(loop $while-in
- (if
+ (br_if $__rjti$2
(i32.eq
(i32.load8_u
(get_local $2)
@@ -1869,12 +1862,6 @@
(i32.const 255)
)
)
- (block
- (set_local $0
- (get_local $3)
- )
- (br $__rjti$2)
- )
)
(br_if $while-in
(i32.and
@@ -1917,20 +1904,17 @@
)
)
)
- (if
+ (br_if $__rjti$2
(get_local $0)
- (block
- (set_local $0
- (get_local $3)
- )
- (br $__rjti$2)
- )
- (set_local $0
- (i32.const 0)
- )
+ )
+ (set_local $0
+ (i32.const 0)
)
(br $label$break$L8)
)
+ (set_local $0
+ (get_local $3)
+ )
(if
(i32.ne
(i32.load8_u
@@ -2945,34 +2929,31 @@
(get_local $6)
)
)
- (set_local $1
- (if (result i32)
- (i32.lt_s
- (get_local $14)
- (i32.const 0)
- )
- (block (result i32)
- (set_local $11
- (i32.or
- (get_local $1)
- (i32.const 8192)
- )
- )
- (set_local $14
- (i32.sub
- (i32.const 0)
- (get_local $14)
- )
+ (if
+ (i32.lt_s
+ (get_local $14)
+ (i32.const 0)
+ )
+ (block
+ (set_local $11
+ (i32.or
+ (get_local $1)
+ (i32.const 8192)
)
- (get_local $8)
)
- (block (result i32)
- (set_local $11
- (get_local $1)
+ (set_local $14
+ (i32.sub
+ (i32.const 0)
+ (get_local $14)
)
- (get_local $8)
)
)
+ (set_local $11
+ (get_local $1)
+ )
+ )
+ (set_local $1
+ (get_local $8)
)
)
(if
@@ -3812,13 +3793,6 @@
)
)
)
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjti$8)
)
(block
(set_local $5
@@ -3827,15 +3801,15 @@
(set_local $7
(get_local $11)
)
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjti$8)
)
)
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjti$8)
)
(set_local $5
(i32.load
@@ -3894,7 +3868,6 @@
(set_local $9
(i32.const 4092)
)
- (br $__rjti$4)
)
(block
(set_local $8
@@ -3912,9 +3885,9 @@
(get_local $9)
)
)
- (br $__rjti$4)
)
)
+ (br $__rjti$4)
)
(set_local $5
(i32.load
@@ -6639,7 +6612,6 @@
(set_local $9
(i32.const 4091)
)
- (br $__rjti$8)
)
(block
(set_local $8
@@ -6654,9 +6626,9 @@
(i32.const 4091)
)
)
- (br $__rjti$8)
)
)
+ (br $__rjti$8)
)
)
)
@@ -6922,7 +6894,7 @@
)
)
)
- (if (result i32)
+ (if
(i32.or
(get_local $6)
(tee_local $12
@@ -6944,7 +6916,7 @@
)
)
)
- (block (result i32)
+ (block
(set_local $7
(get_local $5)
)
@@ -6972,18 +6944,17 @@
)
)
)
- (get_local $22)
)
- (block (result i32)
+ (block
(set_local $7
(get_local $22)
)
(set_local $12
(i32.const 0)
)
- (get_local $22)
)
)
+ (get_local $22)
)
)
(call $_pad
@@ -7889,258 +7860,274 @@
(local $16 i32)
(local $17 i32)
(local $18 i32)
- (block $do-once
- (if
- (i32.lt_u
- (get_local $0)
- (i32.const 245)
- )
- (block
- (if
- (i32.and
- (tee_local $5
- (i32.shr_u
- (tee_local $11
- (i32.load
- (i32.const 176)
+ (block $folding-inner0
+ (block $do-once
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (i32.const 245)
+ )
+ (block
+ (if
+ (i32.and
+ (tee_local $5
+ (i32.shr_u
+ (tee_local $11
+ (i32.load
+ (i32.const 176)
+ )
)
- )
- (tee_local $13
- (i32.shr_u
- (tee_local $4
- (select
- (i32.const 16)
- (i32.and
- (i32.add
+ (tee_local $13
+ (i32.shr_u
+ (tee_local $4
+ (select
+ (i32.const 16)
+ (i32.and
+ (i32.add
+ (get_local $0)
+ (i32.const 11)
+ )
+ (i32.const -8)
+ )
+ (i32.lt_u
(get_local $0)
(i32.const 11)
)
- (i32.const -8)
- )
- (i32.lt_u
- (get_local $0)
- (i32.const 11)
)
)
+ (i32.const 3)
)
- (i32.const 3)
)
)
)
+ (i32.const 3)
)
- (i32.const 3)
- )
- (block
- (set_local $10
- (i32.load
- (tee_local $1
- (i32.add
- (tee_local $7
- (i32.load
- (tee_local $3
- (i32.add
- (tee_local $2
- (i32.add
- (i32.shl
- (tee_local $4
- (i32.add
- (i32.xor
- (i32.and
- (get_local $5)
+ (block
+ (set_local $10
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (tee_local $7
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (tee_local $2
+ (i32.add
+ (i32.shl
+ (tee_local $4
+ (i32.add
+ (i32.xor
+ (i32.and
+ (get_local $5)
+ (i32.const 1)
+ )
(i32.const 1)
)
- (i32.const 1)
+ (get_local $13)
)
- (get_local $13)
)
+ (i32.const 3)
)
- (i32.const 3)
+ (i32.const 216)
)
- (i32.const 216)
)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
- )
- (if
- (i32.eq
- (get_local $2)
- (get_local $10)
- )
- (i32.store
- (i32.const 176)
- (i32.and
- (get_local $11)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $4)
- )
- (i32.const -1)
- )
+ (if
+ (i32.eq
+ (get_local $2)
+ (get_local $10)
)
- )
- (block
- (if
- (i32.lt_u
- (get_local $10)
- (i32.load
- (i32.const 192)
+ (i32.store
+ (i32.const 176)
+ (i32.and
+ (get_local $11)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $4)
+ )
+ (i32.const -1)
)
)
- (call $_abort)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $10)
- (i32.const 12)
- )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $10)
+ (i32.load
+ (i32.const 192)
)
)
- (get_local $7)
+ (call $_abort)
)
- (block
- (i32.store
- (get_local $0)
- (get_local $2)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $10)
+ (i32.const 12)
+ )
+ )
+ )
+ (get_local $7)
)
- (i32.store
- (get_local $3)
- (get_local $10)
+ (block
+ (i32.store
+ (get_local $0)
+ (get_local $2)
+ )
+ (i32.store
+ (get_local $3)
+ (get_local $10)
+ )
)
+ (call $_abort)
)
- (call $_abort)
)
)
- )
- (i32.store offset=4
- (get_local $7)
- (i32.or
- (tee_local $0
- (i32.shl
- (get_local $4)
- (i32.const 3)
+ (i32.store offset=4
+ (get_local $7)
+ (i32.or
+ (tee_local $0
+ (i32.shl
+ (get_local $4)
+ (i32.const 3)
+ )
)
+ (i32.const 3)
)
- (i32.const 3)
)
- )
- (i32.store
- (tee_local $0
- (i32.add
+ (i32.store
+ (tee_local $0
(i32.add
- (get_local $7)
+ (i32.add
+ (get_local $7)
+ (get_local $0)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.load
(get_local $0)
)
- (i32.const 4)
+ (i32.const 1)
)
)
- (i32.or
- (i32.load
- (get_local $0)
- )
- (i32.const 1)
+ (return
+ (get_local $1)
)
)
- (return
- (get_local $1)
- )
)
- )
- (if
- (i32.gt_u
- (get_local $4)
- (tee_local $0
- (i32.load
- (i32.const 184)
+ (if
+ (i32.gt_u
+ (get_local $4)
+ (tee_local $0
+ (i32.load
+ (i32.const 184)
+ )
)
)
- )
- (block
- (if
- (get_local $5)
- (block
- (set_local $10
- (i32.and
- (i32.shr_u
- (tee_local $3
- (i32.add
- (i32.and
- (tee_local $3
- (i32.and
- (i32.shl
- (get_local $5)
- (get_local $13)
- )
- (i32.or
- (tee_local $3
- (i32.shl
- (i32.const 2)
- (get_local $13)
- )
+ (block
+ (if
+ (get_local $5)
+ (block
+ (set_local $10
+ (i32.and
+ (i32.shr_u
+ (tee_local $3
+ (i32.add
+ (i32.and
+ (tee_local $3
+ (i32.and
+ (i32.shl
+ (get_local $5)
+ (get_local $13)
)
- (i32.sub
- (i32.const 0)
- (get_local $3)
+ (i32.or
+ (tee_local $3
+ (i32.shl
+ (i32.const 2)
+ (get_local $13)
+ )
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $3)
+ )
)
)
)
+ (i32.sub
+ (i32.const 0)
+ (get_local $3)
+ )
)
- (i32.sub
- (i32.const 0)
- (get_local $3)
- )
+ (i32.const -1)
)
- (i32.const -1)
)
+ (i32.const 12)
)
- (i32.const 12)
+ (i32.const 16)
)
- (i32.const 16)
)
- )
- (set_local $9
- (i32.load
- (tee_local $7
- (i32.add
- (tee_local $12
- (i32.load
- (tee_local $3
- (i32.add
- (tee_local $10
- (i32.add
- (i32.shl
- (tee_local $5
- (i32.add
- (i32.or
+ (set_local $9
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (tee_local $12
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (tee_local $10
+ (i32.add
+ (i32.shl
+ (tee_local $5
+ (i32.add
(i32.or
(i32.or
(i32.or
+ (i32.or
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (tee_local $7
+ (i32.shr_u
+ (get_local $3)
+ (get_local $10)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (get_local $10)
+ )
(tee_local $3
(i32.and
(i32.shr_u
(tee_local $7
(i32.shr_u
+ (get_local $7)
(get_local $3)
- (get_local $10)
)
)
- (i32.const 5)
+ (i32.const 2)
)
- (i32.const 8)
+ (i32.const 4)
)
)
- (get_local $10)
)
(tee_local $3
(i32.and
@@ -8151,9 +8138,9 @@
(get_local $3)
)
)
- (i32.const 2)
+ (i32.const 1)
)
- (i32.const 4)
+ (i32.const 2)
)
)
)
@@ -8168,310 +8155,310 @@
)
(i32.const 1)
)
- (i32.const 2)
- )
- )
- )
- (tee_local $3
- (i32.and
- (i32.shr_u
- (tee_local $7
- (i32.shr_u
- (get_local $7)
- (get_local $3)
- )
- )
(i32.const 1)
)
- (i32.const 1)
)
)
- )
- (i32.shr_u
- (get_local $7)
- (get_local $3)
+ (i32.shr_u
+ (get_local $7)
+ (get_local $3)
+ )
)
)
+ (i32.const 3)
)
- (i32.const 3)
+ (i32.const 216)
)
- (i32.const 216)
)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
- )
- (if
- (i32.eq
- (get_local $10)
- (get_local $9)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.and
- (get_local $11)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $5)
+ (if
+ (i32.eq
+ (get_local $10)
+ (get_local $9)
+ )
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.and
+ (get_local $11)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $5)
+ )
+ (i32.const -1)
)
- (i32.const -1)
)
)
- )
- (set_local $8
- (get_local $0)
- )
- )
- (block
- (if
- (i32.lt_u
- (get_local $9)
- (i32.load
- (i32.const 192)
- )
+ (set_local $8
+ (get_local $0)
)
- (call $_abort)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $9)
- (i32.const 12)
- )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $9)
+ (i32.load
+ (i32.const 192)
)
)
- (get_local $12)
+ (call $_abort)
)
- (block
- (i32.store
- (get_local $0)
- (get_local $10)
- )
- (i32.store
- (get_local $3)
- (get_local $9)
- )
- (set_local $8
+ (if
+ (i32.eq
(i32.load
- (i32.const 184)
+ (tee_local $0
+ (i32.add
+ (get_local $9)
+ (i32.const 12)
+ )
+ )
+ )
+ (get_local $12)
+ )
+ (block
+ (i32.store
+ (get_local $0)
+ (get_local $10)
+ )
+ (i32.store
+ (get_local $3)
+ (get_local $9)
+ )
+ (set_local $8
+ (i32.load
+ (i32.const 184)
+ )
)
)
+ (call $_abort)
)
- (call $_abort)
)
)
- )
- (i32.store offset=4
- (get_local $12)
- (i32.or
- (get_local $4)
- (i32.const 3)
- )
- )
- (i32.store offset=4
- (tee_local $10
- (i32.add
- (get_local $12)
+ (i32.store offset=4
+ (get_local $12)
+ (i32.or
(get_local $4)
+ (i32.const 3)
)
)
- (i32.or
- (tee_local $5
- (i32.sub
- (i32.shl
- (get_local $5)
- (i32.const 3)
- )
+ (i32.store offset=4
+ (tee_local $10
+ (i32.add
+ (get_local $12)
(get_local $4)
)
)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (get_local $10)
- (get_local $5)
- )
- (get_local $5)
- )
- (if
- (get_local $8)
- (block
- (set_local $12
- (i32.load
- (i32.const 196)
- )
- )
- (set_local $4
- (i32.add
- (i32.shl
- (tee_local $0
- (i32.shr_u
- (get_local $8)
- (i32.const 3)
- )
+ (i32.or
+ (tee_local $5
+ (i32.sub
+ (i32.shl
+ (get_local $5)
+ (i32.const 3)
)
- (i32.const 3)
+ (get_local $4)
)
- (i32.const 216)
)
+ (i32.const 1)
)
- (if
- (i32.and
- (tee_local $3
- (i32.load
- (i32.const 176)
- )
+ )
+ (i32.store
+ (i32.add
+ (get_local $10)
+ (get_local $5)
+ )
+ (get_local $5)
+ )
+ (if
+ (get_local $8)
+ (block
+ (set_local $12
+ (i32.load
+ (i32.const 196)
)
- (tee_local $0
+ )
+ (set_local $4
+ (i32.add
(i32.shl
- (i32.const 1)
- (get_local $0)
+ (tee_local $0
+ (i32.shr_u
+ (get_local $8)
+ (i32.const 3)
+ )
+ )
+ (i32.const 3)
)
+ (i32.const 216)
)
)
(if
- (i32.lt_u
- (tee_local $0
+ (i32.and
+ (tee_local $3
(i32.load
- (tee_local $3
- (i32.add
- (get_local $4)
- (i32.const 8)
+ (i32.const 176)
+ )
+ )
+ (tee_local $0
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $0
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 192)
+ )
)
- (i32.load
- (i32.const 192)
+ (call $_abort)
+ (block
+ (set_local $2
+ (get_local $3)
+ )
+ (set_local $1
+ (get_local $0)
+ )
)
)
- (call $_abort)
(block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $3)
+ (get_local $0)
+ )
+ )
(set_local $2
- (get_local $3)
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
)
(set_local $1
- (get_local $0)
- )
- )
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $3)
- (get_local $0)
- )
- )
- (set_local $2
- (i32.add
(get_local $4)
- (i32.const 8)
)
)
- (set_local $1
- (get_local $4)
- )
)
- )
- (i32.store
- (get_local $2)
- (get_local $12)
- )
- (i32.store offset=12
- (get_local $1)
- (get_local $12)
- )
- (i32.store offset=8
- (get_local $12)
- (get_local $1)
- )
- (i32.store offset=12
- (get_local $12)
- (get_local $4)
+ (i32.store
+ (get_local $2)
+ (get_local $12)
+ )
+ (i32.store offset=12
+ (get_local $1)
+ (get_local $12)
+ )
+ (i32.store offset=8
+ (get_local $12)
+ (get_local $1)
+ )
+ (i32.store offset=12
+ (get_local $12)
+ (get_local $4)
+ )
)
)
- )
- (i32.store
- (i32.const 184)
- (get_local $5)
- )
- (i32.store
- (i32.const 196)
- (get_local $10)
- )
- (return
- (get_local $7)
+ (i32.store
+ (i32.const 184)
+ (get_local $5)
+ )
+ (i32.store
+ (i32.const 196)
+ (get_local $10)
+ )
+ (return
+ (get_local $7)
+ )
)
)
- )
- (if
- (tee_local $0
- (i32.load
- (i32.const 180)
+ (if
+ (tee_local $0
+ (i32.load
+ (i32.const 180)
+ )
)
- )
- (block
- (set_local $2
- (i32.and
- (i32.shr_u
- (tee_local $0
- (i32.add
- (i32.and
- (get_local $0)
- (i32.sub
- (i32.const 0)
+ (block
+ (set_local $2
+ (i32.and
+ (i32.shr_u
+ (tee_local $0
+ (i32.add
+ (i32.and
(get_local $0)
+ (i32.sub
+ (i32.const 0)
+ (get_local $0)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
)
+ (i32.const 12)
)
- (i32.const 12)
+ (i32.const 16)
)
- (i32.const 16)
)
- )
- (set_local $7
- (i32.sub
- (i32.and
- (i32.load offset=4
- (tee_local $0
- (i32.load offset=480
- (i32.shl
- (i32.add
- (i32.or
+ (set_local $7
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (tee_local $0
+ (i32.load offset=480
+ (i32.shl
+ (i32.add
(i32.or
(i32.or
(i32.or
+ (i32.or
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (tee_local $1
+ (i32.shr_u
+ (get_local $0)
+ (get_local $2)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (get_local $2)
+ )
(tee_local $0
(i32.and
(i32.shr_u
(tee_local $1
(i32.shr_u
+ (get_local $1)
(get_local $0)
- (get_local $2)
)
)
- (i32.const 5)
+ (i32.const 2)
)
- (i32.const 8)
+ (i32.const 4)
)
)
- (get_local $2)
)
(tee_local $0
(i32.and
@@ -8482,9 +8469,9 @@
(get_local $0)
)
)
- (i32.const 2)
+ (i32.const 1)
)
- (i32.const 4)
+ (i32.const 2)
)
)
)
@@ -8499,163 +8486,135 @@
)
(i32.const 1)
)
- (i32.const 2)
- )
- )
- )
- (tee_local $0
- (i32.and
- (i32.shr_u
- (tee_local $1
- (i32.shr_u
- (get_local $1)
- (get_local $0)
- )
- )
(i32.const 1)
)
- (i32.const 1)
)
)
+ (i32.shr_u
+ (get_local $1)
+ (get_local $0)
+ )
)
- (i32.shr_u
- (get_local $1)
- (get_local $0)
- )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $4)
)
- (get_local $4)
)
- )
- (set_local $1
- (get_local $0)
- )
- (set_local $2
- (get_local $0)
- )
- (loop $while-in
- (block $while-out
- (if
- (i32.eqz
- (tee_local $0
- (i32.load offset=16
- (get_local $1)
- )
- )
- )
+ (set_local $1
+ (get_local $0)
+ )
+ (set_local $2
+ (get_local $0)
+ )
+ (loop $while-in
+ (block $while-out
(if
(i32.eqz
(tee_local $0
- (i32.load offset=20
+ (i32.load offset=16
(get_local $1)
)
)
)
- (block
- (set_local $10
- (get_local $7)
+ (if
+ (i32.eqz
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $1)
+ )
+ )
)
- (set_local $5
- (get_local $2)
+ (block
+ (set_local $10
+ (get_local $7)
+ )
+ (set_local $5
+ (get_local $2)
+ )
+ (br $while-out)
)
- (br $while-out)
)
)
- )
- (set_local $10
- (i32.lt_u
- (tee_local $1
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $0)
+ (set_local $10
+ (i32.lt_u
+ (tee_local $1
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $0)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $4)
)
- (get_local $4)
)
+ (get_local $7)
)
- (get_local $7)
)
- )
- (set_local $7
- (select
- (get_local $1)
- (get_local $7)
- (get_local $10)
+ (set_local $7
+ (select
+ (get_local $1)
+ (get_local $7)
+ (get_local $10)
+ )
)
- )
- (set_local $1
- (get_local $0)
- )
- (set_local $2
- (select
+ (set_local $1
(get_local $0)
- (get_local $2)
- (get_local $10)
)
- )
- (br $while-in)
- )
- )
- (if
- (i32.lt_u
- (get_local $5)
- (tee_local $12
- (i32.load
- (i32.const 192)
+ (set_local $2
+ (select
+ (get_local $0)
+ (get_local $2)
+ (get_local $10)
+ )
)
+ (br $while-in)
)
)
- (call $_abort)
- )
- (if
- (i32.ge_u
- (get_local $5)
- (tee_local $11
- (i32.add
- (get_local $5)
- (get_local $4)
+ (if
+ (i32.lt_u
+ (get_local $5)
+ (tee_local $12
+ (i32.load
+ (i32.const 192)
+ )
)
)
+ (call $_abort)
)
- (call $_abort)
- )
- (set_local $8
- (i32.load offset=24
- (get_local $5)
- )
- )
- (block $do-once4
(if
- (i32.eq
- (tee_local $0
- (i32.load offset=12
+ (i32.ge_u
+ (get_local $5)
+ (tee_local $11
+ (i32.add
(get_local $5)
+ (get_local $4)
)
)
+ )
+ (call $_abort)
+ )
+ (set_local $8
+ (i32.load offset=24
(get_local $5)
)
- (block
- (if
- (i32.eqz
- (tee_local $1
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $5)
- (i32.const 20)
- )
- )
- )
+ )
+ (block $do-once4
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=12
+ (get_local $5)
)
)
+ (get_local $5)
+ )
+ (block
(if
(i32.eqz
(tee_local $1
@@ -8663,719 +8622,733 @@
(tee_local $0
(i32.add
(get_local $5)
- (i32.const 16)
+ (i32.const 20)
)
)
)
)
)
- (block
- (set_local $9
- (i32.const 0)
- )
- (br $do-once4)
- )
- )
- )
- (loop $while-in7
- (if
- (tee_local $2
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $1)
- (i32.const 20)
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $5)
+ (i32.const 16)
+ )
+ )
)
)
)
- )
- (block
- (set_local $1
- (get_local $2)
- )
- (set_local $0
- (get_local $7)
+ (block
+ (set_local $9
+ (i32.const 0)
+ )
+ (br $do-once4)
)
- (br $while-in7)
)
)
- (if
- (tee_local $2
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $1)
- (i32.const 16)
+ (loop $while-in7
+ (if
+ (tee_local $2
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $1)
+ (i32.const 20)
+ )
)
)
)
+ (block
+ (set_local $1
+ (get_local $2)
+ )
+ (set_local $0
+ (get_local $7)
+ )
+ (br $while-in7)
+ )
)
- (block
- (set_local $1
- (get_local $2)
+ (if
+ (tee_local $2
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ )
+ )
)
- (set_local $0
- (get_local $7)
+ (block
+ (set_local $1
+ (get_local $2)
+ )
+ (set_local $0
+ (get_local $7)
+ )
+ (br $while-in7)
)
- (br $while-in7)
)
)
- )
- (if
- (i32.lt_u
- (get_local $0)
- (get_local $12)
- )
- (call $_abort)
- (block
- (i32.store
+ (if
+ (i32.lt_u
(get_local $0)
- (i32.const 0)
- )
- (set_local $9
- (get_local $1)
+ (get_local $12)
)
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (tee_local $7
- (i32.load offset=8
- (get_local $5)
+ (call $_abort)
+ (block
+ (i32.store
+ (get_local $0)
+ (i32.const 0)
+ )
+ (set_local $9
+ (get_local $1)
)
)
- (get_local $12)
)
- (call $_abort)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $7)
- (i32.const 12)
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $7
+ (i32.load offset=8
+ (get_local $5)
)
)
+ (get_local $12)
)
- (get_local $5)
+ (call $_abort)
)
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $0)
- (i32.const 8)
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $7)
+ (i32.const 12)
+ )
)
)
+ (get_local $5)
)
- (get_local $5)
+ (call $_abort)
)
- (block
- (i32.store
- (get_local $2)
- (get_local $0)
- )
- (i32.store
- (get_local $1)
- (get_local $7)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
+ )
+ )
+ )
+ (get_local $5)
)
- (set_local $9
- (get_local $0)
+ (block
+ (i32.store
+ (get_local $2)
+ (get_local $0)
+ )
+ (i32.store
+ (get_local $1)
+ (get_local $7)
+ )
+ (set_local $9
+ (get_local $0)
+ )
)
+ (call $_abort)
)
- (call $_abort)
)
)
)
- )
- (block $do-once8
- (if
- (get_local $8)
- (block
- (if
- (i32.eq
- (get_local $5)
- (i32.load
- (tee_local $0
- (i32.add
- (i32.shl
- (tee_local $1
- (i32.load offset=28
- (get_local $5)
+ (block $do-once8
+ (if
+ (get_local $8)
+ (block
+ (if
+ (i32.eq
+ (get_local $5)
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (i32.shl
+ (tee_local $1
+ (i32.load offset=28
+ (get_local $5)
+ )
)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 480)
)
- (i32.const 480)
)
)
)
- )
- (block
- (i32.store
- (get_local $0)
- (get_local $9)
- )
- (if
- (i32.eqz
+ (block
+ (i32.store
+ (get_local $0)
(get_local $9)
)
- (block
- (i32.store
- (i32.const 180)
- (i32.and
- (i32.load
- (i32.const 180)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $1)
+ (if
+ (i32.eqz
+ (get_local $9)
+ )
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.and
+ (i32.load
+ (i32.const 180)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $1)
+ )
+ (i32.const -1)
)
- (i32.const -1)
)
)
+ (br $do-once8)
)
- (br $do-once8)
)
)
- )
- (block
- (if
- (i32.lt_u
- (get_local $8)
- (i32.load
- (i32.const 192)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $8)
+ (i32.load
+ (i32.const 192)
+ )
)
+ (call $_abort)
)
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $8)
- (i32.const 16)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $8)
+ (i32.const 16)
+ )
)
)
+ (get_local $5)
+ )
+ (i32.store
+ (get_local $0)
+ (get_local $9)
+ )
+ (i32.store offset=20
+ (get_local $8)
+ (get_local $9)
)
- (get_local $5)
- )
- (i32.store
- (get_local $0)
- (get_local $9)
- )
- (i32.store offset=20
- (get_local $8)
- (get_local $9)
)
- )
- (br_if $do-once8
- (i32.eqz
- (get_local $9)
+ (br_if $do-once8
+ (i32.eqz
+ (get_local $9)
+ )
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $9)
- (tee_local $0
- (i32.load
- (i32.const 192)
+ (if
+ (i32.lt_u
+ (get_local $9)
+ (tee_local $0
+ (i32.load
+ (i32.const 192)
+ )
)
)
+ (call $_abort)
)
- (call $_abort)
- )
- (i32.store offset=24
- (get_local $9)
- (get_local $8)
- )
- (if
- (tee_local $1
- (i32.load offset=16
- (get_local $5)
- )
+ (i32.store offset=24
+ (get_local $9)
+ (get_local $8)
)
(if
- (i32.lt_u
- (get_local $1)
- (get_local $0)
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $5)
+ )
)
- (call $_abort)
- (block
- (i32.store offset=16
- (get_local $9)
+ (if
+ (i32.lt_u
(get_local $1)
+ (get_local $0)
)
- (i32.store offset=24
- (get_local $1)
- (get_local $9)
+ (call $_abort)
+ (block
+ (i32.store offset=16
+ (get_local $9)
+ (get_local $1)
+ )
+ (i32.store offset=24
+ (get_local $1)
+ (get_local $9)
+ )
)
)
)
- )
- (if
- (tee_local $0
- (i32.load offset=20
- (get_local $5)
- )
- )
(if
- (i32.lt_u
- (get_local $0)
- (i32.load
- (i32.const 192)
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $5)
)
)
- (call $_abort)
- (block
- (i32.store offset=20
- (get_local $9)
+ (if
+ (i32.lt_u
(get_local $0)
+ (i32.load
+ (i32.const 192)
+ )
)
- (i32.store offset=24
- (get_local $0)
- (get_local $9)
+ (call $_abort)
+ (block
+ (i32.store offset=20
+ (get_local $9)
+ (get_local $0)
+ )
+ (i32.store offset=24
+ (get_local $0)
+ (get_local $9)
+ )
)
)
)
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $10)
- (i32.const 16)
- )
- (block
- (i32.store offset=4
- (get_local $5)
- (i32.or
- (tee_local $0
- (i32.add
- (get_local $10)
- (get_local $4)
+ (if
+ (i32.lt_u
+ (get_local $10)
+ (i32.const 16)
+ )
+ (block
+ (i32.store offset=4
+ (get_local $5)
+ (i32.or
+ (tee_local $0
+ (i32.add
+ (get_local $10)
+ (get_local $4)
+ )
)
+ (i32.const 3)
)
- (i32.const 3)
)
- )
- (i32.store
- (tee_local $0
- (i32.add
+ (i32.store
+ (tee_local $0
(i32.add
- (get_local $5)
- (get_local $0)
+ (i32.add
+ (get_local $5)
+ (get_local $0)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (i32.or
- (i32.load
- (get_local $0)
+ (i32.or
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 1)
)
- (i32.const 1)
- )
- )
- )
- (block
- (i32.store offset=4
- (get_local $5)
- (i32.or
- (get_local $4)
- (i32.const 3)
)
)
- (i32.store offset=4
- (get_local $11)
- (i32.or
- (get_local $10)
- (i32.const 1)
+ (block
+ (i32.store offset=4
+ (get_local $5)
+ (i32.or
+ (get_local $4)
+ (i32.const 3)
+ )
)
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $11)
- (get_local $10)
+ (i32.or
+ (get_local $10)
+ (i32.const 1)
+ )
)
- (get_local $10)
- )
- (if
- (tee_local $0
- (i32.load
- (i32.const 184)
+ (i32.store
+ (i32.add
+ (get_local $11)
+ (get_local $10)
)
+ (get_local $10)
)
- (block
- (set_local $4
+ (if
+ (tee_local $0
(i32.load
- (i32.const 196)
+ (i32.const 184)
)
)
- (set_local $2
- (i32.add
- (i32.shl
- (tee_local $0
- (i32.shr_u
- (get_local $0)
- (i32.const 3)
- )
- )
- (i32.const 3)
+ (block
+ (set_local $4
+ (i32.load
+ (i32.const 196)
)
- (i32.const 216)
)
- )
- (if
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 176)
- )
- )
- (tee_local $0
+ (set_local $2
+ (i32.add
(i32.shl
- (i32.const 1)
- (get_local $0)
+ (tee_local $0
+ (i32.shr_u
+ (get_local $0)
+ (i32.const 3)
+ )
+ )
+ (i32.const 3)
)
+ (i32.const 216)
)
)
(if
- (i32.lt_u
- (tee_local $0
+ (i32.and
+ (tee_local $1
(i32.load
- (tee_local $1
- (i32.add
- (get_local $2)
- (i32.const 8)
+ (i32.const 176)
+ )
+ )
+ (tee_local $0
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $0
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 192)
+ )
)
- (i32.load
- (i32.const 192)
+ (call $_abort)
+ (block
+ (set_local $6
+ (get_local $1)
+ )
+ (set_local $3
+ (get_local $0)
+ )
)
)
- (call $_abort)
(block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $1)
+ (get_local $0)
+ )
+ )
(set_local $6
- (get_local $1)
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
)
(set_local $3
- (get_local $0)
- )
- )
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $1)
- (get_local $0)
- )
- )
- (set_local $6
- (i32.add
(get_local $2)
- (i32.const 8)
)
)
- (set_local $3
- (get_local $2)
- )
)
- )
- (i32.store
- (get_local $6)
- (get_local $4)
- )
- (i32.store offset=12
- (get_local $3)
- (get_local $4)
- )
- (i32.store offset=8
- (get_local $4)
- (get_local $3)
- )
- (i32.store offset=12
- (get_local $4)
- (get_local $2)
+ (i32.store
+ (get_local $6)
+ (get_local $4)
+ )
+ (i32.store offset=12
+ (get_local $3)
+ (get_local $4)
+ )
+ (i32.store offset=8
+ (get_local $4)
+ (get_local $3)
+ )
+ (i32.store offset=12
+ (get_local $4)
+ (get_local $2)
+ )
)
)
+ (i32.store
+ (i32.const 184)
+ (get_local $10)
+ )
+ (i32.store
+ (i32.const 196)
+ (get_local $11)
+ )
)
- (i32.store
- (i32.const 184)
- (get_local $10)
- )
- (i32.store
- (i32.const 196)
- (get_local $11)
+ )
+ (return
+ (i32.add
+ (get_local $5)
+ (i32.const 8)
)
)
)
- (return
- (i32.add
- (get_local $5)
- (i32.const 8)
- )
+ (set_local $0
+ (get_local $4)
)
)
- (set_local $0
- (get_local $4)
- )
+ )
+ (set_local $0
+ (get_local $4)
)
)
+ )
+ (if
+ (i32.gt_u
+ (get_local $0)
+ (i32.const -65)
+ )
(set_local $0
- (get_local $4)
+ (i32.const -1)
)
- )
- )
- (if
- (i32.gt_u
- (get_local $0)
- (i32.const -65)
- )
- (set_local $0
- (i32.const -1)
- )
- (block
- (set_local $2
- (i32.and
- (tee_local $0
- (i32.add
- (get_local $0)
- (i32.const 11)
+ (block
+ (set_local $2
+ (i32.and
+ (tee_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 11)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
)
- )
- (if
- (tee_local $18
- (i32.load
- (i32.const 180)
+ (if
+ (tee_local $18
+ (i32.load
+ (i32.const 180)
+ )
)
- )
- (block
- (set_local $14
- (if (result i32)
- (tee_local $0
- (i32.shr_u
- (get_local $0)
- (i32.const 8)
- )
- )
+ (block
+ (set_local $14
(if (result i32)
- (i32.gt_u
- (get_local $2)
- (i32.const 16777215)
+ (tee_local $0
+ (i32.shr_u
+ (get_local $0)
+ (i32.const 8)
+ )
)
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $2)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (if (result i32)
+ (i32.gt_u
+ (get_local $2)
+ (i32.const 16777215)
+ )
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $2)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $0)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
+ (i32.or
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $0)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 520192)
)
- (i32.const 520192)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 4)
)
- (i32.const 4)
)
+ (get_local $3)
)
- (get_local $3)
- )
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
+ )
)
+ (i32.const 245760)
)
- (i32.const 245760)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (i32.shr_u
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (set_local $3
- (i32.sub
- (i32.const 0)
- (get_local $2)
+ (set_local $3
+ (i32.sub
+ (i32.const 0)
+ (get_local $2)
+ )
)
- )
- (block $__rjto$3
- (block $__rjti$3
- (if
- (tee_local $0
- (i32.load offset=480
- (i32.shl
- (get_local $14)
- (i32.const 2)
+ (block $__rjto$3
+ (block $__rjti$3
+ (if
+ (tee_local $0
+ (i32.load offset=480
+ (i32.shl
+ (get_local $14)
+ (i32.const 2)
+ )
)
)
- )
- (block
- (set_local $6
- (i32.const 0)
- )
- (set_local $8
- (i32.shl
- (get_local $2)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
+ (block
+ (set_local $6
+ (i32.const 0)
+ )
+ (set_local $8
+ (i32.shl
+ (get_local $2)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $14)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
(get_local $14)
- (i32.const 1)
+ (i32.const 31)
)
)
- (i32.eq
- (get_local $14)
- (i32.const 31)
- )
)
)
- )
- (set_local $1
- (i32.const 0)
- )
- (loop $while-in14
- (if
- (i32.lt_u
- (tee_local $4
- (i32.sub
- (tee_local $9
- (i32.and
- (i32.load offset=4
- (get_local $0)
+ (set_local $1
+ (i32.const 0)
+ )
+ (loop $while-in14
+ (if
+ (i32.lt_u
+ (tee_local $4
+ (i32.sub
+ (tee_local $9
+ (i32.and
+ (i32.load offset=4
+ (get_local $0)
+ )
+ (i32.const -8)
)
- (i32.const -8)
)
+ (get_local $2)
)
- (get_local $2)
)
+ (get_local $3)
)
- (get_local $3)
- )
- (if
- (i32.eq
- (get_local $9)
- (get_local $2)
- )
- (block
- (set_local $1
- (get_local $4)
- )
- (set_local $3
- (get_local $0)
+ (if
+ (i32.eq
+ (get_local $9)
+ (get_local $2)
)
- (br $__rjti$3)
- )
- (block
- (set_local $3
- (get_local $4)
+ (block
+ (set_local $1
+ (get_local $4)
+ )
+ (set_local $3
+ (get_local $0)
+ )
+ (br $__rjti$3)
)
- (set_local $1
- (get_local $0)
+ (block
+ (set_local $3
+ (get_local $4)
+ )
+ (set_local $1
+ (get_local $0)
+ )
)
)
)
- )
- (set_local $0
- (select
- (get_local $6)
- (tee_local $4
- (i32.load offset=20
- (get_local $0)
- )
- )
- (i32.or
- (i32.eqz
- (get_local $4)
+ (set_local $0
+ (select
+ (get_local $6)
+ (tee_local $4
+ (i32.load offset=20
+ (get_local $0)
+ )
)
- (i32.eq
- (get_local $4)
- (tee_local $9
- (i32.load
- (i32.add
+ (i32.or
+ (i32.eqz
+ (get_local $4)
+ )
+ (i32.eq
+ (get_local $4)
+ (tee_local $9
+ (i32.load
(i32.add
- (get_local $0)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $8)
- (i32.const 31)
+ (i32.add
+ (get_local $0)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $8)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
@@ -9383,134 +9356,148 @@
)
)
)
- )
- (set_local $4
- (i32.shl
- (get_local $8)
- (i32.xor
- (tee_local $6
- (i32.eqz
- (get_local $9)
+ (set_local $4
+ (i32.shl
+ (get_local $8)
+ (i32.xor
+ (tee_local $6
+ (i32.eqz
+ (get_local $9)
+ )
)
+ (i32.const 1)
)
- (i32.const 1)
)
)
- )
- (if
- (get_local $6)
- (block
- (set_local $4
- (get_local $0)
- )
- (set_local $0
- (get_local $1)
- )
- )
- (block
- (set_local $6
- (get_local $0)
- )
- (set_local $8
- (get_local $4)
+ (if
+ (get_local $6)
+ (block
+ (set_local $4
+ (get_local $0)
+ )
+ (set_local $0
+ (get_local $1)
+ )
)
- (set_local $0
- (get_local $9)
+ (block
+ (set_local $6
+ (get_local $0)
+ )
+ (set_local $8
+ (get_local $4)
+ )
+ (set_local $0
+ (get_local $9)
+ )
+ (br $while-in14)
)
- (br $while-in14)
)
)
)
- )
- (block
- (set_local $4
- (i32.const 0)
- )
- (set_local $0
- (i32.const 0)
- )
- )
- )
- (if
- (i32.and
- (i32.eqz
- (get_local $4)
- )
- (i32.eqz
- (get_local $0)
+ (block
+ (set_local $4
+ (i32.const 0)
+ )
+ (set_local $0
+ (i32.const 0)
+ )
)
)
- (block
- (if
+ (if
+ (i32.and
(i32.eqz
- (tee_local $1
- (i32.and
- (get_local $18)
- (i32.or
- (tee_local $1
- (i32.shl
- (i32.const 2)
- (get_local $14)
+ (get_local $4)
+ )
+ (i32.eqz
+ (get_local $0)
+ )
+ )
+ (block
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.and
+ (get_local $18)
+ (i32.or
+ (tee_local $1
+ (i32.shl
+ (i32.const 2)
+ (get_local $14)
+ )
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $1)
)
- )
- (i32.sub
- (i32.const 0)
- (get_local $1)
)
)
)
)
- )
- (block
- (set_local $0
- (get_local $2)
+ (block
+ (set_local $0
+ (get_local $2)
+ )
+ (br $do-once)
)
- (br $do-once)
)
- )
- (set_local $9
- (i32.and
- (i32.shr_u
- (tee_local $1
- (i32.add
- (i32.and
- (get_local $1)
- (i32.sub
- (i32.const 0)
+ (set_local $9
+ (i32.and
+ (i32.shr_u
+ (tee_local $1
+ (i32.add
+ (i32.and
(get_local $1)
+ (i32.sub
+ (i32.const 0)
+ (get_local $1)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
)
+ (i32.const 12)
)
- (i32.const 12)
+ (i32.const 16)
)
- (i32.const 16)
)
- )
- (set_local $4
- (i32.load offset=480
- (i32.shl
- (i32.add
- (i32.or
+ (set_local $4
+ (i32.load offset=480
+ (i32.shl
+ (i32.add
(i32.or
(i32.or
(i32.or
+ (i32.or
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (tee_local $4
+ (i32.shr_u
+ (get_local $1)
+ (get_local $9)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (get_local $9)
+ )
(tee_local $1
(i32.and
(i32.shr_u
(tee_local $4
(i32.shr_u
+ (get_local $4)
(get_local $1)
- (get_local $9)
)
)
- (i32.const 5)
+ (i32.const 2)
)
- (i32.const 8)
+ (i32.const 4)
)
)
- (get_local $9)
)
(tee_local $1
(i32.and
@@ -9521,9 +9508,9 @@
(get_local $1)
)
)
- (i32.const 2)
+ (i32.const 1)
)
- (i32.const 4)
+ (i32.const 2)
)
)
)
@@ -9538,177 +9525,149 @@
)
(i32.const 1)
)
- (i32.const 2)
- )
- )
- )
- (tee_local $1
- (i32.and
- (i32.shr_u
- (tee_local $4
- (i32.shr_u
- (get_local $4)
- (get_local $1)
- )
- )
(i32.const 1)
)
- (i32.const 1)
)
)
+ (i32.shr_u
+ (get_local $4)
+ (get_local $1)
+ )
)
- (i32.shr_u
- (get_local $4)
- (get_local $1)
- )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
- )
- (if
- (get_local $4)
- (block
- (set_local $1
- (get_local $3)
+ (if
+ (get_local $4)
+ (block
+ (set_local $1
+ (get_local $3)
+ )
+ (set_local $3
+ (get_local $4)
+ )
+ (br $__rjti$3)
)
- (set_local $3
- (get_local $4)
+ (set_local $4
+ (get_local $0)
)
- (br $__rjti$3)
- )
- (set_local $4
- (get_local $0)
)
+ (br $__rjto$3)
)
- (br $__rjto$3)
- )
- (loop $while-in16
- (set_local $9
- (i32.lt_u
- (tee_local $4
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $3)
+ (loop $while-in16
+ (set_local $9
+ (i32.lt_u
+ (tee_local $4
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $3)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $2)
)
- (get_local $2)
)
+ (get_local $1)
)
- (get_local $1)
- )
- )
- (set_local $1
- (select
- (get_local $4)
- (get_local $1)
- (get_local $9)
)
- )
- (set_local $0
- (select
- (get_local $3)
- (get_local $0)
- (get_local $9)
+ (set_local $1
+ (select
+ (get_local $4)
+ (get_local $1)
+ (get_local $9)
+ )
)
- )
- (if
- (tee_local $4
- (i32.load offset=16
+ (set_local $0
+ (select
(get_local $3)
+ (get_local $0)
+ (get_local $9)
)
)
- (block
- (set_local $3
- (get_local $4)
+ (if
+ (tee_local $4
+ (i32.load offset=16
+ (get_local $3)
+ )
+ )
+ (block
+ (set_local $3
+ (get_local $4)
+ )
+ (br $while-in16)
)
- (br $while-in16)
)
- )
- (br_if $while-in16
- (tee_local $3
- (i32.load offset=20
- (get_local $3)
+ (br_if $while-in16
+ (tee_local $3
+ (i32.load offset=20
+ (get_local $3)
+ )
)
)
- )
- (set_local $3
- (get_local $1)
- )
- (set_local $4
- (get_local $0)
+ (set_local $3
+ (get_local $1)
+ )
+ (set_local $4
+ (get_local $0)
+ )
)
)
- )
- (if
- (get_local $4)
(if
- (i32.lt_u
- (get_local $3)
- (i32.sub
- (i32.load
- (i32.const 184)
- )
- (get_local $2)
- )
- )
- (block
- (if
- (i32.lt_u
- (get_local $4)
- (tee_local $12
- (i32.load
- (i32.const 192)
- )
+ (get_local $4)
+ (if
+ (i32.lt_u
+ (get_local $3)
+ (i32.sub
+ (i32.load
+ (i32.const 184)
)
+ (get_local $2)
)
- (call $_abort)
)
- (if
- (i32.ge_u
- (get_local $4)
- (tee_local $6
- (i32.add
- (get_local $4)
- (get_local $2)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $4)
+ (tee_local $12
+ (i32.load
+ (i32.const 192)
+ )
)
)
+ (call $_abort)
)
- (call $_abort)
- )
- (set_local $9
- (i32.load offset=24
- (get_local $4)
- )
- )
- (block $do-once17
(if
- (i32.eq
- (tee_local $0
- (i32.load offset=12
+ (i32.ge_u
+ (get_local $4)
+ (tee_local $6
+ (i32.add
(get_local $4)
+ (get_local $2)
)
)
+ )
+ (call $_abort)
+ )
+ (set_local $9
+ (i32.load offset=24
(get_local $4)
)
- (block
- (if
- (i32.eqz
- (tee_local $1
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $4)
- (i32.const 20)
- )
- )
- )
+ )
+ (block $do-once17
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=12
+ (get_local $4)
)
)
+ (get_local $4)
+ )
+ (block
(if
(i32.eqz
(tee_local $1
@@ -9716,1758 +9675,1694 @@
(tee_local $0
(i32.add
(get_local $4)
- (i32.const 16)
+ (i32.const 20)
)
)
)
)
)
- (block
- (set_local $11
- (i32.const 0)
- )
- (br $do-once17)
- )
- )
- )
- (loop $while-in20
- (if
- (tee_local $7
- (i32.load
- (tee_local $10
- (i32.add
- (get_local $1)
- (i32.const 20)
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $4)
+ (i32.const 16)
+ )
+ )
)
)
)
- )
- (block
- (set_local $1
- (get_local $7)
- )
- (set_local $0
- (get_local $10)
+ (block
+ (set_local $11
+ (i32.const 0)
+ )
+ (br $do-once17)
)
- (br $while-in20)
)
)
- (if
- (tee_local $7
- (i32.load
- (tee_local $10
- (i32.add
- (get_local $1)
- (i32.const 16)
+ (loop $while-in20
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (get_local $1)
+ (i32.const 20)
+ )
)
)
)
+ (block
+ (set_local $1
+ (get_local $7)
+ )
+ (set_local $0
+ (get_local $10)
+ )
+ (br $while-in20)
+ )
)
- (block
- (set_local $1
- (get_local $7)
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ )
+ )
)
- (set_local $0
- (get_local $10)
+ (block
+ (set_local $1
+ (get_local $7)
+ )
+ (set_local $0
+ (get_local $10)
+ )
+ (br $while-in20)
)
- (br $while-in20)
)
)
- )
- (if
- (i32.lt_u
- (get_local $0)
- (get_local $12)
- )
- (call $_abort)
- (block
- (i32.store
+ (if
+ (i32.lt_u
(get_local $0)
- (i32.const 0)
- )
- (set_local $11
- (get_local $1)
+ (get_local $12)
)
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (tee_local $10
- (i32.load offset=8
- (get_local $4)
+ (call $_abort)
+ (block
+ (i32.store
+ (get_local $0)
+ (i32.const 0)
+ )
+ (set_local $11
+ (get_local $1)
)
)
- (get_local $12)
)
- (call $_abort)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $10)
- (i32.const 12)
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $10
+ (i32.load offset=8
+ (get_local $4)
)
)
+ (get_local $12)
)
- (get_local $4)
+ (call $_abort)
)
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $0)
- (i32.const 8)
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $10)
+ (i32.const 12)
+ )
)
)
+ (get_local $4)
)
- (get_local $4)
+ (call $_abort)
)
- (block
- (i32.store
- (get_local $7)
- (get_local $0)
- )
- (i32.store
- (get_local $1)
- (get_local $10)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
+ )
+ )
+ )
+ (get_local $4)
)
- (set_local $11
- (get_local $0)
+ (block
+ (i32.store
+ (get_local $7)
+ (get_local $0)
+ )
+ (i32.store
+ (get_local $1)
+ (get_local $10)
+ )
+ (set_local $11
+ (get_local $0)
+ )
)
+ (call $_abort)
)
- (call $_abort)
)
)
)
- )
- (block $do-once21
- (if
- (get_local $9)
- (block
- (if
- (i32.eq
- (get_local $4)
- (i32.load
- (tee_local $0
- (i32.add
- (i32.shl
- (tee_local $1
- (i32.load offset=28
- (get_local $4)
+ (block $do-once21
+ (if
+ (get_local $9)
+ (block
+ (if
+ (i32.eq
+ (get_local $4)
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (i32.shl
+ (tee_local $1
+ (i32.load offset=28
+ (get_local $4)
+ )
)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 480)
)
- (i32.const 480)
)
)
)
- )
- (block
- (i32.store
- (get_local $0)
- (get_local $11)
- )
- (if
- (i32.eqz
+ (block
+ (i32.store
+ (get_local $0)
(get_local $11)
)
- (block
- (i32.store
- (i32.const 180)
- (i32.and
- (i32.load
- (i32.const 180)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $1)
+ (if
+ (i32.eqz
+ (get_local $11)
+ )
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.and
+ (i32.load
+ (i32.const 180)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $1)
+ )
+ (i32.const -1)
)
- (i32.const -1)
)
)
+ (br $do-once21)
)
- (br $do-once21)
)
)
- )
- (block
- (if
- (i32.lt_u
- (get_local $9)
- (i32.load
- (i32.const 192)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $9)
+ (i32.load
+ (i32.const 192)
+ )
)
+ (call $_abort)
)
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $9)
- (i32.const 16)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $9)
+ (i32.const 16)
+ )
)
)
+ (get_local $4)
+ )
+ (i32.store
+ (get_local $0)
+ (get_local $11)
+ )
+ (i32.store offset=20
+ (get_local $9)
+ (get_local $11)
)
- (get_local $4)
- )
- (i32.store
- (get_local $0)
- (get_local $11)
- )
- (i32.store offset=20
- (get_local $9)
- (get_local $11)
)
- )
- (br_if $do-once21
- (i32.eqz
- (get_local $11)
+ (br_if $do-once21
+ (i32.eqz
+ (get_local $11)
+ )
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $11)
- (tee_local $0
- (i32.load
- (i32.const 192)
+ (if
+ (i32.lt_u
+ (get_local $11)
+ (tee_local $0
+ (i32.load
+ (i32.const 192)
+ )
)
)
+ (call $_abort)
)
- (call $_abort)
- )
- (i32.store offset=24
- (get_local $11)
- (get_local $9)
- )
- (if
- (tee_local $1
- (i32.load offset=16
- (get_local $4)
- )
+ (i32.store offset=24
+ (get_local $11)
+ (get_local $9)
)
(if
- (i32.lt_u
- (get_local $1)
- (get_local $0)
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $4)
+ )
)
- (call $_abort)
- (block
- (i32.store offset=16
- (get_local $11)
+ (if
+ (i32.lt_u
(get_local $1)
+ (get_local $0)
)
- (i32.store offset=24
- (get_local $1)
- (get_local $11)
+ (call $_abort)
+ (block
+ (i32.store offset=16
+ (get_local $11)
+ (get_local $1)
+ )
+ (i32.store offset=24
+ (get_local $1)
+ (get_local $11)
+ )
)
)
)
- )
- (if
- (tee_local $0
- (i32.load offset=20
- (get_local $4)
- )
- )
(if
- (i32.lt_u
- (get_local $0)
- (i32.load
- (i32.const 192)
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $4)
)
)
- (call $_abort)
- (block
- (i32.store offset=20
- (get_local $11)
+ (if
+ (i32.lt_u
(get_local $0)
+ (i32.load
+ (i32.const 192)
+ )
)
- (i32.store offset=24
- (get_local $0)
- (get_local $11)
+ (call $_abort)
+ (block
+ (i32.store offset=20
+ (get_local $11)
+ (get_local $0)
+ )
+ (i32.store offset=24
+ (get_local $0)
+ (get_local $11)
+ )
)
)
)
)
)
)
- )
- (block $do-once25
- (if
- (i32.lt_u
- (get_local $3)
- (i32.const 16)
- )
- (block
- (i32.store offset=4
- (get_local $4)
- (i32.or
- (tee_local $0
- (i32.add
- (get_local $3)
- (get_local $2)
+ (block $do-once25
+ (if
+ (i32.lt_u
+ (get_local $3)
+ (i32.const 16)
+ )
+ (block
+ (i32.store offset=4
+ (get_local $4)
+ (i32.or
+ (tee_local $0
+ (i32.add
+ (get_local $3)
+ (get_local $2)
+ )
)
+ (i32.const 3)
)
- (i32.const 3)
)
- )
- (i32.store
- (tee_local $0
- (i32.add
+ (i32.store
+ (tee_local $0
(i32.add
- (get_local $4)
- (get_local $0)
+ (i32.add
+ (get_local $4)
+ (get_local $0)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (i32.or
- (i32.load
- (get_local $0)
+ (i32.or
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 1)
)
- (i32.const 1)
- )
- )
- )
- (block
- (i32.store offset=4
- (get_local $4)
- (i32.or
- (get_local $2)
- (i32.const 3)
)
)
- (i32.store offset=4
- (get_local $6)
- (i32.or
- (get_local $3)
- (i32.const 1)
+ (block
+ (i32.store offset=4
+ (get_local $4)
+ (i32.or
+ (get_local $2)
+ (i32.const 3)
+ )
)
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $6)
- (get_local $3)
+ (i32.or
+ (get_local $3)
+ (i32.const 1)
+ )
)
- (get_local $3)
- )
- (set_local $0
- (i32.shr_u
+ (i32.store
+ (i32.add
+ (get_local $6)
+ (get_local $3)
+ )
(get_local $3)
- (i32.const 3)
)
- )
- (if
- (i32.lt_u
- (get_local $3)
- (i32.const 256)
+ (set_local $0
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 3)
+ )
)
- (block
- (set_local $3
- (i32.add
- (i32.shl
- (get_local $0)
- (i32.const 3)
- )
- (i32.const 216)
- )
+ (if
+ (i32.lt_u
+ (get_local $3)
+ (i32.const 256)
)
- (if
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 176)
- )
- )
- (tee_local $0
+ (block
+ (set_local $3
+ (i32.add
(i32.shl
- (i32.const 1)
(get_local $0)
+ (i32.const 3)
)
+ (i32.const 216)
)
)
(if
- (i32.lt_u
- (tee_local $0
+ (i32.and
+ (tee_local $1
(i32.load
- (tee_local $1
- (i32.add
- (get_local $3)
- (i32.const 8)
+ (i32.const 176)
+ )
+ )
+ (tee_local $0
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $0
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 192)
+ )
)
- (i32.load
- (i32.const 192)
+ (call $_abort)
+ (block
+ (set_local $13
+ (get_local $1)
+ )
+ (set_local $5
+ (get_local $0)
+ )
)
)
- (call $_abort)
(block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $1)
+ (get_local $0)
+ )
+ )
(set_local $13
- (get_local $1)
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
)
(set_local $5
- (get_local $0)
- )
- )
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $1)
- (get_local $0)
- )
- )
- (set_local $13
- (i32.add
(get_local $3)
- (i32.const 8)
)
)
- (set_local $5
- (get_local $3)
- )
)
+ (i32.store
+ (get_local $13)
+ (get_local $6)
+ )
+ (i32.store offset=12
+ (get_local $5)
+ (get_local $6)
+ )
+ (i32.store offset=8
+ (get_local $6)
+ (get_local $5)
+ )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $3)
+ )
+ (br $do-once25)
)
- (i32.store
- (get_local $13)
- (get_local $6)
- )
- (i32.store offset=12
- (get_local $5)
- (get_local $6)
- )
- (i32.store offset=8
- (get_local $6)
- (get_local $5)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $3)
- )
- (br $do-once25)
)
- )
- (set_local $2
- (i32.add
- (i32.shl
- (tee_local $7
- (if (result i32)
- (tee_local $0
- (i32.shr_u
- (get_local $3)
- (i32.const 8)
- )
- )
+ (set_local $2
+ (i32.add
+ (i32.shl
+ (tee_local $7
(if (result i32)
- (i32.gt_u
- (get_local $3)
- (i32.const 16777215)
+ (tee_local $0
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 8)
+ )
)
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $3)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (if (result i32)
+ (i32.gt_u
+ (get_local $3)
+ (i32.const 16777215)
+ )
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $3)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $0)
- (tee_local $2
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
+ (i32.or
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $0)
+ (tee_local $2
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 520192)
)
- (i32.const 520192)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 4)
)
- (i32.const 4)
)
+ (get_local $2)
)
- (get_local $2)
- )
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
+ )
)
+ (i32.const 245760)
)
- (i32.const 245760)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (i32.shr_u
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
+ (i32.const 0)
)
- (i32.const 0)
)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 480)
)
- (i32.const 480)
)
- )
- (i32.store offset=28
- (get_local $6)
- (get_local $7)
- )
- (i32.store offset=4
- (tee_local $0
- (i32.add
- (get_local $6)
- (i32.const 16)
+ (i32.store offset=28
+ (get_local $6)
+ (get_local $7)
+ )
+ (i32.store offset=4
+ (tee_local $0
+ (i32.add
+ (get_local $6)
+ (i32.const 16)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (i32.store
- (get_local $0)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 180)
+ (i32.store
+ (get_local $0)
+ (i32.const 0)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (i32.const 180)
+ )
)
- )
- (tee_local $0
- (i32.shl
- (i32.const 1)
- (get_local $7)
+ (tee_local $0
+ (i32.shl
+ (i32.const 1)
+ (get_local $7)
+ )
)
)
)
- )
- (block
- (i32.store
- (i32.const 180)
- (i32.or
- (get_local $1)
- (get_local $0)
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.or
+ (get_local $1)
+ (get_local $0)
+ )
)
+ (i32.store
+ (get_local $2)
+ (get_local $6)
+ )
+ (i32.store offset=24
+ (get_local $6)
+ (get_local $2)
+ )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $6)
+ )
+ (i32.store offset=8
+ (get_local $6)
+ (get_local $6)
+ )
+ (br $do-once25)
)
- (i32.store
- (get_local $2)
- (get_local $6)
- )
- (i32.store offset=24
- (get_local $6)
- (get_local $2)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $6)
- )
- (i32.store offset=8
- (get_local $6)
- (get_local $6)
- )
- (br $do-once25)
)
- )
- (set_local $7
- (i32.shl
- (get_local $3)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
+ (set_local $7
+ (i32.shl
+ (get_local $3)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $7)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
(get_local $7)
- (i32.const 1)
+ (i32.const 31)
)
)
- (i32.eq
- (get_local $7)
- (i32.const 31)
- )
)
)
- )
- (set_local $0
- (i32.load
- (get_local $2)
+ (set_local $0
+ (i32.load
+ (get_local $2)
+ )
)
- )
- (block $__rjto$1
- (block $__rjti$1
- (loop $while-in28
- (br_if $__rjti$1
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $0)
+ (block $__rjto$1
+ (block $__rjti$1
+ (loop $while-in28
+ (br_if $__rjti$1
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $0)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $3)
)
- (get_local $3)
)
- )
- (set_local $2
- (i32.shl
- (get_local $7)
- (i32.const 1)
+ (set_local $2
+ (i32.shl
+ (get_local $7)
+ (i32.const 1)
+ )
)
- )
- (if
- (tee_local $1
- (i32.load
- (tee_local $7
- (i32.add
+ (if
+ (tee_local $1
+ (i32.load
+ (tee_local $7
(i32.add
- (get_local $0)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $7)
- (i32.const 31)
+ (i32.add
+ (get_local $0)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $7)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
+ (block
+ (set_local $7
+ (get_local $2)
+ )
+ (set_local $0
+ (get_local $1)
+ )
+ (br $while-in28)
+ )
)
+ )
+ (if
+ (i32.lt_u
+ (get_local $7)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
(block
- (set_local $7
- (get_local $2)
+ (i32.store
+ (get_local $7)
+ (get_local $6)
)
- (set_local $0
- (get_local $1)
+ (i32.store offset=24
+ (get_local $6)
+ (get_local $0)
+ )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $6)
+ )
+ (i32.store offset=8
+ (get_local $6)
+ (get_local $6)
)
- (br $while-in28)
+ (br $do-once25)
)
)
+ (br $__rjto$1)
)
(if
- (i32.lt_u
- (get_local $7)
- (i32.load
- (i32.const 192)
+ (i32.and
+ (i32.ge_u
+ (tee_local $2
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (tee_local $1
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (i32.ge_u
+ (get_local $0)
+ (get_local $1)
)
)
- (call $_abort)
(block
+ (i32.store offset=12
+ (get_local $2)
+ (get_local $6)
+ )
(i32.store
- (get_local $7)
+ (get_local $3)
(get_local $6)
)
- (i32.store offset=24
+ (i32.store offset=8
(get_local $6)
- (get_local $0)
+ (get_local $2)
)
(i32.store offset=12
(get_local $6)
- (get_local $6)
+ (get_local $0)
)
- (i32.store offset=8
- (get_local $6)
+ (i32.store offset=24
(get_local $6)
- )
- (br $do-once25)
- )
- )
- (br $__rjto$1)
- )
- (if
- (i32.and
- (i32.ge_u
- (tee_local $2
- (i32.load
- (tee_local $3
- (i32.add
- (get_local $0)
- (i32.const 8)
- )
- )
- )
- )
- (tee_local $1
- (i32.load
- (i32.const 192)
- )
+ (i32.const 0)
)
)
- (i32.ge_u
- (get_local $0)
- (get_local $1)
- )
- )
- (block
- (i32.store offset=12
- (get_local $2)
- (get_local $6)
- )
- (i32.store
- (get_local $3)
- (get_local $6)
- )
- (i32.store offset=8
- (get_local $6)
- (get_local $2)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $0)
- )
- (i32.store offset=24
- (get_local $6)
- (i32.const 0)
- )
+ (call $_abort)
)
- (call $_abort)
)
)
)
)
- )
- (return
- (i32.add
- (get_local $4)
- (i32.const 8)
+ (return
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
)
)
+ (set_local $0
+ (get_local $2)
+ )
)
(set_local $0
(get_local $2)
)
)
- (set_local $0
- (get_local $2)
- )
)
- )
- (set_local $0
- (get_local $2)
+ (set_local $0
+ (get_local $2)
+ )
)
)
)
)
)
- )
- (if
- (i32.ge_u
- (tee_local $1
- (i32.load
- (i32.const 184)
- )
- )
- (get_local $0)
- )
- (block
- (set_local $2
- (i32.load
- (i32.const 196)
+ (if
+ (i32.ge_u
+ (tee_local $1
+ (i32.load
+ (i32.const 184)
+ )
)
+ (get_local $0)
)
- (if
- (i32.gt_u
- (tee_local $3
- (i32.sub
- (get_local $1)
- (get_local $0)
- )
+ (block
+ (set_local $2
+ (i32.load
+ (i32.const 196)
)
- (i32.const 15)
)
- (block
- (i32.store
- (i32.const 196)
- (tee_local $1
- (i32.add
- (get_local $2)
+ (if
+ (i32.gt_u
+ (tee_local $3
+ (i32.sub
+ (get_local $1)
(get_local $0)
)
)
+ (i32.const 15)
)
- (i32.store
- (i32.const 184)
- (get_local $3)
- )
- (i32.store offset=4
- (get_local $1)
- (i32.or
+ (block
+ (i32.store
+ (i32.const 196)
+ (tee_local $1
+ (i32.add
+ (get_local $2)
+ (get_local $0)
+ )
+ )
+ )
+ (i32.store
+ (i32.const 184)
(get_local $3)
- (i32.const 1)
)
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $1)
+ (i32.or
+ (get_local $3)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
+ (get_local $1)
+ (get_local $3)
+ )
(get_local $3)
)
- (get_local $3)
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $0)
- (i32.const 3)
+ (i32.store offset=4
+ (get_local $2)
+ (i32.or
+ (get_local $0)
+ (i32.const 3)
+ )
)
)
- )
- (block
- (i32.store
- (i32.const 184)
- (i32.const 0)
- )
- (i32.store
- (i32.const 196)
- (i32.const 0)
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $1)
- (i32.const 3)
+ (block
+ (i32.store
+ (i32.const 184)
+ (i32.const 0)
)
- )
- (i32.store
- (tee_local $0
- (i32.add
+ (i32.store
+ (i32.const 196)
+ (i32.const 0)
+ )
+ (i32.store offset=4
+ (get_local $2)
+ (i32.or
+ (get_local $1)
+ (i32.const 3)
+ )
+ )
+ (i32.store
+ (tee_local $0
(i32.add
- (get_local $2)
- (get_local $1)
+ (i32.add
+ (get_local $2)
+ (get_local $1)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (i32.or
- (i32.load
- (get_local $0)
+ (i32.or
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 1)
)
- (i32.const 1)
)
)
)
- )
- (return
- (i32.add
- (get_local $2)
- (i32.const 8)
+ (return
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
)
)
)
- )
- (if
- (i32.gt_u
- (tee_local $1
- (i32.load
- (i32.const 188)
+ (br_if $folding-inner0
+ (i32.gt_u
+ (tee_local $1
+ (i32.load
+ (i32.const 188)
+ )
)
+ (get_local $0)
)
- (get_local $0)
)
- (block
- (i32.store
- (i32.const 188)
- (tee_local $3
- (i32.sub
- (get_local $1)
- (get_local $0)
- )
+ (if
+ (i32.eqz
+ (i32.load
+ (i32.const 648)
)
)
- (i32.store
- (i32.const 200)
- (tee_local $1
+ (if
+ (i32.and
(i32.add
- (tee_local $2
- (i32.load
- (i32.const 200)
+ (tee_local $1
+ (call $_sysconf
+ (i32.const 30)
)
)
- (get_local $0)
- )
- )
- )
- (i32.store offset=4
- (get_local $1)
- (i32.or
- (get_local $3)
- (i32.const 1)
- )
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $0)
- (i32.const 3)
- )
- )
- (return
- (i32.add
- (get_local $2)
- (i32.const 8)
- )
- )
- )
- )
- (if
- (i32.eqz
- (i32.load
- (i32.const 648)
- )
- )
- (if
- (i32.and
- (i32.add
- (tee_local $1
- (call $_sysconf
- (i32.const 30)
- )
+ (i32.const -1)
)
- (i32.const -1)
- )
- (get_local $1)
- )
- (call $_abort)
- (block
- (i32.store
- (i32.const 656)
(get_local $1)
)
- (i32.store
- (i32.const 652)
- (get_local $1)
- )
- (i32.store
- (i32.const 660)
- (i32.const -1)
- )
- (i32.store
- (i32.const 664)
- (i32.const -1)
- )
- (i32.store
- (i32.const 668)
- (i32.const 0)
- )
- (i32.store
- (i32.const 620)
- (i32.const 0)
- )
- (i32.store
- (i32.const 648)
- (i32.xor
- (i32.and
- (call $_time
- (i32.const 0)
+ (call $_abort)
+ (block
+ (i32.store
+ (i32.const 656)
+ (get_local $1)
+ )
+ (i32.store
+ (i32.const 652)
+ (get_local $1)
+ )
+ (i32.store
+ (i32.const 660)
+ (i32.const -1)
+ )
+ (i32.store
+ (i32.const 664)
+ (i32.const -1)
+ )
+ (i32.store
+ (i32.const 668)
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 620)
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 648)
+ (i32.xor
+ (i32.and
+ (call $_time
+ (i32.const 0)
+ )
+ (i32.const -16)
)
- (i32.const -16)
+ (i32.const 1431655768)
)
- (i32.const 1431655768)
)
)
)
)
- )
- (if
- (i32.le_u
- (tee_local $5
- (i32.and
- (tee_local $6
- (i32.add
- (tee_local $1
- (i32.load
- (i32.const 656)
+ (if
+ (i32.le_u
+ (tee_local $5
+ (i32.and
+ (tee_local $6
+ (i32.add
+ (tee_local $1
+ (i32.load
+ (i32.const 656)
+ )
)
- )
- (tee_local $8
- (i32.add
- (get_local $0)
- (i32.const 47)
+ (tee_local $8
+ (i32.add
+ (get_local $0)
+ (i32.const 47)
+ )
)
)
)
- )
- (tee_local $9
- (i32.sub
- (i32.const 0)
- (get_local $1)
+ (tee_local $9
+ (i32.sub
+ (i32.const 0)
+ (get_local $1)
+ )
)
)
)
+ (get_local $0)
)
- (get_local $0)
- )
- (return
- (i32.const 0)
- )
- )
- (if
- (tee_local $2
- (i32.load
- (i32.const 616)
+ (return
+ (i32.const 0)
)
)
(if
- (i32.or
- (i32.le_u
- (tee_local $1
- (i32.add
- (tee_local $3
- (i32.load
- (i32.const 608)
+ (tee_local $2
+ (i32.load
+ (i32.const 616)
+ )
+ )
+ (if
+ (i32.or
+ (i32.le_u
+ (tee_local $1
+ (i32.add
+ (tee_local $3
+ (i32.load
+ (i32.const 608)
+ )
)
+ (get_local $5)
)
- (get_local $5)
)
+ (get_local $3)
+ )
+ (i32.gt_u
+ (get_local $1)
+ (get_local $2)
)
- (get_local $3)
)
- (i32.gt_u
- (get_local $1)
- (get_local $2)
+ (return
+ (i32.const 0)
)
)
- (return
- (i32.const 0)
- )
)
- )
- (set_local $11
- (i32.add
- (get_local $0)
- (i32.const 48)
+ (set_local $11
+ (i32.add
+ (get_local $0)
+ (i32.const 48)
+ )
)
- )
- (block $__rjto$13
- (block $__rjti$13
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (i32.const 620)
+ (block $__rjto$13
+ (block $__rjti$13
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (i32.const 620)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (block
- (block $label$break$L279
- (block $__rjti$5
- (block $__rjti$4
- (br_if $__rjti$4
- (i32.eqz
- (tee_local $4
- (i32.load
- (i32.const 200)
+ (block
+ (block $label$break$L279
+ (block $__rjti$5
+ (block $__rjti$4
+ (br_if $__rjti$4
+ (i32.eqz
+ (tee_local $4
+ (i32.load
+ (i32.const 200)
+ )
)
)
)
- )
- (set_local $1
- (i32.const 624)
- )
- (loop $while-in34
- (block $while-out33
- (if
- (i32.le_u
- (tee_local $3
- (i32.load
- (get_local $1)
- )
- )
- (get_local $4)
- )
+ (set_local $1
+ (i32.const 624)
+ )
+ (loop $while-in34
+ (block $while-out33
(if
- (i32.gt_u
- (i32.add
- (get_local $3)
+ (i32.le_u
+ (tee_local $3
(i32.load
- (tee_local $2
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (get_local $1)
+ )
+ )
+ (get_local $4)
+ )
+ (if
+ (i32.gt_u
+ (i32.add
+ (get_local $3)
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
+ )
)
)
)
+ (get_local $4)
+ )
+ (block
+ (set_local $4
+ (get_local $1)
+ )
+ (br $while-out33)
)
- (get_local $4)
)
- (block
- (set_local $4
+ )
+ (br_if $while-in34
+ (tee_local $1
+ (i32.load offset=8
(get_local $1)
)
- (br $while-out33)
)
)
+ (br $__rjti$4)
)
- (br_if $while-in34
- (tee_local $1
- (i32.load offset=8
- (get_local $1)
+ )
+ (if
+ (i32.lt_u
+ (tee_local $3
+ (i32.and
+ (i32.sub
+ (get_local $6)
+ (i32.load
+ (i32.const 188)
+ )
+ )
+ (get_local $9)
)
)
+ (i32.const 2147483647)
)
- (br $__rjti$4)
- )
- )
- (if
- (i32.lt_u
- (tee_local $3
- (i32.and
- (i32.sub
- (get_local $6)
+ (if
+ (i32.eq
+ (tee_local $1
+ (call $_sbrk
+ (get_local $3)
+ )
+ )
+ (i32.add
(i32.load
- (i32.const 188)
+ (get_local $4)
+ )
+ (i32.load
+ (get_local $2)
)
)
- (get_local $9)
)
- )
- (i32.const 2147483647)
- )
- (if
- (i32.eq
- (tee_local $1
- (call $_sbrk
- (get_local $3)
+ (br_if $__rjti$13
+ (i32.ne
+ (get_local $1)
+ (i32.const -1)
)
)
- (i32.add
- (i32.load
- (get_local $4)
- )
- (i32.load
- (get_local $2)
+ (block
+ (set_local $2
+ (get_local $1)
)
+ (br $__rjti$5)
)
)
- (br_if $__rjti$13
- (i32.ne
- (get_local $1)
- (i32.const -1)
- )
- )
- (block
- (set_local $2
- (get_local $1)
- )
- (set_local $1
- (get_local $3)
- )
- (br $__rjti$5)
- )
)
+ (br $label$break$L279)
)
- (br $label$break$L279)
- )
- (if
- (i32.ne
- (tee_local $1
- (call $_sbrk
- (i32.const 0)
+ (if
+ (i32.ne
+ (tee_local $1
+ (call $_sbrk
+ (i32.const 0)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
- )
- (block
- (set_local $3
- (if (result i32)
- (i32.and
- (tee_local $2
- (i32.add
- (tee_local $4
- (i32.load
- (i32.const 652)
+ (block
+ (set_local $3
+ (if (result i32)
+ (i32.and
+ (tee_local $2
+ (i32.add
+ (tee_local $4
+ (i32.load
+ (i32.const 652)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
+ )
+ (tee_local $3
+ (get_local $1)
)
)
- (tee_local $3
- (get_local $1)
- )
- )
- (i32.add
- (i32.sub
- (get_local $5)
- (get_local $3)
- )
- (i32.and
- (i32.add
- (get_local $2)
+ (i32.add
+ (i32.sub
+ (get_local $5)
(get_local $3)
)
- (i32.sub
- (i32.const 0)
- (get_local $4)
+ (i32.and
+ (i32.add
+ (get_local $2)
+ (get_local $3)
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $4)
+ )
)
)
+ (get_local $5)
)
- (get_local $5)
)
- )
- (set_local $9
- (i32.add
- (tee_local $4
- (i32.load
- (i32.const 608)
+ (set_local $9
+ (i32.add
+ (tee_local $4
+ (i32.load
+ (i32.const 608)
+ )
)
- )
- (get_local $3)
- )
- )
- (if
- (i32.and
- (i32.gt_u
- (get_local $3)
- (get_local $0)
- )
- (i32.lt_u
(get_local $3)
- (i32.const 2147483647)
)
)
- (block
- (if
- (tee_local $2
- (i32.load
- (i32.const 616)
- )
+ (if
+ (i32.and
+ (i32.gt_u
+ (get_local $3)
+ (get_local $0)
)
- (br_if $label$break$L279
- (i32.or
- (i32.le_u
- (get_local $9)
- (get_local $4)
+ (i32.lt_u
+ (get_local $3)
+ (i32.const 2147483647)
+ )
+ )
+ (block
+ (if
+ (tee_local $2
+ (i32.load
+ (i32.const 616)
)
- (i32.gt_u
- (get_local $9)
- (get_local $2)
+ )
+ (br_if $label$break$L279
+ (i32.or
+ (i32.le_u
+ (get_local $9)
+ (get_local $4)
+ )
+ (i32.gt_u
+ (get_local $9)
+ (get_local $2)
+ )
)
)
)
- )
- (br_if $__rjti$13
- (i32.eq
- (tee_local $2
- (call $_sbrk
- (get_local $3)
+ (br_if $__rjti$13
+ (i32.eq
+ (tee_local $2
+ (call $_sbrk
+ (get_local $3)
+ )
)
+ (get_local $1)
)
- (get_local $1)
)
+ (br $__rjti$5)
)
- (set_local $1
- (get_local $3)
- )
- (br $__rjti$5)
)
)
)
+ (br $label$break$L279)
)
- (br $label$break$L279)
- )
- (set_local $4
- (i32.sub
- (i32.const 0)
- (get_local $1)
+ (set_local $1
+ (get_local $3)
)
- )
- (if
- (i32.and
- (i32.gt_u
- (get_local $11)
+ (set_local $4
+ (i32.sub
+ (i32.const 0)
(get_local $1)
)
+ )
+ (if
(i32.and
- (i32.lt_u
+ (i32.gt_u
+ (get_local $11)
(get_local $1)
- (i32.const 2147483647)
)
- (i32.ne
- (get_local $2)
- (i32.const -1)
+ (i32.and
+ (i32.lt_u
+ (get_local $1)
+ (i32.const 2147483647)
+ )
+ (i32.ne
+ (get_local $2)
+ (i32.const -1)
+ )
)
)
- )
- (if
- (i32.lt_u
- (tee_local $3
- (i32.and
- (i32.add
- (i32.sub
- (get_local $8)
- (get_local $1)
- )
- (tee_local $3
- (i32.load
- (i32.const 656)
+ (if
+ (i32.lt_u
+ (tee_local $3
+ (i32.and
+ (i32.add
+ (i32.sub
+ (get_local $8)
+ (get_local $1)
+ )
+ (tee_local $3
+ (i32.load
+ (i32.const 656)
+ )
)
)
+ (i32.sub
+ (i32.const 0)
+ (get_local $3)
+ )
)
- (i32.sub
- (i32.const 0)
+ )
+ (i32.const 2147483647)
+ )
+ (if
+ (i32.eq
+ (call $_sbrk
(get_local $3)
)
+ (i32.const -1)
)
- )
- (i32.const 2147483647)
- )
- (if
- (i32.eq
- (call $_sbrk
- (get_local $3)
+ (block
+ (drop
+ (call $_sbrk
+ (get_local $4)
+ )
+ )
+ (br $label$break$L279)
)
- (i32.const -1)
- )
- (block
- (drop
- (call $_sbrk
- (get_local $4)
+ (set_local $3
+ (i32.add
+ (get_local $3)
+ (get_local $1)
)
)
- (br $label$break$L279)
)
(set_local $3
- (i32.add
- (get_local $3)
- (get_local $1)
- )
+ (get_local $1)
)
)
(set_local $3
(get_local $1)
)
)
- (set_local $3
- (get_local $1)
- )
- )
- (if
- (i32.ne
- (get_local $2)
- (i32.const -1)
- )
- (block
- (set_local $1
+ (if
+ (i32.ne
(get_local $2)
+ (i32.const -1)
+ )
+ (block
+ (set_local $1
+ (get_local $2)
+ )
+ (br $__rjti$13)
)
- (br $__rjti$13)
)
)
- )
- (i32.store
- (i32.const 620)
- (i32.or
- (i32.load
- (i32.const 620)
+ (i32.store
+ (i32.const 620)
+ (i32.or
+ (i32.load
+ (i32.const 620)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $5)
- (i32.const 2147483647)
- )
(if
- (i32.and
- (i32.lt_u
- (tee_local $1
- (call $_sbrk
- (get_local $5)
+ (i32.lt_u
+ (get_local $5)
+ (i32.const 2147483647)
+ )
+ (if
+ (i32.and
+ (i32.lt_u
+ (tee_local $1
+ (call $_sbrk
+ (get_local $5)
+ )
)
- )
- (tee_local $3
- (call $_sbrk
- (i32.const 0)
+ (tee_local $3
+ (call $_sbrk
+ (i32.const 0)
+ )
)
)
- )
- (i32.and
- (i32.ne
- (get_local $1)
- (i32.const -1)
- )
- (i32.ne
- (get_local $3)
- (i32.const -1)
- )
- )
- )
- (br_if $__rjti$13
- (i32.gt_u
- (tee_local $3
- (i32.sub
- (get_local $3)
+ (i32.and
+ (i32.ne
(get_local $1)
+ (i32.const -1)
+ )
+ (i32.ne
+ (get_local $3)
+ (i32.const -1)
)
)
- (i32.add
- (get_local $0)
- (i32.const 40)
+ )
+ (br_if $__rjti$13
+ (i32.gt_u
+ (tee_local $3
+ (i32.sub
+ (get_local $3)
+ (get_local $1)
+ )
+ )
+ (i32.add
+ (get_local $0)
+ (i32.const 40)
+ )
)
)
)
)
+ (br $__rjto$13)
)
- (br $__rjto$13)
- )
- (i32.store
- (i32.const 608)
- (tee_local $2
- (i32.add
- (i32.load
- (i32.const 608)
+ (i32.store
+ (i32.const 608)
+ (tee_local $2
+ (i32.add
+ (i32.load
+ (i32.const 608)
+ )
+ (get_local $3)
)
- (get_local $3)
- )
- )
- )
- (if
- (i32.gt_u
- (get_local $2)
- (i32.load
- (i32.const 612)
)
)
- (i32.store
- (i32.const 612)
- (get_local $2)
- )
- )
- (block $do-once40
(if
- (tee_local $6
+ (i32.gt_u
+ (get_local $2)
(i32.load
- (i32.const 200)
+ (i32.const 612)
)
)
- (block
- (set_local $2
- (i32.const 624)
+ (i32.store
+ (i32.const 612)
+ (get_local $2)
+ )
+ )
+ (block $do-once40
+ (if
+ (tee_local $6
+ (i32.load
+ (i32.const 200)
+ )
)
- (block $__rjto$10
- (block $__rjti$10
- (loop $while-in45
- (br_if $__rjti$10
- (i32.eq
- (get_local $1)
- (i32.add
- (tee_local $11
- (i32.load
- (get_local $2)
+ (block
+ (set_local $2
+ (i32.const 624)
+ )
+ (block $__rjto$10
+ (block $__rjti$10
+ (loop $while-in45
+ (br_if $__rjti$10
+ (i32.eq
+ (get_local $1)
+ (i32.add
+ (tee_local $11
+ (i32.load
+ (get_local $2)
+ )
)
- )
- (tee_local $5
- (i32.load
- (tee_local $4
- (i32.add
- (get_local $2)
- (i32.const 4)
+ (tee_local $5
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (get_local $2)
+ (i32.const 4)
+ )
)
)
)
)
)
)
- )
- (br_if $while-in45
- (tee_local $2
- (i32.load offset=8
- (get_local $2)
+ (br_if $while-in45
+ (tee_local $2
+ (i32.load offset=8
+ (get_local $2)
+ )
)
)
)
- )
- (br $__rjto$10)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load offset=12
- (get_local $2)
- )
- (i32.const 8)
- )
+ (br $__rjto$10)
)
(if
- (i32.and
- (i32.lt_u
- (get_local $6)
- (get_local $1)
- )
- (i32.ge_u
- (get_local $6)
- (get_local $11)
+ (i32.eqz
+ (i32.and
+ (i32.load offset=12
+ (get_local $2)
+ )
+ (i32.const 8)
)
)
- (block
- (i32.store
- (get_local $4)
- (i32.add
- (get_local $5)
- (get_local $3)
+ (if
+ (i32.and
+ (i32.lt_u
+ (get_local $6)
+ (get_local $1)
)
- )
- (set_local $2
- (i32.add
+ (i32.ge_u
(get_local $6)
- (tee_local $1
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $1
- (i32.add
- (get_local $6)
- (i32.const 8)
+ (get_local $11)
+ )
+ )
+ (block
+ (i32.store
+ (get_local $4)
+ (i32.add
+ (get_local $5)
+ (get_local $3)
+ )
+ )
+ (set_local $2
+ (i32.add
+ (get_local $6)
+ (tee_local $1
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $1
+ (i32.add
+ (get_local $6)
+ (i32.const 8)
+ )
)
)
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $1)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $1)
- (i32.const 7)
)
)
)
)
- )
- (set_local $1
- (i32.add
- (i32.sub
- (get_local $3)
- (get_local $1)
- )
- (i32.load
- (i32.const 188)
+ (set_local $1
+ (i32.add
+ (i32.sub
+ (get_local $3)
+ (get_local $1)
+ )
+ (i32.load
+ (i32.const 188)
+ )
)
)
- )
- (i32.store
- (i32.const 200)
- (get_local $2)
- )
- (i32.store
- (i32.const 188)
- (get_local $1)
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
+ (i32.store
+ (i32.const 200)
+ (get_local $2)
+ )
+ (i32.store
+ (i32.const 188)
(get_local $1)
- (i32.const 1)
)
- )
- (i32.store offset=4
- (i32.add
+ (i32.store offset=4
(get_local $2)
- (get_local $1)
+ (i32.or
+ (get_local $1)
+ (i32.const 1)
+ )
)
- (i32.const 40)
- )
- (i32.store
- (i32.const 204)
- (i32.load
- (i32.const 664)
+ (i32.store offset=4
+ (i32.add
+ (get_local $2)
+ (get_local $1)
+ )
+ (i32.const 40)
+ )
+ (i32.store
+ (i32.const 204)
+ (i32.load
+ (i32.const 664)
+ )
)
+ (br $do-once40)
)
- (br $do-once40)
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $1)
- (tee_local $4
- (i32.load
+ (if
+ (i32.lt_u
+ (get_local $1)
+ (tee_local $4
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (block
+ (i32.store
(i32.const 192)
+ (get_local $1)
+ )
+ (set_local $4
+ (get_local $1)
)
)
)
- (block
- (i32.store
- (i32.const 192)
- (get_local $1)
- )
- (set_local $4
+ (set_local $11
+ (i32.add
(get_local $1)
+ (get_local $3)
)
)
- )
- (set_local $11
- (i32.add
- (get_local $1)
- (get_local $3)
+ (set_local $2
+ (i32.const 624)
)
- )
- (set_local $2
- (i32.const 624)
- )
- (block $__rjto$11
- (block $__rjti$11
- (loop $while-in47
- (if
- (i32.eq
- (i32.load
- (get_local $2)
+ (block $__rjto$11
+ (block $__rjti$11
+ (loop $while-in47
+ (if
+ (i32.eq
+ (i32.load
+ (get_local $2)
+ )
+ (get_local $11)
+ )
+ (block
+ (set_local $5
+ (get_local $2)
+ )
+ (br $__rjti$11)
)
- (get_local $11)
)
- (block
- (set_local $5
- (get_local $2)
+ (br_if $while-in47
+ (tee_local $2
+ (i32.load offset=8
+ (get_local $2)
+ )
)
- (br $__rjti$11)
+ )
+ (set_local $4
+ (i32.const 624)
)
)
- (br_if $while-in47
- (tee_local $2
- (i32.load offset=8
- (get_local $2)
- )
+ (br $__rjto$11)
+ )
+ (if
+ (i32.and
+ (i32.load offset=12
+ (get_local $2)
)
+ (i32.const 8)
)
(set_local $4
(i32.const 624)
)
- )
- (br $__rjto$11)
- )
- (if
- (i32.and
- (i32.load offset=12
- (get_local $2)
- )
- (i32.const 8)
- )
- (set_local $4
- (i32.const 624)
- )
- (block
- (i32.store
- (get_local $5)
- (get_local $1)
- )
- (i32.store
- (tee_local $2
- (i32.add
- (get_local $2)
- (i32.const 4)
- )
- )
- (i32.add
- (i32.load
- (get_local $2)
- )
- (get_local $3)
+ (block
+ (i32.store
+ (get_local $5)
+ (get_local $1)
)
- )
- (set_local $8
- (i32.add
- (tee_local $9
+ (i32.store
+ (tee_local $2
(i32.add
- (get_local $1)
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $1
- (i32.add
- (get_local $1)
- (i32.const 8)
- )
- )
- )
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $1)
- (i32.const 7)
- )
- )
+ (get_local $2)
+ (i32.const 4)
)
)
- (get_local $0)
+ (i32.add
+ (i32.load
+ (get_local $2)
+ )
+ (get_local $3)
+ )
)
- )
- (set_local $7
- (i32.sub
- (i32.sub
- (tee_local $5
+ (set_local $8
+ (i32.add
+ (tee_local $9
(i32.add
- (get_local $11)
+ (get_local $1)
(select
(i32.and
(i32.sub
(i32.const 0)
(tee_local $1
(i32.add
- (get_local $11)
+ (get_local $1)
(i32.const 8)
)
)
@@ -11482,1919 +11377,1948 @@
)
)
)
- (get_local $9)
+ (get_local $0)
)
- (get_local $0)
)
- )
- (i32.store offset=4
- (get_local $9)
- (i32.or
- (get_local $0)
- (i32.const 3)
- )
- )
- (block $do-once48
- (if
- (i32.eq
- (get_local $5)
- (get_local $6)
- )
- (block
- (i32.store
- (i32.const 188)
- (tee_local $0
+ (set_local $7
+ (i32.sub
+ (i32.sub
+ (tee_local $5
(i32.add
- (i32.load
- (i32.const 188)
+ (get_local $11)
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $1
+ (i32.add
+ (get_local $11)
+ (i32.const 8)
+ )
+ )
+ )
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $1)
+ (i32.const 7)
+ )
)
- (get_local $7)
)
)
+ (get_local $9)
)
- (i32.store
- (i32.const 200)
- (get_local $8)
+ (get_local $0)
+ )
+ )
+ (i32.store offset=4
+ (get_local $9)
+ (i32.or
+ (get_local $0)
+ (i32.const 3)
+ )
+ )
+ (block $do-once48
+ (if
+ (i32.eq
+ (get_local $5)
+ (get_local $6)
)
- (i32.store offset=4
- (get_local $8)
- (i32.or
- (get_local $0)
- (i32.const 1)
+ (block
+ (i32.store
+ (i32.const 188)
+ (tee_local $0
+ (i32.add
+ (i32.load
+ (i32.const 188)
+ )
+ (get_local $7)
+ )
+ )
)
- )
- )
- (block
- (if
- (i32.eq
- (get_local $5)
- (i32.load
- (i32.const 196)
+ (i32.store
+ (i32.const 200)
+ (get_local $8)
+ )
+ (i32.store offset=4
+ (get_local $8)
+ (i32.or
+ (get_local $0)
+ (i32.const 1)
)
)
- (block
- (i32.store
- (i32.const 184)
- (tee_local $0
- (i32.add
- (i32.load
- (i32.const 184)
+ )
+ (block
+ (if
+ (i32.eq
+ (get_local $5)
+ (i32.load
+ (i32.const 196)
+ )
+ )
+ (block
+ (i32.store
+ (i32.const 184)
+ (tee_local $0
+ (i32.add
+ (i32.load
+ (i32.const 184)
+ )
+ (get_local $7)
)
- (get_local $7)
)
)
- )
- (i32.store
- (i32.const 196)
- (get_local $8)
- )
- (i32.store offset=4
- (get_local $8)
- (i32.or
- (get_local $0)
- (i32.const 1)
+ (i32.store
+ (i32.const 196)
+ (get_local $8)
)
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $8)
+ (i32.or
+ (get_local $0)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
+ (get_local $8)
+ (get_local $0)
+ )
(get_local $0)
)
- (get_local $0)
+ (br $do-once48)
)
- (br $do-once48)
)
- )
- (i32.store
- (tee_local $0
- (i32.add
- (tee_local $0
- (if (result i32)
- (i32.eq
- (i32.and
- (tee_local $0
- (i32.load offset=4
- (get_local $5)
- )
- )
- (i32.const 3)
- )
- (i32.const 1)
- )
- (block (result i32)
- (set_local $11
+ (i32.store
+ (tee_local $0
+ (i32.add
+ (tee_local $0
+ (if (result i32)
+ (i32.eq
(i32.and
- (get_local $0)
- (i32.const -8)
- )
- )
- (set_local $1
- (i32.shr_u
- (get_local $0)
+ (tee_local $0
+ (i32.load offset=4
+ (get_local $5)
+ )
+ )
(i32.const 3)
)
+ (i32.const 1)
)
- (block $label$break$L331
- (if
- (i32.lt_u
+ (block (result i32)
+ (set_local $11
+ (i32.and
(get_local $0)
- (i32.const 256)
+ (i32.const -8)
)
- (block
- (set_local $2
- (i32.load offset=12
- (get_local $5)
- )
+ )
+ (set_local $1
+ (i32.shr_u
+ (get_local $0)
+ (i32.const 3)
+ )
+ )
+ (block $label$break$L331
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (i32.const 256)
)
- (block $do-once51
- (if
- (i32.ne
- (tee_local $3
- (i32.load offset=8
- (get_local $5)
- )
- )
- (tee_local $0
- (i32.add
- (i32.shl
- (get_local $1)
- (i32.const 3)
+ (block
+ (set_local $2
+ (i32.load offset=12
+ (get_local $5)
+ )
+ )
+ (block $do-once51
+ (if
+ (i32.ne
+ (tee_local $3
+ (i32.load offset=8
+ (get_local $5)
)
- (i32.const 216)
)
- )
- )
- (block
- (if
- (i32.lt_u
- (get_local $3)
- (get_local $4)
+ (tee_local $0
+ (i32.add
+ (i32.shl
+ (get_local $1)
+ (i32.const 3)
+ )
+ (i32.const 216)
+ )
)
- (call $_abort)
)
- (br_if $do-once51
- (i32.eq
- (i32.load offset=12
+ (block
+ (if
+ (i32.lt_u
(get_local $3)
+ (get_local $4)
)
- (get_local $5)
+ (call $_abort)
)
- )
- (call $_abort)
- )
- )
- )
- (if
- (i32.eq
- (get_local $2)
- (get_local $3)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.and
- (i32.load
- (i32.const 176)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $1)
+ (br_if $do-once51
+ (i32.eq
+ (i32.load offset=12
+ (get_local $3)
+ )
+ (get_local $5)
)
- (i32.const -1)
)
+ (call $_abort)
)
)
- (br $label$break$L331)
)
- )
- (block $do-once53
(if
(i32.eq
(get_local $2)
- (get_local $0)
+ (get_local $3)
)
- (set_local $15
- (i32.add
- (get_local $2)
- (i32.const 8)
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.and
+ (i32.load
+ (i32.const 176)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $1)
+ )
+ (i32.const -1)
+ )
+ )
)
+ (br $label$break$L331)
)
- (block
- (if
- (i32.lt_u
+ )
+ (block $do-once53
+ (if
+ (i32.eq
+ (get_local $2)
+ (get_local $0)
+ )
+ (set_local $15
+ (i32.add
(get_local $2)
- (get_local $4)
+ (i32.const 8)
)
- (call $_abort)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $2)
- (i32.const 8)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $2)
+ (get_local $4)
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
)
)
+ (get_local $5)
)
- (get_local $5)
- )
- (block
- (set_local $15
- (get_local $0)
+ (block
+ (set_local $15
+ (get_local $0)
+ )
+ (br $do-once53)
)
- (br $do-once53)
)
+ (call $_abort)
)
- (call $_abort)
)
)
- )
- (i32.store offset=12
- (get_local $3)
- (get_local $2)
- )
- (i32.store
- (get_local $15)
- (get_local $3)
- )
- )
- (block
- (set_local $6
- (i32.load offset=24
- (get_local $5)
+ (i32.store offset=12
+ (get_local $3)
+ (get_local $2)
+ )
+ (i32.store
+ (get_local $15)
+ (get_local $3)
)
)
- (block $do-once55
- (if
- (i32.eq
- (tee_local $0
- (i32.load offset=12
- (get_local $5)
- )
- )
+ (block
+ (set_local $6
+ (i32.load offset=24
(get_local $5)
)
- (block
- (if
- (i32.eqz
- (tee_local $1
- (i32.load
- (tee_local $0
- (i32.add
- (tee_local $3
- (i32.add
- (get_local $5)
- (i32.const 16)
+ )
+ (block $do-once55
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=12
+ (get_local $5)
+ )
+ )
+ (get_local $5)
+ )
+ (block
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (tee_local $3
+ (i32.add
+ (get_local $5)
+ (i32.const 16)
+ )
)
+ (i32.const 4)
)
- (i32.const 4)
)
)
)
)
- )
- (if
- (tee_local $1
- (i32.load
+ (if
+ (tee_local $1
+ (i32.load
+ (get_local $3)
+ )
+ )
+ (set_local $0
(get_local $3)
)
+ (block
+ (set_local $12
+ (i32.const 0)
+ )
+ (br $do-once55)
+ )
)
- (set_local $0
- (get_local $3)
+ )
+ (loop $while-in58
+ (if
+ (tee_local $3
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $1)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $1
+ (get_local $3)
+ )
+ (set_local $0
+ (get_local $2)
+ )
+ (br $while-in58)
+ )
+ )
+ (if
+ (tee_local $3
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $1
+ (get_local $3)
+ )
+ (set_local $0
+ (get_local $2)
+ )
+ (br $while-in58)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (get_local $4)
)
+ (call $_abort)
(block
- (set_local $12
+ (i32.store
+ (get_local $0)
(i32.const 0)
)
- (br $do-once55)
+ (set_local $12
+ (get_local $1)
+ )
)
)
)
- (loop $while-in58
+ (block
(if
- (tee_local $3
+ (i32.lt_u
+ (tee_local $2
+ (i32.load offset=8
+ (get_local $5)
+ )
+ )
+ (get_local $4)
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.ne
(i32.load
- (tee_local $2
+ (tee_local $3
(i32.add
- (get_local $1)
- (i32.const 20)
+ (get_local $2)
+ (i32.const 12)
)
)
)
+ (get_local $5)
)
- (block
- (set_local $1
- (get_local $3)
- )
- (set_local $0
- (get_local $2)
- )
- (br $while-in58)
- )
+ (call $_abort)
)
(if
- (tee_local $3
+ (i32.eq
(i32.load
- (tee_local $2
+ (tee_local $1
(i32.add
- (get_local $1)
- (i32.const 16)
+ (get_local $0)
+ (i32.const 8)
)
)
)
+ (get_local $5)
)
(block
- (set_local $1
+ (i32.store
(get_local $3)
+ (get_local $0)
)
- (set_local $0
+ (i32.store
+ (get_local $1)
(get_local $2)
)
- (br $while-in58)
- )
- )
- )
- (if
- (i32.lt_u
- (get_local $0)
- (get_local $4)
- )
- (call $_abort)
- (block
- (i32.store
- (get_local $0)
- (i32.const 0)
- )
- (set_local $12
- (get_local $1)
+ (set_local $12
+ (get_local $0)
+ )
)
+ (call $_abort)
)
)
)
- (block
- (if
- (i32.lt_u
- (tee_local $2
- (i32.load offset=8
- (get_local $5)
+ )
+ (br_if $label$break$L331
+ (i32.eqz
+ (get_local $6)
+ )
+ )
+ (block $do-once59
+ (if
+ (i32.eq
+ (get_local $5)
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (i32.shl
+ (tee_local $1
+ (i32.load offset=28
+ (get_local $5)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 480)
)
)
- (get_local $4)
)
- (call $_abort)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $3
- (i32.add
- (get_local $2)
- (i32.const 12)
+ (block
+ (i32.store
+ (get_local $0)
+ (get_local $12)
+ )
+ (br_if $do-once59
+ (get_local $12)
+ )
+ (i32.store
+ (i32.const 180)
+ (i32.and
+ (i32.load
+ (i32.const 180)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $1)
)
+ (i32.const -1)
)
)
- (get_local $5)
)
- (call $_abort)
+ (br $label$break$L331)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $0)
- (i32.const 8)
- )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $6)
+ (i32.load
+ (i32.const 192)
)
)
- (get_local $5)
+ (call $_abort)
)
- (block
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $6)
+ (i32.const 16)
+ )
+ )
+ )
+ (get_local $5)
+ )
(i32.store
- (get_local $3)
(get_local $0)
+ (get_local $12)
)
- (i32.store
- (get_local $1)
- (get_local $2)
+ (i32.store offset=20
+ (get_local $6)
+ (get_local $12)
)
- (set_local $12
- (get_local $0)
+ )
+ (br_if $label$break$L331
+ (i32.eqz
+ (get_local $12)
)
)
- (call $_abort)
)
)
)
- )
- (br_if $label$break$L331
- (i32.eqz
+ (if
+ (i32.lt_u
+ (get_local $12)
+ (tee_local $1
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (call $_abort)
+ )
+ (i32.store offset=24
+ (get_local $12)
(get_local $6)
)
- )
- (block $do-once59
(if
- (i32.eq
- (get_local $5)
+ (tee_local $3
(i32.load
(tee_local $0
(i32.add
- (i32.shl
- (tee_local $1
- (i32.load offset=28
- (get_local $5)
- )
- )
- (i32.const 2)
- )
- (i32.const 480)
- )
- )
- )
- )
- (block
- (i32.store
- (get_local $0)
- (get_local $12)
- )
- (br_if $do-once59
- (get_local $12)
- )
- (i32.store
- (i32.const 180)
- (i32.and
- (i32.load
- (i32.const 180)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $1)
- )
- (i32.const -1)
+ (get_local $5)
+ (i32.const 16)
)
)
)
- (br $label$break$L331)
)
- (block
- (if
- (i32.lt_u
- (get_local $6)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
+ (if
+ (i32.lt_u
+ (get_local $3)
+ (get_local $1)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $6)
- (i32.const 16)
- )
- )
- )
- (get_local $5)
- )
- (i32.store
- (get_local $0)
- (get_local $12)
- )
- (i32.store offset=20
- (get_local $6)
+ (call $_abort)
+ (block
+ (i32.store offset=16
(get_local $12)
+ (get_local $3)
)
- )
- (br_if $label$break$L331
- (i32.eqz
+ (i32.store offset=24
+ (get_local $3)
(get_local $12)
)
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $12)
- (tee_local $1
- (i32.load
- (i32.const 192)
- )
- )
- )
- (call $_abort)
- )
- (i32.store offset=24
- (get_local $12)
- (get_local $6)
- )
- (if
- (tee_local $3
- (i32.load
+ (br_if $label$break$L331
+ (i32.eqz
(tee_local $0
- (i32.add
- (get_local $5)
- (i32.const 16)
+ (i32.load offset=4
+ (get_local $0)
)
)
)
)
(if
(i32.lt_u
- (get_local $3)
- (get_local $1)
+ (get_local $0)
+ (i32.load
+ (i32.const 192)
+ )
)
(call $_abort)
(block
- (i32.store offset=16
+ (i32.store offset=20
(get_local $12)
- (get_local $3)
+ (get_local $0)
)
(i32.store offset=24
- (get_local $3)
- (get_local $12)
- )
- )
- )
- )
- (br_if $label$break$L331
- (i32.eqz
- (tee_local $0
- (i32.load offset=4
(get_local $0)
+ (get_local $12)
)
)
)
)
- (if
- (i32.lt_u
- (get_local $0)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block
- (i32.store offset=20
- (get_local $12)
- (get_local $0)
- )
- (i32.store offset=24
- (get_local $0)
- (get_local $12)
- )
- )
- )
)
)
- )
- (set_local $7
+ (set_local $7
+ (i32.add
+ (get_local $11)
+ (get_local $7)
+ )
+ )
(i32.add
+ (get_local $5)
(get_local $11)
- (get_local $7)
)
)
- (i32.add
- (get_local $5)
- (get_local $11)
- )
+ (get_local $5)
)
- (get_local $5)
)
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (i32.and
- (i32.load
- (get_local $0)
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const -2)
)
- (i32.const -2)
)
- )
- (i32.store offset=4
- (get_local $8)
- (i32.or
- (get_local $7)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $8)
- (get_local $7)
+ (i32.or
+ (get_local $7)
+ (i32.const 1)
+ )
)
- (get_local $7)
- )
- (set_local $0
- (i32.shr_u
+ (i32.store
+ (i32.add
+ (get_local $8)
+ (get_local $7)
+ )
(get_local $7)
- (i32.const 3)
)
- )
- (if
- (i32.lt_u
- (get_local $7)
- (i32.const 256)
+ (set_local $0
+ (i32.shr_u
+ (get_local $7)
+ (i32.const 3)
+ )
)
- (block
- (set_local $3
- (i32.add
- (i32.shl
- (get_local $0)
- (i32.const 3)
+ (if
+ (i32.lt_u
+ (get_local $7)
+ (i32.const 256)
+ )
+ (block
+ (set_local $3
+ (i32.add
+ (i32.shl
+ (get_local $0)
+ (i32.const 3)
+ )
+ (i32.const 216)
)
- (i32.const 216)
)
- )
- (block $do-once63
- (if
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 176)
+ (block $do-once63
+ (if
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (i32.const 176)
+ )
)
- )
- (tee_local $0
- (i32.shl
- (i32.const 1)
- (get_local $0)
+ (tee_local $0
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
+ )
)
)
- )
- (block
- (if
- (i32.ge_u
- (tee_local $0
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $3)
- (i32.const 8)
+ (block
+ (if
+ (i32.ge_u
+ (tee_local $0
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 192)
+ )
)
- (i32.load
- (i32.const 192)
+ (block
+ (set_local $16
+ (get_local $1)
+ )
+ (set_local $10
+ (get_local $0)
+ )
+ (br $do-once63)
)
)
- (block
- (set_local $16
+ (call $_abort)
+ )
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
(get_local $1)
- )
- (set_local $10
(get_local $0)
)
- (br $do-once63)
)
- )
- (call $_abort)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $1)
- (get_local $0)
+ (set_local $16
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
)
- )
- (set_local $16
- (i32.add
+ (set_local $10
(get_local $3)
- (i32.const 8)
)
)
- (set_local $10
- (get_local $3)
- )
)
)
+ (i32.store
+ (get_local $16)
+ (get_local $8)
+ )
+ (i32.store offset=12
+ (get_local $10)
+ (get_local $8)
+ )
+ (i32.store offset=8
+ (get_local $8)
+ (get_local $10)
+ )
+ (i32.store offset=12
+ (get_local $8)
+ (get_local $3)
+ )
+ (br $do-once48)
)
- (i32.store
- (get_local $16)
- (get_local $8)
- )
- (i32.store offset=12
- (get_local $10)
- (get_local $8)
- )
- (i32.store offset=8
- (get_local $8)
- (get_local $10)
- )
- (i32.store offset=12
- (get_local $8)
- (get_local $3)
- )
- (br $do-once48)
)
- )
- (set_local $3
- (i32.add
- (i32.shl
- (tee_local $2
- (block $do-once65 (result i32)
- (if (result i32)
- (tee_local $0
- (i32.shr_u
- (get_local $7)
- (i32.const 8)
+ (set_local $3
+ (i32.add
+ (i32.shl
+ (tee_local $2
+ (block $do-once65 (result i32)
+ (if (result i32)
+ (tee_local $0
+ (i32.shr_u
+ (get_local $7)
+ (i32.const 8)
+ )
)
- )
- (block (result i32)
- (drop
- (br_if $do-once65
- (i32.const 31)
- (i32.gt_u
- (get_local $7)
- (i32.const 16777215)
+ (block (result i32)
+ (drop
+ (br_if $do-once65
+ (i32.const 31)
+ (i32.gt_u
+ (get_local $7)
+ (i32.const 16777215)
+ )
)
)
- )
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $7)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $7)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $0)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
+ (i32.or
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $0)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 520192)
)
- (i32.const 520192)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 4)
)
- (i32.const 4)
)
+ (get_local $3)
)
- (get_local $3)
- )
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
+ )
)
+ (i32.const 245760)
)
- (i32.const 245760)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (i32.shr_u
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
+ (i32.const 0)
)
- (i32.const 0)
)
)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 480)
)
- (i32.const 480)
)
- )
- (i32.store offset=28
- (get_local $8)
- (get_local $2)
- )
- (i32.store offset=4
- (tee_local $0
- (i32.add
- (get_local $8)
- (i32.const 16)
+ (i32.store offset=28
+ (get_local $8)
+ (get_local $2)
+ )
+ (i32.store offset=4
+ (tee_local $0
+ (i32.add
+ (get_local $8)
+ (i32.const 16)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (i32.store
- (get_local $0)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 180)
+ (i32.store
+ (get_local $0)
+ (i32.const 0)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (i32.const 180)
+ )
)
- )
- (tee_local $0
- (i32.shl
- (i32.const 1)
- (get_local $2)
+ (tee_local $0
+ (i32.shl
+ (i32.const 1)
+ (get_local $2)
+ )
)
)
)
- )
- (block
- (i32.store
- (i32.const 180)
- (i32.or
- (get_local $1)
- (get_local $0)
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.or
+ (get_local $1)
+ (get_local $0)
+ )
)
+ (i32.store
+ (get_local $3)
+ (get_local $8)
+ )
+ (i32.store offset=24
+ (get_local $8)
+ (get_local $3)
+ )
+ (i32.store offset=12
+ (get_local $8)
+ (get_local $8)
+ )
+ (i32.store offset=8
+ (get_local $8)
+ (get_local $8)
+ )
+ (br $do-once48)
)
- (i32.store
- (get_local $3)
- (get_local $8)
- )
- (i32.store offset=24
- (get_local $8)
- (get_local $3)
- )
- (i32.store offset=12
- (get_local $8)
- (get_local $8)
- )
- (i32.store offset=8
- (get_local $8)
- (get_local $8)
- )
- (br $do-once48)
)
- )
- (set_local $2
- (i32.shl
- (get_local $7)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
+ (set_local $2
+ (i32.shl
+ (get_local $7)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $2)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
(get_local $2)
- (i32.const 1)
+ (i32.const 31)
)
)
- (i32.eq
- (get_local $2)
- (i32.const 31)
- )
)
)
- )
- (set_local $0
- (i32.load
- (get_local $3)
+ (set_local $0
+ (i32.load
+ (get_local $3)
+ )
)
- )
- (block $__rjto$7
- (block $__rjti$7
- (loop $while-in68
- (br_if $__rjti$7
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $0)
+ (block $__rjto$7
+ (block $__rjti$7
+ (loop $while-in68
+ (br_if $__rjti$7
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $0)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $7)
)
- (get_local $7)
)
- )
- (set_local $3
- (i32.shl
- (get_local $2)
- (i32.const 1)
+ (set_local $3
+ (i32.shl
+ (get_local $2)
+ (i32.const 1)
+ )
)
- )
- (if
- (tee_local $1
- (i32.load
- (tee_local $2
- (i32.add
+ (if
+ (tee_local $1
+ (i32.load
+ (tee_local $2
(i32.add
- (get_local $0)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $2)
- (i32.const 31)
+ (i32.add
+ (get_local $0)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $2)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
+ (block
+ (set_local $2
+ (get_local $3)
+ )
+ (set_local $0
+ (get_local $1)
+ )
+ (br $while-in68)
+ )
)
+ )
+ (if
+ (i32.lt_u
+ (get_local $2)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
(block
- (set_local $2
- (get_local $3)
+ (i32.store
+ (get_local $2)
+ (get_local $8)
)
- (set_local $0
- (get_local $1)
+ (i32.store offset=24
+ (get_local $8)
+ (get_local $0)
+ )
+ (i32.store offset=12
+ (get_local $8)
+ (get_local $8)
)
- (br $while-in68)
+ (i32.store offset=8
+ (get_local $8)
+ (get_local $8)
+ )
+ (br $do-once48)
)
)
+ (br $__rjto$7)
)
(if
- (i32.lt_u
- (get_local $2)
- (i32.load
- (i32.const 192)
+ (i32.and
+ (i32.ge_u
+ (tee_local $2
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (tee_local $1
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (i32.ge_u
+ (get_local $0)
+ (get_local $1)
)
)
- (call $_abort)
(block
- (i32.store
+ (i32.store offset=12
(get_local $2)
(get_local $8)
)
- (i32.store offset=24
- (get_local $8)
- (get_local $0)
- )
- (i32.store offset=12
- (get_local $8)
+ (i32.store
+ (get_local $3)
(get_local $8)
)
(i32.store offset=8
(get_local $8)
- (get_local $8)
+ (get_local $2)
)
- (br $do-once48)
- )
- )
- (br $__rjto$7)
- )
- (if
- (i32.and
- (i32.ge_u
- (tee_local $2
- (i32.load
- (tee_local $3
- (i32.add
- (get_local $0)
- (i32.const 8)
- )
- )
- )
+ (i32.store offset=12
+ (get_local $8)
+ (get_local $0)
)
- (tee_local $1
- (i32.load
- (i32.const 192)
- )
+ (i32.store offset=24
+ (get_local $8)
+ (i32.const 0)
)
)
- (i32.ge_u
- (get_local $0)
- (get_local $1)
- )
- )
- (block
- (i32.store offset=12
- (get_local $2)
- (get_local $8)
- )
- (i32.store
- (get_local $3)
- (get_local $8)
- )
- (i32.store offset=8
- (get_local $8)
- (get_local $2)
- )
- (i32.store offset=12
- (get_local $8)
- (get_local $0)
- )
- (i32.store offset=24
- (get_local $8)
- (i32.const 0)
- )
+ (call $_abort)
)
- (call $_abort)
)
)
)
)
- )
- (return
- (i32.add
- (get_local $9)
- (i32.const 8)
+ (return
+ (i32.add
+ (get_local $9)
+ (i32.const 8)
+ )
)
)
)
)
- )
- (loop $while-in70
- (block $while-out69
- (if
- (i32.le_u
- (tee_local $2
- (i32.load
- (get_local $4)
+ (loop $while-in70
+ (block $while-out69
+ (if
+ (i32.le_u
+ (tee_local $2
+ (i32.load
+ (get_local $4)
+ )
)
+ (get_local $6)
)
- (get_local $6)
- )
- (br_if $while-out69
- (i32.gt_u
- (tee_local $2
- (i32.add
- (get_local $2)
- (i32.load offset=4
- (get_local $4)
+ (br_if $while-out69
+ (i32.gt_u
+ (tee_local $2
+ (i32.add
+ (get_local $2)
+ (i32.load offset=4
+ (get_local $4)
+ )
)
)
+ (get_local $6)
)
- (get_local $6)
)
)
- )
- (set_local $4
- (i32.load offset=8
- (get_local $4)
+ (set_local $4
+ (i32.load offset=8
+ (get_local $4)
+ )
)
+ (br $while-in70)
)
- (br $while-in70)
)
- )
- (set_local $10
- (i32.add
- (tee_local $4
- (i32.add
- (get_local $2)
- (i32.const -47)
+ (set_local $10
+ (i32.add
+ (tee_local $4
+ (i32.add
+ (get_local $2)
+ (i32.const -47)
+ )
)
+ (i32.const 8)
)
- (i32.const 8)
)
- )
- (set_local $12
- (i32.add
- (tee_local $11
- (select
- (get_local $6)
- (tee_local $4
- (i32.add
- (get_local $4)
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
+ (set_local $12
+ (i32.add
+ (tee_local $11
+ (select
+ (get_local $6)
+ (tee_local $4
+ (i32.add
+ (get_local $4)
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (get_local $10)
+ )
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
(get_local $10)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $10)
- (i32.const 7)
)
)
)
- )
- (i32.lt_u
- (get_local $4)
- (tee_local $10
- (i32.add
- (get_local $6)
- (i32.const 16)
+ (i32.lt_u
+ (get_local $4)
+ (tee_local $10
+ (i32.add
+ (get_local $6)
+ (i32.const 16)
+ )
)
)
)
)
+ (i32.const 8)
)
- (i32.const 8)
)
- )
- (i32.store
- (i32.const 200)
- (tee_local $5
- (i32.add
- (get_local $1)
- (tee_local $4
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $4
- (i32.add
- (get_local $1)
- (i32.const 8)
+ (i32.store
+ (i32.const 200)
+ (tee_local $5
+ (i32.add
+ (get_local $1)
+ (tee_local $4
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $4
+ (i32.add
+ (get_local $1)
+ (i32.const 8)
+ )
)
)
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $4)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $4)
- (i32.const 7)
)
)
)
)
)
- )
- (i32.store
- (i32.const 188)
- (tee_local $4
- (i32.sub
- (i32.add
- (get_local $3)
- (i32.const -40)
+ (i32.store
+ (i32.const 188)
+ (tee_local $4
+ (i32.sub
+ (i32.add
+ (get_local $3)
+ (i32.const -40)
+ )
+ (get_local $4)
)
+ )
+ )
+ (i32.store offset=4
+ (get_local $5)
+ (i32.or
(get_local $4)
+ (i32.const 1)
)
)
- )
- (i32.store offset=4
- (get_local $5)
- (i32.or
- (get_local $4)
- (i32.const 1)
+ (i32.store offset=4
+ (i32.add
+ (get_local $5)
+ (get_local $4)
+ )
+ (i32.const 40)
)
- )
- (i32.store offset=4
- (i32.add
- (get_local $5)
- (get_local $4)
+ (i32.store
+ (i32.const 204)
+ (i32.load
+ (i32.const 664)
+ )
)
- (i32.const 40)
- )
- (i32.store
- (i32.const 204)
- (i32.load
- (i32.const 664)
+ (i32.store
+ (tee_local $4
+ (i32.add
+ (get_local $11)
+ (i32.const 4)
+ )
+ )
+ (i32.const 27)
)
- )
- (i32.store
- (tee_local $4
- (i32.add
- (get_local $11)
- (i32.const 4)
+ (i32.store
+ (get_local $12)
+ (i32.load
+ (i32.const 624)
)
)
- (i32.const 27)
- )
- (i32.store
- (get_local $12)
- (i32.load
+ (i32.store offset=4
+ (get_local $12)
+ (i32.load
+ (i32.const 628)
+ )
+ )
+ (i32.store offset=8
+ (get_local $12)
+ (i32.load
+ (i32.const 632)
+ )
+ )
+ (i32.store offset=12
+ (get_local $12)
+ (i32.load
+ (i32.const 636)
+ )
+ )
+ (i32.store
(i32.const 624)
+ (get_local $1)
)
- )
- (i32.store offset=4
- (get_local $12)
- (i32.load
+ (i32.store
(i32.const 628)
+ (get_local $3)
)
- )
- (i32.store offset=8
- (get_local $12)
- (i32.load
- (i32.const 632)
- )
- )
- (i32.store offset=12
- (get_local $12)
- (i32.load
+ (i32.store
(i32.const 636)
+ (i32.const 0)
)
- )
- (i32.store
- (i32.const 624)
- (get_local $1)
- )
- (i32.store
- (i32.const 628)
- (get_local $3)
- )
- (i32.store
- (i32.const 636)
- (i32.const 0)
- )
- (i32.store
- (i32.const 632)
- (get_local $12)
- )
- (set_local $1
- (i32.add
- (get_local $11)
- (i32.const 24)
- )
- )
- (loop $while-in72
(i32.store
- (tee_local $1
- (i32.add
- (get_local $1)
- (i32.const 4)
- )
- )
- (i32.const 7)
+ (i32.const 632)
+ (get_local $12)
)
- (br_if $while-in72
- (i32.lt_u
- (i32.add
- (get_local $1)
- (i32.const 4)
- )
- (get_local $2)
+ (set_local $1
+ (i32.add
+ (get_local $11)
+ (i32.const 24)
)
)
- )
- (if
- (i32.ne
- (get_local $11)
- (get_local $6)
- )
- (block
+ (loop $while-in72
(i32.store
- (get_local $4)
- (i32.and
- (i32.load
- (get_local $4)
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
)
- (i32.const -2)
)
+ (i32.const 7)
)
- (i32.store offset=4
- (get_local $6)
- (i32.or
- (tee_local $5
- (i32.sub
- (get_local $11)
- (get_local $6)
- )
+ (br_if $while-in72
+ (i32.lt_u
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
)
- (i32.const 1)
+ (get_local $2)
)
)
- (i32.store
+ )
+ (if
+ (i32.ne
(get_local $11)
- (get_local $5)
- )
- (set_local $1
- (i32.shr_u
- (get_local $5)
- (i32.const 3)
- )
+ (get_local $6)
)
- (if
- (i32.lt_u
- (get_local $5)
- (i32.const 256)
+ (block
+ (i32.store
+ (get_local $4)
+ (i32.and
+ (i32.load
+ (get_local $4)
+ )
+ (i32.const -2)
+ )
)
- (block
- (set_local $2
- (i32.add
- (i32.shl
- (get_local $1)
- (i32.const 3)
+ (i32.store offset=4
+ (get_local $6)
+ (i32.or
+ (tee_local $5
+ (i32.sub
+ (get_local $11)
+ (get_local $6)
)
- (i32.const 216)
)
+ (i32.const 1)
)
- (if
- (i32.and
- (tee_local $3
- (i32.load
- (i32.const 176)
- )
- )
- (tee_local $1
+ )
+ (i32.store
+ (get_local $11)
+ (get_local $5)
+ )
+ (set_local $1
+ (i32.shr_u
+ (get_local $5)
+ (i32.const 3)
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $5)
+ (i32.const 256)
+ )
+ (block
+ (set_local $2
+ (i32.add
(i32.shl
- (i32.const 1)
(get_local $1)
+ (i32.const 3)
)
+ (i32.const 216)
)
)
(if
- (i32.lt_u
- (tee_local $1
+ (i32.and
+ (tee_local $3
(i32.load
- (tee_local $3
- (i32.add
- (get_local $2)
- (i32.const 8)
+ (i32.const 176)
+ )
+ )
+ (tee_local $1
+ (i32.shl
+ (i32.const 1)
+ (get_local $1)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $1
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 192)
+ )
)
- (i32.load
- (i32.const 192)
+ (call $_abort)
+ (block
+ (set_local $17
+ (get_local $3)
+ )
+ (set_local $7
+ (get_local $1)
+ )
)
)
- (call $_abort)
(block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $3)
+ (get_local $1)
+ )
+ )
(set_local $17
- (get_local $3)
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
)
(set_local $7
- (get_local $1)
- )
- )
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $3)
- (get_local $1)
- )
- )
- (set_local $17
- (i32.add
(get_local $2)
- (i32.const 8)
)
)
- (set_local $7
- (get_local $2)
- )
)
+ (i32.store
+ (get_local $17)
+ (get_local $6)
+ )
+ (i32.store offset=12
+ (get_local $7)
+ (get_local $6)
+ )
+ (i32.store offset=8
+ (get_local $6)
+ (get_local $7)
+ )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $2)
+ )
+ (br $do-once40)
)
- (i32.store
- (get_local $17)
- (get_local $6)
- )
- (i32.store offset=12
- (get_local $7)
- (get_local $6)
- )
- (i32.store offset=8
- (get_local $6)
- (get_local $7)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $2)
- )
- (br $do-once40)
)
- )
- (set_local $2
- (i32.add
- (i32.shl
- (tee_local $4
- (if (result i32)
- (tee_local $1
- (i32.shr_u
- (get_local $5)
- (i32.const 8)
- )
- )
+ (set_local $2
+ (i32.add
+ (i32.shl
+ (tee_local $4
(if (result i32)
- (i32.gt_u
- (get_local $5)
- (i32.const 16777215)
+ (tee_local $1
+ (i32.shr_u
+ (get_local $5)
+ (i32.const 8)
+ )
)
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $5)
- (i32.add
- (tee_local $1
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (if (result i32)
+ (i32.gt_u
+ (get_local $5)
+ (i32.const 16777215)
+ )
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $5)
+ (i32.add
+ (tee_local $1
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $1
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $3
- (i32.shl
- (get_local $1)
- (tee_local $2
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $1)
- (i32.const 1048320)
+ (i32.or
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $3
+ (i32.shl
+ (get_local $1)
+ (tee_local $2
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $1)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 520192)
)
- (i32.const 520192)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 4)
)
- (i32.const 4)
)
+ (get_local $2)
)
- (get_local $2)
- )
- (tee_local $1
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $3
- (i32.shl
- (get_local $3)
- (get_local $1)
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $3
+ (i32.shl
+ (get_local $3)
+ (get_local $1)
+ )
)
+ (i32.const 245760)
)
- (i32.const 245760)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $3)
- (get_local $1)
+ (i32.shr_u
+ (i32.shl
+ (get_local $3)
+ (get_local $1)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $1)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $1)
- (i32.const 1)
)
)
+ (i32.const 0)
)
- (i32.const 0)
)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 480)
)
- (i32.const 480)
)
- )
- (i32.store offset=28
- (get_local $6)
- (get_local $4)
- )
- (i32.store offset=20
- (get_local $6)
- (i32.const 0)
- )
- (i32.store
- (get_local $10)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $3
- (i32.load
- (i32.const 180)
+ (i32.store offset=28
+ (get_local $6)
+ (get_local $4)
+ )
+ (i32.store offset=20
+ (get_local $6)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $10)
+ (i32.const 0)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $3
+ (i32.load
+ (i32.const 180)
+ )
)
- )
- (tee_local $1
- (i32.shl
- (i32.const 1)
- (get_local $4)
+ (tee_local $1
+ (i32.shl
+ (i32.const 1)
+ (get_local $4)
+ )
)
)
)
- )
- (block
- (i32.store
- (i32.const 180)
- (i32.or
- (get_local $3)
- (get_local $1)
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.or
+ (get_local $3)
+ (get_local $1)
+ )
)
+ (i32.store
+ (get_local $2)
+ (get_local $6)
+ )
+ (i32.store offset=24
+ (get_local $6)
+ (get_local $2)
+ )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $6)
+ )
+ (i32.store offset=8
+ (get_local $6)
+ (get_local $6)
+ )
+ (br $do-once40)
)
- (i32.store
- (get_local $2)
- (get_local $6)
- )
- (i32.store offset=24
- (get_local $6)
- (get_local $2)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $6)
- )
- (i32.store offset=8
- (get_local $6)
- (get_local $6)
- )
- (br $do-once40)
)
- )
- (set_local $4
- (i32.shl
- (get_local $5)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
+ (set_local $4
+ (i32.shl
+ (get_local $5)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $4)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
(get_local $4)
- (i32.const 1)
+ (i32.const 31)
)
)
- (i32.eq
- (get_local $4)
- (i32.const 31)
- )
)
)
- )
- (set_local $1
- (i32.load
- (get_local $2)
+ (set_local $1
+ (i32.load
+ (get_local $2)
+ )
)
- )
- (block $__rjto$9
- (block $__rjti$9
- (loop $while-in74
- (br_if $__rjti$9
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $1)
+ (block $__rjto$9
+ (block $__rjti$9
+ (loop $while-in74
+ (br_if $__rjti$9
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $1)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $5)
)
- (get_local $5)
)
- )
- (set_local $2
- (i32.shl
- (get_local $4)
- (i32.const 1)
+ (set_local $2
+ (i32.shl
+ (get_local $4)
+ (i32.const 1)
+ )
)
- )
- (if
- (tee_local $3
- (i32.load
- (tee_local $4
- (i32.add
+ (if
+ (tee_local $3
+ (i32.load
+ (tee_local $4
(i32.add
- (get_local $1)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $4)
- (i32.const 31)
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $4)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
+ (block
+ (set_local $4
+ (get_local $2)
+ )
+ (set_local $1
+ (get_local $3)
+ )
+ (br $while-in74)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $4)
+ (i32.load
+ (i32.const 192)
+ )
)
+ (call $_abort)
(block
- (set_local $4
- (get_local $2)
+ (i32.store
+ (get_local $4)
+ (get_local $6)
)
- (set_local $1
- (get_local $3)
+ (i32.store offset=24
+ (get_local $6)
+ (get_local $1)
)
- (br $while-in74)
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $6)
+ )
+ (i32.store offset=8
+ (get_local $6)
+ (get_local $6)
+ )
+ (br $do-once40)
)
)
+ (br $__rjto$9)
)
(if
- (i32.lt_u
- (get_local $4)
- (i32.load
- (i32.const 192)
+ (i32.and
+ (i32.ge_u
+ (tee_local $4
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $1)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (tee_local $3
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (i32.ge_u
+ (get_local $1)
+ (get_local $3)
)
)
- (call $_abort)
(block
- (i32.store
+ (i32.store offset=12
(get_local $4)
(get_local $6)
)
- (i32.store offset=24
- (get_local $6)
- (get_local $1)
- )
- (i32.store offset=12
- (get_local $6)
+ (i32.store
+ (get_local $2)
(get_local $6)
)
(i32.store offset=8
(get_local $6)
- (get_local $6)
+ (get_local $4)
)
- (br $do-once40)
- )
- )
- (br $__rjto$9)
- )
- (if
- (i32.and
- (i32.ge_u
- (tee_local $4
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $1)
- (i32.const 8)
- )
- )
- )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $1)
)
- (tee_local $3
- (i32.load
- (i32.const 192)
- )
+ (i32.store offset=24
+ (get_local $6)
+ (i32.const 0)
)
)
- (i32.ge_u
- (get_local $1)
- (get_local $3)
- )
- )
- (block
- (i32.store offset=12
- (get_local $4)
- (get_local $6)
- )
- (i32.store
- (get_local $2)
- (get_local $6)
- )
- (i32.store offset=8
- (get_local $6)
- (get_local $4)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $1)
- )
- (i32.store offset=24
- (get_local $6)
- (i32.const 0)
- )
+ (call $_abort)
)
- (call $_abort)
)
)
)
)
- )
- (block
- (if
- (i32.or
- (i32.eqz
- (tee_local $2
- (i32.load
- (i32.const 192)
+ (block
+ (if
+ (i32.or
+ (i32.eqz
+ (tee_local $2
+ (i32.load
+ (i32.const 192)
+ )
)
)
+ (i32.lt_u
+ (get_local $1)
+ (get_local $2)
+ )
)
- (i32.lt_u
+ (i32.store
+ (i32.const 192)
(get_local $1)
- (get_local $2)
)
)
(i32.store
- (i32.const 192)
+ (i32.const 624)
(get_local $1)
)
- )
- (i32.store
- (i32.const 624)
- (get_local $1)
- )
- (i32.store
- (i32.const 628)
- (get_local $3)
- )
- (i32.store
- (i32.const 636)
- (i32.const 0)
- )
- (i32.store
- (i32.const 212)
- (i32.load
- (i32.const 648)
+ (i32.store
+ (i32.const 628)
+ (get_local $3)
)
- )
- (i32.store
- (i32.const 208)
- (i32.const -1)
- )
- (set_local $2
- (i32.const 0)
- )
- (loop $while-in43
- (i32.store offset=12
- (tee_local $4
- (i32.add
- (i32.shl
- (get_local $2)
- (i32.const 3)
- )
- (i32.const 216)
- )
+ (i32.store
+ (i32.const 636)
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 212)
+ (i32.load
+ (i32.const 648)
)
- (get_local $4)
)
- (i32.store offset=8
- (get_local $4)
- (get_local $4)
+ (i32.store
+ (i32.const 208)
+ (i32.const -1)
)
- (br_if $while-in43
- (i32.ne
- (tee_local $2
+ (set_local $2
+ (i32.const 0)
+ )
+ (loop $while-in43
+ (i32.store offset=12
+ (tee_local $4
(i32.add
- (get_local $2)
- (i32.const 1)
+ (i32.shl
+ (get_local $2)
+ (i32.const 3)
+ )
+ (i32.const 216)
)
)
- (i32.const 32)
+ (get_local $4)
+ )
+ (i32.store offset=8
+ (get_local $4)
+ (get_local $4)
+ )
+ (br_if $while-in43
+ (i32.ne
+ (tee_local $2
+ (i32.add
+ (get_local $2)
+ (i32.const 1)
+ )
+ )
+ (i32.const 32)
+ )
)
)
- )
- (i32.store
- (i32.const 200)
- (tee_local $2
- (i32.add
- (get_local $1)
- (tee_local $1
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $1
- (i32.add
- (get_local $1)
- (i32.const 8)
+ (i32.store
+ (i32.const 200)
+ (tee_local $2
+ (i32.add
+ (get_local $1)
+ (tee_local $1
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 8)
+ )
)
)
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $1)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $1)
- (i32.const 7)
)
)
)
)
)
- )
- (i32.store
- (i32.const 188)
- (tee_local $1
- (i32.sub
- (i32.add
- (get_local $3)
- (i32.const -40)
+ (i32.store
+ (i32.const 188)
+ (tee_local $1
+ (i32.sub
+ (i32.add
+ (get_local $3)
+ (i32.const -40)
+ )
+ (get_local $1)
)
+ )
+ )
+ (i32.store offset=4
+ (get_local $2)
+ (i32.or
(get_local $1)
+ (i32.const 1)
)
)
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $1)
- (i32.const 1)
+ (i32.store offset=4
+ (i32.add
+ (get_local $2)
+ (get_local $1)
+ )
+ (i32.const 40)
)
- )
- (i32.store offset=4
- (i32.add
- (get_local $2)
- (get_local $1)
+ (i32.store
+ (i32.const 204)
+ (i32.load
+ (i32.const 664)
+ )
)
- (i32.const 40)
)
- (i32.store
- (i32.const 204)
+ )
+ )
+ (br_if $folding-inner0
+ (i32.gt_u
+ (tee_local $1
(i32.load
- (i32.const 664)
+ (i32.const 188)
)
)
+ (get_local $0)
)
)
)
- (if
- (i32.gt_u
- (tee_local $1
- (i32.load
- (i32.const 188)
- )
- )
+ (i32.store
+ (call $___errno_location)
+ (i32.const 12)
+ )
+ (return
+ (i32.const 0)
+ )
+ )
+ (i32.store
+ (i32.const 188)
+ (tee_local $3
+ (i32.sub
+ (get_local $1)
(get_local $0)
)
- (block
- (i32.store
- (i32.const 188)
- (tee_local $3
- (i32.sub
- (get_local $1)
- (get_local $0)
- )
- )
- )
- (i32.store
- (i32.const 200)
- (tee_local $1
- (i32.add
- (tee_local $2
- (i32.load
- (i32.const 200)
- )
- )
- (get_local $0)
- )
- )
- )
- (i32.store offset=4
- (get_local $1)
- (i32.or
- (get_local $3)
- (i32.const 1)
- )
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $0)
- (i32.const 3)
- )
- )
- (return
- (i32.add
- (get_local $2)
- (i32.const 8)
+ )
+ )
+ (i32.store
+ (i32.const 200)
+ (tee_local $1
+ (i32.add
+ (tee_local $2
+ (i32.load
+ (i32.const 200)
)
)
+ (get_local $0)
)
)
)
- (i32.store
- (call $___errno_location)
- (i32.const 12)
+ (i32.store offset=4
+ (get_local $1)
+ (i32.or
+ (get_local $3)
+ (i32.const 1)
+ )
+ )
+ (i32.store offset=4
+ (get_local $2)
+ (i32.or
+ (get_local $0)
+ (i32.const 3)
+ )
+ )
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
)
- (i32.const 0)
)
(func $_free (param $0 i32)
(local $1 i32)
diff --git a/test/emcc_hello_world.fromasm.imprecise b/test/emcc_hello_world.fromasm.imprecise
index ed7ba8aa4..65fda0e77 100644
--- a/test/emcc_hello_world.fromasm.imprecise
+++ b/test/emcc_hello_world.fromasm.imprecise
@@ -293,26 +293,20 @@
(set_local $1
(i32.const 87)
)
- (set_local $0
- (i32.const 775)
- )
(br $__rjti$1)
)
)
- (if
+ (br_if $__rjti$1
(get_local $1)
- (block
- (set_local $0
- (i32.const 775)
- )
- (br $__rjti$1)
- )
- (set_local $0
- (i32.const 775)
- )
+ )
+ (set_local $0
+ (i32.const 775)
)
(br $__rjto$1)
)
+ (set_local $0
+ (i32.const 775)
+ )
(loop $while-in1
(loop $while-in3
(set_local $2
@@ -953,35 +947,34 @@
(get_local $5)
)
)
- (if (result i32)
- (i32.eq
- (get_local $4)
- (i32.const 2)
- )
- (block (result i32)
- (i32.store
- (get_local $6)
- (i32.add
- (i32.load
- (get_local $6)
+ (block (result i32)
+ (if
+ (i32.eq
+ (get_local $4)
+ (i32.const 2)
+ )
+ (block
+ (i32.store
+ (get_local $6)
+ (i32.add
+ (i32.load
+ (get_local $6)
+ )
+ (get_local $3)
)
- (get_local $3)
+ )
+ (set_local $7
+ (get_local $5)
+ )
+ (set_local $4
+ (i32.const 2)
)
)
(set_local $7
(get_local $5)
)
- (set_local $4
- (i32.const 2)
- )
- (get_local $3)
- )
- (block (result i32)
- (set_local $7
- (get_local $5)
- )
- (get_local $3)
)
+ (get_local $3)
)
)
)
@@ -1858,7 +1851,7 @@
(get_local $0)
)
(loop $while-in
- (if
+ (br_if $__rjti$2
(i32.eq
(i32.load8_u
(get_local $2)
@@ -1868,12 +1861,6 @@
(i32.const 255)
)
)
- (block
- (set_local $0
- (get_local $3)
- )
- (br $__rjti$2)
- )
)
(br_if $while-in
(i32.and
@@ -1916,20 +1903,17 @@
)
)
)
- (if
+ (br_if $__rjti$2
(get_local $0)
- (block
- (set_local $0
- (get_local $3)
- )
- (br $__rjti$2)
- )
- (set_local $0
- (i32.const 0)
- )
+ )
+ (set_local $0
+ (i32.const 0)
)
(br $label$break$L8)
)
+ (set_local $0
+ (get_local $3)
+ )
(if
(i32.ne
(i32.load8_u
@@ -2866,34 +2850,31 @@
(get_local $6)
)
)
- (set_local $1
- (if (result i32)
- (i32.lt_s
- (get_local $14)
- (i32.const 0)
- )
- (block (result i32)
- (set_local $11
- (i32.or
- (get_local $1)
- (i32.const 8192)
- )
- )
- (set_local $14
- (i32.sub
- (i32.const 0)
- (get_local $14)
- )
+ (if
+ (i32.lt_s
+ (get_local $14)
+ (i32.const 0)
+ )
+ (block
+ (set_local $11
+ (i32.or
+ (get_local $1)
+ (i32.const 8192)
)
- (get_local $8)
)
- (block (result i32)
- (set_local $11
- (get_local $1)
+ (set_local $14
+ (i32.sub
+ (i32.const 0)
+ (get_local $14)
)
- (get_local $8)
)
)
+ (set_local $11
+ (get_local $1)
+ )
+ )
+ (set_local $1
+ (get_local $8)
)
)
(if
@@ -3733,13 +3714,6 @@
)
)
)
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjti$8)
)
(block
(set_local $5
@@ -3748,15 +3722,15 @@
(set_local $7
(get_local $11)
)
- (set_local $8
- (i32.const 0)
- )
- (set_local $9
- (i32.const 4091)
- )
- (br $__rjti$8)
)
)
+ (set_local $8
+ (i32.const 0)
+ )
+ (set_local $9
+ (i32.const 4091)
+ )
+ (br $__rjti$8)
)
(set_local $5
(i32.load
@@ -3815,7 +3789,6 @@
(set_local $9
(i32.const 4092)
)
- (br $__rjti$4)
)
(block
(set_local $8
@@ -3833,9 +3806,9 @@
(get_local $9)
)
)
- (br $__rjti$4)
)
)
+ (br $__rjti$4)
)
(set_local $5
(i32.load
@@ -6554,7 +6527,6 @@
(set_local $9
(i32.const 4091)
)
- (br $__rjti$8)
)
(block
(set_local $8
@@ -6569,9 +6541,9 @@
(i32.const 4091)
)
)
- (br $__rjti$8)
)
)
+ (br $__rjti$8)
)
)
)
@@ -6837,7 +6809,7 @@
)
)
)
- (if (result i32)
+ (if
(i32.or
(get_local $6)
(tee_local $12
@@ -6859,7 +6831,7 @@
)
)
)
- (block (result i32)
+ (block
(set_local $7
(get_local $5)
)
@@ -6887,18 +6859,17 @@
)
)
)
- (get_local $22)
)
- (block (result i32)
+ (block
(set_local $7
(get_local $22)
)
(set_local $12
(i32.const 0)
)
- (get_local $22)
)
)
+ (get_local $22)
)
)
(call $_pad
@@ -7804,258 +7775,274 @@
(local $16 i32)
(local $17 i32)
(local $18 i32)
- (block $do-once
- (if
- (i32.lt_u
- (get_local $0)
- (i32.const 245)
- )
- (block
- (if
- (i32.and
- (tee_local $5
- (i32.shr_u
- (tee_local $11
- (i32.load
- (i32.const 176)
+ (block $folding-inner0
+ (block $do-once
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (i32.const 245)
+ )
+ (block
+ (if
+ (i32.and
+ (tee_local $5
+ (i32.shr_u
+ (tee_local $11
+ (i32.load
+ (i32.const 176)
+ )
)
- )
- (tee_local $13
- (i32.shr_u
- (tee_local $4
- (select
- (i32.const 16)
- (i32.and
- (i32.add
+ (tee_local $13
+ (i32.shr_u
+ (tee_local $4
+ (select
+ (i32.const 16)
+ (i32.and
+ (i32.add
+ (get_local $0)
+ (i32.const 11)
+ )
+ (i32.const -8)
+ )
+ (i32.lt_u
(get_local $0)
(i32.const 11)
)
- (i32.const -8)
- )
- (i32.lt_u
- (get_local $0)
- (i32.const 11)
)
)
+ (i32.const 3)
)
- (i32.const 3)
)
)
)
+ (i32.const 3)
)
- (i32.const 3)
- )
- (block
- (set_local $10
- (i32.load
- (tee_local $1
- (i32.add
- (tee_local $7
- (i32.load
- (tee_local $3
- (i32.add
- (tee_local $2
- (i32.add
- (i32.shl
- (tee_local $4
- (i32.add
- (i32.xor
- (i32.and
- (get_local $5)
+ (block
+ (set_local $10
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (tee_local $7
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (tee_local $2
+ (i32.add
+ (i32.shl
+ (tee_local $4
+ (i32.add
+ (i32.xor
+ (i32.and
+ (get_local $5)
+ (i32.const 1)
+ )
(i32.const 1)
)
- (i32.const 1)
+ (get_local $13)
)
- (get_local $13)
)
+ (i32.const 3)
)
- (i32.const 3)
+ (i32.const 216)
)
- (i32.const 216)
)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
- )
- (if
- (i32.eq
- (get_local $2)
- (get_local $10)
- )
- (i32.store
- (i32.const 176)
- (i32.and
- (get_local $11)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $4)
- )
- (i32.const -1)
- )
+ (if
+ (i32.eq
+ (get_local $2)
+ (get_local $10)
)
- )
- (block
- (if
- (i32.lt_u
- (get_local $10)
- (i32.load
- (i32.const 192)
+ (i32.store
+ (i32.const 176)
+ (i32.and
+ (get_local $11)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $4)
+ )
+ (i32.const -1)
)
)
- (call $_abort)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $10)
- (i32.const 12)
- )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $10)
+ (i32.load
+ (i32.const 192)
)
)
- (get_local $7)
+ (call $_abort)
)
- (block
- (i32.store
- (get_local $0)
- (get_local $2)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $10)
+ (i32.const 12)
+ )
+ )
+ )
+ (get_local $7)
)
- (i32.store
- (get_local $3)
- (get_local $10)
+ (block
+ (i32.store
+ (get_local $0)
+ (get_local $2)
+ )
+ (i32.store
+ (get_local $3)
+ (get_local $10)
+ )
)
+ (call $_abort)
)
- (call $_abort)
)
)
- )
- (i32.store offset=4
- (get_local $7)
- (i32.or
- (tee_local $0
- (i32.shl
- (get_local $4)
- (i32.const 3)
+ (i32.store offset=4
+ (get_local $7)
+ (i32.or
+ (tee_local $0
+ (i32.shl
+ (get_local $4)
+ (i32.const 3)
+ )
)
+ (i32.const 3)
)
- (i32.const 3)
)
- )
- (i32.store
- (tee_local $0
- (i32.add
+ (i32.store
+ (tee_local $0
(i32.add
- (get_local $7)
+ (i32.add
+ (get_local $7)
+ (get_local $0)
+ )
+ (i32.const 4)
+ )
+ )
+ (i32.or
+ (i32.load
(get_local $0)
)
- (i32.const 4)
+ (i32.const 1)
)
)
- (i32.or
- (i32.load
- (get_local $0)
- )
- (i32.const 1)
+ (return
+ (get_local $1)
)
)
- (return
- (get_local $1)
- )
)
- )
- (if
- (i32.gt_u
- (get_local $4)
- (tee_local $0
- (i32.load
- (i32.const 184)
+ (if
+ (i32.gt_u
+ (get_local $4)
+ (tee_local $0
+ (i32.load
+ (i32.const 184)
+ )
)
)
- )
- (block
- (if
- (get_local $5)
- (block
- (set_local $10
- (i32.and
- (i32.shr_u
- (tee_local $3
- (i32.add
- (i32.and
- (tee_local $3
- (i32.and
- (i32.shl
- (get_local $5)
- (get_local $13)
- )
- (i32.or
- (tee_local $3
- (i32.shl
- (i32.const 2)
- (get_local $13)
- )
+ (block
+ (if
+ (get_local $5)
+ (block
+ (set_local $10
+ (i32.and
+ (i32.shr_u
+ (tee_local $3
+ (i32.add
+ (i32.and
+ (tee_local $3
+ (i32.and
+ (i32.shl
+ (get_local $5)
+ (get_local $13)
)
- (i32.sub
- (i32.const 0)
- (get_local $3)
+ (i32.or
+ (tee_local $3
+ (i32.shl
+ (i32.const 2)
+ (get_local $13)
+ )
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $3)
+ )
)
)
)
+ (i32.sub
+ (i32.const 0)
+ (get_local $3)
+ )
)
- (i32.sub
- (i32.const 0)
- (get_local $3)
- )
+ (i32.const -1)
)
- (i32.const -1)
)
+ (i32.const 12)
)
- (i32.const 12)
+ (i32.const 16)
)
- (i32.const 16)
)
- )
- (set_local $9
- (i32.load
- (tee_local $7
- (i32.add
- (tee_local $12
- (i32.load
- (tee_local $3
- (i32.add
- (tee_local $10
- (i32.add
- (i32.shl
- (tee_local $5
- (i32.add
- (i32.or
+ (set_local $9
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (tee_local $12
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (tee_local $10
+ (i32.add
+ (i32.shl
+ (tee_local $5
+ (i32.add
(i32.or
(i32.or
(i32.or
+ (i32.or
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (tee_local $7
+ (i32.shr_u
+ (get_local $3)
+ (get_local $10)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (get_local $10)
+ )
(tee_local $3
(i32.and
(i32.shr_u
(tee_local $7
(i32.shr_u
+ (get_local $7)
(get_local $3)
- (get_local $10)
)
)
- (i32.const 5)
+ (i32.const 2)
)
- (i32.const 8)
+ (i32.const 4)
)
)
- (get_local $10)
)
(tee_local $3
(i32.and
@@ -8066,9 +8053,9 @@
(get_local $3)
)
)
- (i32.const 2)
+ (i32.const 1)
)
- (i32.const 4)
+ (i32.const 2)
)
)
)
@@ -8083,310 +8070,310 @@
)
(i32.const 1)
)
- (i32.const 2)
- )
- )
- )
- (tee_local $3
- (i32.and
- (i32.shr_u
- (tee_local $7
- (i32.shr_u
- (get_local $7)
- (get_local $3)
- )
- )
(i32.const 1)
)
- (i32.const 1)
)
)
- )
- (i32.shr_u
- (get_local $7)
- (get_local $3)
+ (i32.shr_u
+ (get_local $7)
+ (get_local $3)
+ )
)
)
+ (i32.const 3)
)
- (i32.const 3)
+ (i32.const 216)
)
- (i32.const 216)
)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
- )
- (if
- (i32.eq
- (get_local $10)
- (get_local $9)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.and
- (get_local $11)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $5)
+ (if
+ (i32.eq
+ (get_local $10)
+ (get_local $9)
+ )
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.and
+ (get_local $11)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $5)
+ )
+ (i32.const -1)
)
- (i32.const -1)
)
)
- )
- (set_local $8
- (get_local $0)
- )
- )
- (block
- (if
- (i32.lt_u
- (get_local $9)
- (i32.load
- (i32.const 192)
- )
+ (set_local $8
+ (get_local $0)
)
- (call $_abort)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $9)
- (i32.const 12)
- )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $9)
+ (i32.load
+ (i32.const 192)
)
)
- (get_local $12)
+ (call $_abort)
)
- (block
- (i32.store
- (get_local $0)
- (get_local $10)
- )
- (i32.store
- (get_local $3)
- (get_local $9)
- )
- (set_local $8
+ (if
+ (i32.eq
(i32.load
- (i32.const 184)
+ (tee_local $0
+ (i32.add
+ (get_local $9)
+ (i32.const 12)
+ )
+ )
+ )
+ (get_local $12)
+ )
+ (block
+ (i32.store
+ (get_local $0)
+ (get_local $10)
+ )
+ (i32.store
+ (get_local $3)
+ (get_local $9)
+ )
+ (set_local $8
+ (i32.load
+ (i32.const 184)
+ )
)
)
+ (call $_abort)
)
- (call $_abort)
)
)
- )
- (i32.store offset=4
- (get_local $12)
- (i32.or
- (get_local $4)
- (i32.const 3)
- )
- )
- (i32.store offset=4
- (tee_local $10
- (i32.add
- (get_local $12)
+ (i32.store offset=4
+ (get_local $12)
+ (i32.or
(get_local $4)
+ (i32.const 3)
)
)
- (i32.or
- (tee_local $5
- (i32.sub
- (i32.shl
- (get_local $5)
- (i32.const 3)
- )
+ (i32.store offset=4
+ (tee_local $10
+ (i32.add
+ (get_local $12)
(get_local $4)
)
)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (get_local $10)
- (get_local $5)
- )
- (get_local $5)
- )
- (if
- (get_local $8)
- (block
- (set_local $12
- (i32.load
- (i32.const 196)
- )
- )
- (set_local $4
- (i32.add
- (i32.shl
- (tee_local $0
- (i32.shr_u
- (get_local $8)
- (i32.const 3)
- )
+ (i32.or
+ (tee_local $5
+ (i32.sub
+ (i32.shl
+ (get_local $5)
+ (i32.const 3)
)
- (i32.const 3)
+ (get_local $4)
)
- (i32.const 216)
)
+ (i32.const 1)
)
- (if
- (i32.and
- (tee_local $3
- (i32.load
- (i32.const 176)
- )
+ )
+ (i32.store
+ (i32.add
+ (get_local $10)
+ (get_local $5)
+ )
+ (get_local $5)
+ )
+ (if
+ (get_local $8)
+ (block
+ (set_local $12
+ (i32.load
+ (i32.const 196)
)
- (tee_local $0
+ )
+ (set_local $4
+ (i32.add
(i32.shl
- (i32.const 1)
- (get_local $0)
+ (tee_local $0
+ (i32.shr_u
+ (get_local $8)
+ (i32.const 3)
+ )
+ )
+ (i32.const 3)
)
+ (i32.const 216)
)
)
(if
- (i32.lt_u
- (tee_local $0
+ (i32.and
+ (tee_local $3
(i32.load
- (tee_local $3
- (i32.add
- (get_local $4)
- (i32.const 8)
+ (i32.const 176)
+ )
+ )
+ (tee_local $0
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $0
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 192)
+ )
)
- (i32.load
- (i32.const 192)
+ (call $_abort)
+ (block
+ (set_local $2
+ (get_local $3)
+ )
+ (set_local $1
+ (get_local $0)
+ )
)
)
- (call $_abort)
(block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $3)
+ (get_local $0)
+ )
+ )
(set_local $2
- (get_local $3)
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
)
(set_local $1
- (get_local $0)
- )
- )
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $3)
- (get_local $0)
- )
- )
- (set_local $2
- (i32.add
(get_local $4)
- (i32.const 8)
)
)
- (set_local $1
- (get_local $4)
- )
)
- )
- (i32.store
- (get_local $2)
- (get_local $12)
- )
- (i32.store offset=12
- (get_local $1)
- (get_local $12)
- )
- (i32.store offset=8
- (get_local $12)
- (get_local $1)
- )
- (i32.store offset=12
- (get_local $12)
- (get_local $4)
+ (i32.store
+ (get_local $2)
+ (get_local $12)
+ )
+ (i32.store offset=12
+ (get_local $1)
+ (get_local $12)
+ )
+ (i32.store offset=8
+ (get_local $12)
+ (get_local $1)
+ )
+ (i32.store offset=12
+ (get_local $12)
+ (get_local $4)
+ )
)
)
- )
- (i32.store
- (i32.const 184)
- (get_local $5)
- )
- (i32.store
- (i32.const 196)
- (get_local $10)
- )
- (return
- (get_local $7)
+ (i32.store
+ (i32.const 184)
+ (get_local $5)
+ )
+ (i32.store
+ (i32.const 196)
+ (get_local $10)
+ )
+ (return
+ (get_local $7)
+ )
)
)
- )
- (if
- (tee_local $0
- (i32.load
- (i32.const 180)
+ (if
+ (tee_local $0
+ (i32.load
+ (i32.const 180)
+ )
)
- )
- (block
- (set_local $2
- (i32.and
- (i32.shr_u
- (tee_local $0
- (i32.add
- (i32.and
- (get_local $0)
- (i32.sub
- (i32.const 0)
+ (block
+ (set_local $2
+ (i32.and
+ (i32.shr_u
+ (tee_local $0
+ (i32.add
+ (i32.and
(get_local $0)
+ (i32.sub
+ (i32.const 0)
+ (get_local $0)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
)
+ (i32.const 12)
)
- (i32.const 12)
+ (i32.const 16)
)
- (i32.const 16)
)
- )
- (set_local $7
- (i32.sub
- (i32.and
- (i32.load offset=4
- (tee_local $0
- (i32.load offset=480
- (i32.shl
- (i32.add
- (i32.or
+ (set_local $7
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (tee_local $0
+ (i32.load offset=480
+ (i32.shl
+ (i32.add
(i32.or
(i32.or
(i32.or
+ (i32.or
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (tee_local $1
+ (i32.shr_u
+ (get_local $0)
+ (get_local $2)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (get_local $2)
+ )
(tee_local $0
(i32.and
(i32.shr_u
(tee_local $1
(i32.shr_u
+ (get_local $1)
(get_local $0)
- (get_local $2)
)
)
- (i32.const 5)
+ (i32.const 2)
)
- (i32.const 8)
+ (i32.const 4)
)
)
- (get_local $2)
)
(tee_local $0
(i32.and
@@ -8397,9 +8384,9 @@
(get_local $0)
)
)
- (i32.const 2)
+ (i32.const 1)
)
- (i32.const 4)
+ (i32.const 2)
)
)
)
@@ -8414,163 +8401,135 @@
)
(i32.const 1)
)
- (i32.const 2)
- )
- )
- )
- (tee_local $0
- (i32.and
- (i32.shr_u
- (tee_local $1
- (i32.shr_u
- (get_local $1)
- (get_local $0)
- )
- )
(i32.const 1)
)
- (i32.const 1)
)
)
+ (i32.shr_u
+ (get_local $1)
+ (get_local $0)
+ )
)
- (i32.shr_u
- (get_local $1)
- (get_local $0)
- )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $4)
)
- (get_local $4)
)
- )
- (set_local $1
- (get_local $0)
- )
- (set_local $2
- (get_local $0)
- )
- (loop $while-in
- (block $while-out
- (if
- (i32.eqz
- (tee_local $0
- (i32.load offset=16
- (get_local $1)
- )
- )
- )
+ (set_local $1
+ (get_local $0)
+ )
+ (set_local $2
+ (get_local $0)
+ )
+ (loop $while-in
+ (block $while-out
(if
(i32.eqz
(tee_local $0
- (i32.load offset=20
+ (i32.load offset=16
(get_local $1)
)
)
)
- (block
- (set_local $10
- (get_local $7)
+ (if
+ (i32.eqz
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $1)
+ )
+ )
)
- (set_local $5
- (get_local $2)
+ (block
+ (set_local $10
+ (get_local $7)
+ )
+ (set_local $5
+ (get_local $2)
+ )
+ (br $while-out)
)
- (br $while-out)
)
)
- )
- (set_local $10
- (i32.lt_u
- (tee_local $1
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $0)
+ (set_local $10
+ (i32.lt_u
+ (tee_local $1
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $0)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $4)
)
- (get_local $4)
)
+ (get_local $7)
)
- (get_local $7)
)
- )
- (set_local $7
- (select
- (get_local $1)
- (get_local $7)
- (get_local $10)
+ (set_local $7
+ (select
+ (get_local $1)
+ (get_local $7)
+ (get_local $10)
+ )
)
- )
- (set_local $1
- (get_local $0)
- )
- (set_local $2
- (select
+ (set_local $1
(get_local $0)
- (get_local $2)
- (get_local $10)
)
- )
- (br $while-in)
- )
- )
- (if
- (i32.lt_u
- (get_local $5)
- (tee_local $12
- (i32.load
- (i32.const 192)
+ (set_local $2
+ (select
+ (get_local $0)
+ (get_local $2)
+ (get_local $10)
+ )
)
+ (br $while-in)
)
)
- (call $_abort)
- )
- (if
- (i32.ge_u
- (get_local $5)
- (tee_local $11
- (i32.add
- (get_local $5)
- (get_local $4)
+ (if
+ (i32.lt_u
+ (get_local $5)
+ (tee_local $12
+ (i32.load
+ (i32.const 192)
+ )
)
)
+ (call $_abort)
)
- (call $_abort)
- )
- (set_local $8
- (i32.load offset=24
- (get_local $5)
- )
- )
- (block $do-once4
(if
- (i32.eq
- (tee_local $0
- (i32.load offset=12
+ (i32.ge_u
+ (get_local $5)
+ (tee_local $11
+ (i32.add
(get_local $5)
+ (get_local $4)
)
)
+ )
+ (call $_abort)
+ )
+ (set_local $8
+ (i32.load offset=24
(get_local $5)
)
- (block
- (if
- (i32.eqz
- (tee_local $1
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $5)
- (i32.const 20)
- )
- )
- )
+ )
+ (block $do-once4
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=12
+ (get_local $5)
)
)
+ (get_local $5)
+ )
+ (block
(if
(i32.eqz
(tee_local $1
@@ -8578,719 +8537,733 @@
(tee_local $0
(i32.add
(get_local $5)
- (i32.const 16)
+ (i32.const 20)
)
)
)
)
)
- (block
- (set_local $9
- (i32.const 0)
- )
- (br $do-once4)
- )
- )
- )
- (loop $while-in7
- (if
- (tee_local $2
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $1)
- (i32.const 20)
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $5)
+ (i32.const 16)
+ )
+ )
)
)
)
- )
- (block
- (set_local $1
- (get_local $2)
- )
- (set_local $0
- (get_local $7)
+ (block
+ (set_local $9
+ (i32.const 0)
+ )
+ (br $do-once4)
)
- (br $while-in7)
)
)
- (if
- (tee_local $2
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $1)
- (i32.const 16)
+ (loop $while-in7
+ (if
+ (tee_local $2
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $1)
+ (i32.const 20)
+ )
)
)
)
+ (block
+ (set_local $1
+ (get_local $2)
+ )
+ (set_local $0
+ (get_local $7)
+ )
+ (br $while-in7)
+ )
)
- (block
- (set_local $1
- (get_local $2)
+ (if
+ (tee_local $2
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ )
+ )
)
- (set_local $0
- (get_local $7)
+ (block
+ (set_local $1
+ (get_local $2)
+ )
+ (set_local $0
+ (get_local $7)
+ )
+ (br $while-in7)
)
- (br $while-in7)
)
)
- )
- (if
- (i32.lt_u
- (get_local $0)
- (get_local $12)
- )
- (call $_abort)
- (block
- (i32.store
+ (if
+ (i32.lt_u
(get_local $0)
- (i32.const 0)
- )
- (set_local $9
- (get_local $1)
+ (get_local $12)
)
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (tee_local $7
- (i32.load offset=8
- (get_local $5)
+ (call $_abort)
+ (block
+ (i32.store
+ (get_local $0)
+ (i32.const 0)
+ )
+ (set_local $9
+ (get_local $1)
)
)
- (get_local $12)
)
- (call $_abort)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $7)
- (i32.const 12)
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $7
+ (i32.load offset=8
+ (get_local $5)
)
)
+ (get_local $12)
)
- (get_local $5)
+ (call $_abort)
)
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $0)
- (i32.const 8)
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $7)
+ (i32.const 12)
+ )
)
)
+ (get_local $5)
)
- (get_local $5)
+ (call $_abort)
)
- (block
- (i32.store
- (get_local $2)
- (get_local $0)
- )
- (i32.store
- (get_local $1)
- (get_local $7)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
+ )
+ )
+ )
+ (get_local $5)
)
- (set_local $9
- (get_local $0)
+ (block
+ (i32.store
+ (get_local $2)
+ (get_local $0)
+ )
+ (i32.store
+ (get_local $1)
+ (get_local $7)
+ )
+ (set_local $9
+ (get_local $0)
+ )
)
+ (call $_abort)
)
- (call $_abort)
)
)
)
- )
- (block $do-once8
- (if
- (get_local $8)
- (block
- (if
- (i32.eq
- (get_local $5)
- (i32.load
- (tee_local $0
- (i32.add
- (i32.shl
- (tee_local $1
- (i32.load offset=28
- (get_local $5)
+ (block $do-once8
+ (if
+ (get_local $8)
+ (block
+ (if
+ (i32.eq
+ (get_local $5)
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (i32.shl
+ (tee_local $1
+ (i32.load offset=28
+ (get_local $5)
+ )
)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 480)
)
- (i32.const 480)
)
)
)
- )
- (block
- (i32.store
- (get_local $0)
- (get_local $9)
- )
- (if
- (i32.eqz
+ (block
+ (i32.store
+ (get_local $0)
(get_local $9)
)
- (block
- (i32.store
- (i32.const 180)
- (i32.and
- (i32.load
- (i32.const 180)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $1)
+ (if
+ (i32.eqz
+ (get_local $9)
+ )
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.and
+ (i32.load
+ (i32.const 180)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $1)
+ )
+ (i32.const -1)
)
- (i32.const -1)
)
)
+ (br $do-once8)
)
- (br $do-once8)
)
)
- )
- (block
- (if
- (i32.lt_u
- (get_local $8)
- (i32.load
- (i32.const 192)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $8)
+ (i32.load
+ (i32.const 192)
+ )
)
+ (call $_abort)
)
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $8)
- (i32.const 16)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $8)
+ (i32.const 16)
+ )
)
)
+ (get_local $5)
+ )
+ (i32.store
+ (get_local $0)
+ (get_local $9)
+ )
+ (i32.store offset=20
+ (get_local $8)
+ (get_local $9)
)
- (get_local $5)
- )
- (i32.store
- (get_local $0)
- (get_local $9)
- )
- (i32.store offset=20
- (get_local $8)
- (get_local $9)
)
- )
- (br_if $do-once8
- (i32.eqz
- (get_local $9)
+ (br_if $do-once8
+ (i32.eqz
+ (get_local $9)
+ )
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $9)
- (tee_local $0
- (i32.load
- (i32.const 192)
+ (if
+ (i32.lt_u
+ (get_local $9)
+ (tee_local $0
+ (i32.load
+ (i32.const 192)
+ )
)
)
+ (call $_abort)
)
- (call $_abort)
- )
- (i32.store offset=24
- (get_local $9)
- (get_local $8)
- )
- (if
- (tee_local $1
- (i32.load offset=16
- (get_local $5)
- )
+ (i32.store offset=24
+ (get_local $9)
+ (get_local $8)
)
(if
- (i32.lt_u
- (get_local $1)
- (get_local $0)
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $5)
+ )
)
- (call $_abort)
- (block
- (i32.store offset=16
- (get_local $9)
+ (if
+ (i32.lt_u
(get_local $1)
+ (get_local $0)
)
- (i32.store offset=24
- (get_local $1)
- (get_local $9)
+ (call $_abort)
+ (block
+ (i32.store offset=16
+ (get_local $9)
+ (get_local $1)
+ )
+ (i32.store offset=24
+ (get_local $1)
+ (get_local $9)
+ )
)
)
)
- )
- (if
- (tee_local $0
- (i32.load offset=20
- (get_local $5)
- )
- )
(if
- (i32.lt_u
- (get_local $0)
- (i32.load
- (i32.const 192)
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $5)
)
)
- (call $_abort)
- (block
- (i32.store offset=20
- (get_local $9)
+ (if
+ (i32.lt_u
(get_local $0)
+ (i32.load
+ (i32.const 192)
+ )
)
- (i32.store offset=24
- (get_local $0)
- (get_local $9)
+ (call $_abort)
+ (block
+ (i32.store offset=20
+ (get_local $9)
+ (get_local $0)
+ )
+ (i32.store offset=24
+ (get_local $0)
+ (get_local $9)
+ )
)
)
)
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $10)
- (i32.const 16)
- )
- (block
- (i32.store offset=4
- (get_local $5)
- (i32.or
- (tee_local $0
- (i32.add
- (get_local $10)
- (get_local $4)
+ (if
+ (i32.lt_u
+ (get_local $10)
+ (i32.const 16)
+ )
+ (block
+ (i32.store offset=4
+ (get_local $5)
+ (i32.or
+ (tee_local $0
+ (i32.add
+ (get_local $10)
+ (get_local $4)
+ )
)
+ (i32.const 3)
)
- (i32.const 3)
)
- )
- (i32.store
- (tee_local $0
- (i32.add
+ (i32.store
+ (tee_local $0
(i32.add
- (get_local $5)
- (get_local $0)
+ (i32.add
+ (get_local $5)
+ (get_local $0)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (i32.or
- (i32.load
- (get_local $0)
+ (i32.or
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 1)
)
- (i32.const 1)
- )
- )
- )
- (block
- (i32.store offset=4
- (get_local $5)
- (i32.or
- (get_local $4)
- (i32.const 3)
)
)
- (i32.store offset=4
- (get_local $11)
- (i32.or
- (get_local $10)
- (i32.const 1)
+ (block
+ (i32.store offset=4
+ (get_local $5)
+ (i32.or
+ (get_local $4)
+ (i32.const 3)
+ )
)
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $11)
- (get_local $10)
+ (i32.or
+ (get_local $10)
+ (i32.const 1)
+ )
)
- (get_local $10)
- )
- (if
- (tee_local $0
- (i32.load
- (i32.const 184)
+ (i32.store
+ (i32.add
+ (get_local $11)
+ (get_local $10)
)
+ (get_local $10)
)
- (block
- (set_local $4
+ (if
+ (tee_local $0
(i32.load
- (i32.const 196)
+ (i32.const 184)
)
)
- (set_local $2
- (i32.add
- (i32.shl
- (tee_local $0
- (i32.shr_u
- (get_local $0)
- (i32.const 3)
- )
- )
- (i32.const 3)
+ (block
+ (set_local $4
+ (i32.load
+ (i32.const 196)
)
- (i32.const 216)
)
- )
- (if
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 176)
- )
- )
- (tee_local $0
+ (set_local $2
+ (i32.add
(i32.shl
- (i32.const 1)
- (get_local $0)
+ (tee_local $0
+ (i32.shr_u
+ (get_local $0)
+ (i32.const 3)
+ )
+ )
+ (i32.const 3)
)
+ (i32.const 216)
)
)
(if
- (i32.lt_u
- (tee_local $0
+ (i32.and
+ (tee_local $1
(i32.load
- (tee_local $1
- (i32.add
- (get_local $2)
- (i32.const 8)
+ (i32.const 176)
+ )
+ )
+ (tee_local $0
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $0
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 192)
+ )
)
- (i32.load
- (i32.const 192)
+ (call $_abort)
+ (block
+ (set_local $6
+ (get_local $1)
+ )
+ (set_local $3
+ (get_local $0)
+ )
)
)
- (call $_abort)
(block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $1)
+ (get_local $0)
+ )
+ )
(set_local $6
- (get_local $1)
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
)
(set_local $3
- (get_local $0)
- )
- )
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $1)
- (get_local $0)
- )
- )
- (set_local $6
- (i32.add
(get_local $2)
- (i32.const 8)
)
)
- (set_local $3
- (get_local $2)
- )
)
- )
- (i32.store
- (get_local $6)
- (get_local $4)
- )
- (i32.store offset=12
- (get_local $3)
- (get_local $4)
- )
- (i32.store offset=8
- (get_local $4)
- (get_local $3)
- )
- (i32.store offset=12
- (get_local $4)
- (get_local $2)
+ (i32.store
+ (get_local $6)
+ (get_local $4)
+ )
+ (i32.store offset=12
+ (get_local $3)
+ (get_local $4)
+ )
+ (i32.store offset=8
+ (get_local $4)
+ (get_local $3)
+ )
+ (i32.store offset=12
+ (get_local $4)
+ (get_local $2)
+ )
)
)
+ (i32.store
+ (i32.const 184)
+ (get_local $10)
+ )
+ (i32.store
+ (i32.const 196)
+ (get_local $11)
+ )
)
- (i32.store
- (i32.const 184)
- (get_local $10)
- )
- (i32.store
- (i32.const 196)
- (get_local $11)
+ )
+ (return
+ (i32.add
+ (get_local $5)
+ (i32.const 8)
)
)
)
- (return
- (i32.add
- (get_local $5)
- (i32.const 8)
- )
+ (set_local $0
+ (get_local $4)
)
)
- (set_local $0
- (get_local $4)
- )
+ )
+ (set_local $0
+ (get_local $4)
)
)
+ )
+ (if
+ (i32.gt_u
+ (get_local $0)
+ (i32.const -65)
+ )
(set_local $0
- (get_local $4)
+ (i32.const -1)
)
- )
- )
- (if
- (i32.gt_u
- (get_local $0)
- (i32.const -65)
- )
- (set_local $0
- (i32.const -1)
- )
- (block
- (set_local $2
- (i32.and
- (tee_local $0
- (i32.add
- (get_local $0)
- (i32.const 11)
+ (block
+ (set_local $2
+ (i32.and
+ (tee_local $0
+ (i32.add
+ (get_local $0)
+ (i32.const 11)
+ )
)
+ (i32.const -8)
)
- (i32.const -8)
)
- )
- (if
- (tee_local $18
- (i32.load
- (i32.const 180)
+ (if
+ (tee_local $18
+ (i32.load
+ (i32.const 180)
+ )
)
- )
- (block
- (set_local $14
- (if (result i32)
- (tee_local $0
- (i32.shr_u
- (get_local $0)
- (i32.const 8)
- )
- )
+ (block
+ (set_local $14
(if (result i32)
- (i32.gt_u
- (get_local $2)
- (i32.const 16777215)
+ (tee_local $0
+ (i32.shr_u
+ (get_local $0)
+ (i32.const 8)
+ )
)
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $2)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (if (result i32)
+ (i32.gt_u
+ (get_local $2)
+ (i32.const 16777215)
+ )
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $2)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $0)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
+ (i32.or
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $0)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 520192)
)
- (i32.const 520192)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 4)
)
- (i32.const 4)
)
+ (get_local $3)
)
- (get_local $3)
- )
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
+ )
)
+ (i32.const 245760)
)
- (i32.const 245760)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (i32.shr_u
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
+ (i32.const 0)
)
- (i32.const 0)
)
- )
- (set_local $3
- (i32.sub
- (i32.const 0)
- (get_local $2)
+ (set_local $3
+ (i32.sub
+ (i32.const 0)
+ (get_local $2)
+ )
)
- )
- (block $__rjto$3
- (block $__rjti$3
- (if
- (tee_local $0
- (i32.load offset=480
- (i32.shl
- (get_local $14)
- (i32.const 2)
+ (block $__rjto$3
+ (block $__rjti$3
+ (if
+ (tee_local $0
+ (i32.load offset=480
+ (i32.shl
+ (get_local $14)
+ (i32.const 2)
+ )
)
)
- )
- (block
- (set_local $6
- (i32.const 0)
- )
- (set_local $8
- (i32.shl
- (get_local $2)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
+ (block
+ (set_local $6
+ (i32.const 0)
+ )
+ (set_local $8
+ (i32.shl
+ (get_local $2)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $14)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
(get_local $14)
- (i32.const 1)
+ (i32.const 31)
)
)
- (i32.eq
- (get_local $14)
- (i32.const 31)
- )
)
)
- )
- (set_local $1
- (i32.const 0)
- )
- (loop $while-in14
- (if
- (i32.lt_u
- (tee_local $4
- (i32.sub
- (tee_local $9
- (i32.and
- (i32.load offset=4
- (get_local $0)
+ (set_local $1
+ (i32.const 0)
+ )
+ (loop $while-in14
+ (if
+ (i32.lt_u
+ (tee_local $4
+ (i32.sub
+ (tee_local $9
+ (i32.and
+ (i32.load offset=4
+ (get_local $0)
+ )
+ (i32.const -8)
)
- (i32.const -8)
)
+ (get_local $2)
)
- (get_local $2)
)
+ (get_local $3)
)
- (get_local $3)
- )
- (if
- (i32.eq
- (get_local $9)
- (get_local $2)
- )
- (block
- (set_local $1
- (get_local $4)
- )
- (set_local $3
- (get_local $0)
+ (if
+ (i32.eq
+ (get_local $9)
+ (get_local $2)
)
- (br $__rjti$3)
- )
- (block
- (set_local $3
- (get_local $4)
+ (block
+ (set_local $1
+ (get_local $4)
+ )
+ (set_local $3
+ (get_local $0)
+ )
+ (br $__rjti$3)
)
- (set_local $1
- (get_local $0)
+ (block
+ (set_local $3
+ (get_local $4)
+ )
+ (set_local $1
+ (get_local $0)
+ )
)
)
)
- )
- (set_local $0
- (select
- (get_local $6)
- (tee_local $4
- (i32.load offset=20
- (get_local $0)
- )
- )
- (i32.or
- (i32.eqz
- (get_local $4)
+ (set_local $0
+ (select
+ (get_local $6)
+ (tee_local $4
+ (i32.load offset=20
+ (get_local $0)
+ )
)
- (i32.eq
- (get_local $4)
- (tee_local $9
- (i32.load
- (i32.add
+ (i32.or
+ (i32.eqz
+ (get_local $4)
+ )
+ (i32.eq
+ (get_local $4)
+ (tee_local $9
+ (i32.load
(i32.add
- (get_local $0)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $8)
- (i32.const 31)
+ (i32.add
+ (get_local $0)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $8)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
@@ -9298,134 +9271,148 @@
)
)
)
- )
- (set_local $4
- (i32.shl
- (get_local $8)
- (i32.xor
- (tee_local $6
- (i32.eqz
- (get_local $9)
+ (set_local $4
+ (i32.shl
+ (get_local $8)
+ (i32.xor
+ (tee_local $6
+ (i32.eqz
+ (get_local $9)
+ )
)
+ (i32.const 1)
)
- (i32.const 1)
- )
- )
- )
- (if
- (get_local $6)
- (block
- (set_local $4
- (get_local $0)
- )
- (set_local $0
- (get_local $1)
)
)
- (block
- (set_local $6
- (get_local $0)
- )
- (set_local $8
- (get_local $4)
+ (if
+ (get_local $6)
+ (block
+ (set_local $4
+ (get_local $0)
+ )
+ (set_local $0
+ (get_local $1)
+ )
)
- (set_local $0
- (get_local $9)
+ (block
+ (set_local $6
+ (get_local $0)
+ )
+ (set_local $8
+ (get_local $4)
+ )
+ (set_local $0
+ (get_local $9)
+ )
+ (br $while-in14)
)
- (br $while-in14)
)
)
)
- )
- (block
- (set_local $4
- (i32.const 0)
- )
- (set_local $0
- (i32.const 0)
- )
- )
- )
- (if
- (i32.and
- (i32.eqz
- (get_local $4)
- )
- (i32.eqz
- (get_local $0)
+ (block
+ (set_local $4
+ (i32.const 0)
+ )
+ (set_local $0
+ (i32.const 0)
+ )
)
)
- (block
- (if
+ (if
+ (i32.and
(i32.eqz
- (tee_local $1
- (i32.and
- (get_local $18)
- (i32.or
- (tee_local $1
- (i32.shl
- (i32.const 2)
- (get_local $14)
+ (get_local $4)
+ )
+ (i32.eqz
+ (get_local $0)
+ )
+ )
+ (block
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.and
+ (get_local $18)
+ (i32.or
+ (tee_local $1
+ (i32.shl
+ (i32.const 2)
+ (get_local $14)
+ )
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $1)
)
- )
- (i32.sub
- (i32.const 0)
- (get_local $1)
)
)
)
)
- )
- (block
- (set_local $0
- (get_local $2)
+ (block
+ (set_local $0
+ (get_local $2)
+ )
+ (br $do-once)
)
- (br $do-once)
)
- )
- (set_local $9
- (i32.and
- (i32.shr_u
- (tee_local $1
- (i32.add
- (i32.and
- (get_local $1)
- (i32.sub
- (i32.const 0)
+ (set_local $9
+ (i32.and
+ (i32.shr_u
+ (tee_local $1
+ (i32.add
+ (i32.and
(get_local $1)
+ (i32.sub
+ (i32.const 0)
+ (get_local $1)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
)
+ (i32.const 12)
)
- (i32.const 12)
+ (i32.const 16)
)
- (i32.const 16)
)
- )
- (set_local $4
- (i32.load offset=480
- (i32.shl
- (i32.add
- (i32.or
+ (set_local $4
+ (i32.load offset=480
+ (i32.shl
+ (i32.add
(i32.or
(i32.or
(i32.or
+ (i32.or
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (tee_local $4
+ (i32.shr_u
+ (get_local $1)
+ (get_local $9)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (get_local $9)
+ )
(tee_local $1
(i32.and
(i32.shr_u
(tee_local $4
(i32.shr_u
+ (get_local $4)
(get_local $1)
- (get_local $9)
)
)
- (i32.const 5)
+ (i32.const 2)
)
- (i32.const 8)
+ (i32.const 4)
)
)
- (get_local $9)
)
(tee_local $1
(i32.and
@@ -9436,9 +9423,9 @@
(get_local $1)
)
)
- (i32.const 2)
+ (i32.const 1)
)
- (i32.const 4)
+ (i32.const 2)
)
)
)
@@ -9453,177 +9440,149 @@
)
(i32.const 1)
)
- (i32.const 2)
- )
- )
- )
- (tee_local $1
- (i32.and
- (i32.shr_u
- (tee_local $4
- (i32.shr_u
- (get_local $4)
- (get_local $1)
- )
- )
(i32.const 1)
)
- (i32.const 1)
)
)
+ (i32.shr_u
+ (get_local $4)
+ (get_local $1)
+ )
)
- (i32.shr_u
- (get_local $4)
- (get_local $1)
- )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
- )
- (if
- (get_local $4)
- (block
- (set_local $1
- (get_local $3)
+ (if
+ (get_local $4)
+ (block
+ (set_local $1
+ (get_local $3)
+ )
+ (set_local $3
+ (get_local $4)
+ )
+ (br $__rjti$3)
)
- (set_local $3
- (get_local $4)
+ (set_local $4
+ (get_local $0)
)
- (br $__rjti$3)
- )
- (set_local $4
- (get_local $0)
)
+ (br $__rjto$3)
)
- (br $__rjto$3)
- )
- (loop $while-in16
- (set_local $9
- (i32.lt_u
- (tee_local $4
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $3)
+ (loop $while-in16
+ (set_local $9
+ (i32.lt_u
+ (tee_local $4
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $3)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $2)
)
- (get_local $2)
)
+ (get_local $1)
)
- (get_local $1)
- )
- )
- (set_local $1
- (select
- (get_local $4)
- (get_local $1)
- (get_local $9)
)
- )
- (set_local $0
- (select
- (get_local $3)
- (get_local $0)
- (get_local $9)
+ (set_local $1
+ (select
+ (get_local $4)
+ (get_local $1)
+ (get_local $9)
+ )
)
- )
- (if
- (tee_local $4
- (i32.load offset=16
+ (set_local $0
+ (select
(get_local $3)
+ (get_local $0)
+ (get_local $9)
)
)
- (block
- (set_local $3
- (get_local $4)
+ (if
+ (tee_local $4
+ (i32.load offset=16
+ (get_local $3)
+ )
+ )
+ (block
+ (set_local $3
+ (get_local $4)
+ )
+ (br $while-in16)
)
- (br $while-in16)
)
- )
- (br_if $while-in16
- (tee_local $3
- (i32.load offset=20
- (get_local $3)
+ (br_if $while-in16
+ (tee_local $3
+ (i32.load offset=20
+ (get_local $3)
+ )
)
)
- )
- (set_local $3
- (get_local $1)
- )
- (set_local $4
- (get_local $0)
+ (set_local $3
+ (get_local $1)
+ )
+ (set_local $4
+ (get_local $0)
+ )
)
)
- )
- (if
- (get_local $4)
(if
- (i32.lt_u
- (get_local $3)
- (i32.sub
- (i32.load
- (i32.const 184)
- )
- (get_local $2)
- )
- )
- (block
- (if
- (i32.lt_u
- (get_local $4)
- (tee_local $12
- (i32.load
- (i32.const 192)
- )
+ (get_local $4)
+ (if
+ (i32.lt_u
+ (get_local $3)
+ (i32.sub
+ (i32.load
+ (i32.const 184)
)
+ (get_local $2)
)
- (call $_abort)
)
- (if
- (i32.ge_u
- (get_local $4)
- (tee_local $6
- (i32.add
- (get_local $4)
- (get_local $2)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $4)
+ (tee_local $12
+ (i32.load
+ (i32.const 192)
+ )
)
)
+ (call $_abort)
)
- (call $_abort)
- )
- (set_local $9
- (i32.load offset=24
- (get_local $4)
- )
- )
- (block $do-once17
(if
- (i32.eq
- (tee_local $0
- (i32.load offset=12
+ (i32.ge_u
+ (get_local $4)
+ (tee_local $6
+ (i32.add
(get_local $4)
+ (get_local $2)
)
)
+ )
+ (call $_abort)
+ )
+ (set_local $9
+ (i32.load offset=24
(get_local $4)
)
- (block
- (if
- (i32.eqz
- (tee_local $1
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $4)
- (i32.const 20)
- )
- )
- )
+ )
+ (block $do-once17
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=12
+ (get_local $4)
)
)
+ (get_local $4)
+ )
+ (block
(if
(i32.eqz
(tee_local $1
@@ -9631,1758 +9590,1694 @@
(tee_local $0
(i32.add
(get_local $4)
- (i32.const 16)
+ (i32.const 20)
)
)
)
)
)
- (block
- (set_local $11
- (i32.const 0)
- )
- (br $do-once17)
- )
- )
- )
- (loop $while-in20
- (if
- (tee_local $7
- (i32.load
- (tee_local $10
- (i32.add
- (get_local $1)
- (i32.const 20)
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $4)
+ (i32.const 16)
+ )
+ )
)
)
)
- )
- (block
- (set_local $1
- (get_local $7)
- )
- (set_local $0
- (get_local $10)
+ (block
+ (set_local $11
+ (i32.const 0)
+ )
+ (br $do-once17)
)
- (br $while-in20)
)
)
- (if
- (tee_local $7
- (i32.load
- (tee_local $10
- (i32.add
- (get_local $1)
- (i32.const 16)
+ (loop $while-in20
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (get_local $1)
+ (i32.const 20)
+ )
)
)
)
+ (block
+ (set_local $1
+ (get_local $7)
+ )
+ (set_local $0
+ (get_local $10)
+ )
+ (br $while-in20)
+ )
)
- (block
- (set_local $1
- (get_local $7)
+ (if
+ (tee_local $7
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ )
+ )
)
- (set_local $0
- (get_local $10)
+ (block
+ (set_local $1
+ (get_local $7)
+ )
+ (set_local $0
+ (get_local $10)
+ )
+ (br $while-in20)
)
- (br $while-in20)
)
)
- )
- (if
- (i32.lt_u
- (get_local $0)
- (get_local $12)
- )
- (call $_abort)
- (block
- (i32.store
+ (if
+ (i32.lt_u
(get_local $0)
- (i32.const 0)
- )
- (set_local $11
- (get_local $1)
+ (get_local $12)
)
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (tee_local $10
- (i32.load offset=8
- (get_local $4)
+ (call $_abort)
+ (block
+ (i32.store
+ (get_local $0)
+ (i32.const 0)
+ )
+ (set_local $11
+ (get_local $1)
)
)
- (get_local $12)
)
- (call $_abort)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $10)
- (i32.const 12)
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $10
+ (i32.load offset=8
+ (get_local $4)
)
)
+ (get_local $12)
)
- (get_local $4)
+ (call $_abort)
)
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $0)
- (i32.const 8)
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $10)
+ (i32.const 12)
+ )
)
)
+ (get_local $4)
)
- (get_local $4)
+ (call $_abort)
)
- (block
- (i32.store
- (get_local $7)
- (get_local $0)
- )
- (i32.store
- (get_local $1)
- (get_local $10)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
+ )
+ )
+ )
+ (get_local $4)
)
- (set_local $11
- (get_local $0)
+ (block
+ (i32.store
+ (get_local $7)
+ (get_local $0)
+ )
+ (i32.store
+ (get_local $1)
+ (get_local $10)
+ )
+ (set_local $11
+ (get_local $0)
+ )
)
+ (call $_abort)
)
- (call $_abort)
)
)
)
- )
- (block $do-once21
- (if
- (get_local $9)
- (block
- (if
- (i32.eq
- (get_local $4)
- (i32.load
- (tee_local $0
- (i32.add
- (i32.shl
- (tee_local $1
- (i32.load offset=28
- (get_local $4)
+ (block $do-once21
+ (if
+ (get_local $9)
+ (block
+ (if
+ (i32.eq
+ (get_local $4)
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (i32.shl
+ (tee_local $1
+ (i32.load offset=28
+ (get_local $4)
+ )
)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 480)
)
- (i32.const 480)
)
)
)
- )
- (block
- (i32.store
- (get_local $0)
- (get_local $11)
- )
- (if
- (i32.eqz
+ (block
+ (i32.store
+ (get_local $0)
(get_local $11)
)
- (block
- (i32.store
- (i32.const 180)
- (i32.and
- (i32.load
- (i32.const 180)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $1)
+ (if
+ (i32.eqz
+ (get_local $11)
+ )
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.and
+ (i32.load
+ (i32.const 180)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $1)
+ )
+ (i32.const -1)
)
- (i32.const -1)
)
)
+ (br $do-once21)
)
- (br $do-once21)
)
)
- )
- (block
- (if
- (i32.lt_u
- (get_local $9)
- (i32.load
- (i32.const 192)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $9)
+ (i32.load
+ (i32.const 192)
+ )
)
+ (call $_abort)
)
- (call $_abort)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $9)
- (i32.const 16)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $9)
+ (i32.const 16)
+ )
)
)
+ (get_local $4)
+ )
+ (i32.store
+ (get_local $0)
+ (get_local $11)
+ )
+ (i32.store offset=20
+ (get_local $9)
+ (get_local $11)
)
- (get_local $4)
- )
- (i32.store
- (get_local $0)
- (get_local $11)
- )
- (i32.store offset=20
- (get_local $9)
- (get_local $11)
)
- )
- (br_if $do-once21
- (i32.eqz
- (get_local $11)
+ (br_if $do-once21
+ (i32.eqz
+ (get_local $11)
+ )
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $11)
- (tee_local $0
- (i32.load
- (i32.const 192)
+ (if
+ (i32.lt_u
+ (get_local $11)
+ (tee_local $0
+ (i32.load
+ (i32.const 192)
+ )
)
)
+ (call $_abort)
)
- (call $_abort)
- )
- (i32.store offset=24
- (get_local $11)
- (get_local $9)
- )
- (if
- (tee_local $1
- (i32.load offset=16
- (get_local $4)
- )
+ (i32.store offset=24
+ (get_local $11)
+ (get_local $9)
)
(if
- (i32.lt_u
- (get_local $1)
- (get_local $0)
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $4)
+ )
)
- (call $_abort)
- (block
- (i32.store offset=16
- (get_local $11)
+ (if
+ (i32.lt_u
(get_local $1)
+ (get_local $0)
)
- (i32.store offset=24
- (get_local $1)
- (get_local $11)
+ (call $_abort)
+ (block
+ (i32.store offset=16
+ (get_local $11)
+ (get_local $1)
+ )
+ (i32.store offset=24
+ (get_local $1)
+ (get_local $11)
+ )
)
)
)
- )
- (if
- (tee_local $0
- (i32.load offset=20
- (get_local $4)
- )
- )
(if
- (i32.lt_u
- (get_local $0)
- (i32.load
- (i32.const 192)
+ (tee_local $0
+ (i32.load offset=20
+ (get_local $4)
)
)
- (call $_abort)
- (block
- (i32.store offset=20
- (get_local $11)
+ (if
+ (i32.lt_u
(get_local $0)
+ (i32.load
+ (i32.const 192)
+ )
)
- (i32.store offset=24
- (get_local $0)
- (get_local $11)
+ (call $_abort)
+ (block
+ (i32.store offset=20
+ (get_local $11)
+ (get_local $0)
+ )
+ (i32.store offset=24
+ (get_local $0)
+ (get_local $11)
+ )
)
)
)
)
)
)
- )
- (block $do-once25
- (if
- (i32.lt_u
- (get_local $3)
- (i32.const 16)
- )
- (block
- (i32.store offset=4
- (get_local $4)
- (i32.or
- (tee_local $0
- (i32.add
- (get_local $3)
- (get_local $2)
+ (block $do-once25
+ (if
+ (i32.lt_u
+ (get_local $3)
+ (i32.const 16)
+ )
+ (block
+ (i32.store offset=4
+ (get_local $4)
+ (i32.or
+ (tee_local $0
+ (i32.add
+ (get_local $3)
+ (get_local $2)
+ )
)
+ (i32.const 3)
)
- (i32.const 3)
)
- )
- (i32.store
- (tee_local $0
- (i32.add
+ (i32.store
+ (tee_local $0
(i32.add
- (get_local $4)
- (get_local $0)
+ (i32.add
+ (get_local $4)
+ (get_local $0)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (i32.or
- (i32.load
- (get_local $0)
+ (i32.or
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 1)
)
- (i32.const 1)
- )
- )
- )
- (block
- (i32.store offset=4
- (get_local $4)
- (i32.or
- (get_local $2)
- (i32.const 3)
)
)
- (i32.store offset=4
- (get_local $6)
- (i32.or
- (get_local $3)
- (i32.const 1)
+ (block
+ (i32.store offset=4
+ (get_local $4)
+ (i32.or
+ (get_local $2)
+ (i32.const 3)
+ )
)
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $6)
- (get_local $3)
+ (i32.or
+ (get_local $3)
+ (i32.const 1)
+ )
)
- (get_local $3)
- )
- (set_local $0
- (i32.shr_u
+ (i32.store
+ (i32.add
+ (get_local $6)
+ (get_local $3)
+ )
(get_local $3)
- (i32.const 3)
)
- )
- (if
- (i32.lt_u
- (get_local $3)
- (i32.const 256)
+ (set_local $0
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 3)
+ )
)
- (block
- (set_local $3
- (i32.add
- (i32.shl
- (get_local $0)
- (i32.const 3)
- )
- (i32.const 216)
- )
+ (if
+ (i32.lt_u
+ (get_local $3)
+ (i32.const 256)
)
- (if
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 176)
- )
- )
- (tee_local $0
+ (block
+ (set_local $3
+ (i32.add
(i32.shl
- (i32.const 1)
(get_local $0)
+ (i32.const 3)
)
+ (i32.const 216)
)
)
(if
- (i32.lt_u
- (tee_local $0
+ (i32.and
+ (tee_local $1
(i32.load
- (tee_local $1
- (i32.add
- (get_local $3)
- (i32.const 8)
+ (i32.const 176)
+ )
+ )
+ (tee_local $0
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $0
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 192)
+ )
)
- (i32.load
- (i32.const 192)
+ (call $_abort)
+ (block
+ (set_local $13
+ (get_local $1)
+ )
+ (set_local $5
+ (get_local $0)
+ )
)
)
- (call $_abort)
(block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $1)
+ (get_local $0)
+ )
+ )
(set_local $13
- (get_local $1)
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
)
(set_local $5
- (get_local $0)
- )
- )
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $1)
- (get_local $0)
- )
- )
- (set_local $13
- (i32.add
(get_local $3)
- (i32.const 8)
)
)
- (set_local $5
- (get_local $3)
- )
)
+ (i32.store
+ (get_local $13)
+ (get_local $6)
+ )
+ (i32.store offset=12
+ (get_local $5)
+ (get_local $6)
+ )
+ (i32.store offset=8
+ (get_local $6)
+ (get_local $5)
+ )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $3)
+ )
+ (br $do-once25)
)
- (i32.store
- (get_local $13)
- (get_local $6)
- )
- (i32.store offset=12
- (get_local $5)
- (get_local $6)
- )
- (i32.store offset=8
- (get_local $6)
- (get_local $5)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $3)
- )
- (br $do-once25)
)
- )
- (set_local $2
- (i32.add
- (i32.shl
- (tee_local $7
- (if (result i32)
- (tee_local $0
- (i32.shr_u
- (get_local $3)
- (i32.const 8)
- )
- )
+ (set_local $2
+ (i32.add
+ (i32.shl
+ (tee_local $7
(if (result i32)
- (i32.gt_u
- (get_local $3)
- (i32.const 16777215)
+ (tee_local $0
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 8)
+ )
)
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $3)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (if (result i32)
+ (i32.gt_u
+ (get_local $3)
+ (i32.const 16777215)
+ )
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $3)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $0)
- (tee_local $2
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
+ (i32.or
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $0)
+ (tee_local $2
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 520192)
)
- (i32.const 520192)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 4)
)
- (i32.const 4)
)
+ (get_local $2)
)
- (get_local $2)
- )
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
+ )
)
+ (i32.const 245760)
)
- (i32.const 245760)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (i32.shr_u
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
+ (i32.const 0)
)
- (i32.const 0)
)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 480)
)
- (i32.const 480)
)
- )
- (i32.store offset=28
- (get_local $6)
- (get_local $7)
- )
- (i32.store offset=4
- (tee_local $0
- (i32.add
- (get_local $6)
- (i32.const 16)
+ (i32.store offset=28
+ (get_local $6)
+ (get_local $7)
+ )
+ (i32.store offset=4
+ (tee_local $0
+ (i32.add
+ (get_local $6)
+ (i32.const 16)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (i32.store
- (get_local $0)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 180)
+ (i32.store
+ (get_local $0)
+ (i32.const 0)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (i32.const 180)
+ )
)
- )
- (tee_local $0
- (i32.shl
- (i32.const 1)
- (get_local $7)
+ (tee_local $0
+ (i32.shl
+ (i32.const 1)
+ (get_local $7)
+ )
)
)
)
- )
- (block
- (i32.store
- (i32.const 180)
- (i32.or
- (get_local $1)
- (get_local $0)
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.or
+ (get_local $1)
+ (get_local $0)
+ )
)
+ (i32.store
+ (get_local $2)
+ (get_local $6)
+ )
+ (i32.store offset=24
+ (get_local $6)
+ (get_local $2)
+ )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $6)
+ )
+ (i32.store offset=8
+ (get_local $6)
+ (get_local $6)
+ )
+ (br $do-once25)
)
- (i32.store
- (get_local $2)
- (get_local $6)
- )
- (i32.store offset=24
- (get_local $6)
- (get_local $2)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $6)
- )
- (i32.store offset=8
- (get_local $6)
- (get_local $6)
- )
- (br $do-once25)
)
- )
- (set_local $7
- (i32.shl
- (get_local $3)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
+ (set_local $7
+ (i32.shl
+ (get_local $3)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $7)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
(get_local $7)
- (i32.const 1)
+ (i32.const 31)
)
)
- (i32.eq
- (get_local $7)
- (i32.const 31)
- )
)
)
- )
- (set_local $0
- (i32.load
- (get_local $2)
+ (set_local $0
+ (i32.load
+ (get_local $2)
+ )
)
- )
- (block $__rjto$1
- (block $__rjti$1
- (loop $while-in28
- (br_if $__rjti$1
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $0)
+ (block $__rjto$1
+ (block $__rjti$1
+ (loop $while-in28
+ (br_if $__rjti$1
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $0)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $3)
)
- (get_local $3)
)
- )
- (set_local $2
- (i32.shl
- (get_local $7)
- (i32.const 1)
+ (set_local $2
+ (i32.shl
+ (get_local $7)
+ (i32.const 1)
+ )
)
- )
- (if
- (tee_local $1
- (i32.load
- (tee_local $7
- (i32.add
+ (if
+ (tee_local $1
+ (i32.load
+ (tee_local $7
(i32.add
- (get_local $0)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $7)
- (i32.const 31)
+ (i32.add
+ (get_local $0)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $7)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
+ (block
+ (set_local $7
+ (get_local $2)
+ )
+ (set_local $0
+ (get_local $1)
+ )
+ (br $while-in28)
+ )
)
+ )
+ (if
+ (i32.lt_u
+ (get_local $7)
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ (call $_abort)
(block
- (set_local $7
- (get_local $2)
+ (i32.store
+ (get_local $7)
+ (get_local $6)
)
- (set_local $0
- (get_local $1)
+ (i32.store offset=24
+ (get_local $6)
+ (get_local $0)
)
- (br $while-in28)
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $6)
+ )
+ (i32.store offset=8
+ (get_local $6)
+ (get_local $6)
+ )
+ (br $do-once25)
)
)
+ (br $__rjto$1)
)
(if
- (i32.lt_u
- (get_local $7)
- (i32.load
- (i32.const 192)
+ (i32.and
+ (i32.ge_u
+ (tee_local $2
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (tee_local $1
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (i32.ge_u
+ (get_local $0)
+ (get_local $1)
)
)
- (call $_abort)
(block
+ (i32.store offset=12
+ (get_local $2)
+ (get_local $6)
+ )
(i32.store
- (get_local $7)
+ (get_local $3)
(get_local $6)
)
- (i32.store offset=24
+ (i32.store offset=8
(get_local $6)
- (get_local $0)
+ (get_local $2)
)
(i32.store offset=12
(get_local $6)
- (get_local $6)
+ (get_local $0)
)
- (i32.store offset=8
- (get_local $6)
+ (i32.store offset=24
(get_local $6)
+ (i32.const 0)
)
- (br $do-once25)
- )
- )
- (br $__rjto$1)
- )
- (if
- (i32.and
- (i32.ge_u
- (tee_local $2
- (i32.load
- (tee_local $3
- (i32.add
- (get_local $0)
- (i32.const 8)
- )
- )
- )
- )
- (tee_local $1
- (i32.load
- (i32.const 192)
- )
- )
- )
- (i32.ge_u
- (get_local $0)
- (get_local $1)
- )
- )
- (block
- (i32.store offset=12
- (get_local $2)
- (get_local $6)
- )
- (i32.store
- (get_local $3)
- (get_local $6)
- )
- (i32.store offset=8
- (get_local $6)
- (get_local $2)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $0)
- )
- (i32.store offset=24
- (get_local $6)
- (i32.const 0)
)
+ (call $_abort)
)
- (call $_abort)
)
)
)
)
- )
- (return
- (i32.add
- (get_local $4)
- (i32.const 8)
+ (return
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
)
)
+ (set_local $0
+ (get_local $2)
+ )
)
(set_local $0
(get_local $2)
)
)
- (set_local $0
- (get_local $2)
- )
)
- )
- (set_local $0
- (get_local $2)
+ (set_local $0
+ (get_local $2)
+ )
)
)
)
)
)
- )
- (if
- (i32.ge_u
- (tee_local $1
- (i32.load
- (i32.const 184)
- )
- )
- (get_local $0)
- )
- (block
- (set_local $2
- (i32.load
- (i32.const 196)
+ (if
+ (i32.ge_u
+ (tee_local $1
+ (i32.load
+ (i32.const 184)
+ )
)
+ (get_local $0)
)
- (if
- (i32.gt_u
- (tee_local $3
- (i32.sub
- (get_local $1)
- (get_local $0)
- )
+ (block
+ (set_local $2
+ (i32.load
+ (i32.const 196)
)
- (i32.const 15)
)
- (block
- (i32.store
- (i32.const 196)
- (tee_local $1
- (i32.add
- (get_local $2)
+ (if
+ (i32.gt_u
+ (tee_local $3
+ (i32.sub
+ (get_local $1)
(get_local $0)
)
)
+ (i32.const 15)
)
- (i32.store
- (i32.const 184)
- (get_local $3)
- )
- (i32.store offset=4
- (get_local $1)
- (i32.or
+ (block
+ (i32.store
+ (i32.const 196)
+ (tee_local $1
+ (i32.add
+ (get_local $2)
+ (get_local $0)
+ )
+ )
+ )
+ (i32.store
+ (i32.const 184)
(get_local $3)
- (i32.const 1)
)
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $1)
+ (i32.or
+ (get_local $3)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
+ (get_local $1)
+ (get_local $3)
+ )
(get_local $3)
)
- (get_local $3)
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $0)
- (i32.const 3)
+ (i32.store offset=4
+ (get_local $2)
+ (i32.or
+ (get_local $0)
+ (i32.const 3)
+ )
)
)
- )
- (block
- (i32.store
- (i32.const 184)
- (i32.const 0)
- )
- (i32.store
- (i32.const 196)
- (i32.const 0)
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $1)
- (i32.const 3)
+ (block
+ (i32.store
+ (i32.const 184)
+ (i32.const 0)
)
- )
- (i32.store
- (tee_local $0
- (i32.add
+ (i32.store
+ (i32.const 196)
+ (i32.const 0)
+ )
+ (i32.store offset=4
+ (get_local $2)
+ (i32.or
+ (get_local $1)
+ (i32.const 3)
+ )
+ )
+ (i32.store
+ (tee_local $0
(i32.add
- (get_local $2)
- (get_local $1)
+ (i32.add
+ (get_local $2)
+ (get_local $1)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (i32.or
- (i32.load
- (get_local $0)
+ (i32.or
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const 1)
)
- (i32.const 1)
)
)
)
- )
- (return
- (i32.add
- (get_local $2)
- (i32.const 8)
+ (return
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
)
)
)
- )
- (if
- (i32.gt_u
- (tee_local $1
- (i32.load
- (i32.const 188)
+ (br_if $folding-inner0
+ (i32.gt_u
+ (tee_local $1
+ (i32.load
+ (i32.const 188)
+ )
)
+ (get_local $0)
)
- (get_local $0)
)
- (block
- (i32.store
- (i32.const 188)
- (tee_local $3
- (i32.sub
- (get_local $1)
- (get_local $0)
- )
+ (if
+ (i32.eqz
+ (i32.load
+ (i32.const 648)
)
)
- (i32.store
- (i32.const 200)
- (tee_local $1
+ (if
+ (i32.and
(i32.add
- (tee_local $2
- (i32.load
- (i32.const 200)
+ (tee_local $1
+ (call $_sysconf
+ (i32.const 30)
)
)
- (get_local $0)
- )
- )
- )
- (i32.store offset=4
- (get_local $1)
- (i32.or
- (get_local $3)
- (i32.const 1)
- )
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $0)
- (i32.const 3)
- )
- )
- (return
- (i32.add
- (get_local $2)
- (i32.const 8)
- )
- )
- )
- )
- (if
- (i32.eqz
- (i32.load
- (i32.const 648)
- )
- )
- (if
- (i32.and
- (i32.add
- (tee_local $1
- (call $_sysconf
- (i32.const 30)
- )
+ (i32.const -1)
)
- (i32.const -1)
- )
- (get_local $1)
- )
- (call $_abort)
- (block
- (i32.store
- (i32.const 656)
(get_local $1)
)
- (i32.store
- (i32.const 652)
- (get_local $1)
- )
- (i32.store
- (i32.const 660)
- (i32.const -1)
- )
- (i32.store
- (i32.const 664)
- (i32.const -1)
- )
- (i32.store
- (i32.const 668)
- (i32.const 0)
- )
- (i32.store
- (i32.const 620)
- (i32.const 0)
- )
- (i32.store
- (i32.const 648)
- (i32.xor
- (i32.and
- (call $_time
- (i32.const 0)
+ (call $_abort)
+ (block
+ (i32.store
+ (i32.const 656)
+ (get_local $1)
+ )
+ (i32.store
+ (i32.const 652)
+ (get_local $1)
+ )
+ (i32.store
+ (i32.const 660)
+ (i32.const -1)
+ )
+ (i32.store
+ (i32.const 664)
+ (i32.const -1)
+ )
+ (i32.store
+ (i32.const 668)
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 620)
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 648)
+ (i32.xor
+ (i32.and
+ (call $_time
+ (i32.const 0)
+ )
+ (i32.const -16)
)
- (i32.const -16)
+ (i32.const 1431655768)
)
- (i32.const 1431655768)
)
)
)
)
- )
- (if
- (i32.le_u
- (tee_local $5
- (i32.and
- (tee_local $6
- (i32.add
- (tee_local $1
- (i32.load
- (i32.const 656)
+ (if
+ (i32.le_u
+ (tee_local $5
+ (i32.and
+ (tee_local $6
+ (i32.add
+ (tee_local $1
+ (i32.load
+ (i32.const 656)
+ )
)
- )
- (tee_local $8
- (i32.add
- (get_local $0)
- (i32.const 47)
+ (tee_local $8
+ (i32.add
+ (get_local $0)
+ (i32.const 47)
+ )
)
)
)
- )
- (tee_local $9
- (i32.sub
- (i32.const 0)
- (get_local $1)
+ (tee_local $9
+ (i32.sub
+ (i32.const 0)
+ (get_local $1)
+ )
)
)
)
+ (get_local $0)
)
- (get_local $0)
- )
- (return
- (i32.const 0)
- )
- )
- (if
- (tee_local $2
- (i32.load
- (i32.const 616)
+ (return
+ (i32.const 0)
)
)
(if
- (i32.or
- (i32.le_u
- (tee_local $1
- (i32.add
- (tee_local $3
- (i32.load
- (i32.const 608)
+ (tee_local $2
+ (i32.load
+ (i32.const 616)
+ )
+ )
+ (if
+ (i32.or
+ (i32.le_u
+ (tee_local $1
+ (i32.add
+ (tee_local $3
+ (i32.load
+ (i32.const 608)
+ )
)
+ (get_local $5)
)
- (get_local $5)
)
+ (get_local $3)
+ )
+ (i32.gt_u
+ (get_local $1)
+ (get_local $2)
)
- (get_local $3)
)
- (i32.gt_u
- (get_local $1)
- (get_local $2)
+ (return
+ (i32.const 0)
)
)
- (return
- (i32.const 0)
- )
)
- )
- (set_local $11
- (i32.add
- (get_local $0)
- (i32.const 48)
+ (set_local $11
+ (i32.add
+ (get_local $0)
+ (i32.const 48)
+ )
)
- )
- (block $__rjto$13
- (block $__rjti$13
- (if
- (i32.eqz
- (i32.and
- (i32.load
- (i32.const 620)
+ (block $__rjto$13
+ (block $__rjti$13
+ (if
+ (i32.eqz
+ (i32.and
+ (i32.load
+ (i32.const 620)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (block
- (block $label$break$L279
- (block $__rjti$5
- (block $__rjti$4
- (br_if $__rjti$4
- (i32.eqz
- (tee_local $4
- (i32.load
- (i32.const 200)
+ (block
+ (block $label$break$L279
+ (block $__rjti$5
+ (block $__rjti$4
+ (br_if $__rjti$4
+ (i32.eqz
+ (tee_local $4
+ (i32.load
+ (i32.const 200)
+ )
)
)
)
- )
- (set_local $1
- (i32.const 624)
- )
- (loop $while-in34
- (block $while-out33
- (if
- (i32.le_u
- (tee_local $3
- (i32.load
- (get_local $1)
- )
- )
- (get_local $4)
- )
+ (set_local $1
+ (i32.const 624)
+ )
+ (loop $while-in34
+ (block $while-out33
(if
- (i32.gt_u
- (i32.add
- (get_local $3)
+ (i32.le_u
+ (tee_local $3
(i32.load
- (tee_local $2
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (get_local $1)
+ )
+ )
+ (get_local $4)
+ )
+ (if
+ (i32.gt_u
+ (i32.add
+ (get_local $3)
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
+ )
)
)
)
+ (get_local $4)
+ )
+ (block
+ (set_local $4
+ (get_local $1)
+ )
+ (br $while-out33)
)
- (get_local $4)
)
- (block
- (set_local $4
+ )
+ (br_if $while-in34
+ (tee_local $1
+ (i32.load offset=8
(get_local $1)
)
- (br $while-out33)
)
)
+ (br $__rjti$4)
)
- (br_if $while-in34
- (tee_local $1
- (i32.load offset=8
- (get_local $1)
+ )
+ (if
+ (i32.lt_u
+ (tee_local $3
+ (i32.and
+ (i32.sub
+ (get_local $6)
+ (i32.load
+ (i32.const 188)
+ )
+ )
+ (get_local $9)
)
)
+ (i32.const 2147483647)
)
- (br $__rjti$4)
- )
- )
- (if
- (i32.lt_u
- (tee_local $3
- (i32.and
- (i32.sub
- (get_local $6)
+ (if
+ (i32.eq
+ (tee_local $1
+ (call $_sbrk
+ (get_local $3)
+ )
+ )
+ (i32.add
(i32.load
- (i32.const 188)
+ (get_local $4)
+ )
+ (i32.load
+ (get_local $2)
)
)
- (get_local $9)
)
- )
- (i32.const 2147483647)
- )
- (if
- (i32.eq
- (tee_local $1
- (call $_sbrk
- (get_local $3)
+ (br_if $__rjti$13
+ (i32.ne
+ (get_local $1)
+ (i32.const -1)
)
)
- (i32.add
- (i32.load
- (get_local $4)
- )
- (i32.load
- (get_local $2)
+ (block
+ (set_local $2
+ (get_local $1)
)
+ (br $__rjti$5)
)
)
- (br_if $__rjti$13
- (i32.ne
- (get_local $1)
- (i32.const -1)
- )
- )
- (block
- (set_local $2
- (get_local $1)
- )
- (set_local $1
- (get_local $3)
- )
- (br $__rjti$5)
- )
)
+ (br $label$break$L279)
)
- (br $label$break$L279)
- )
- (if
- (i32.ne
- (tee_local $1
- (call $_sbrk
- (i32.const 0)
+ (if
+ (i32.ne
+ (tee_local $1
+ (call $_sbrk
+ (i32.const 0)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
- )
- (block
- (set_local $3
- (if (result i32)
- (i32.and
- (tee_local $2
- (i32.add
- (tee_local $4
- (i32.load
- (i32.const 652)
+ (block
+ (set_local $3
+ (if (result i32)
+ (i32.and
+ (tee_local $2
+ (i32.add
+ (tee_local $4
+ (i32.load
+ (i32.const 652)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
+ )
+ (tee_local $3
+ (get_local $1)
)
)
- (tee_local $3
- (get_local $1)
- )
- )
- (i32.add
- (i32.sub
- (get_local $5)
- (get_local $3)
- )
- (i32.and
- (i32.add
- (get_local $2)
+ (i32.add
+ (i32.sub
+ (get_local $5)
(get_local $3)
)
- (i32.sub
- (i32.const 0)
- (get_local $4)
+ (i32.and
+ (i32.add
+ (get_local $2)
+ (get_local $3)
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $4)
+ )
)
)
+ (get_local $5)
)
- (get_local $5)
)
- )
- (set_local $9
- (i32.add
- (tee_local $4
- (i32.load
- (i32.const 608)
+ (set_local $9
+ (i32.add
+ (tee_local $4
+ (i32.load
+ (i32.const 608)
+ )
)
- )
- (get_local $3)
- )
- )
- (if
- (i32.and
- (i32.gt_u
- (get_local $3)
- (get_local $0)
- )
- (i32.lt_u
(get_local $3)
- (i32.const 2147483647)
)
)
- (block
- (if
- (tee_local $2
- (i32.load
- (i32.const 616)
- )
+ (if
+ (i32.and
+ (i32.gt_u
+ (get_local $3)
+ (get_local $0)
)
- (br_if $label$break$L279
- (i32.or
- (i32.le_u
- (get_local $9)
- (get_local $4)
+ (i32.lt_u
+ (get_local $3)
+ (i32.const 2147483647)
+ )
+ )
+ (block
+ (if
+ (tee_local $2
+ (i32.load
+ (i32.const 616)
)
- (i32.gt_u
- (get_local $9)
- (get_local $2)
+ )
+ (br_if $label$break$L279
+ (i32.or
+ (i32.le_u
+ (get_local $9)
+ (get_local $4)
+ )
+ (i32.gt_u
+ (get_local $9)
+ (get_local $2)
+ )
)
)
)
- )
- (br_if $__rjti$13
- (i32.eq
- (tee_local $2
- (call $_sbrk
- (get_local $3)
+ (br_if $__rjti$13
+ (i32.eq
+ (tee_local $2
+ (call $_sbrk
+ (get_local $3)
+ )
)
+ (get_local $1)
)
- (get_local $1)
)
+ (br $__rjti$5)
)
- (set_local $1
- (get_local $3)
- )
- (br $__rjti$5)
)
)
)
+ (br $label$break$L279)
)
- (br $label$break$L279)
- )
- (set_local $4
- (i32.sub
- (i32.const 0)
- (get_local $1)
+ (set_local $1
+ (get_local $3)
)
- )
- (if
- (i32.and
- (i32.gt_u
- (get_local $11)
+ (set_local $4
+ (i32.sub
+ (i32.const 0)
(get_local $1)
)
+ )
+ (if
(i32.and
- (i32.lt_u
+ (i32.gt_u
+ (get_local $11)
(get_local $1)
- (i32.const 2147483647)
)
- (i32.ne
- (get_local $2)
- (i32.const -1)
+ (i32.and
+ (i32.lt_u
+ (get_local $1)
+ (i32.const 2147483647)
+ )
+ (i32.ne
+ (get_local $2)
+ (i32.const -1)
+ )
)
)
- )
- (if
- (i32.lt_u
- (tee_local $3
- (i32.and
- (i32.add
- (i32.sub
- (get_local $8)
- (get_local $1)
- )
- (tee_local $3
- (i32.load
- (i32.const 656)
+ (if
+ (i32.lt_u
+ (tee_local $3
+ (i32.and
+ (i32.add
+ (i32.sub
+ (get_local $8)
+ (get_local $1)
)
+ (tee_local $3
+ (i32.load
+ (i32.const 656)
+ )
+ )
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $3)
)
)
- (i32.sub
- (i32.const 0)
+ )
+ (i32.const 2147483647)
+ )
+ (if
+ (i32.eq
+ (call $_sbrk
(get_local $3)
)
+ (i32.const -1)
)
- )
- (i32.const 2147483647)
- )
- (if
- (i32.eq
- (call $_sbrk
- (get_local $3)
+ (block
+ (drop
+ (call $_sbrk
+ (get_local $4)
+ )
+ )
+ (br $label$break$L279)
)
- (i32.const -1)
- )
- (block
- (drop
- (call $_sbrk
- (get_local $4)
+ (set_local $3
+ (i32.add
+ (get_local $3)
+ (get_local $1)
)
)
- (br $label$break$L279)
)
(set_local $3
- (i32.add
- (get_local $3)
- (get_local $1)
- )
+ (get_local $1)
)
)
(set_local $3
(get_local $1)
)
)
- (set_local $3
- (get_local $1)
- )
- )
- (if
- (i32.ne
- (get_local $2)
- (i32.const -1)
- )
- (block
- (set_local $1
+ (if
+ (i32.ne
(get_local $2)
+ (i32.const -1)
+ )
+ (block
+ (set_local $1
+ (get_local $2)
+ )
+ (br $__rjti$13)
)
- (br $__rjti$13)
)
)
- )
- (i32.store
- (i32.const 620)
- (i32.or
- (i32.load
- (i32.const 620)
+ (i32.store
+ (i32.const 620)
+ (i32.or
+ (i32.load
+ (i32.const 620)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $5)
- (i32.const 2147483647)
- )
(if
- (i32.and
- (i32.lt_u
- (tee_local $1
- (call $_sbrk
- (get_local $5)
+ (i32.lt_u
+ (get_local $5)
+ (i32.const 2147483647)
+ )
+ (if
+ (i32.and
+ (i32.lt_u
+ (tee_local $1
+ (call $_sbrk
+ (get_local $5)
+ )
)
- )
- (tee_local $3
- (call $_sbrk
- (i32.const 0)
+ (tee_local $3
+ (call $_sbrk
+ (i32.const 0)
+ )
)
)
- )
- (i32.and
- (i32.ne
- (get_local $1)
- (i32.const -1)
- )
- (i32.ne
- (get_local $3)
- (i32.const -1)
- )
- )
- )
- (br_if $__rjti$13
- (i32.gt_u
- (tee_local $3
- (i32.sub
- (get_local $3)
+ (i32.and
+ (i32.ne
(get_local $1)
+ (i32.const -1)
+ )
+ (i32.ne
+ (get_local $3)
+ (i32.const -1)
)
)
- (i32.add
- (get_local $0)
- (i32.const 40)
+ )
+ (br_if $__rjti$13
+ (i32.gt_u
+ (tee_local $3
+ (i32.sub
+ (get_local $3)
+ (get_local $1)
+ )
+ )
+ (i32.add
+ (get_local $0)
+ (i32.const 40)
+ )
)
)
)
)
+ (br $__rjto$13)
)
- (br $__rjto$13)
- )
- (i32.store
- (i32.const 608)
- (tee_local $2
- (i32.add
- (i32.load
- (i32.const 608)
+ (i32.store
+ (i32.const 608)
+ (tee_local $2
+ (i32.add
+ (i32.load
+ (i32.const 608)
+ )
+ (get_local $3)
)
- (get_local $3)
- )
- )
- )
- (if
- (i32.gt_u
- (get_local $2)
- (i32.load
- (i32.const 612)
)
)
- (i32.store
- (i32.const 612)
- (get_local $2)
- )
- )
- (block $do-once40
(if
- (tee_local $6
+ (i32.gt_u
+ (get_local $2)
(i32.load
- (i32.const 200)
+ (i32.const 612)
)
)
- (block
- (set_local $2
- (i32.const 624)
+ (i32.store
+ (i32.const 612)
+ (get_local $2)
+ )
+ )
+ (block $do-once40
+ (if
+ (tee_local $6
+ (i32.load
+ (i32.const 200)
+ )
)
- (block $__rjto$10
- (block $__rjti$10
- (loop $while-in45
- (br_if $__rjti$10
- (i32.eq
- (get_local $1)
- (i32.add
- (tee_local $11
- (i32.load
- (get_local $2)
+ (block
+ (set_local $2
+ (i32.const 624)
+ )
+ (block $__rjto$10
+ (block $__rjti$10
+ (loop $while-in45
+ (br_if $__rjti$10
+ (i32.eq
+ (get_local $1)
+ (i32.add
+ (tee_local $11
+ (i32.load
+ (get_local $2)
+ )
)
- )
- (tee_local $5
- (i32.load
- (tee_local $4
- (i32.add
- (get_local $2)
- (i32.const 4)
+ (tee_local $5
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (get_local $2)
+ (i32.const 4)
+ )
)
)
)
)
)
)
- )
- (br_if $while-in45
- (tee_local $2
- (i32.load offset=8
- (get_local $2)
+ (br_if $while-in45
+ (tee_local $2
+ (i32.load offset=8
+ (get_local $2)
+ )
)
)
)
- )
- (br $__rjto$10)
- )
- (if
- (i32.eqz
- (i32.and
- (i32.load offset=12
- (get_local $2)
- )
- (i32.const 8)
- )
+ (br $__rjto$10)
)
(if
- (i32.and
- (i32.lt_u
- (get_local $6)
- (get_local $1)
- )
- (i32.ge_u
- (get_local $6)
- (get_local $11)
+ (i32.eqz
+ (i32.and
+ (i32.load offset=12
+ (get_local $2)
+ )
+ (i32.const 8)
)
)
- (block
- (i32.store
- (get_local $4)
- (i32.add
- (get_local $5)
- (get_local $3)
+ (if
+ (i32.and
+ (i32.lt_u
+ (get_local $6)
+ (get_local $1)
)
- )
- (set_local $2
- (i32.add
+ (i32.ge_u
(get_local $6)
- (tee_local $1
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $1
- (i32.add
- (get_local $6)
- (i32.const 8)
+ (get_local $11)
+ )
+ )
+ (block
+ (i32.store
+ (get_local $4)
+ (i32.add
+ (get_local $5)
+ (get_local $3)
+ )
+ )
+ (set_local $2
+ (i32.add
+ (get_local $6)
+ (tee_local $1
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $1
+ (i32.add
+ (get_local $6)
+ (i32.const 8)
+ )
)
)
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $1)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $1)
- (i32.const 7)
)
)
)
)
- )
- (set_local $1
- (i32.add
- (i32.sub
- (get_local $3)
- (get_local $1)
- )
- (i32.load
- (i32.const 188)
+ (set_local $1
+ (i32.add
+ (i32.sub
+ (get_local $3)
+ (get_local $1)
+ )
+ (i32.load
+ (i32.const 188)
+ )
)
)
- )
- (i32.store
- (i32.const 200)
- (get_local $2)
- )
- (i32.store
- (i32.const 188)
- (get_local $1)
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
+ (i32.store
+ (i32.const 200)
+ (get_local $2)
+ )
+ (i32.store
+ (i32.const 188)
(get_local $1)
- (i32.const 1)
)
- )
- (i32.store offset=4
- (i32.add
+ (i32.store offset=4
(get_local $2)
- (get_local $1)
+ (i32.or
+ (get_local $1)
+ (i32.const 1)
+ )
)
- (i32.const 40)
- )
- (i32.store
- (i32.const 204)
- (i32.load
- (i32.const 664)
+ (i32.store offset=4
+ (i32.add
+ (get_local $2)
+ (get_local $1)
+ )
+ (i32.const 40)
)
+ (i32.store
+ (i32.const 204)
+ (i32.load
+ (i32.const 664)
+ )
+ )
+ (br $do-once40)
)
- (br $do-once40)
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $1)
- (tee_local $4
- (i32.load
+ (if
+ (i32.lt_u
+ (get_local $1)
+ (tee_local $4
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (block
+ (i32.store
(i32.const 192)
+ (get_local $1)
+ )
+ (set_local $4
+ (get_local $1)
)
)
)
- (block
- (i32.store
- (i32.const 192)
- (get_local $1)
- )
- (set_local $4
+ (set_local $11
+ (i32.add
(get_local $1)
+ (get_local $3)
)
)
- )
- (set_local $11
- (i32.add
- (get_local $1)
- (get_local $3)
+ (set_local $2
+ (i32.const 624)
)
- )
- (set_local $2
- (i32.const 624)
- )
- (block $__rjto$11
- (block $__rjti$11
- (loop $while-in47
- (if
- (i32.eq
- (i32.load
- (get_local $2)
+ (block $__rjto$11
+ (block $__rjti$11
+ (loop $while-in47
+ (if
+ (i32.eq
+ (i32.load
+ (get_local $2)
+ )
+ (get_local $11)
+ )
+ (block
+ (set_local $5
+ (get_local $2)
+ )
+ (br $__rjti$11)
)
- (get_local $11)
)
- (block
- (set_local $5
- (get_local $2)
+ (br_if $while-in47
+ (tee_local $2
+ (i32.load offset=8
+ (get_local $2)
+ )
)
- (br $__rjti$11)
+ )
+ (set_local $4
+ (i32.const 624)
)
)
- (br_if $while-in47
- (tee_local $2
- (i32.load offset=8
- (get_local $2)
- )
+ (br $__rjto$11)
+ )
+ (if
+ (i32.and
+ (i32.load offset=12
+ (get_local $2)
)
+ (i32.const 8)
)
(set_local $4
(i32.const 624)
)
- )
- (br $__rjto$11)
- )
- (if
- (i32.and
- (i32.load offset=12
- (get_local $2)
- )
- (i32.const 8)
- )
- (set_local $4
- (i32.const 624)
- )
- (block
- (i32.store
- (get_local $5)
- (get_local $1)
- )
- (i32.store
- (tee_local $2
- (i32.add
- (get_local $2)
- (i32.const 4)
- )
- )
- (i32.add
- (i32.load
- (get_local $2)
- )
- (get_local $3)
+ (block
+ (i32.store
+ (get_local $5)
+ (get_local $1)
)
- )
- (set_local $8
- (i32.add
- (tee_local $9
+ (i32.store
+ (tee_local $2
(i32.add
- (get_local $1)
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $1
- (i32.add
- (get_local $1)
- (i32.const 8)
- )
- )
- )
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $1)
- (i32.const 7)
- )
- )
+ (get_local $2)
+ (i32.const 4)
)
)
- (get_local $0)
+ (i32.add
+ (i32.load
+ (get_local $2)
+ )
+ (get_local $3)
+ )
)
- )
- (set_local $7
- (i32.sub
- (i32.sub
- (tee_local $5
+ (set_local $8
+ (i32.add
+ (tee_local $9
(i32.add
- (get_local $11)
+ (get_local $1)
(select
(i32.and
(i32.sub
(i32.const 0)
(tee_local $1
(i32.add
- (get_local $11)
+ (get_local $1)
(i32.const 8)
)
)
@@ -11397,1919 +11292,1948 @@
)
)
)
- (get_local $9)
+ (get_local $0)
)
- (get_local $0)
- )
- )
- (i32.store offset=4
- (get_local $9)
- (i32.or
- (get_local $0)
- (i32.const 3)
)
- )
- (block $do-once48
- (if
- (i32.eq
- (get_local $5)
- (get_local $6)
- )
- (block
- (i32.store
- (i32.const 188)
- (tee_local $0
+ (set_local $7
+ (i32.sub
+ (i32.sub
+ (tee_local $5
(i32.add
- (i32.load
- (i32.const 188)
+ (get_local $11)
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $1
+ (i32.add
+ (get_local $11)
+ (i32.const 8)
+ )
+ )
+ )
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $1)
+ (i32.const 7)
+ )
)
- (get_local $7)
)
)
+ (get_local $9)
)
- (i32.store
- (i32.const 200)
- (get_local $8)
+ (get_local $0)
+ )
+ )
+ (i32.store offset=4
+ (get_local $9)
+ (i32.or
+ (get_local $0)
+ (i32.const 3)
+ )
+ )
+ (block $do-once48
+ (if
+ (i32.eq
+ (get_local $5)
+ (get_local $6)
)
- (i32.store offset=4
- (get_local $8)
- (i32.or
- (get_local $0)
- (i32.const 1)
+ (block
+ (i32.store
+ (i32.const 188)
+ (tee_local $0
+ (i32.add
+ (i32.load
+ (i32.const 188)
+ )
+ (get_local $7)
+ )
+ )
)
- )
- )
- (block
- (if
- (i32.eq
- (get_local $5)
- (i32.load
- (i32.const 196)
+ (i32.store
+ (i32.const 200)
+ (get_local $8)
+ )
+ (i32.store offset=4
+ (get_local $8)
+ (i32.or
+ (get_local $0)
+ (i32.const 1)
)
)
- (block
- (i32.store
- (i32.const 184)
- (tee_local $0
- (i32.add
- (i32.load
- (i32.const 184)
+ )
+ (block
+ (if
+ (i32.eq
+ (get_local $5)
+ (i32.load
+ (i32.const 196)
+ )
+ )
+ (block
+ (i32.store
+ (i32.const 184)
+ (tee_local $0
+ (i32.add
+ (i32.load
+ (i32.const 184)
+ )
+ (get_local $7)
)
- (get_local $7)
)
)
- )
- (i32.store
- (i32.const 196)
- (get_local $8)
- )
- (i32.store offset=4
- (get_local $8)
- (i32.or
- (get_local $0)
- (i32.const 1)
+ (i32.store
+ (i32.const 196)
+ (get_local $8)
)
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $8)
+ (i32.or
+ (get_local $0)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
+ (get_local $8)
+ (get_local $0)
+ )
(get_local $0)
)
- (get_local $0)
+ (br $do-once48)
)
- (br $do-once48)
)
- )
- (i32.store
- (tee_local $0
- (i32.add
- (tee_local $0
- (if (result i32)
- (i32.eq
- (i32.and
- (tee_local $0
- (i32.load offset=4
- (get_local $5)
- )
- )
- (i32.const 3)
- )
- (i32.const 1)
- )
- (block (result i32)
- (set_local $11
+ (i32.store
+ (tee_local $0
+ (i32.add
+ (tee_local $0
+ (if (result i32)
+ (i32.eq
(i32.and
- (get_local $0)
- (i32.const -8)
- )
- )
- (set_local $1
- (i32.shr_u
- (get_local $0)
+ (tee_local $0
+ (i32.load offset=4
+ (get_local $5)
+ )
+ )
(i32.const 3)
)
+ (i32.const 1)
)
- (block $label$break$L331
- (if
- (i32.lt_u
+ (block (result i32)
+ (set_local $11
+ (i32.and
(get_local $0)
- (i32.const 256)
+ (i32.const -8)
)
- (block
- (set_local $2
- (i32.load offset=12
- (get_local $5)
- )
+ )
+ (set_local $1
+ (i32.shr_u
+ (get_local $0)
+ (i32.const 3)
+ )
+ )
+ (block $label$break$L331
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (i32.const 256)
)
- (block $do-once51
- (if
- (i32.ne
- (tee_local $3
- (i32.load offset=8
- (get_local $5)
- )
- )
- (tee_local $0
- (i32.add
- (i32.shl
- (get_local $1)
- (i32.const 3)
+ (block
+ (set_local $2
+ (i32.load offset=12
+ (get_local $5)
+ )
+ )
+ (block $do-once51
+ (if
+ (i32.ne
+ (tee_local $3
+ (i32.load offset=8
+ (get_local $5)
)
- (i32.const 216)
)
- )
- )
- (block
- (if
- (i32.lt_u
- (get_local $3)
- (get_local $4)
+ (tee_local $0
+ (i32.add
+ (i32.shl
+ (get_local $1)
+ (i32.const 3)
+ )
+ (i32.const 216)
+ )
)
- (call $_abort)
)
- (br_if $do-once51
- (i32.eq
- (i32.load offset=12
+ (block
+ (if
+ (i32.lt_u
(get_local $3)
+ (get_local $4)
)
- (get_local $5)
+ (call $_abort)
)
- )
- (call $_abort)
- )
- )
- )
- (if
- (i32.eq
- (get_local $2)
- (get_local $3)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.and
- (i32.load
- (i32.const 176)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $1)
+ (br_if $do-once51
+ (i32.eq
+ (i32.load offset=12
+ (get_local $3)
+ )
+ (get_local $5)
)
- (i32.const -1)
)
+ (call $_abort)
)
)
- (br $label$break$L331)
)
- )
- (block $do-once53
(if
(i32.eq
(get_local $2)
- (get_local $0)
+ (get_local $3)
)
- (set_local $15
- (i32.add
- (get_local $2)
- (i32.const 8)
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.and
+ (i32.load
+ (i32.const 176)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $1)
+ )
+ (i32.const -1)
+ )
+ )
)
+ (br $label$break$L331)
)
- (block
- (if
- (i32.lt_u
+ )
+ (block $do-once53
+ (if
+ (i32.eq
+ (get_local $2)
+ (get_local $0)
+ )
+ (set_local $15
+ (i32.add
(get_local $2)
- (get_local $4)
+ (i32.const 8)
)
- (call $_abort)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $2)
- (i32.const 8)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $2)
+ (get_local $4)
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
)
)
+ (get_local $5)
)
- (get_local $5)
- )
- (block
- (set_local $15
- (get_local $0)
+ (block
+ (set_local $15
+ (get_local $0)
+ )
+ (br $do-once53)
)
- (br $do-once53)
)
+ (call $_abort)
)
- (call $_abort)
)
)
- )
- (i32.store offset=12
- (get_local $3)
- (get_local $2)
- )
- (i32.store
- (get_local $15)
- (get_local $3)
- )
- )
- (block
- (set_local $6
- (i32.load offset=24
- (get_local $5)
+ (i32.store offset=12
+ (get_local $3)
+ (get_local $2)
+ )
+ (i32.store
+ (get_local $15)
+ (get_local $3)
)
)
- (block $do-once55
- (if
- (i32.eq
- (tee_local $0
- (i32.load offset=12
- (get_local $5)
- )
- )
+ (block
+ (set_local $6
+ (i32.load offset=24
(get_local $5)
)
- (block
- (if
- (i32.eqz
- (tee_local $1
- (i32.load
- (tee_local $0
- (i32.add
- (tee_local $3
- (i32.add
- (get_local $5)
- (i32.const 16)
+ )
+ (block $do-once55
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=12
+ (get_local $5)
+ )
+ )
+ (get_local $5)
+ )
+ (block
+ (if
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (tee_local $3
+ (i32.add
+ (get_local $5)
+ (i32.const 16)
+ )
)
+ (i32.const 4)
)
- (i32.const 4)
)
)
)
)
- )
- (if
- (tee_local $1
- (i32.load
+ (if
+ (tee_local $1
+ (i32.load
+ (get_local $3)
+ )
+ )
+ (set_local $0
(get_local $3)
)
+ (block
+ (set_local $12
+ (i32.const 0)
+ )
+ (br $do-once55)
+ )
)
- (set_local $0
- (get_local $3)
+ )
+ (loop $while-in58
+ (if
+ (tee_local $3
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $1)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $1
+ (get_local $3)
+ )
+ (set_local $0
+ (get_local $2)
+ )
+ (br $while-in58)
+ )
+ )
+ (if
+ (tee_local $3
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $1
+ (get_local $3)
+ )
+ (set_local $0
+ (get_local $2)
+ )
+ (br $while-in58)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (get_local $4)
)
+ (call $_abort)
(block
- (set_local $12
+ (i32.store
+ (get_local $0)
(i32.const 0)
)
- (br $do-once55)
+ (set_local $12
+ (get_local $1)
+ )
)
)
)
- (loop $while-in58
+ (block
(if
- (tee_local $3
+ (i32.lt_u
+ (tee_local $2
+ (i32.load offset=8
+ (get_local $5)
+ )
+ )
+ (get_local $4)
+ )
+ (call $_abort)
+ )
+ (if
+ (i32.ne
(i32.load
- (tee_local $2
+ (tee_local $3
(i32.add
- (get_local $1)
- (i32.const 20)
+ (get_local $2)
+ (i32.const 12)
)
)
)
+ (get_local $5)
)
- (block
- (set_local $1
- (get_local $3)
- )
- (set_local $0
- (get_local $2)
- )
- (br $while-in58)
- )
+ (call $_abort)
)
(if
- (tee_local $3
+ (i32.eq
(i32.load
- (tee_local $2
+ (tee_local $1
(i32.add
- (get_local $1)
- (i32.const 16)
+ (get_local $0)
+ (i32.const 8)
)
)
)
+ (get_local $5)
)
(block
- (set_local $1
+ (i32.store
(get_local $3)
+ (get_local $0)
)
- (set_local $0
+ (i32.store
+ (get_local $1)
(get_local $2)
)
- (br $while-in58)
- )
- )
- )
- (if
- (i32.lt_u
- (get_local $0)
- (get_local $4)
- )
- (call $_abort)
- (block
- (i32.store
- (get_local $0)
- (i32.const 0)
- )
- (set_local $12
- (get_local $1)
+ (set_local $12
+ (get_local $0)
+ )
)
+ (call $_abort)
)
)
)
- (block
- (if
- (i32.lt_u
- (tee_local $2
- (i32.load offset=8
- (get_local $5)
+ )
+ (br_if $label$break$L331
+ (i32.eqz
+ (get_local $6)
+ )
+ )
+ (block $do-once59
+ (if
+ (i32.eq
+ (get_local $5)
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (i32.shl
+ (tee_local $1
+ (i32.load offset=28
+ (get_local $5)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 480)
)
)
- (get_local $4)
)
- (call $_abort)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $3
- (i32.add
- (get_local $2)
- (i32.const 12)
+ (block
+ (i32.store
+ (get_local $0)
+ (get_local $12)
+ )
+ (br_if $do-once59
+ (get_local $12)
+ )
+ (i32.store
+ (i32.const 180)
+ (i32.and
+ (i32.load
+ (i32.const 180)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $1)
)
+ (i32.const -1)
)
)
- (get_local $5)
)
- (call $_abort)
+ (br $label$break$L331)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $0)
- (i32.const 8)
- )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $6)
+ (i32.load
+ (i32.const 192)
)
)
- (get_local $5)
+ (call $_abort)
)
- (block
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $6)
+ (i32.const 16)
+ )
+ )
+ )
+ (get_local $5)
+ )
(i32.store
- (get_local $3)
(get_local $0)
+ (get_local $12)
)
- (i32.store
- (get_local $1)
- (get_local $2)
+ (i32.store offset=20
+ (get_local $6)
+ (get_local $12)
)
- (set_local $12
- (get_local $0)
+ )
+ (br_if $label$break$L331
+ (i32.eqz
+ (get_local $12)
)
)
- (call $_abort)
)
)
)
- )
- (br_if $label$break$L331
- (i32.eqz
+ (if
+ (i32.lt_u
+ (get_local $12)
+ (tee_local $1
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (call $_abort)
+ )
+ (i32.store offset=24
+ (get_local $12)
(get_local $6)
)
- )
- (block $do-once59
(if
- (i32.eq
- (get_local $5)
+ (tee_local $3
(i32.load
(tee_local $0
(i32.add
- (i32.shl
- (tee_local $1
- (i32.load offset=28
- (get_local $5)
- )
- )
- (i32.const 2)
- )
- (i32.const 480)
- )
- )
- )
- )
- (block
- (i32.store
- (get_local $0)
- (get_local $12)
- )
- (br_if $do-once59
- (get_local $12)
- )
- (i32.store
- (i32.const 180)
- (i32.and
- (i32.load
- (i32.const 180)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $1)
- )
- (i32.const -1)
+ (get_local $5)
+ (i32.const 16)
)
)
)
- (br $label$break$L331)
)
- (block
- (if
- (i32.lt_u
- (get_local $6)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
+ (if
+ (i32.lt_u
+ (get_local $3)
+ (get_local $1)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $6)
- (i32.const 16)
- )
- )
- )
- (get_local $5)
- )
- (i32.store
- (get_local $0)
- (get_local $12)
- )
- (i32.store offset=20
- (get_local $6)
+ (call $_abort)
+ (block
+ (i32.store offset=16
(get_local $12)
+ (get_local $3)
)
- )
- (br_if $label$break$L331
- (i32.eqz
+ (i32.store offset=24
+ (get_local $3)
(get_local $12)
)
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $12)
- (tee_local $1
- (i32.load
- (i32.const 192)
- )
- )
- )
- (call $_abort)
- )
- (i32.store offset=24
- (get_local $12)
- (get_local $6)
- )
- (if
- (tee_local $3
- (i32.load
+ (br_if $label$break$L331
+ (i32.eqz
(tee_local $0
- (i32.add
- (get_local $5)
- (i32.const 16)
+ (i32.load offset=4
+ (get_local $0)
)
)
)
)
(if
(i32.lt_u
- (get_local $3)
- (get_local $1)
+ (get_local $0)
+ (i32.load
+ (i32.const 192)
+ )
)
(call $_abort)
(block
- (i32.store offset=16
+ (i32.store offset=20
(get_local $12)
- (get_local $3)
+ (get_local $0)
)
(i32.store offset=24
- (get_local $3)
- (get_local $12)
- )
- )
- )
- )
- (br_if $label$break$L331
- (i32.eqz
- (tee_local $0
- (i32.load offset=4
(get_local $0)
+ (get_local $12)
)
)
)
)
- (if
- (i32.lt_u
- (get_local $0)
- (i32.load
- (i32.const 192)
- )
- )
- (call $_abort)
- (block
- (i32.store offset=20
- (get_local $12)
- (get_local $0)
- )
- (i32.store offset=24
- (get_local $0)
- (get_local $12)
- )
- )
- )
)
)
- )
- (set_local $7
+ (set_local $7
+ (i32.add
+ (get_local $11)
+ (get_local $7)
+ )
+ )
(i32.add
+ (get_local $5)
(get_local $11)
- (get_local $7)
)
)
- (i32.add
- (get_local $5)
- (get_local $11)
- )
+ (get_local $5)
)
- (get_local $5)
)
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (i32.and
- (i32.load
- (get_local $0)
+ (i32.and
+ (i32.load
+ (get_local $0)
+ )
+ (i32.const -2)
)
- (i32.const -2)
- )
- )
- (i32.store offset=4
- (get_local $8)
- (i32.or
- (get_local $7)
- (i32.const 1)
)
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $8)
- (get_local $7)
+ (i32.or
+ (get_local $7)
+ (i32.const 1)
+ )
)
- (get_local $7)
- )
- (set_local $0
- (i32.shr_u
+ (i32.store
+ (i32.add
+ (get_local $8)
+ (get_local $7)
+ )
(get_local $7)
- (i32.const 3)
)
- )
- (if
- (i32.lt_u
- (get_local $7)
- (i32.const 256)
+ (set_local $0
+ (i32.shr_u
+ (get_local $7)
+ (i32.const 3)
+ )
)
- (block
- (set_local $3
- (i32.add
- (i32.shl
- (get_local $0)
- (i32.const 3)
+ (if
+ (i32.lt_u
+ (get_local $7)
+ (i32.const 256)
+ )
+ (block
+ (set_local $3
+ (i32.add
+ (i32.shl
+ (get_local $0)
+ (i32.const 3)
+ )
+ (i32.const 216)
)
- (i32.const 216)
)
- )
- (block $do-once63
- (if
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 176)
+ (block $do-once63
+ (if
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (i32.const 176)
+ )
)
- )
- (tee_local $0
- (i32.shl
- (i32.const 1)
- (get_local $0)
+ (tee_local $0
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
+ )
)
)
- )
- (block
- (if
- (i32.ge_u
- (tee_local $0
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $3)
- (i32.const 8)
+ (block
+ (if
+ (i32.ge_u
+ (tee_local $0
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 192)
+ )
)
- (i32.load
- (i32.const 192)
+ (block
+ (set_local $16
+ (get_local $1)
+ )
+ (set_local $10
+ (get_local $0)
+ )
+ (br $do-once63)
)
)
- (block
- (set_local $16
+ (call $_abort)
+ )
+ (block
+ (i32.store
+ (i32.const 176)
+ (i32.or
(get_local $1)
- )
- (set_local $10
(get_local $0)
)
- (br $do-once63)
)
- )
- (call $_abort)
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $1)
- (get_local $0)
+ (set_local $16
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
)
- )
- (set_local $16
- (i32.add
+ (set_local $10
(get_local $3)
- (i32.const 8)
)
)
- (set_local $10
- (get_local $3)
- )
)
)
+ (i32.store
+ (get_local $16)
+ (get_local $8)
+ )
+ (i32.store offset=12
+ (get_local $10)
+ (get_local $8)
+ )
+ (i32.store offset=8
+ (get_local $8)
+ (get_local $10)
+ )
+ (i32.store offset=12
+ (get_local $8)
+ (get_local $3)
+ )
+ (br $do-once48)
)
- (i32.store
- (get_local $16)
- (get_local $8)
- )
- (i32.store offset=12
- (get_local $10)
- (get_local $8)
- )
- (i32.store offset=8
- (get_local $8)
- (get_local $10)
- )
- (i32.store offset=12
- (get_local $8)
- (get_local $3)
- )
- (br $do-once48)
)
- )
- (set_local $3
- (i32.add
- (i32.shl
- (tee_local $2
- (block $do-once65 (result i32)
- (if (result i32)
- (tee_local $0
- (i32.shr_u
- (get_local $7)
- (i32.const 8)
+ (set_local $3
+ (i32.add
+ (i32.shl
+ (tee_local $2
+ (block $do-once65 (result i32)
+ (if (result i32)
+ (tee_local $0
+ (i32.shr_u
+ (get_local $7)
+ (i32.const 8)
+ )
)
- )
- (block (result i32)
- (drop
- (br_if $do-once65
- (i32.const 31)
- (i32.gt_u
- (get_local $7)
- (i32.const 16777215)
+ (block (result i32)
+ (drop
+ (br_if $do-once65
+ (i32.const 31)
+ (i32.gt_u
+ (get_local $7)
+ (i32.const 16777215)
+ )
)
)
- )
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $7)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $7)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $0)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
+ (i32.or
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $0)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 520192)
)
- (i32.const 520192)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 4)
)
- (i32.const 4)
)
+ (get_local $3)
)
- (get_local $3)
- )
- (tee_local $0
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (tee_local $0
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
+ )
)
+ (i32.const 245760)
)
- (i32.const 245760)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $0)
+ (i32.shr_u
+ (i32.shl
+ (get_local $1)
+ (get_local $0)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
+ (i32.const 0)
)
- (i32.const 0)
)
)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 480)
)
- (i32.const 480)
)
- )
- (i32.store offset=28
- (get_local $8)
- (get_local $2)
- )
- (i32.store offset=4
- (tee_local $0
- (i32.add
- (get_local $8)
- (i32.const 16)
+ (i32.store offset=28
+ (get_local $8)
+ (get_local $2)
+ )
+ (i32.store offset=4
+ (tee_local $0
+ (i32.add
+ (get_local $8)
+ (i32.const 16)
+ )
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- (i32.store
- (get_local $0)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 180)
+ (i32.store
+ (get_local $0)
+ (i32.const 0)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $1
+ (i32.load
+ (i32.const 180)
+ )
)
- )
- (tee_local $0
- (i32.shl
- (i32.const 1)
- (get_local $2)
+ (tee_local $0
+ (i32.shl
+ (i32.const 1)
+ (get_local $2)
+ )
)
)
)
- )
- (block
- (i32.store
- (i32.const 180)
- (i32.or
- (get_local $1)
- (get_local $0)
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.or
+ (get_local $1)
+ (get_local $0)
+ )
)
+ (i32.store
+ (get_local $3)
+ (get_local $8)
+ )
+ (i32.store offset=24
+ (get_local $8)
+ (get_local $3)
+ )
+ (i32.store offset=12
+ (get_local $8)
+ (get_local $8)
+ )
+ (i32.store offset=8
+ (get_local $8)
+ (get_local $8)
+ )
+ (br $do-once48)
)
- (i32.store
- (get_local $3)
- (get_local $8)
- )
- (i32.store offset=24
- (get_local $8)
- (get_local $3)
- )
- (i32.store offset=12
- (get_local $8)
- (get_local $8)
- )
- (i32.store offset=8
- (get_local $8)
- (get_local $8)
- )
- (br $do-once48)
)
- )
- (set_local $2
- (i32.shl
- (get_local $7)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
+ (set_local $2
+ (i32.shl
+ (get_local $7)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $2)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
(get_local $2)
- (i32.const 1)
+ (i32.const 31)
)
)
- (i32.eq
- (get_local $2)
- (i32.const 31)
- )
)
)
- )
- (set_local $0
- (i32.load
- (get_local $3)
+ (set_local $0
+ (i32.load
+ (get_local $3)
+ )
)
- )
- (block $__rjto$7
- (block $__rjti$7
- (loop $while-in68
- (br_if $__rjti$7
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $0)
+ (block $__rjto$7
+ (block $__rjti$7
+ (loop $while-in68
+ (br_if $__rjti$7
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $0)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $7)
)
- (get_local $7)
)
- )
- (set_local $3
- (i32.shl
- (get_local $2)
- (i32.const 1)
+ (set_local $3
+ (i32.shl
+ (get_local $2)
+ (i32.const 1)
+ )
)
- )
- (if
- (tee_local $1
- (i32.load
- (tee_local $2
- (i32.add
+ (if
+ (tee_local $1
+ (i32.load
+ (tee_local $2
(i32.add
- (get_local $0)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $2)
- (i32.const 31)
+ (i32.add
+ (get_local $0)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $2)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
+ (block
+ (set_local $2
+ (get_local $3)
+ )
+ (set_local $0
+ (get_local $1)
+ )
+ (br $while-in68)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $2)
+ (i32.load
+ (i32.const 192)
+ )
)
+ (call $_abort)
(block
- (set_local $2
- (get_local $3)
+ (i32.store
+ (get_local $2)
+ (get_local $8)
)
- (set_local $0
- (get_local $1)
+ (i32.store offset=24
+ (get_local $8)
+ (get_local $0)
)
- (br $while-in68)
+ (i32.store offset=12
+ (get_local $8)
+ (get_local $8)
+ )
+ (i32.store offset=8
+ (get_local $8)
+ (get_local $8)
+ )
+ (br $do-once48)
)
)
+ (br $__rjto$7)
)
(if
- (i32.lt_u
- (get_local $2)
- (i32.load
- (i32.const 192)
+ (i32.and
+ (i32.ge_u
+ (tee_local $2
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $0)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (tee_local $1
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (i32.ge_u
+ (get_local $0)
+ (get_local $1)
)
)
- (call $_abort)
(block
- (i32.store
+ (i32.store offset=12
(get_local $2)
(get_local $8)
)
- (i32.store offset=24
- (get_local $8)
- (get_local $0)
- )
- (i32.store offset=12
- (get_local $8)
+ (i32.store
+ (get_local $3)
(get_local $8)
)
(i32.store offset=8
(get_local $8)
- (get_local $8)
+ (get_local $2)
)
- (br $do-once48)
- )
- )
- (br $__rjto$7)
- )
- (if
- (i32.and
- (i32.ge_u
- (tee_local $2
- (i32.load
- (tee_local $3
- (i32.add
- (get_local $0)
- (i32.const 8)
- )
- )
- )
+ (i32.store offset=12
+ (get_local $8)
+ (get_local $0)
)
- (tee_local $1
- (i32.load
- (i32.const 192)
- )
+ (i32.store offset=24
+ (get_local $8)
+ (i32.const 0)
)
)
- (i32.ge_u
- (get_local $0)
- (get_local $1)
- )
- )
- (block
- (i32.store offset=12
- (get_local $2)
- (get_local $8)
- )
- (i32.store
- (get_local $3)
- (get_local $8)
- )
- (i32.store offset=8
- (get_local $8)
- (get_local $2)
- )
- (i32.store offset=12
- (get_local $8)
- (get_local $0)
- )
- (i32.store offset=24
- (get_local $8)
- (i32.const 0)
- )
+ (call $_abort)
)
- (call $_abort)
)
)
)
)
- )
- (return
- (i32.add
- (get_local $9)
- (i32.const 8)
+ (return
+ (i32.add
+ (get_local $9)
+ (i32.const 8)
+ )
)
)
)
)
- )
- (loop $while-in70
- (block $while-out69
- (if
- (i32.le_u
- (tee_local $2
- (i32.load
- (get_local $4)
+ (loop $while-in70
+ (block $while-out69
+ (if
+ (i32.le_u
+ (tee_local $2
+ (i32.load
+ (get_local $4)
+ )
)
+ (get_local $6)
)
- (get_local $6)
- )
- (br_if $while-out69
- (i32.gt_u
- (tee_local $2
- (i32.add
- (get_local $2)
- (i32.load offset=4
- (get_local $4)
+ (br_if $while-out69
+ (i32.gt_u
+ (tee_local $2
+ (i32.add
+ (get_local $2)
+ (i32.load offset=4
+ (get_local $4)
+ )
)
)
+ (get_local $6)
)
- (get_local $6)
)
)
- )
- (set_local $4
- (i32.load offset=8
- (get_local $4)
+ (set_local $4
+ (i32.load offset=8
+ (get_local $4)
+ )
)
+ (br $while-in70)
)
- (br $while-in70)
)
- )
- (set_local $10
- (i32.add
- (tee_local $4
- (i32.add
- (get_local $2)
- (i32.const -47)
+ (set_local $10
+ (i32.add
+ (tee_local $4
+ (i32.add
+ (get_local $2)
+ (i32.const -47)
+ )
)
+ (i32.const 8)
)
- (i32.const 8)
)
- )
- (set_local $12
- (i32.add
- (tee_local $11
- (select
- (get_local $6)
- (tee_local $4
- (i32.add
- (get_local $4)
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
+ (set_local $12
+ (i32.add
+ (tee_local $11
+ (select
+ (get_local $6)
+ (tee_local $4
+ (i32.add
+ (get_local $4)
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (get_local $10)
+ )
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
(get_local $10)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $10)
- (i32.const 7)
)
)
)
- )
- (i32.lt_u
- (get_local $4)
- (tee_local $10
- (i32.add
- (get_local $6)
- (i32.const 16)
+ (i32.lt_u
+ (get_local $4)
+ (tee_local $10
+ (i32.add
+ (get_local $6)
+ (i32.const 16)
+ )
)
)
)
)
+ (i32.const 8)
)
- (i32.const 8)
)
- )
- (i32.store
- (i32.const 200)
- (tee_local $5
- (i32.add
- (get_local $1)
- (tee_local $4
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $4
- (i32.add
- (get_local $1)
- (i32.const 8)
+ (i32.store
+ (i32.const 200)
+ (tee_local $5
+ (i32.add
+ (get_local $1)
+ (tee_local $4
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $4
+ (i32.add
+ (get_local $1)
+ (i32.const 8)
+ )
)
)
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $4)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $4)
- (i32.const 7)
)
)
)
)
)
- )
- (i32.store
- (i32.const 188)
- (tee_local $4
- (i32.sub
- (i32.add
- (get_local $3)
- (i32.const -40)
+ (i32.store
+ (i32.const 188)
+ (tee_local $4
+ (i32.sub
+ (i32.add
+ (get_local $3)
+ (i32.const -40)
+ )
+ (get_local $4)
)
+ )
+ )
+ (i32.store offset=4
+ (get_local $5)
+ (i32.or
(get_local $4)
+ (i32.const 1)
)
)
- )
- (i32.store offset=4
- (get_local $5)
- (i32.or
- (get_local $4)
- (i32.const 1)
+ (i32.store offset=4
+ (i32.add
+ (get_local $5)
+ (get_local $4)
+ )
+ (i32.const 40)
)
- )
- (i32.store offset=4
- (i32.add
- (get_local $5)
- (get_local $4)
+ (i32.store
+ (i32.const 204)
+ (i32.load
+ (i32.const 664)
+ )
)
- (i32.const 40)
- )
- (i32.store
- (i32.const 204)
- (i32.load
- (i32.const 664)
+ (i32.store
+ (tee_local $4
+ (i32.add
+ (get_local $11)
+ (i32.const 4)
+ )
+ )
+ (i32.const 27)
)
- )
- (i32.store
- (tee_local $4
- (i32.add
- (get_local $11)
- (i32.const 4)
+ (i32.store
+ (get_local $12)
+ (i32.load
+ (i32.const 624)
)
)
- (i32.const 27)
- )
- (i32.store
- (get_local $12)
- (i32.load
+ (i32.store offset=4
+ (get_local $12)
+ (i32.load
+ (i32.const 628)
+ )
+ )
+ (i32.store offset=8
+ (get_local $12)
+ (i32.load
+ (i32.const 632)
+ )
+ )
+ (i32.store offset=12
+ (get_local $12)
+ (i32.load
+ (i32.const 636)
+ )
+ )
+ (i32.store
(i32.const 624)
+ (get_local $1)
)
- )
- (i32.store offset=4
- (get_local $12)
- (i32.load
+ (i32.store
(i32.const 628)
+ (get_local $3)
)
- )
- (i32.store offset=8
- (get_local $12)
- (i32.load
- (i32.const 632)
- )
- )
- (i32.store offset=12
- (get_local $12)
- (i32.load
+ (i32.store
(i32.const 636)
+ (i32.const 0)
)
- )
- (i32.store
- (i32.const 624)
- (get_local $1)
- )
- (i32.store
- (i32.const 628)
- (get_local $3)
- )
- (i32.store
- (i32.const 636)
- (i32.const 0)
- )
- (i32.store
- (i32.const 632)
- (get_local $12)
- )
- (set_local $1
- (i32.add
- (get_local $11)
- (i32.const 24)
- )
- )
- (loop $while-in72
(i32.store
- (tee_local $1
- (i32.add
- (get_local $1)
- (i32.const 4)
- )
- )
- (i32.const 7)
+ (i32.const 632)
+ (get_local $12)
)
- (br_if $while-in72
- (i32.lt_u
- (i32.add
- (get_local $1)
- (i32.const 4)
- )
- (get_local $2)
+ (set_local $1
+ (i32.add
+ (get_local $11)
+ (i32.const 24)
)
)
- )
- (if
- (i32.ne
- (get_local $11)
- (get_local $6)
- )
- (block
+ (loop $while-in72
(i32.store
- (get_local $4)
- (i32.and
- (i32.load
- (get_local $4)
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
)
- (i32.const -2)
)
+ (i32.const 7)
)
- (i32.store offset=4
- (get_local $6)
- (i32.or
- (tee_local $5
- (i32.sub
- (get_local $11)
- (get_local $6)
- )
+ (br_if $while-in72
+ (i32.lt_u
+ (i32.add
+ (get_local $1)
+ (i32.const 4)
)
- (i32.const 1)
+ (get_local $2)
)
)
- (i32.store
+ )
+ (if
+ (i32.ne
(get_local $11)
- (get_local $5)
- )
- (set_local $1
- (i32.shr_u
- (get_local $5)
- (i32.const 3)
- )
+ (get_local $6)
)
- (if
- (i32.lt_u
- (get_local $5)
- (i32.const 256)
+ (block
+ (i32.store
+ (get_local $4)
+ (i32.and
+ (i32.load
+ (get_local $4)
+ )
+ (i32.const -2)
+ )
)
- (block
- (set_local $2
- (i32.add
- (i32.shl
- (get_local $1)
- (i32.const 3)
+ (i32.store offset=4
+ (get_local $6)
+ (i32.or
+ (tee_local $5
+ (i32.sub
+ (get_local $11)
+ (get_local $6)
)
- (i32.const 216)
)
+ (i32.const 1)
)
- (if
- (i32.and
- (tee_local $3
- (i32.load
- (i32.const 176)
- )
- )
- (tee_local $1
+ )
+ (i32.store
+ (get_local $11)
+ (get_local $5)
+ )
+ (set_local $1
+ (i32.shr_u
+ (get_local $5)
+ (i32.const 3)
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $5)
+ (i32.const 256)
+ )
+ (block
+ (set_local $2
+ (i32.add
(i32.shl
- (i32.const 1)
(get_local $1)
+ (i32.const 3)
)
+ (i32.const 216)
)
)
(if
- (i32.lt_u
- (tee_local $1
+ (i32.and
+ (tee_local $3
(i32.load
- (tee_local $3
- (i32.add
- (get_local $2)
- (i32.const 8)
+ (i32.const 176)
+ )
+ )
+ (tee_local $1
+ (i32.shl
+ (i32.const 1)
+ (get_local $1)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $1
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 192)
+ )
)
- (i32.load
- (i32.const 192)
+ (call $_abort)
+ (block
+ (set_local $17
+ (get_local $3)
+ )
+ (set_local $7
+ (get_local $1)
+ )
)
)
- (call $_abort)
(block
+ (i32.store
+ (i32.const 176)
+ (i32.or
+ (get_local $3)
+ (get_local $1)
+ )
+ )
(set_local $17
- (get_local $3)
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
+ )
)
(set_local $7
- (get_local $1)
- )
- )
- )
- (block
- (i32.store
- (i32.const 176)
- (i32.or
- (get_local $3)
- (get_local $1)
- )
- )
- (set_local $17
- (i32.add
(get_local $2)
- (i32.const 8)
)
)
- (set_local $7
- (get_local $2)
- )
)
+ (i32.store
+ (get_local $17)
+ (get_local $6)
+ )
+ (i32.store offset=12
+ (get_local $7)
+ (get_local $6)
+ )
+ (i32.store offset=8
+ (get_local $6)
+ (get_local $7)
+ )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $2)
+ )
+ (br $do-once40)
)
- (i32.store
- (get_local $17)
- (get_local $6)
- )
- (i32.store offset=12
- (get_local $7)
- (get_local $6)
- )
- (i32.store offset=8
- (get_local $6)
- (get_local $7)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $2)
- )
- (br $do-once40)
)
- )
- (set_local $2
- (i32.add
- (i32.shl
- (tee_local $4
- (if (result i32)
- (tee_local $1
- (i32.shr_u
- (get_local $5)
- (i32.const 8)
- )
- )
+ (set_local $2
+ (i32.add
+ (i32.shl
+ (tee_local $4
(if (result i32)
- (i32.gt_u
- (get_local $5)
- (i32.const 16777215)
+ (tee_local $1
+ (i32.shr_u
+ (get_local $5)
+ (i32.const 8)
+ )
)
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $5)
- (i32.add
- (tee_local $1
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (if (result i32)
+ (i32.gt_u
+ (get_local $5)
+ (i32.const 16777215)
+ )
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $5)
+ (i32.add
+ (tee_local $1
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $1
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $3
- (i32.shl
- (get_local $1)
- (tee_local $2
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $1)
- (i32.const 1048320)
+ (i32.or
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $3
+ (i32.shl
+ (get_local $1)
+ (tee_local $2
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $1)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 520192)
)
- (i32.const 520192)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 4)
)
- (i32.const 4)
)
+ (get_local $2)
)
- (get_local $2)
- )
- (tee_local $1
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $3
- (i32.shl
- (get_local $3)
- (get_local $1)
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $3
+ (i32.shl
+ (get_local $3)
+ (get_local $1)
+ )
)
+ (i32.const 245760)
)
- (i32.const 245760)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $3)
- (get_local $1)
+ (i32.shr_u
+ (i32.shl
+ (get_local $3)
+ (get_local $1)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $1)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $1)
- (i32.const 1)
)
)
+ (i32.const 0)
)
- (i32.const 0)
)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 480)
)
- (i32.const 480)
)
- )
- (i32.store offset=28
- (get_local $6)
- (get_local $4)
- )
- (i32.store offset=20
- (get_local $6)
- (i32.const 0)
- )
- (i32.store
- (get_local $10)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $3
- (i32.load
- (i32.const 180)
+ (i32.store offset=28
+ (get_local $6)
+ (get_local $4)
+ )
+ (i32.store offset=20
+ (get_local $6)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $10)
+ (i32.const 0)
+ )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $3
+ (i32.load
+ (i32.const 180)
+ )
)
- )
- (tee_local $1
- (i32.shl
- (i32.const 1)
- (get_local $4)
+ (tee_local $1
+ (i32.shl
+ (i32.const 1)
+ (get_local $4)
+ )
)
)
)
- )
- (block
- (i32.store
- (i32.const 180)
- (i32.or
- (get_local $3)
- (get_local $1)
+ (block
+ (i32.store
+ (i32.const 180)
+ (i32.or
+ (get_local $3)
+ (get_local $1)
+ )
)
+ (i32.store
+ (get_local $2)
+ (get_local $6)
+ )
+ (i32.store offset=24
+ (get_local $6)
+ (get_local $2)
+ )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $6)
+ )
+ (i32.store offset=8
+ (get_local $6)
+ (get_local $6)
+ )
+ (br $do-once40)
)
- (i32.store
- (get_local $2)
- (get_local $6)
- )
- (i32.store offset=24
- (get_local $6)
- (get_local $2)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $6)
- )
- (i32.store offset=8
- (get_local $6)
- (get_local $6)
- )
- (br $do-once40)
)
- )
- (set_local $4
- (i32.shl
- (get_local $5)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
+ (set_local $4
+ (i32.shl
+ (get_local $5)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $4)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
(get_local $4)
- (i32.const 1)
+ (i32.const 31)
)
)
- (i32.eq
- (get_local $4)
- (i32.const 31)
- )
)
)
- )
- (set_local $1
- (i32.load
- (get_local $2)
+ (set_local $1
+ (i32.load
+ (get_local $2)
+ )
)
- )
- (block $__rjto$9
- (block $__rjti$9
- (loop $while-in74
- (br_if $__rjti$9
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $1)
+ (block $__rjto$9
+ (block $__rjti$9
+ (loop $while-in74
+ (br_if $__rjti$9
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $1)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $5)
)
- (get_local $5)
)
- )
- (set_local $2
- (i32.shl
- (get_local $4)
- (i32.const 1)
+ (set_local $2
+ (i32.shl
+ (get_local $4)
+ (i32.const 1)
+ )
)
- )
- (if
- (tee_local $3
- (i32.load
- (tee_local $4
- (i32.add
+ (if
+ (tee_local $3
+ (i32.load
+ (tee_local $4
(i32.add
- (get_local $1)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $4)
- (i32.const 31)
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $4)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
)
+ (block
+ (set_local $4
+ (get_local $2)
+ )
+ (set_local $1
+ (get_local $3)
+ )
+ (br $while-in74)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $4)
+ (i32.load
+ (i32.const 192)
+ )
)
+ (call $_abort)
(block
- (set_local $4
- (get_local $2)
+ (i32.store
+ (get_local $4)
+ (get_local $6)
)
- (set_local $1
- (get_local $3)
+ (i32.store offset=24
+ (get_local $6)
+ (get_local $1)
)
- (br $while-in74)
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $6)
+ )
+ (i32.store offset=8
+ (get_local $6)
+ (get_local $6)
+ )
+ (br $do-once40)
)
)
+ (br $__rjto$9)
)
(if
- (i32.lt_u
- (get_local $4)
- (i32.load
- (i32.const 192)
+ (i32.and
+ (i32.ge_u
+ (tee_local $4
+ (i32.load
+ (tee_local $2
+ (i32.add
+ (get_local $1)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (tee_local $3
+ (i32.load
+ (i32.const 192)
+ )
+ )
+ )
+ (i32.ge_u
+ (get_local $1)
+ (get_local $3)
)
)
- (call $_abort)
(block
- (i32.store
+ (i32.store offset=12
(get_local $4)
(get_local $6)
)
- (i32.store offset=24
- (get_local $6)
- (get_local $1)
- )
- (i32.store offset=12
- (get_local $6)
+ (i32.store
+ (get_local $2)
(get_local $6)
)
(i32.store offset=8
(get_local $6)
- (get_local $6)
+ (get_local $4)
)
- (br $do-once40)
- )
- )
- (br $__rjto$9)
- )
- (if
- (i32.and
- (i32.ge_u
- (tee_local $4
- (i32.load
- (tee_local $2
- (i32.add
- (get_local $1)
- (i32.const 8)
- )
- )
- )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $1)
)
- (tee_local $3
- (i32.load
- (i32.const 192)
- )
+ (i32.store offset=24
+ (get_local $6)
+ (i32.const 0)
)
)
- (i32.ge_u
- (get_local $1)
- (get_local $3)
- )
- )
- (block
- (i32.store offset=12
- (get_local $4)
- (get_local $6)
- )
- (i32.store
- (get_local $2)
- (get_local $6)
- )
- (i32.store offset=8
- (get_local $6)
- (get_local $4)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $1)
- )
- (i32.store offset=24
- (get_local $6)
- (i32.const 0)
- )
+ (call $_abort)
)
- (call $_abort)
)
)
)
)
- )
- (block
- (if
- (i32.or
- (i32.eqz
- (tee_local $2
- (i32.load
- (i32.const 192)
+ (block
+ (if
+ (i32.or
+ (i32.eqz
+ (tee_local $2
+ (i32.load
+ (i32.const 192)
+ )
)
)
+ (i32.lt_u
+ (get_local $1)
+ (get_local $2)
+ )
)
- (i32.lt_u
+ (i32.store
+ (i32.const 192)
(get_local $1)
- (get_local $2)
)
)
(i32.store
- (i32.const 192)
+ (i32.const 624)
(get_local $1)
)
- )
- (i32.store
- (i32.const 624)
- (get_local $1)
- )
- (i32.store
- (i32.const 628)
- (get_local $3)
- )
- (i32.store
- (i32.const 636)
- (i32.const 0)
- )
- (i32.store
- (i32.const 212)
- (i32.load
- (i32.const 648)
+ (i32.store
+ (i32.const 628)
+ (get_local $3)
)
- )
- (i32.store
- (i32.const 208)
- (i32.const -1)
- )
- (set_local $2
- (i32.const 0)
- )
- (loop $while-in43
- (i32.store offset=12
- (tee_local $4
- (i32.add
- (i32.shl
- (get_local $2)
- (i32.const 3)
- )
- (i32.const 216)
- )
+ (i32.store
+ (i32.const 636)
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 212)
+ (i32.load
+ (i32.const 648)
)
- (get_local $4)
)
- (i32.store offset=8
- (get_local $4)
- (get_local $4)
+ (i32.store
+ (i32.const 208)
+ (i32.const -1)
)
- (br_if $while-in43
- (i32.ne
- (tee_local $2
+ (set_local $2
+ (i32.const 0)
+ )
+ (loop $while-in43
+ (i32.store offset=12
+ (tee_local $4
(i32.add
- (get_local $2)
- (i32.const 1)
+ (i32.shl
+ (get_local $2)
+ (i32.const 3)
+ )
+ (i32.const 216)
)
)
- (i32.const 32)
+ (get_local $4)
+ )
+ (i32.store offset=8
+ (get_local $4)
+ (get_local $4)
+ )
+ (br_if $while-in43
+ (i32.ne
+ (tee_local $2
+ (i32.add
+ (get_local $2)
+ (i32.const 1)
+ )
+ )
+ (i32.const 32)
+ )
)
)
- )
- (i32.store
- (i32.const 200)
- (tee_local $2
- (i32.add
- (get_local $1)
- (tee_local $1
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $1
- (i32.add
- (get_local $1)
- (i32.const 8)
+ (i32.store
+ (i32.const 200)
+ (tee_local $2
+ (i32.add
+ (get_local $1)
+ (tee_local $1
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 8)
+ )
)
)
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $1)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $1)
- (i32.const 7)
)
)
)
)
)
- )
- (i32.store
- (i32.const 188)
- (tee_local $1
- (i32.sub
- (i32.add
- (get_local $3)
- (i32.const -40)
+ (i32.store
+ (i32.const 188)
+ (tee_local $1
+ (i32.sub
+ (i32.add
+ (get_local $3)
+ (i32.const -40)
+ )
+ (get_local $1)
)
+ )
+ )
+ (i32.store offset=4
+ (get_local $2)
+ (i32.or
(get_local $1)
+ (i32.const 1)
)
)
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $1)
- (i32.const 1)
+ (i32.store offset=4
+ (i32.add
+ (get_local $2)
+ (get_local $1)
+ )
+ (i32.const 40)
)
- )
- (i32.store offset=4
- (i32.add
- (get_local $2)
- (get_local $1)
+ (i32.store
+ (i32.const 204)
+ (i32.load
+ (i32.const 664)
+ )
)
- (i32.const 40)
)
- (i32.store
- (i32.const 204)
+ )
+ )
+ (br_if $folding-inner0
+ (i32.gt_u
+ (tee_local $1
(i32.load
- (i32.const 664)
+ (i32.const 188)
)
)
+ (get_local $0)
)
)
)
- (if
- (i32.gt_u
- (tee_local $1
- (i32.load
- (i32.const 188)
- )
- )
+ (i32.store
+ (call $___errno_location)
+ (i32.const 12)
+ )
+ (return
+ (i32.const 0)
+ )
+ )
+ (i32.store
+ (i32.const 188)
+ (tee_local $3
+ (i32.sub
+ (get_local $1)
(get_local $0)
)
- (block
- (i32.store
- (i32.const 188)
- (tee_local $3
- (i32.sub
- (get_local $1)
- (get_local $0)
- )
- )
- )
- (i32.store
- (i32.const 200)
- (tee_local $1
- (i32.add
- (tee_local $2
- (i32.load
- (i32.const 200)
- )
- )
- (get_local $0)
- )
- )
- )
- (i32.store offset=4
- (get_local $1)
- (i32.or
- (get_local $3)
- (i32.const 1)
- )
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $0)
- (i32.const 3)
- )
- )
- (return
- (i32.add
- (get_local $2)
- (i32.const 8)
+ )
+ )
+ (i32.store
+ (i32.const 200)
+ (tee_local $1
+ (i32.add
+ (tee_local $2
+ (i32.load
+ (i32.const 200)
)
)
+ (get_local $0)
)
)
)
- (i32.store
- (call $___errno_location)
- (i32.const 12)
+ (i32.store offset=4
+ (get_local $1)
+ (i32.or
+ (get_local $3)
+ (i32.const 1)
+ )
+ )
+ (i32.store offset=4
+ (get_local $2)
+ (i32.or
+ (get_local $0)
+ (i32.const 3)
+ )
+ )
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
)
- (i32.const 0)
)
(func $_free (param $0 i32)
(local $1 i32)
diff --git a/test/memorygrowth.fromasm b/test/memorygrowth.fromasm
index a6d77f5cf..71c095deb 100644
--- a/test/memorygrowth.fromasm
+++ b/test/memorygrowth.fromasm
@@ -105,830 +105,790 @@
(local $52 i32)
(local $53 i32)
(local $54 i32)
- (set_local $25
- (get_global $r)
- )
- (set_global $r
- (i32.add
+ (block $folding-inner0
+ (set_local $25
(get_global $r)
- (i32.const 16)
)
- )
- (set_local $13
- (get_local $25)
- )
- (block $do-once
- (if
- (i32.lt_u
- (get_local $0)
- (i32.const 245)
+ (set_global $r
+ (i32.add
+ (get_global $r)
+ (i32.const 16)
)
- (block
- (if
- (i32.and
- (tee_local $5
- (i32.shr_u
- (tee_local $4
- (i32.load
- (i32.const 1208)
+ )
+ (set_local $13
+ (get_local $25)
+ )
+ (block $do-once
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (i32.const 245)
+ )
+ (block
+ (if
+ (i32.and
+ (tee_local $5
+ (i32.shr_u
+ (tee_local $4
+ (i32.load
+ (i32.const 1208)
+ )
)
- )
- (tee_local $0
- (i32.shr_u
- (tee_local $3
- (select
- (i32.const 16)
- (i32.and
- (i32.add
+ (tee_local $0
+ (i32.shr_u
+ (tee_local $3
+ (select
+ (i32.const 16)
+ (i32.and
+ (i32.add
+ (get_local $0)
+ (i32.const 11)
+ )
+ (i32.const -8)
+ )
+ (i32.lt_u
(get_local $0)
(i32.const 11)
)
- (i32.const -8)
- )
- (i32.lt_u
- (get_local $0)
- (i32.const 11)
)
)
+ (i32.const 3)
)
- (i32.const 3)
)
)
)
+ (i32.const 3)
)
- (i32.const 3)
- )
- (block
- (set_local $6
- (i32.load
- (tee_local $3
- (i32.add
- (tee_local $12
- (i32.load
- (tee_local $14
- (i32.add
- (tee_local $8
- (i32.add
- (i32.shl
- (tee_local $0
- (i32.add
- (i32.xor
- (i32.and
- (get_local $5)
+ (block
+ (set_local $6
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (tee_local $12
+ (i32.load
+ (tee_local $14
+ (i32.add
+ (tee_local $8
+ (i32.add
+ (i32.shl
+ (tee_local $0
+ (i32.add
+ (i32.xor
+ (i32.and
+ (get_local $5)
+ (i32.const 1)
+ )
(i32.const 1)
)
- (i32.const 1)
+ (get_local $0)
)
- (get_local $0)
)
+ (i32.const 3)
)
- (i32.const 3)
+ (i32.const 1248)
)
- (i32.const 1248)
)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
- )
- (if
- (i32.eq
- (get_local $8)
- (get_local $6)
- )
- (i32.store
- (i32.const 1208)
- (i32.and
- (get_local $4)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $0)
- )
- (i32.const -1)
- )
+ (if
+ (i32.eq
+ (get_local $8)
+ (get_local $6)
)
- )
- (block
- (if
- (i32.lt_u
- (get_local $6)
- (i32.load
- (i32.const 1224)
+ (i32.store
+ (i32.const 1208)
+ (i32.and
+ (get_local $4)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
+ )
+ (i32.const -1)
)
)
- (call $qa)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $6)
- (i32.const 12)
- )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $6)
+ (i32.load
+ (i32.const 1224)
)
)
- (get_local $12)
+ (call $qa)
)
- (block
- (i32.store
- (get_local $7)
- (get_local $8)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $6)
+ (i32.const 12)
+ )
+ )
+ )
+ (get_local $12)
)
- (i32.store
- (get_local $14)
- (get_local $6)
+ (block
+ (i32.store
+ (get_local $7)
+ (get_local $8)
+ )
+ (i32.store
+ (get_local $14)
+ (get_local $6)
+ )
)
+ (call $qa)
)
- (call $qa)
)
)
- )
- (i32.store offset=4
- (get_local $12)
- (i32.or
- (tee_local $6
- (i32.shl
- (get_local $0)
- (i32.const 3)
+ (i32.store offset=4
+ (get_local $12)
+ (i32.or
+ (tee_local $6
+ (i32.shl
+ (get_local $0)
+ (i32.const 3)
+ )
)
+ (i32.const 3)
)
- (i32.const 3)
)
- )
- (i32.store
- (tee_local $14
- (i32.add
+ (i32.store
+ (tee_local $14
(i32.add
- (get_local $12)
- (get_local $6)
+ (i32.add
+ (get_local $12)
+ (get_local $6)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (i32.or
- (i32.load
- (get_local $14)
+ (i32.or
+ (i32.load
+ (get_local $14)
+ )
+ (i32.const 1)
)
- (i32.const 1)
)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (get_local $3)
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (get_local $3)
+ )
)
)
- )
- (if
- (i32.gt_u
- (get_local $3)
- (tee_local $14
- (i32.load
- (i32.const 1216)
+ (if
+ (i32.gt_u
+ (get_local $3)
+ (tee_local $14
+ (i32.load
+ (i32.const 1216)
+ )
)
)
- )
- (block
- (if
- (get_local $5)
- (block
- (set_local $8
- (i32.and
- (i32.shr_u
- (tee_local $6
- (i32.add
- (i32.and
- (tee_local $8
- (i32.and
- (i32.shl
- (get_local $5)
- (get_local $0)
- )
- (i32.or
- (tee_local $6
- (i32.shl
- (i32.const 2)
- (get_local $0)
- )
+ (block
+ (if
+ (get_local $5)
+ (block
+ (set_local $8
+ (i32.and
+ (i32.shr_u
+ (tee_local $6
+ (i32.add
+ (i32.and
+ (tee_local $8
+ (i32.and
+ (i32.shl
+ (get_local $5)
+ (get_local $0)
)
- (i32.sub
- (i32.const 0)
- (get_local $6)
+ (i32.or
+ (tee_local $6
+ (i32.shl
+ (i32.const 2)
+ (get_local $0)
+ )
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $6)
+ )
)
)
)
+ (i32.sub
+ (i32.const 0)
+ (get_local $8)
+ )
)
- (i32.sub
- (i32.const 0)
- (get_local $8)
- )
+ (i32.const -1)
)
- (i32.const -1)
)
+ (i32.const 12)
)
- (i32.const 12)
+ (i32.const 16)
)
- (i32.const 16)
)
- )
- (set_local $8
- (i32.load
- (tee_local $7
- (i32.add
- (tee_local $9
- (i32.load
- (tee_local $12
- (i32.add
- (tee_local $1
- (i32.add
- (i32.shl
- (tee_local $16
- (i32.add
- (i32.or
+ (set_local $8
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (tee_local $9
+ (i32.load
+ (tee_local $12
+ (i32.add
+ (tee_local $1
+ (i32.add
+ (i32.shl
+ (tee_local $16
+ (i32.add
(i32.or
(i32.or
(i32.or
- (tee_local $6
+ (i32.or
+ (tee_local $6
+ (i32.and
+ (i32.shr_u
+ (tee_local $7
+ (i32.shr_u
+ (get_local $6)
+ (get_local $8)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (get_local $8)
+ )
+ (tee_local $7
(i32.and
(i32.shr_u
- (tee_local $7
+ (tee_local $9
(i32.shr_u
+ (get_local $7)
(get_local $6)
- (get_local $8)
)
)
- (i32.const 5)
+ (i32.const 2)
)
- (i32.const 8)
+ (i32.const 4)
)
)
- (get_local $8)
)
- (tee_local $7
+ (tee_local $9
(i32.and
(i32.shr_u
- (tee_local $9
+ (tee_local $1
(i32.shr_u
+ (get_local $9)
(get_local $7)
- (get_local $6)
)
)
- (i32.const 2)
+ (i32.const 1)
)
- (i32.const 4)
+ (i32.const 2)
)
)
)
- (tee_local $9
+ (tee_local $1
(i32.and
(i32.shr_u
- (tee_local $1
+ (tee_local $12
(i32.shr_u
+ (get_local $1)
(get_local $9)
- (get_local $7)
)
)
(i32.const 1)
)
- (i32.const 2)
- )
- )
- )
- (tee_local $1
- (i32.and
- (i32.shr_u
- (tee_local $12
- (i32.shr_u
- (get_local $1)
- (get_local $9)
- )
- )
(i32.const 1)
)
- (i32.const 1)
)
)
- )
- (i32.shr_u
- (get_local $12)
- (get_local $1)
+ (i32.shr_u
+ (get_local $12)
+ (get_local $1)
+ )
)
)
+ (i32.const 3)
)
- (i32.const 3)
+ (i32.const 1248)
)
- (i32.const 1248)
)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
- )
- (if
- (i32.eq
- (get_local $1)
- (get_local $8)
- )
- (block
- (i32.store
- (i32.const 1208)
- (i32.and
- (get_local $4)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $16)
+ (if
+ (i32.eq
+ (get_local $1)
+ (get_local $8)
+ )
+ (block
+ (i32.store
+ (i32.const 1208)
+ (i32.and
+ (get_local $4)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $16)
+ )
+ (i32.const -1)
)
- (i32.const -1)
)
)
- )
- (set_local $34
- (get_local $14)
- )
- )
- (block
- (if
- (i32.lt_u
- (get_local $8)
- (i32.load
- (i32.const 1224)
- )
+ (set_local $34
+ (get_local $14)
)
- (call $qa)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $6
- (i32.add
- (get_local $8)
- (i32.const 12)
- )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $8)
+ (i32.load
+ (i32.const 1224)
)
)
- (get_local $9)
+ (call $qa)
)
- (block
- (i32.store
- (get_local $6)
- (get_local $1)
- )
- (i32.store
- (get_local $12)
- (get_local $8)
- )
- (set_local $34
+ (if
+ (i32.eq
(i32.load
- (i32.const 1216)
+ (tee_local $6
+ (i32.add
+ (get_local $8)
+ (i32.const 12)
+ )
+ )
+ )
+ (get_local $9)
+ )
+ (block
+ (i32.store
+ (get_local $6)
+ (get_local $1)
+ )
+ (i32.store
+ (get_local $12)
+ (get_local $8)
+ )
+ (set_local $34
+ (i32.load
+ (i32.const 1216)
+ )
)
)
+ (call $qa)
)
- (call $qa)
)
)
- )
- (i32.store offset=4
- (get_local $9)
- (i32.or
- (get_local $3)
- (i32.const 3)
- )
- )
- (i32.store offset=4
- (tee_local $12
- (i32.add
- (get_local $9)
+ (i32.store offset=4
+ (get_local $9)
+ (i32.or
(get_local $3)
+ (i32.const 3)
)
)
- (i32.or
- (tee_local $8
- (i32.sub
- (i32.shl
- (get_local $16)
- (i32.const 3)
- )
+ (i32.store offset=4
+ (tee_local $12
+ (i32.add
+ (get_local $9)
(get_local $3)
)
)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (get_local $12)
- (get_local $8)
- )
- (get_local $8)
- )
- (if
- (get_local $34)
- (block
- (set_local $1
- (i32.load
- (i32.const 1228)
- )
- )
- (set_local $4
- (i32.add
- (i32.shl
- (tee_local $14
- (i32.shr_u
- (get_local $34)
- (i32.const 3)
- )
+ (i32.or
+ (tee_local $8
+ (i32.sub
+ (i32.shl
+ (get_local $16)
+ (i32.const 3)
)
- (i32.const 3)
+ (get_local $3)
)
- (i32.const 1248)
)
+ (i32.const 1)
)
- (if
- (i32.and
- (tee_local $0
- (i32.load
- (i32.const 1208)
- )
+ )
+ (i32.store
+ (i32.add
+ (get_local $12)
+ (get_local $8)
+ )
+ (get_local $8)
+ )
+ (if
+ (get_local $34)
+ (block
+ (set_local $1
+ (i32.load
+ (i32.const 1228)
)
- (tee_local $5
+ )
+ (set_local $4
+ (i32.add
(i32.shl
- (i32.const 1)
- (get_local $14)
+ (tee_local $14
+ (i32.shr_u
+ (get_local $34)
+ (i32.const 3)
+ )
+ )
+ (i32.const 3)
)
+ (i32.const 1248)
)
)
(if
- (i32.lt_u
+ (i32.and
(tee_local $0
(i32.load
- (tee_local $5
- (i32.add
- (get_local $4)
- (i32.const 8)
+ (i32.const 1208)
+ )
+ )
+ (tee_local $5
+ (i32.shl
+ (i32.const 1)
+ (get_local $14)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $0
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 1224)
+ )
)
- (i32.load
- (i32.const 1224)
+ (call $qa)
+ (block
+ (set_local $40
+ (get_local $5)
+ )
+ (set_local $35
+ (get_local $0)
+ )
)
)
- (call $qa)
(block
+ (i32.store
+ (i32.const 1208)
+ (i32.or
+ (get_local $0)
+ (get_local $5)
+ )
+ )
(set_local $40
- (get_local $5)
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
)
(set_local $35
- (get_local $0)
- )
- )
- )
- (block
- (i32.store
- (i32.const 1208)
- (i32.or
- (get_local $0)
- (get_local $5)
- )
- )
- (set_local $40
- (i32.add
(get_local $4)
- (i32.const 8)
)
)
- (set_local $35
- (get_local $4)
- )
)
- )
- (i32.store
- (get_local $40)
- (get_local $1)
- )
- (i32.store offset=12
- (get_local $35)
- (get_local $1)
- )
- (i32.store offset=8
- (get_local $1)
- (get_local $35)
- )
- (i32.store offset=12
- (get_local $1)
- (get_local $4)
+ (i32.store
+ (get_local $40)
+ (get_local $1)
+ )
+ (i32.store offset=12
+ (get_local $35)
+ (get_local $1)
+ )
+ (i32.store offset=8
+ (get_local $1)
+ (get_local $35)
+ )
+ (i32.store offset=12
+ (get_local $1)
+ (get_local $4)
+ )
)
)
- )
- (i32.store
- (i32.const 1216)
- (get_local $8)
- )
- (i32.store
- (i32.const 1228)
- (get_local $12)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (get_local $7)
+ (i32.store
+ (i32.const 1216)
+ (get_local $8)
+ )
+ (i32.store
+ (i32.const 1228)
+ (get_local $12)
+ )
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (get_local $7)
+ )
)
)
- )
- (if
- (tee_local $12
- (i32.load
- (i32.const 1212)
+ (if
+ (tee_local $12
+ (i32.load
+ (i32.const 1212)
+ )
)
- )
- (block
- (set_local $12
- (i32.and
- (i32.shr_u
- (tee_local $8
- (i32.add
- (i32.and
- (get_local $12)
- (i32.sub
- (i32.const 0)
+ (block
+ (set_local $12
+ (i32.and
+ (i32.shr_u
+ (tee_local $8
+ (i32.add
+ (i32.and
(get_local $12)
+ (i32.sub
+ (i32.const 0)
+ (get_local $12)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
)
+ (i32.const 12)
)
- (i32.const 12)
+ (i32.const 16)
)
- (i32.const 16)
)
- )
- (set_local $0
- (i32.sub
- (i32.and
- (i32.load offset=4
- (tee_local $14
- (i32.load
- (i32.add
- (i32.shl
- (i32.add
- (i32.or
+ (set_local $0
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (tee_local $14
+ (i32.load
+ (i32.add
+ (i32.shl
+ (i32.add
(i32.or
(i32.or
(i32.or
- (tee_local $8
+ (i32.or
+ (tee_local $8
+ (i32.and
+ (i32.shr_u
+ (tee_local $4
+ (i32.shr_u
+ (get_local $8)
+ (get_local $12)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (get_local $12)
+ )
+ (tee_local $4
(i32.and
(i32.shr_u
- (tee_local $4
+ (tee_local $1
(i32.shr_u
+ (get_local $4)
(get_local $8)
- (get_local $12)
)
)
- (i32.const 5)
+ (i32.const 2)
)
- (i32.const 8)
+ (i32.const 4)
)
)
- (get_local $12)
)
- (tee_local $4
+ (tee_local $1
(i32.and
(i32.shr_u
- (tee_local $1
+ (tee_local $0
(i32.shr_u
+ (get_local $1)
(get_local $4)
- (get_local $8)
)
)
- (i32.const 2)
+ (i32.const 1)
)
- (i32.const 4)
+ (i32.const 2)
)
)
)
- (tee_local $1
+ (tee_local $0
(i32.and
(i32.shr_u
- (tee_local $0
+ (tee_local $5
(i32.shr_u
+ (get_local $0)
(get_local $1)
- (get_local $4)
)
)
(i32.const 1)
)
- (i32.const 2)
- )
- )
- )
- (tee_local $0
- (i32.and
- (i32.shr_u
- (tee_local $5
- (i32.shr_u
- (get_local $0)
- (get_local $1)
- )
- )
(i32.const 1)
)
- (i32.const 1)
)
)
+ (i32.shr_u
+ (get_local $5)
+ (get_local $0)
+ )
)
- (i32.shr_u
- (get_local $5)
- (get_local $0)
- )
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 1512)
)
- (i32.const 1512)
)
)
)
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $3)
)
- (get_local $3)
)
- )
- (set_local $5
- (get_local $14)
- )
- (set_local $1
- (get_local $14)
- )
- (loop $while-in
- (block $while-out
- (if
- (tee_local $14
- (i32.load offset=16
- (get_local $5)
- )
- )
- (set_local $6
- (get_local $14)
- )
+ (set_local $5
+ (get_local $14)
+ )
+ (set_local $1
+ (get_local $14)
+ )
+ (loop $while-in
+ (block $while-out
(if
- (tee_local $4
- (i32.load offset=20
+ (tee_local $14
+ (i32.load offset=16
(get_local $5)
)
)
(set_local $6
- (get_local $4)
+ (get_local $14)
)
- (block
+ (if
+ (tee_local $4
+ (i32.load offset=20
+ (get_local $5)
+ )
+ )
(set_local $6
- (get_local $0)
+ (get_local $4)
)
- (set_local $2
- (get_local $1)
+ (block
+ (set_local $6
+ (get_local $0)
+ )
+ (set_local $2
+ (get_local $1)
+ )
+ (br $while-out)
)
- (br $while-out)
)
)
- )
- (set_local $4
- (i32.lt_u
- (tee_local $14
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $6)
+ (set_local $4
+ (i32.lt_u
+ (tee_local $14
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $6)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $3)
)
- (get_local $3)
)
+ (get_local $0)
)
- (get_local $0)
)
- )
- (set_local $0
- (select
- (get_local $14)
- (get_local $0)
- (get_local $4)
+ (set_local $0
+ (select
+ (get_local $14)
+ (get_local $0)
+ (get_local $4)
+ )
)
- )
- (set_local $5
- (get_local $6)
- )
- (set_local $1
- (select
+ (set_local $5
(get_local $6)
- (get_local $1)
- (get_local $4)
)
- )
- (br $while-in)
- )
- )
- (if
- (i32.lt_u
- (get_local $2)
- (tee_local $1
- (i32.load
- (i32.const 1224)
+ (set_local $1
+ (select
+ (get_local $6)
+ (get_local $1)
+ (get_local $4)
+ )
)
+ (br $while-in)
)
)
- (call $qa)
- )
- (if
- (i32.ge_u
- (get_local $2)
- (tee_local $5
- (i32.add
- (get_local $2)
- (get_local $3)
+ (if
+ (i32.lt_u
+ (get_local $2)
+ (tee_local $1
+ (i32.load
+ (i32.const 1224)
+ )
)
)
+ (call $qa)
)
- (call $qa)
- )
- (set_local $0
- (i32.load offset=24
- (get_local $2)
- )
- )
- (block $do-once4
(if
- (i32.eq
- (tee_local $7
- (i32.load offset=12
+ (i32.ge_u
+ (get_local $2)
+ (tee_local $5
+ (i32.add
(get_local $2)
+ (get_local $3)
)
)
+ )
+ (call $qa)
+ )
+ (set_local $0
+ (i32.load offset=24
(get_local $2)
)
- (block
- (if
- (tee_local $16
- (i32.load
- (tee_local $9
- (i32.add
- (get_local $2)
- (i32.const 20)
- )
- )
- )
- )
- (block
- (set_local $14
- (get_local $16)
- )
- (set_local $4
- (get_local $9)
- )
- )
- (if
- (i32.eqz
- (tee_local $14
- (i32.load
- (tee_local $4
- (i32.add
- (get_local $2)
- (i32.const 16)
- )
- )
- )
- )
- )
- (block
- (set_local $23
- (i32.const 0)
- )
- (br $do-once4)
+ )
+ (block $do-once4
+ (if
+ (i32.eq
+ (tee_local $7
+ (i32.load offset=12
+ (get_local $2)
)
)
+ (get_local $2)
)
- (loop $while-in7
+ (block
(if
(tee_local $16
(i32.load
(tee_local $9
(i32.add
- (get_local $14)
+ (get_local $2)
(i32.const 20)
)
)
@@ -941,702 +901,744 @@
(set_local $4
(get_local $9)
)
- (br $while-in7)
+ )
+ (if
+ (i32.eqz
+ (tee_local $14
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ )
+ (block
+ (set_local $23
+ (i32.const 0)
+ )
+ (br $do-once4)
+ )
)
)
- (if
- (tee_local $16
- (i32.load
- (tee_local $9
- (i32.add
- (get_local $14)
- (i32.const 16)
+ (loop $while-in7
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $9
+ (i32.add
+ (get_local $14)
+ (i32.const 20)
+ )
)
)
)
+ (block
+ (set_local $14
+ (get_local $16)
+ )
+ (set_local $4
+ (get_local $9)
+ )
+ (br $while-in7)
+ )
)
- (block
- (set_local $14
- (get_local $16)
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $9
+ (i32.add
+ (get_local $14)
+ (i32.const 16)
+ )
+ )
+ )
)
- (set_local $4
- (get_local $9)
+ (block
+ (set_local $14
+ (get_local $16)
+ )
+ (set_local $4
+ (get_local $9)
+ )
+ (br $while-in7)
)
- (br $while-in7)
)
)
- )
- (if
- (i32.lt_u
- (get_local $4)
- (get_local $1)
- )
- (call $qa)
- (block
- (i32.store
+ (if
+ (i32.lt_u
(get_local $4)
- (i32.const 0)
- )
- (set_local $23
- (get_local $14)
+ (get_local $1)
)
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (tee_local $9
- (i32.load offset=8
- (get_local $2)
+ (call $qa)
+ (block
+ (i32.store
+ (get_local $4)
+ (i32.const 0)
+ )
+ (set_local $23
+ (get_local $14)
)
)
- (get_local $1)
)
- (call $qa)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $16
- (i32.add
- (get_local $9)
- (i32.const 12)
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $9
+ (i32.load offset=8
+ (get_local $2)
)
)
+ (get_local $1)
)
- (get_local $2)
+ (call $qa)
)
- (call $qa)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $4
- (i32.add
- (get_local $7)
- (i32.const 8)
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $16
+ (i32.add
+ (get_local $9)
+ (i32.const 12)
+ )
)
)
+ (get_local $2)
)
- (get_local $2)
+ (call $qa)
)
- (block
- (i32.store
- (get_local $16)
- (get_local $7)
- )
- (i32.store
- (get_local $4)
- (get_local $9)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (get_local $7)
+ (i32.const 8)
+ )
+ )
+ )
+ (get_local $2)
)
- (set_local $23
- (get_local $7)
+ (block
+ (i32.store
+ (get_local $16)
+ (get_local $7)
+ )
+ (i32.store
+ (get_local $4)
+ (get_local $9)
+ )
+ (set_local $23
+ (get_local $7)
+ )
)
+ (call $qa)
)
- (call $qa)
)
)
)
- )
- (block $do-once8
- (if
- (get_local $0)
- (block
- (if
- (i32.eq
- (get_local $2)
- (i32.load
- (tee_local $1
- (i32.add
- (i32.shl
- (tee_local $7
- (i32.load offset=28
- (get_local $2)
+ (block $do-once8
+ (if
+ (get_local $0)
+ (block
+ (if
+ (i32.eq
+ (get_local $2)
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (i32.shl
+ (tee_local $7
+ (i32.load offset=28
+ (get_local $2)
+ )
)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 1512)
)
- (i32.const 1512)
)
)
)
- )
- (block
- (i32.store
- (get_local $1)
- (get_local $23)
- )
- (if
- (i32.eqz
+ (block
+ (i32.store
+ (get_local $1)
(get_local $23)
)
- (block
- (i32.store
- (i32.const 1212)
- (i32.and
- (i32.load
- (i32.const 1212)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $7)
+ (if
+ (i32.eqz
+ (get_local $23)
+ )
+ (block
+ (i32.store
+ (i32.const 1212)
+ (i32.and
+ (i32.load
+ (i32.const 1212)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $7)
+ )
+ (i32.const -1)
)
- (i32.const -1)
)
)
+ (br $do-once8)
)
- (br $do-once8)
)
)
- )
- (block
- (if
- (i32.lt_u
- (get_local $0)
- (i32.load
- (i32.const 1224)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (i32.load
+ (i32.const 1224)
+ )
)
+ (call $qa)
)
- (call $qa)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $0)
- (i32.const 16)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $0)
+ (i32.const 16)
+ )
)
)
+ (get_local $2)
+ )
+ (i32.store
+ (get_local $7)
+ (get_local $23)
+ )
+ (i32.store offset=20
+ (get_local $0)
+ (get_local $23)
)
- (get_local $2)
- )
- (i32.store
- (get_local $7)
- (get_local $23)
- )
- (i32.store offset=20
- (get_local $0)
- (get_local $23)
)
- )
- (br_if $do-once8
- (i32.eqz
- (get_local $23)
+ (br_if $do-once8
+ (i32.eqz
+ (get_local $23)
+ )
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $23)
- (tee_local $7
- (i32.load
- (i32.const 1224)
+ (if
+ (i32.lt_u
+ (get_local $23)
+ (tee_local $7
+ (i32.load
+ (i32.const 1224)
+ )
)
)
+ (call $qa)
)
- (call $qa)
- )
- (i32.store offset=24
- (get_local $23)
- (get_local $0)
- )
- (if
- (tee_local $1
- (i32.load offset=16
- (get_local $2)
- )
+ (i32.store offset=24
+ (get_local $23)
+ (get_local $0)
)
(if
- (i32.lt_u
- (get_local $1)
- (get_local $7)
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $2)
+ )
)
- (call $qa)
- (block
- (i32.store offset=16
- (get_local $23)
+ (if
+ (i32.lt_u
(get_local $1)
+ (get_local $7)
)
- (i32.store offset=24
- (get_local $1)
- (get_local $23)
+ (call $qa)
+ (block
+ (i32.store offset=16
+ (get_local $23)
+ (get_local $1)
+ )
+ (i32.store offset=24
+ (get_local $1)
+ (get_local $23)
+ )
)
)
)
- )
- (if
- (tee_local $1
- (i32.load offset=20
- (get_local $2)
- )
- )
(if
- (i32.lt_u
- (get_local $1)
- (i32.load
- (i32.const 1224)
+ (tee_local $1
+ (i32.load offset=20
+ (get_local $2)
)
)
- (call $qa)
- (block
- (i32.store offset=20
- (get_local $23)
+ (if
+ (i32.lt_u
(get_local $1)
+ (i32.load
+ (i32.const 1224)
+ )
)
- (i32.store offset=24
- (get_local $1)
- (get_local $23)
+ (call $qa)
+ (block
+ (i32.store offset=20
+ (get_local $23)
+ (get_local $1)
+ )
+ (i32.store offset=24
+ (get_local $1)
+ (get_local $23)
+ )
)
)
)
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $6)
- (i32.const 16)
- )
- (block
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (tee_local $0
- (i32.add
- (get_local $6)
- (get_local $3)
+ (if
+ (i32.lt_u
+ (get_local $6)
+ (i32.const 16)
+ )
+ (block
+ (i32.store offset=4
+ (get_local $2)
+ (i32.or
+ (tee_local $0
+ (i32.add
+ (get_local $6)
+ (get_local $3)
+ )
)
+ (i32.const 3)
)
- (i32.const 3)
)
- )
- (i32.store
- (tee_local $1
- (i32.add
+ (i32.store
+ (tee_local $1
(i32.add
- (get_local $2)
- (get_local $0)
+ (i32.add
+ (get_local $2)
+ (get_local $0)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (i32.or
- (i32.load
- (get_local $1)
+ (i32.or
+ (i32.load
+ (get_local $1)
+ )
+ (i32.const 1)
)
- (i32.const 1)
)
)
- )
- (block
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $3)
- (i32.const 3)
- )
- )
- (i32.store offset=4
- (get_local $5)
- (i32.or
- (get_local $6)
- (i32.const 1)
+ (block
+ (i32.store offset=4
+ (get_local $2)
+ (i32.or
+ (get_local $3)
+ (i32.const 3)
+ )
)
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $5)
- (get_local $6)
+ (i32.or
+ (get_local $6)
+ (i32.const 1)
+ )
)
- (get_local $6)
- )
- (if
- (tee_local $1
- (i32.load
- (i32.const 1216)
+ (i32.store
+ (i32.add
+ (get_local $5)
+ (get_local $6)
)
+ (get_local $6)
)
- (block
- (set_local $0
+ (if
+ (tee_local $1
(i32.load
- (i32.const 1228)
+ (i32.const 1216)
)
)
- (set_local $1
- (i32.add
- (i32.shl
- (tee_local $7
- (i32.shr_u
- (get_local $1)
- (i32.const 3)
- )
- )
- (i32.const 3)
+ (block
+ (set_local $0
+ (i32.load
+ (i32.const 1228)
)
- (i32.const 1248)
)
- )
- (if
- (i32.and
- (tee_local $9
- (i32.load
- (i32.const 1208)
- )
- )
- (tee_local $4
+ (set_local $1
+ (i32.add
(i32.shl
- (i32.const 1)
- (get_local $7)
+ (tee_local $7
+ (i32.shr_u
+ (get_local $1)
+ (i32.const 3)
+ )
+ )
+ (i32.const 3)
)
+ (i32.const 1248)
)
)
(if
- (i32.lt_u
+ (i32.and
(tee_local $9
(i32.load
- (tee_local $4
- (i32.add
- (get_local $1)
- (i32.const 8)
+ (i32.const 1208)
+ )
+ )
+ (tee_local $4
+ (i32.shl
+ (i32.const 1)
+ (get_local $7)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $9
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (get_local $1)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 1224)
+ )
)
- (i32.load
- (i32.const 1224)
+ (call $qa)
+ (block
+ (set_local $41
+ (get_local $4)
+ )
+ (set_local $27
+ (get_local $9)
+ )
)
)
- (call $qa)
(block
+ (i32.store
+ (i32.const 1208)
+ (i32.or
+ (get_local $9)
+ (get_local $4)
+ )
+ )
(set_local $41
- (get_local $4)
+ (i32.add
+ (get_local $1)
+ (i32.const 8)
+ )
)
(set_local $27
- (get_local $9)
- )
- )
- )
- (block
- (i32.store
- (i32.const 1208)
- (i32.or
- (get_local $9)
- (get_local $4)
- )
- )
- (set_local $41
- (i32.add
(get_local $1)
- (i32.const 8)
)
)
- (set_local $27
- (get_local $1)
- )
)
- )
- (i32.store
- (get_local $41)
- (get_local $0)
- )
- (i32.store offset=12
- (get_local $27)
- (get_local $0)
- )
- (i32.store offset=8
- (get_local $0)
- (get_local $27)
- )
- (i32.store offset=12
- (get_local $0)
- (get_local $1)
+ (i32.store
+ (get_local $41)
+ (get_local $0)
+ )
+ (i32.store offset=12
+ (get_local $27)
+ (get_local $0)
+ )
+ (i32.store offset=8
+ (get_local $0)
+ (get_local $27)
+ )
+ (i32.store offset=12
+ (get_local $0)
+ (get_local $1)
+ )
)
)
+ (i32.store
+ (i32.const 1216)
+ (get_local $6)
+ )
+ (i32.store
+ (i32.const 1228)
+ (get_local $5)
+ )
)
- (i32.store
- (i32.const 1216)
- (get_local $6)
- )
- (i32.store
- (i32.const 1228)
- (get_local $5)
+ )
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
)
)
)
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.add
- (get_local $2)
- (i32.const 8)
- )
+ (set_local $5
+ (get_local $3)
)
)
- (set_local $5
- (get_local $3)
- )
)
+ (set_local $5
+ (get_local $3)
+ )
+ )
+ )
+ (if
+ (i32.gt_u
+ (get_local $0)
+ (i32.const -65)
)
(set_local $5
- (get_local $3)
+ (i32.const -1)
)
- )
- )
- (if
- (i32.gt_u
- (get_local $0)
- (i32.const -65)
- )
- (set_local $5
- (i32.const -1)
- )
- (block
- (set_local $0
- (i32.and
- (tee_local $1
- (i32.add
- (get_local $0)
- (i32.const 11)
+ (block
+ (set_local $0
+ (i32.and
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 11)
+ )
)
- )
- (i32.const -8)
- )
- )
- (if
- (tee_local $9
- (i32.load
- (i32.const 1212)
+ (i32.const -8)
)
)
- (block
- (set_local $4
- (i32.sub
- (i32.const 0)
- (get_local $0)
+ (if
+ (tee_local $9
+ (i32.load
+ (i32.const 1212)
)
)
- (block $label$break$a
- (if
- (tee_local $12
- (i32.load
- (i32.add
- (i32.shl
- (tee_local $27
- (if (result i32)
- (tee_local $7
- (i32.shr_u
- (get_local $1)
- (i32.const 8)
- )
- )
+ (block
+ (set_local $4
+ (i32.sub
+ (i32.const 0)
+ (get_local $0)
+ )
+ )
+ (block $label$break$a
+ (if
+ (tee_local $12
+ (i32.load
+ (i32.add
+ (i32.shl
+ (tee_local $27
(if (result i32)
- (i32.gt_u
- (get_local $0)
- (i32.const 16777215)
+ (tee_local $7
+ (i32.shr_u
+ (get_local $1)
+ (i32.const 8)
+ )
)
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $0)
- (i32.add
- (tee_local $12
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (if (result i32)
+ (i32.gt_u
+ (get_local $0)
+ (i32.const 16777215)
+ )
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $0)
+ (i32.add
+ (tee_local $12
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $7
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $16
- (i32.shl
- (get_local $7)
- (tee_local $1
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $7)
- (i32.const 1048320)
+ (i32.or
+ (tee_local $7
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $16
+ (i32.shl
+ (get_local $7)
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $7)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 520192)
)
- (i32.const 520192)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 4)
)
- (i32.const 4)
)
+ (get_local $1)
)
- (get_local $1)
- )
- (tee_local $16
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $14
- (i32.shl
- (get_local $16)
- (get_local $7)
+ (tee_local $16
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $14
+ (i32.shl
+ (get_local $16)
+ (get_local $7)
+ )
)
+ (i32.const 245760)
)
- (i32.const 245760)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $14)
- (get_local $16)
+ (i32.shr_u
+ (i32.shl
+ (get_local $14)
+ (get_local $16)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $12)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $12)
- (i32.const 1)
)
)
+ (i32.const 0)
)
- (i32.const 0)
)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 1512)
)
- (i32.const 1512)
)
)
- )
- (block
- (set_local $16
- (get_local $4)
- )
- (set_local $14
- (i32.const 0)
- )
- (set_local $1
- (i32.shl
- (get_local $0)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
+ (block
+ (set_local $16
+ (get_local $4)
+ )
+ (set_local $14
+ (i32.const 0)
+ )
+ (set_local $1
+ (i32.shl
+ (get_local $0)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $27)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
(get_local $27)
- (i32.const 1)
+ (i32.const 31)
)
)
- (i32.eq
- (get_local $27)
- (i32.const 31)
- )
)
)
- )
- (set_local $7
- (get_local $12)
- )
- (set_local $8
- (i32.const 0)
- )
- (loop $while-in14
- (if
- (i32.lt_u
- (tee_local $12
- (i32.sub
- (tee_local $3
- (i32.and
- (i32.load offset=4
- (get_local $7)
+ (set_local $7
+ (get_local $12)
+ )
+ (set_local $8
+ (i32.const 0)
+ )
+ (loop $while-in14
+ (if
+ (i32.lt_u
+ (tee_local $12
+ (i32.sub
+ (tee_local $3
+ (i32.and
+ (i32.load offset=4
+ (get_local $7)
+ )
+ (i32.const -8)
)
- (i32.const -8)
)
+ (get_local $0)
)
- (get_local $0)
)
+ (get_local $16)
)
- (get_local $16)
- )
- (if
- (i32.eq
- (get_local $3)
- (get_local $0)
- )
- (block
- (set_local $29
- (get_local $12)
- )
- (set_local $28
- (get_local $7)
- )
- (set_local $32
- (get_local $7)
- )
- (set_local $7
- (i32.const 90)
+ (if
+ (i32.eq
+ (get_local $3)
+ (get_local $0)
)
- (br $label$break$a)
- )
- (block
- (set_local $16
- (get_local $12)
+ (block
+ (set_local $29
+ (get_local $12)
+ )
+ (set_local $28
+ (get_local $7)
+ )
+ (set_local $32
+ (get_local $7)
+ )
+ (set_local $7
+ (i32.const 90)
+ )
+ (br $label$break$a)
)
- (set_local $8
- (get_local $7)
+ (block
+ (set_local $16
+ (get_local $12)
+ )
+ (set_local $8
+ (get_local $7)
+ )
)
)
)
- )
- (set_local $3
- (select
- (get_local $14)
- (tee_local $12
- (i32.load offset=20
- (get_local $7)
- )
- )
- (i32.or
- (i32.eqz
- (get_local $12)
+ (set_local $3
+ (select
+ (get_local $14)
+ (tee_local $12
+ (i32.load offset=20
+ (get_local $7)
+ )
)
- (i32.eq
- (get_local $12)
- (tee_local $7
- (i32.load
- (i32.add
+ (i32.or
+ (i32.eqz
+ (get_local $12)
+ )
+ (i32.eq
+ (get_local $12)
+ (tee_local $7
+ (i32.load
(i32.add
- (get_local $7)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $1)
- (i32.const 31)
+ (i32.add
+ (get_local $7)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $1)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
@@ -1644,419 +1646,376 @@
)
)
)
- )
- (if
- (tee_local $12
- (i32.eqz
- (get_local $7)
- )
- )
- (block
- (set_local $36
- (get_local $16)
- )
- (set_local $5
- (get_local $3)
- )
- (set_local $33
- (get_local $8)
- )
- (set_local $7
- (i32.const 86)
+ (if
+ (tee_local $12
+ (i32.eqz
+ (get_local $7)
+ )
)
- )
- (block
- (set_local $14
- (get_local $3)
+ (block
+ (set_local $36
+ (get_local $16)
+ )
+ (set_local $5
+ (get_local $3)
+ )
+ (set_local $33
+ (get_local $8)
+ )
+ (set_local $7
+ (i32.const 86)
+ )
)
- (set_local $1
- (i32.shl
- (get_local $1)
- (i32.xor
- (i32.and
- (get_local $12)
+ (block
+ (set_local $14
+ (get_local $3)
+ )
+ (set_local $1
+ (i32.shl
+ (get_local $1)
+ (i32.xor
+ (i32.and
+ (get_local $12)
+ (i32.const 1)
+ )
(i32.const 1)
)
- (i32.const 1)
)
)
+ (br $while-in14)
)
- (br $while-in14)
)
)
)
- )
- (block
- (set_local $36
- (get_local $4)
- )
- (set_local $5
- (i32.const 0)
- )
- (set_local $33
- (i32.const 0)
- )
- (set_local $7
- (i32.const 86)
+ (block
+ (set_local $36
+ (get_local $4)
+ )
+ (set_local $5
+ (i32.const 0)
+ )
+ (set_local $33
+ (i32.const 0)
+ )
+ (set_local $7
+ (i32.const 86)
+ )
)
)
)
- )
- (if
- (i32.eq
- (get_local $7)
- (i32.const 86)
- )
(if
- (tee_local $3
- (if (result i32)
- (i32.and
- (i32.eqz
- (get_local $5)
- )
- (i32.eqz
- (get_local $33)
- )
- )
- (block (result i32)
- (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 86)
+ )
+ (if
+ (tee_local $3
+ (if (result i32)
+ (i32.and
(i32.eqz
- (tee_local $4
- (i32.and
- (get_local $9)
- (i32.or
- (tee_local $12
- (i32.shl
- (i32.const 2)
- (get_local $27)
+ (get_local $5)
+ )
+ (i32.eqz
+ (get_local $33)
+ )
+ )
+ (block (result i32)
+ (if
+ (i32.eqz
+ (tee_local $4
+ (i32.and
+ (get_local $9)
+ (i32.or
+ (tee_local $12
+ (i32.shl
+ (i32.const 2)
+ (get_local $27)
+ )
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $12)
)
- )
- (i32.sub
- (i32.const 0)
- (get_local $12)
)
)
)
)
- )
- (block
- (set_local $5
- (get_local $0)
+ (block
+ (set_local $5
+ (get_local $0)
+ )
+ (br $do-once)
)
- (br $do-once)
)
- )
- (set_local $4
- (i32.and
- (i32.shr_u
- (tee_local $12
- (i32.add
- (i32.and
- (get_local $4)
- (i32.sub
- (i32.const 0)
+ (set_local $4
+ (i32.and
+ (i32.shr_u
+ (tee_local $12
+ (i32.add
+ (i32.and
(get_local $4)
+ (i32.sub
+ (i32.const 0)
+ (get_local $4)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
)
+ (i32.const 12)
)
- (i32.const 12)
+ (i32.const 16)
)
- (i32.const 16)
)
- )
- (i32.load
- (i32.add
- (i32.shl
- (i32.add
- (i32.or
+ (i32.load
+ (i32.add
+ (i32.shl
+ (i32.add
(i32.or
(i32.or
(i32.or
- (tee_local $12
+ (i32.or
+ (tee_local $12
+ (i32.and
+ (i32.shr_u
+ (tee_local $3
+ (i32.shr_u
+ (get_local $12)
+ (get_local $4)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (get_local $4)
+ )
+ (tee_local $3
(i32.and
(i32.shr_u
- (tee_local $3
+ (tee_local $5
(i32.shr_u
+ (get_local $3)
(get_local $12)
- (get_local $4)
)
)
- (i32.const 5)
+ (i32.const 2)
)
- (i32.const 8)
+ (i32.const 4)
)
)
- (get_local $4)
)
- (tee_local $3
+ (tee_local $5
(i32.and
(i32.shr_u
- (tee_local $5
+ (tee_local $8
(i32.shr_u
+ (get_local $5)
(get_local $3)
- (get_local $12)
)
)
- (i32.const 2)
+ (i32.const 1)
)
- (i32.const 4)
+ (i32.const 2)
)
)
)
- (tee_local $5
+ (tee_local $8
(i32.and
(i32.shr_u
- (tee_local $8
+ (tee_local $1
(i32.shr_u
+ (get_local $8)
(get_local $5)
- (get_local $3)
)
)
(i32.const 1)
)
- (i32.const 2)
- )
- )
- )
- (tee_local $8
- (i32.and
- (i32.shr_u
- (tee_local $1
- (i32.shr_u
- (get_local $8)
- (get_local $5)
- )
- )
(i32.const 1)
)
- (i32.const 1)
)
)
+ (i32.shr_u
+ (get_local $1)
+ (get_local $8)
+ )
)
- (i32.shr_u
- (get_local $1)
- (get_local $8)
- )
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 1512)
)
- (i32.const 1512)
)
)
+ (get_local $5)
)
- (get_local $5)
)
- )
- (block
- (set_local $29
- (get_local $36)
- )
- (set_local $28
- (get_local $3)
- )
- (set_local $32
- (get_local $33)
- )
- (set_local $7
- (i32.const 90)
- )
- )
- (block
- (set_local $18
- (get_local $36)
+ (block
+ (set_local $29
+ (get_local $36)
+ )
+ (set_local $28
+ (get_local $3)
+ )
+ (set_local $32
+ (get_local $33)
+ )
+ (set_local $7
+ (i32.const 90)
+ )
)
- (set_local $10
- (get_local $33)
+ (block
+ (set_local $18
+ (get_local $36)
+ )
+ (set_local $10
+ (get_local $33)
+ )
)
)
)
- )
- (if
- (i32.eq
- (get_local $7)
- (i32.const 90)
- )
- (loop $while-in16
- (set_local $7
- (i32.const 0)
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 90)
)
- (set_local $1
- (i32.lt_u
- (tee_local $8
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $28)
+ (loop $while-in16
+ (set_local $7
+ (i32.const 0)
+ )
+ (set_local $1
+ (i32.lt_u
+ (tee_local $8
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $28)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $0)
)
- (get_local $0)
)
+ (get_local $29)
)
- (get_local $29)
- )
- )
- (set_local $5
- (select
- (get_local $8)
- (get_local $29)
- (get_local $1)
- )
- )
- (set_local $8
- (select
- (get_local $28)
- (get_local $32)
- (get_local $1)
)
- )
- (if
- (tee_local $1
- (i32.load offset=16
- (get_local $28)
- )
- )
- (block
- (set_local $29
- (get_local $5)
- )
- (set_local $28
- (get_local $1)
- )
- (set_local $32
+ (set_local $5
+ (select
(get_local $8)
+ (get_local $29)
+ (get_local $1)
)
- (br $while-in16)
)
- )
- (if
- (tee_local $28
- (i32.load offset=20
+ (set_local $8
+ (select
(get_local $28)
+ (get_local $32)
+ (get_local $1)
)
)
- (block
- (set_local $29
- (get_local $5)
+ (if
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $28)
+ )
)
- (set_local $32
- (get_local $8)
+ (block
+ (set_local $29
+ (get_local $5)
+ )
+ (set_local $28
+ (get_local $1)
+ )
+ (set_local $32
+ (get_local $8)
+ )
+ (br $while-in16)
)
- (br $while-in16)
)
- (block
- (set_local $18
- (get_local $5)
+ (if
+ (tee_local $28
+ (i32.load offset=20
+ (get_local $28)
+ )
)
- (set_local $10
- (get_local $8)
+ (block
+ (set_local $29
+ (get_local $5)
+ )
+ (set_local $32
+ (get_local $8)
+ )
+ (br $while-in16)
+ )
+ (block
+ (set_local $18
+ (get_local $5)
+ )
+ (set_local $10
+ (get_local $8)
+ )
)
)
)
)
- )
- (if
- (get_local $10)
(if
- (i32.lt_u
- (get_local $18)
- (i32.sub
- (i32.load
- (i32.const 1216)
- )
- (get_local $0)
- )
- )
- (block
- (if
- (i32.lt_u
- (get_local $10)
- (tee_local $9
- (i32.load
- (i32.const 1224)
- )
+ (get_local $10)
+ (if
+ (i32.lt_u
+ (get_local $18)
+ (i32.sub
+ (i32.load
+ (i32.const 1216)
)
+ (get_local $0)
)
- (call $qa)
)
- (if
- (i32.ge_u
- (get_local $10)
- (tee_local $8
- (i32.add
- (get_local $10)
- (get_local $0)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $10)
+ (tee_local $9
+ (i32.load
+ (i32.const 1224)
+ )
)
)
+ (call $qa)
)
- (call $qa)
- )
- (set_local $5
- (i32.load offset=24
- (get_local $10)
- )
- )
- (block $do-once17
(if
- (i32.eq
- (tee_local $1
- (i32.load offset=12
+ (i32.ge_u
+ (get_local $10)
+ (tee_local $8
+ (i32.add
(get_local $10)
+ (get_local $0)
)
)
+ )
+ (call $qa)
+ )
+ (set_local $5
+ (i32.load offset=24
(get_local $10)
)
- (block
- (if
- (tee_local $4
- (i32.load
- (tee_local $3
- (i32.add
- (get_local $10)
- (i32.const 20)
- )
- )
- )
- )
- (block
- (set_local $14
- (get_local $4)
- )
- (set_local $1
- (get_local $3)
- )
- )
- (if
- (tee_local $14
- (i32.load
- (tee_local $12
- (i32.add
- (get_local $10)
- (i32.const 16)
- )
- )
- )
- )
- (set_local $1
- (get_local $12)
- )
- (block
- (set_local $22
- (i32.const 0)
- )
- (br $do-once17)
+ )
+ (block $do-once17
+ (if
+ (i32.eq
+ (tee_local $1
+ (i32.load offset=12
+ (get_local $10)
)
)
+ (get_local $10)
)
- (loop $while-in20
+ (block
(if
(tee_local $4
(i32.load
(tee_local $3
(i32.add
- (get_local $14)
+ (get_local $10)
(i32.const 20)
)
)
@@ -2069,698 +2028,615 @@
(set_local $1
(get_local $3)
)
- (br $while-in20)
+ )
+ (if
+ (tee_local $14
+ (i32.load
+ (tee_local $12
+ (i32.add
+ (get_local $10)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ (set_local $1
+ (get_local $12)
+ )
+ (block
+ (set_local $22
+ (i32.const 0)
+ )
+ (br $do-once17)
+ )
)
)
- (if
- (tee_local $4
- (i32.load
- (tee_local $3
- (i32.add
- (get_local $14)
- (i32.const 16)
+ (loop $while-in20
+ (if
+ (tee_local $4
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $14)
+ (i32.const 20)
+ )
)
)
)
+ (block
+ (set_local $14
+ (get_local $4)
+ )
+ (set_local $1
+ (get_local $3)
+ )
+ (br $while-in20)
+ )
)
- (block
- (set_local $14
- (get_local $4)
+ (if
+ (tee_local $4
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $14)
+ (i32.const 16)
+ )
+ )
+ )
)
- (set_local $1
- (get_local $3)
+ (block
+ (set_local $14
+ (get_local $4)
+ )
+ (set_local $1
+ (get_local $3)
+ )
+ (br $while-in20)
)
- (br $while-in20)
)
)
- )
- (if
- (i32.lt_u
- (get_local $1)
- (get_local $9)
- )
- (call $qa)
- (block
- (i32.store
+ (if
+ (i32.lt_u
(get_local $1)
- (i32.const 0)
- )
- (set_local $22
- (get_local $14)
+ (get_local $9)
)
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (tee_local $3
- (i32.load offset=8
- (get_local $10)
+ (call $qa)
+ (block
+ (i32.store
+ (get_local $1)
+ (i32.const 0)
+ )
+ (set_local $22
+ (get_local $14)
)
)
- (get_local $9)
)
- (call $qa)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $4
- (i32.add
- (get_local $3)
- (i32.const 12)
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $3
+ (i32.load offset=8
+ (get_local $10)
)
)
+ (get_local $9)
)
- (get_local $10)
+ (call $qa)
)
- (call $qa)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $12
- (i32.add
- (get_local $1)
- (i32.const 8)
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (get_local $3)
+ (i32.const 12)
+ )
)
)
+ (get_local $10)
)
- (get_local $10)
+ (call $qa)
)
- (block
- (i32.store
- (get_local $4)
- (get_local $1)
- )
- (i32.store
- (get_local $12)
- (get_local $3)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $12
+ (i32.add
+ (get_local $1)
+ (i32.const 8)
+ )
+ )
+ )
+ (get_local $10)
)
- (set_local $22
- (get_local $1)
+ (block
+ (i32.store
+ (get_local $4)
+ (get_local $1)
+ )
+ (i32.store
+ (get_local $12)
+ (get_local $3)
+ )
+ (set_local $22
+ (get_local $1)
+ )
)
+ (call $qa)
)
- (call $qa)
)
)
)
- )
- (block $do-once21
- (if
- (get_local $5)
- (block
- (if
- (i32.eq
- (get_local $10)
- (i32.load
- (tee_local $9
- (i32.add
- (i32.shl
- (tee_local $1
- (i32.load offset=28
- (get_local $10)
+ (block $do-once21
+ (if
+ (get_local $5)
+ (block
+ (if
+ (i32.eq
+ (get_local $10)
+ (i32.load
+ (tee_local $9
+ (i32.add
+ (i32.shl
+ (tee_local $1
+ (i32.load offset=28
+ (get_local $10)
+ )
)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 1512)
)
- (i32.const 1512)
)
)
)
- )
- (block
- (i32.store
- (get_local $9)
- (get_local $22)
- )
- (if
- (i32.eqz
+ (block
+ (i32.store
+ (get_local $9)
(get_local $22)
)
- (block
- (i32.store
- (i32.const 1212)
- (i32.and
- (i32.load
- (i32.const 1212)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $1)
+ (if
+ (i32.eqz
+ (get_local $22)
+ )
+ (block
+ (i32.store
+ (i32.const 1212)
+ (i32.and
+ (i32.load
+ (i32.const 1212)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $1)
+ )
+ (i32.const -1)
)
- (i32.const -1)
)
)
+ (br $do-once21)
)
- (br $do-once21)
)
)
- )
- (block
- (if
- (i32.lt_u
- (get_local $5)
- (i32.load
- (i32.const 1224)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $5)
+ (i32.load
+ (i32.const 1224)
+ )
)
+ (call $qa)
)
- (call $qa)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $5)
- (i32.const 16)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $5)
+ (i32.const 16)
+ )
)
)
+ (get_local $10)
+ )
+ (i32.store
+ (get_local $1)
+ (get_local $22)
+ )
+ (i32.store offset=20
+ (get_local $5)
+ (get_local $22)
)
- (get_local $10)
- )
- (i32.store
- (get_local $1)
- (get_local $22)
- )
- (i32.store offset=20
- (get_local $5)
- (get_local $22)
)
- )
- (br_if $do-once21
- (i32.eqz
- (get_local $22)
+ (br_if $do-once21
+ (i32.eqz
+ (get_local $22)
+ )
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $22)
- (tee_local $1
- (i32.load
- (i32.const 1224)
+ (if
+ (i32.lt_u
+ (get_local $22)
+ (tee_local $1
+ (i32.load
+ (i32.const 1224)
+ )
)
)
+ (call $qa)
)
- (call $qa)
- )
- (i32.store offset=24
- (get_local $22)
- (get_local $5)
- )
- (if
- (tee_local $9
- (i32.load offset=16
- (get_local $10)
- )
+ (i32.store offset=24
+ (get_local $22)
+ (get_local $5)
)
(if
- (i32.lt_u
- (get_local $9)
- (get_local $1)
+ (tee_local $9
+ (i32.load offset=16
+ (get_local $10)
+ )
)
- (call $qa)
- (block
- (i32.store offset=16
- (get_local $22)
+ (if
+ (i32.lt_u
(get_local $9)
+ (get_local $1)
)
- (i32.store offset=24
- (get_local $9)
- (get_local $22)
+ (call $qa)
+ (block
+ (i32.store offset=16
+ (get_local $22)
+ (get_local $9)
+ )
+ (i32.store offset=24
+ (get_local $9)
+ (get_local $22)
+ )
)
)
)
- )
- (if
- (tee_local $9
- (i32.load offset=20
- (get_local $10)
- )
- )
(if
- (i32.lt_u
- (get_local $9)
- (i32.load
- (i32.const 1224)
+ (tee_local $9
+ (i32.load offset=20
+ (get_local $10)
)
)
- (call $qa)
- (block
- (i32.store offset=20
- (get_local $22)
+ (if
+ (i32.lt_u
(get_local $9)
+ (i32.load
+ (i32.const 1224)
+ )
)
- (i32.store offset=24
- (get_local $9)
- (get_local $22)
+ (call $qa)
+ (block
+ (i32.store offset=20
+ (get_local $22)
+ (get_local $9)
+ )
+ (i32.store offset=24
+ (get_local $9)
+ (get_local $22)
+ )
)
)
)
)
)
)
- )
- (block $do-once25
- (if
- (i32.lt_u
- (get_local $18)
- (i32.const 16)
- )
- (block
- (i32.store offset=4
- (get_local $10)
- (i32.or
- (tee_local $5
- (i32.add
- (get_local $18)
- (get_local $0)
+ (block $do-once25
+ (if
+ (i32.lt_u
+ (get_local $18)
+ (i32.const 16)
+ )
+ (block
+ (i32.store offset=4
+ (get_local $10)
+ (i32.or
+ (tee_local $5
+ (i32.add
+ (get_local $18)
+ (get_local $0)
+ )
)
+ (i32.const 3)
)
- (i32.const 3)
)
- )
- (i32.store
- (tee_local $9
- (i32.add
+ (i32.store
+ (tee_local $9
(i32.add
- (get_local $10)
- (get_local $5)
+ (i32.add
+ (get_local $10)
+ (get_local $5)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (i32.or
- (i32.load
- (get_local $9)
+ (i32.or
+ (i32.load
+ (get_local $9)
+ )
+ (i32.const 1)
)
- (i32.const 1)
)
)
- )
- (block
- (i32.store offset=4
- (get_local $10)
- (i32.or
- (get_local $0)
- (i32.const 3)
- )
- )
- (i32.store offset=4
- (get_local $8)
- (i32.or
- (get_local $18)
- (i32.const 1)
+ (block
+ (i32.store offset=4
+ (get_local $10)
+ (i32.or
+ (get_local $0)
+ (i32.const 3)
+ )
)
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $8)
- (get_local $18)
+ (i32.or
+ (get_local $18)
+ (i32.const 1)
+ )
)
- (get_local $18)
- )
- (set_local $9
- (i32.shr_u
+ (i32.store
+ (i32.add
+ (get_local $8)
+ (get_local $18)
+ )
(get_local $18)
- (i32.const 3)
)
- )
- (if
- (i32.lt_u
- (get_local $18)
- (i32.const 256)
+ (set_local $9
+ (i32.shr_u
+ (get_local $18)
+ (i32.const 3)
+ )
)
- (block
- (set_local $5
- (i32.add
- (i32.shl
- (get_local $9)
- (i32.const 3)
- )
- (i32.const 1248)
- )
+ (if
+ (i32.lt_u
+ (get_local $18)
+ (i32.const 256)
)
- (if
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 1208)
- )
- )
- (tee_local $3
+ (block
+ (set_local $5
+ (i32.add
(i32.shl
- (i32.const 1)
(get_local $9)
+ (i32.const 3)
)
+ (i32.const 1248)
)
)
(if
- (i32.lt_u
+ (i32.and
(tee_local $1
(i32.load
- (tee_local $3
- (i32.add
- (get_local $5)
- (i32.const 8)
+ (i32.const 1208)
+ )
+ )
+ (tee_local $3
+ (i32.shl
+ (i32.const 1)
+ (get_local $9)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $1
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $5)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 1224)
+ )
)
- (i32.load
- (i32.const 1224)
+ (call $qa)
+ (block
+ (set_local $19
+ (get_local $3)
+ )
+ (set_local $6
+ (get_local $1)
+ )
)
)
- (call $qa)
(block
+ (i32.store
+ (i32.const 1208)
+ (i32.or
+ (get_local $1)
+ (get_local $3)
+ )
+ )
(set_local $19
- (get_local $3)
+ (i32.add
+ (get_local $5)
+ (i32.const 8)
+ )
)
(set_local $6
- (get_local $1)
- )
- )
- )
- (block
- (i32.store
- (i32.const 1208)
- (i32.or
- (get_local $1)
- (get_local $3)
- )
- )
- (set_local $19
- (i32.add
(get_local $5)
- (i32.const 8)
)
)
- (set_local $6
- (get_local $5)
- )
)
+ (i32.store
+ (get_local $19)
+ (get_local $8)
+ )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $8)
+ )
+ (i32.store offset=8
+ (get_local $8)
+ (get_local $6)
+ )
+ (i32.store offset=12
+ (get_local $8)
+ (get_local $5)
+ )
+ (br $do-once25)
)
- (i32.store
- (get_local $19)
- (get_local $8)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $8)
- )
- (i32.store offset=8
- (get_local $8)
- (get_local $6)
- )
- (i32.store offset=12
- (get_local $8)
- (get_local $5)
- )
- (br $do-once25)
)
- )
- (set_local $12
- (i32.add
- (i32.shl
- (tee_local $16
- (if (result i32)
- (tee_local $5
- (i32.shr_u
- (get_local $18)
- (i32.const 8)
- )
- )
+ (set_local $12
+ (i32.add
+ (i32.shl
+ (tee_local $16
(if (result i32)
- (i32.gt_u
- (get_local $18)
- (i32.const 16777215)
+ (tee_local $5
+ (i32.shr_u
+ (get_local $18)
+ (i32.const 8)
+ )
)
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $18)
- (i32.add
- (tee_local $12
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (if (result i32)
+ (i32.gt_u
+ (get_local $18)
+ (i32.const 16777215)
+ )
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $18)
+ (i32.add
+ (tee_local $12
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $5
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $3
- (i32.shl
- (get_local $5)
- (tee_local $1
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $5)
- (i32.const 1048320)
+ (i32.or
+ (tee_local $5
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $3
+ (i32.shl
+ (get_local $5)
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $5)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 520192)
)
- (i32.const 520192)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 4)
)
- (i32.const 4)
)
+ (get_local $1)
)
- (get_local $1)
- )
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $9
- (i32.shl
- (get_local $3)
- (get_local $5)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $9
+ (i32.shl
+ (get_local $3)
+ (get_local $5)
+ )
)
+ (i32.const 245760)
)
- (i32.const 245760)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $9)
- (get_local $3)
+ (i32.shr_u
+ (i32.shl
+ (get_local $9)
+ (get_local $3)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $12)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $12)
- (i32.const 1)
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- )
- (i32.const 2)
- )
- (i32.const 1512)
- )
- )
- (i32.store offset=28
- (get_local $8)
- (get_local $16)
- )
- (i32.store offset=4
- (tee_local $3
- (i32.add
- (get_local $8)
- (i32.const 16)
- )
- )
- (i32.const 0)
- )
- (i32.store
- (get_local $3)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $3
- (i32.load
- (i32.const 1212)
- )
- )
- (tee_local $9
- (i32.shl
- (i32.const 1)
- (get_local $16)
)
+ (i32.const 2)
)
+ (i32.const 1512)
)
)
- (block
- (i32.store
- (i32.const 1212)
- (i32.or
- (get_local $3)
- (get_local $9)
- )
- )
- (i32.store
- (get_local $12)
- (get_local $8)
- )
- (i32.store offset=24
- (get_local $8)
- (get_local $12)
- )
- (i32.store offset=12
- (get_local $8)
- (get_local $8)
- )
- (i32.store offset=8
- (get_local $8)
- (get_local $8)
- )
- (br $do-once25)
+ (i32.store offset=28
+ (get_local $8)
+ (get_local $16)
)
- )
- (set_local $9
- (i32.shl
- (get_local $18)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
- (get_local $16)
- (i32.const 1)
- )
- )
- (i32.eq
- (get_local $16)
- (i32.const 31)
+ (i32.store offset=4
+ (tee_local $3
+ (i32.add
+ (get_local $8)
+ (i32.const 16)
)
)
+ (i32.const 0)
)
- )
- (set_local $3
- (i32.load
- (get_local $12)
+ (i32.store
+ (get_local $3)
+ (i32.const 0)
)
- )
- (loop $while-in28
- (block $while-out27
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $3)
- )
- (i32.const -8)
- )
- (get_local $18)
- )
- (block
- (set_local $17
- (get_local $3)
- )
- (set_local $7
- (i32.const 148)
- )
- (br $while-out27)
- )
- )
- (if
- (tee_local $1
- (i32.load
- (tee_local $12
- (i32.add
- (i32.add
- (get_local $3)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $9)
- (i32.const 31)
- )
- (i32.const 2)
- )
- )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $3
+ (i32.load
+ (i32.const 1212)
)
)
- )
- (block
- (set_local $9
+ (tee_local $9
(i32.shl
- (get_local $9)
(i32.const 1)
+ (get_local $16)
)
)
- (set_local $3
- (get_local $1)
- )
- (br $while-in28)
)
- (block
- (set_local $21
- (get_local $12)
- )
- (set_local $15
+ )
+ (block
+ (i32.store
+ (i32.const 1212)
+ (i32.or
(get_local $3)
+ (get_local $9)
)
- (set_local $7
- (i32.const 145)
- )
- )
- )
- )
- )
- (if
- (i32.eq
- (get_local $7)
- (i32.const 145)
- )
- (if
- (i32.lt_u
- (get_local $21)
- (i32.load
- (i32.const 1224)
)
- )
- (call $qa)
- (block
(i32.store
- (get_local $21)
+ (get_local $12)
(get_local $8)
)
(i32.store offset=24
(get_local $8)
- (get_local $15)
+ (get_local $12)
)
(i32.store offset=12
(get_local $8)
@@ -2770,375 +2646,449 @@
(get_local $8)
(get_local $8)
)
+ (br $do-once25)
)
)
- (if
- (i32.eq
- (get_local $7)
- (i32.const 148)
+ (set_local $9
+ (i32.shl
+ (get_local $18)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $16)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
+ (get_local $16)
+ (i32.const 31)
+ )
+ )
)
- (if
- (i32.and
- (i32.ge_u
- (tee_local $9
- (i32.load
- (tee_local $3
+ )
+ (set_local $3
+ (i32.load
+ (get_local $12)
+ )
+ )
+ (loop $while-in28
+ (block $while-out27
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $3)
+ )
+ (i32.const -8)
+ )
+ (get_local $18)
+ )
+ (block
+ (set_local $17
+ (get_local $3)
+ )
+ (set_local $7
+ (i32.const 148)
+ )
+ (br $while-out27)
+ )
+ )
+ (if
+ (tee_local $1
+ (i32.load
+ (tee_local $12
+ (i32.add
(i32.add
- (get_local $17)
- (i32.const 8)
+ (get_local $3)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $9)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
)
)
)
- (tee_local $1
- (i32.load
- (i32.const 1224)
+ )
+ (block
+ (set_local $9
+ (i32.shl
+ (get_local $9)
+ (i32.const 1)
)
)
+ (set_local $3
+ (get_local $1)
+ )
+ (br $while-in28)
)
- (i32.ge_u
- (get_local $17)
- (get_local $1)
+ (block
+ (set_local $21
+ (get_local $12)
+ )
+ (set_local $15
+ (get_local $3)
+ )
+ (set_local $7
+ (i32.const 145)
+ )
)
)
- (block
- (i32.store offset=12
- (get_local $9)
- (get_local $8)
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 145)
+ )
+ (if
+ (i32.lt_u
+ (get_local $21)
+ (i32.load
+ (i32.const 1224)
)
+ )
+ (call $qa)
+ (block
(i32.store
- (get_local $3)
+ (get_local $21)
(get_local $8)
)
- (i32.store offset=8
+ (i32.store offset=24
(get_local $8)
- (get_local $9)
+ (get_local $15)
)
(i32.store offset=12
(get_local $8)
- (get_local $17)
+ (get_local $8)
)
- (i32.store offset=24
+ (i32.store offset=8
+ (get_local $8)
(get_local $8)
- (i32.const 0)
)
)
- (call $qa)
+ )
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 148)
+ )
+ (if
+ (i32.and
+ (i32.ge_u
+ (tee_local $9
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $17)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (tee_local $1
+ (i32.load
+ (i32.const 1224)
+ )
+ )
+ )
+ (i32.ge_u
+ (get_local $17)
+ (get_local $1)
+ )
+ )
+ (block
+ (i32.store offset=12
+ (get_local $9)
+ (get_local $8)
+ )
+ (i32.store
+ (get_local $3)
+ (get_local $8)
+ )
+ (i32.store offset=8
+ (get_local $8)
+ (get_local $9)
+ )
+ (i32.store offset=12
+ (get_local $8)
+ (get_local $17)
+ )
+ (i32.store offset=24
+ (get_local $8)
+ (i32.const 0)
+ )
+ )
+ (call $qa)
+ )
)
)
)
)
)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.add
- (get_local $10)
- (i32.const 8)
+ (set_global $r
+ (get_local $25)
)
+ (return
+ (i32.add
+ (get_local $10)
+ (i32.const 8)
+ )
+ )
+ )
+ (set_local $5
+ (get_local $0)
)
)
(set_local $5
(get_local $0)
)
)
- (set_local $5
- (get_local $0)
- )
)
- )
- (set_local $5
- (get_local $0)
+ (set_local $5
+ (get_local $0)
+ )
)
)
)
)
)
- )
- (if
- (i32.ge_u
- (tee_local $10
- (i32.load
- (i32.const 1216)
- )
- )
- (get_local $5)
- )
- (block
- (set_local $15
- (i32.load
- (i32.const 1228)
+ (if
+ (i32.ge_u
+ (tee_local $10
+ (i32.load
+ (i32.const 1216)
+ )
)
+ (get_local $5)
)
- (if
- (i32.gt_u
- (tee_local $17
- (i32.sub
- (get_local $10)
- (get_local $5)
- )
+ (block
+ (set_local $15
+ (i32.load
+ (i32.const 1228)
)
- (i32.const 15)
)
- (block
- (i32.store
- (i32.const 1228)
- (tee_local $21
- (i32.add
- (get_local $15)
+ (if
+ (i32.gt_u
+ (tee_local $17
+ (i32.sub
+ (get_local $10)
(get_local $5)
)
)
+ (i32.const 15)
)
- (i32.store
- (i32.const 1216)
- (get_local $17)
- )
- (i32.store offset=4
- (get_local $21)
- (i32.or
+ (block
+ (i32.store
+ (i32.const 1228)
+ (tee_local $21
+ (i32.add
+ (get_local $15)
+ (get_local $5)
+ )
+ )
+ )
+ (i32.store
+ (i32.const 1216)
(get_local $17)
- (i32.const 1)
)
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $21)
+ (i32.or
+ (get_local $17)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
+ (get_local $21)
+ (get_local $17)
+ )
(get_local $17)
)
- (get_local $17)
- )
- (i32.store offset=4
- (get_local $15)
- (i32.or
- (get_local $5)
- (i32.const 3)
+ (i32.store offset=4
+ (get_local $15)
+ (i32.or
+ (get_local $5)
+ (i32.const 3)
+ )
)
)
- )
- (block
- (i32.store
- (i32.const 1216)
- (i32.const 0)
- )
- (i32.store
- (i32.const 1228)
- (i32.const 0)
- )
- (i32.store offset=4
- (get_local $15)
- (i32.or
- (get_local $10)
- (i32.const 3)
+ (block
+ (i32.store
+ (i32.const 1216)
+ (i32.const 0)
)
- )
- (i32.store
- (tee_local $17
- (i32.add
+ (i32.store
+ (i32.const 1228)
+ (i32.const 0)
+ )
+ (i32.store offset=4
+ (get_local $15)
+ (i32.or
+ (get_local $10)
+ (i32.const 3)
+ )
+ )
+ (i32.store
+ (tee_local $17
(i32.add
- (get_local $15)
- (get_local $10)
+ (i32.add
+ (get_local $15)
+ (get_local $10)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (i32.or
- (i32.load
- (get_local $17)
+ (i32.or
+ (i32.load
+ (get_local $17)
+ )
+ (i32.const 1)
)
- (i32.const 1)
)
)
)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.add
- (get_local $15)
- (i32.const 8)
- )
+ (br $folding-inner0)
)
)
- )
- (if
- (i32.gt_u
- (tee_local $15
- (i32.load
- (i32.const 1220)
+ (if
+ (i32.gt_u
+ (tee_local $15
+ (i32.load
+ (i32.const 1220)
+ )
)
+ (get_local $5)
)
- (get_local $5)
- )
- (block
- (i32.store
- (i32.const 1220)
- (tee_local $17
- (i32.sub
- (get_local $15)
- (get_local $5)
+ (block
+ (i32.store
+ (i32.const 1220)
+ (tee_local $17
+ (i32.sub
+ (get_local $15)
+ (get_local $5)
+ )
)
)
- )
- (i32.store
- (i32.const 1232)
- (tee_local $10
- (i32.add
- (tee_local $15
- (i32.load
- (i32.const 1232)
+ (i32.store
+ (i32.const 1232)
+ (tee_local $10
+ (i32.add
+ (tee_local $15
+ (i32.load
+ (i32.const 1232)
+ )
)
+ (get_local $5)
)
- (get_local $5)
)
)
- )
- (i32.store offset=4
- (get_local $10)
- (i32.or
- (get_local $17)
- (i32.const 1)
- )
- )
- (i32.store offset=4
- (get_local $15)
- (i32.or
- (get_local $5)
- (i32.const 3)
+ (i32.store offset=4
+ (get_local $10)
+ (i32.or
+ (get_local $17)
+ (i32.const 1)
+ )
)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.add
+ (i32.store offset=4
(get_local $15)
- (i32.const 8)
+ (i32.or
+ (get_local $5)
+ (i32.const 3)
+ )
)
+ (br $folding-inner0)
)
)
- )
- (if
- (i32.eqz
- (i32.load
- (i32.const 1680)
- )
- )
- (block
- (i32.store
- (i32.const 1688)
- (i32.const 4096)
- )
- (i32.store
- (i32.const 1684)
- (i32.const 4096)
- )
- (i32.store
- (i32.const 1692)
- (i32.const -1)
- )
- (i32.store
- (i32.const 1696)
- (i32.const -1)
- )
- (i32.store
- (i32.const 1700)
- (i32.const 0)
- )
- (i32.store
- (i32.const 1652)
- (i32.const 0)
- )
- (i32.store
- (get_local $13)
- (tee_local $15
- (i32.xor
- (i32.and
- (get_local $13)
- (i32.const -16)
- )
- (i32.const 1431655768)
- )
+ (if
+ (i32.eqz
+ (i32.load
+ (i32.const 1680)
)
)
- (i32.store
- (i32.const 1680)
- (get_local $15)
- )
- )
- )
- (set_local $15
- (i32.add
- (get_local $5)
- (i32.const 48)
- )
- )
- (if
- (i32.le_u
- (tee_local $13
- (i32.and
- (tee_local $10
- (i32.add
- (tee_local $13
- (i32.load
- (i32.const 1688)
- )
- )
- (tee_local $17
- (i32.add
- (get_local $5)
- (i32.const 47)
- )
+ (block
+ (i32.store
+ (i32.const 1688)
+ (i32.const 4096)
+ )
+ (i32.store
+ (i32.const 1684)
+ (i32.const 4096)
+ )
+ (i32.store
+ (i32.const 1692)
+ (i32.const -1)
+ )
+ (i32.store
+ (i32.const 1696)
+ (i32.const -1)
+ )
+ (i32.store
+ (i32.const 1700)
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 1652)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $13)
+ (tee_local $15
+ (i32.xor
+ (i32.and
+ (get_local $13)
+ (i32.const -16)
)
- )
- )
- (tee_local $21
- (i32.sub
- (i32.const 0)
- (get_local $13)
+ (i32.const 1431655768)
)
)
)
- )
- (get_local $5)
- )
- (block
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.const 0)
+ (i32.store
+ (i32.const 1680)
+ (get_local $15)
+ )
)
)
- )
- (if
- (tee_local $18
- (i32.load
- (i32.const 1648)
+ (set_local $15
+ (i32.add
+ (get_local $5)
+ (i32.const 48)
)
)
(if
- (i32.or
- (i32.le_u
- (tee_local $6
- (i32.add
- (tee_local $16
- (i32.load
- (i32.const 1640)
+ (i32.le_u
+ (tee_local $13
+ (i32.and
+ (tee_local $10
+ (i32.add
+ (tee_local $13
+ (i32.load
+ (i32.const 1688)
+ )
+ )
+ (tee_local $17
+ (i32.add
+ (get_local $5)
+ (i32.const 47)
+ )
)
)
- (get_local $13)
+ )
+ (tee_local $21
+ (i32.sub
+ (i32.const 0)
+ (get_local $13)
+ )
)
)
- (get_local $16)
- )
- (i32.gt_u
- (get_local $6)
- (get_local $18)
)
+ (get_local $5)
)
(block
(set_global $r
@@ -3149,270 +3099,306 @@
)
)
)
- )
- (if
- (i32.eq
- (tee_local $7
- (block $label$break$b (result i32)
- (if (result i32)
- (i32.and
- (i32.load
- (i32.const 1652)
+ (if
+ (tee_local $18
+ (i32.load
+ (i32.const 1648)
+ )
+ )
+ (if
+ (i32.or
+ (i32.le_u
+ (tee_local $6
+ (i32.add
+ (tee_local $16
+ (i32.load
+ (i32.const 1640)
+ )
+ )
+ (get_local $13)
)
- (i32.const 4)
)
- (i32.const 188)
- (block (result i32)
- (block $label$break$c
- (if
- (tee_local $18
- (i32.load
- (i32.const 1232)
- )
- )
- (block
- (set_local $6
- (i32.const 1656)
+ (get_local $16)
+ )
+ (i32.gt_u
+ (get_local $6)
+ (get_local $18)
+ )
+ )
+ (block
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (tee_local $7
+ (block $label$break$b (result i32)
+ (if (result i32)
+ (i32.and
+ (i32.load
+ (i32.const 1652)
+ )
+ (i32.const 4)
+ )
+ (i32.const 188)
+ (block (result i32)
+ (block $label$break$c
+ (if
+ (tee_local $18
+ (i32.load
+ (i32.const 1232)
+ )
)
- (loop $while-in32
- (block $while-out31
- (if
- (i32.le_u
- (tee_local $16
- (i32.load
- (get_local $6)
- )
- )
- (get_local $18)
- )
+ (block
+ (set_local $6
+ (i32.const 1656)
+ )
+ (loop $while-in32
+ (block $while-out31
(if
- (i32.gt_u
- (i32.add
- (get_local $16)
+ (i32.le_u
+ (tee_local $16
(i32.load
- (tee_local $19
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- )
+ (get_local $6)
)
)
(get_local $18)
)
- (block
- (set_local $0
- (get_local $6)
+ (if
+ (i32.gt_u
+ (i32.add
+ (get_local $16)
+ (i32.load
+ (tee_local $19
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ )
+ )
+ )
+ (get_local $18)
)
- (set_local $4
- (get_local $19)
+ (block
+ (set_local $0
+ (get_local $6)
+ )
+ (set_local $4
+ (get_local $19)
+ )
+ (br $while-out31)
)
- (br $while-out31)
)
)
- )
- (br_if $while-in32
- (tee_local $6
- (i32.load offset=8
- (get_local $6)
+ (br_if $while-in32
+ (tee_local $6
+ (i32.load offset=8
+ (get_local $6)
+ )
)
)
+ (set_local $7
+ (i32.const 171)
+ )
+ (br $label$break$c)
)
- (set_local $7
- (i32.const 171)
- )
- (br $label$break$c)
)
- )
- (if
- (i32.lt_u
- (tee_local $6
- (i32.and
- (i32.sub
- (get_local $10)
- (i32.load
- (i32.const 1220)
+ (if
+ (i32.lt_u
+ (tee_local $6
+ (i32.and
+ (i32.sub
+ (get_local $10)
+ (i32.load
+ (i32.const 1220)
+ )
)
+ (get_local $21)
)
- (get_local $21)
)
+ (i32.const 2147483647)
)
- (i32.const 2147483647)
- )
- (if
- (i32.eq
- (tee_local $19
- (call $ta
- (get_local $6)
+ (if
+ (i32.eq
+ (tee_local $19
+ (call $ta
+ (get_local $6)
+ )
+ )
+ (i32.add
+ (i32.load
+ (get_local $0)
+ )
+ (i32.load
+ (get_local $4)
+ )
)
)
- (i32.add
- (i32.load
- (get_local $0)
+ (if
+ (i32.ne
+ (get_local $19)
+ (i32.const -1)
)
- (i32.load
- (get_local $4)
+ (block
+ (set_local $20
+ (get_local $19)
+ )
+ (set_local $26
+ (get_local $6)
+ )
+ (br $label$break$b
+ (i32.const 191)
+ )
)
)
- )
- (if
- (i32.ne
- (get_local $19)
- (i32.const -1)
- )
(block
- (set_local $20
+ (set_local $11
(get_local $19)
)
- (set_local $26
+ (set_local $2
(get_local $6)
)
- (br $label$break$b
- (i32.const 191)
+ (set_local $7
+ (i32.const 181)
)
)
)
- (block
- (set_local $11
- (get_local $19)
- )
- (set_local $2
- (get_local $6)
- )
- (set_local $7
- (i32.const 181)
- )
- )
)
)
- )
- (set_local $7
- (i32.const 171)
+ (set_local $7
+ (i32.const 171)
+ )
)
)
- )
- (block $do-once33
- (if
- (i32.eq
- (get_local $7)
- (i32.const 171)
- )
+ (block $do-once33
(if
- (i32.ne
- (tee_local $18
- (call $ta
- (i32.const 0)
+ (i32.eq
+ (get_local $7)
+ (i32.const 171)
+ )
+ (if
+ (i32.ne
+ (tee_local $18
+ (call $ta
+ (i32.const 0)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
- )
- (block
- (set_local $3
- (if (result i32)
- (i32.and
- (tee_local $19
- (i32.add
- (tee_local $6
- (i32.load
- (i32.const 1684)
+ (block
+ (set_local $3
+ (if (result i32)
+ (i32.and
+ (tee_local $19
+ (i32.add
+ (tee_local $6
+ (i32.load
+ (i32.const 1684)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
+ )
+ (tee_local $0
+ (get_local $18)
)
)
- (tee_local $0
- (get_local $18)
- )
- )
- (i32.add
- (i32.sub
- (get_local $13)
- (get_local $0)
- )
- (i32.and
- (i32.add
- (get_local $19)
+ (i32.add
+ (i32.sub
+ (get_local $13)
(get_local $0)
)
- (i32.sub
- (i32.const 0)
- (get_local $6)
+ (i32.and
+ (i32.add
+ (get_local $19)
+ (get_local $0)
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $6)
+ )
)
)
+ (get_local $13)
)
- (get_local $13)
)
- )
- (set_local $0
- (i32.add
- (tee_local $6
- (i32.load
- (i32.const 1640)
+ (set_local $0
+ (i32.add
+ (tee_local $6
+ (i32.load
+ (i32.const 1640)
+ )
)
- )
- (get_local $3)
- )
- )
- (if
- (i32.and
- (i32.gt_u
(get_local $3)
- (get_local $5)
- )
- (i32.lt_u
- (get_local $3)
- (i32.const 2147483647)
)
)
- (block
- (if
- (tee_local $19
- (i32.load
- (i32.const 1648)
- )
+ (if
+ (i32.and
+ (i32.gt_u
+ (get_local $3)
+ (get_local $5)
)
- (br_if $do-once33
- (i32.or
- (i32.le_u
- (get_local $0)
- (get_local $6)
- )
- (i32.gt_u
- (get_local $0)
- (get_local $19)
- )
- )
+ (i32.lt_u
+ (get_local $3)
+ (i32.const 2147483647)
)
)
- (if
- (i32.eq
+ (block
+ (if
(tee_local $19
- (call $ta
- (get_local $3)
+ (i32.load
+ (i32.const 1648)
)
)
- (get_local $18)
- )
- (block
- (set_local $20
- (get_local $18)
- )
- (set_local $26
- (get_local $3)
- )
- (br $label$break$b
- (i32.const 191)
+ (br_if $do-once33
+ (i32.or
+ (i32.le_u
+ (get_local $0)
+ (get_local $6)
+ )
+ (i32.gt_u
+ (get_local $0)
+ (get_local $19)
+ )
+ )
)
)
- (block
- (set_local $11
- (get_local $19)
+ (if
+ (i32.eq
+ (tee_local $19
+ (call $ta
+ (get_local $3)
+ )
+ )
+ (get_local $18)
)
- (set_local $2
- (get_local $3)
+ (block
+ (set_local $20
+ (get_local $18)
+ )
+ (set_local $26
+ (get_local $3)
+ )
+ (br $label$break$b
+ (i32.const 191)
+ )
)
- (set_local $7
- (i32.const 181)
+ (block
+ (set_local $11
+ (get_local $19)
+ )
+ (set_local $2
+ (get_local $3)
+ )
+ (set_local $7
+ (i32.const 181)
+ )
)
)
)
@@ -3421,1058 +3407,1084 @@
)
)
)
- )
- (block $label$break$d
- (if
- (i32.eq
- (get_local $7)
- (i32.const 181)
- )
- (block
- (set_local $19
- (i32.sub
- (i32.const 0)
- (get_local $2)
- )
+ (block $label$break$d
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 181)
)
- (if
- (i32.and
- (i32.gt_u
- (get_local $15)
+ (block
+ (set_local $19
+ (i32.sub
+ (i32.const 0)
(get_local $2)
)
+ )
+ (if
(i32.and
- (i32.lt_u
+ (i32.gt_u
+ (get_local $15)
(get_local $2)
- (i32.const 2147483647)
)
- (i32.ne
- (get_local $11)
- (i32.const -1)
+ (i32.and
+ (i32.lt_u
+ (get_local $2)
+ (i32.const 2147483647)
+ )
+ (i32.ne
+ (get_local $11)
+ (i32.const -1)
+ )
)
)
- )
- (if
- (i32.lt_u
- (tee_local $0
- (i32.and
- (i32.add
- (i32.sub
- (get_local $17)
- (get_local $2)
- )
- (tee_local $18
- (i32.load
- (i32.const 1688)
+ (if
+ (i32.lt_u
+ (tee_local $0
+ (i32.and
+ (i32.add
+ (i32.sub
+ (get_local $17)
+ (get_local $2)
+ )
+ (tee_local $18
+ (i32.load
+ (i32.const 1688)
+ )
)
)
+ (i32.sub
+ (i32.const 0)
+ (get_local $18)
+ )
)
- (i32.sub
- (i32.const 0)
- (get_local $18)
- )
- )
- )
- (i32.const 2147483647)
- )
- (if
- (i32.eq
- (call $ta
- (get_local $0)
)
- (i32.const -1)
+ (i32.const 2147483647)
)
- (block
- (drop
+ (if
+ (i32.eq
(call $ta
- (get_local $19)
+ (get_local $0)
+ )
+ (i32.const -1)
+ )
+ (block
+ (drop
+ (call $ta
+ (get_local $19)
+ )
+ )
+ (br $label$break$d)
+ )
+ (set_local $1
+ (i32.add
+ (get_local $0)
+ (get_local $2)
)
)
- (br $label$break$d)
)
(set_local $1
- (i32.add
- (get_local $0)
- (get_local $2)
- )
+ (get_local $2)
)
)
(set_local $1
(get_local $2)
)
)
- (set_local $1
- (get_local $2)
- )
- )
- (if
- (i32.ne
- (get_local $11)
- (i32.const -1)
- )
- (block
- (set_local $20
+ (if
+ (i32.ne
(get_local $11)
+ (i32.const -1)
)
- (set_local $26
- (get_local $1)
- )
- (br $label$break$b
- (i32.const 191)
+ (block
+ (set_local $20
+ (get_local $11)
+ )
+ (set_local $26
+ (get_local $1)
+ )
+ (br $label$break$b
+ (i32.const 191)
+ )
)
)
)
)
)
- )
- (i32.store
- (i32.const 1652)
- (i32.or
- (i32.load
- (i32.const 1652)
+ (i32.store
+ (i32.const 1652)
+ (i32.or
+ (i32.load
+ (i32.const 1652)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
+ (i32.const 188)
)
- (i32.const 188)
)
)
)
- )
- (i32.const 188)
- )
- (if
- (i32.lt_u
- (get_local $13)
- (i32.const 2147483647)
+ (i32.const 188)
)
(if
- (i32.and
- (i32.lt_u
- (tee_local $1
- (call $ta
- (get_local $13)
+ (i32.lt_u
+ (get_local $13)
+ (i32.const 2147483647)
+ )
+ (if
+ (i32.and
+ (i32.lt_u
+ (tee_local $1
+ (call $ta
+ (get_local $13)
+ )
)
- )
- (tee_local $13
- (call $ta
- (i32.const 0)
+ (tee_local $13
+ (call $ta
+ (i32.const 0)
+ )
)
)
- )
- (i32.and
- (i32.ne
- (get_local $1)
- (i32.const -1)
- )
- (i32.ne
- (get_local $13)
- (i32.const -1)
- )
- )
- )
- (if
- (i32.gt_u
- (tee_local $11
- (i32.sub
- (get_local $13)
+ (i32.and
+ (i32.ne
(get_local $1)
+ (i32.const -1)
+ )
+ (i32.ne
+ (get_local $13)
+ (i32.const -1)
)
- )
- (i32.add
- (get_local $5)
- (i32.const 40)
)
)
- (block
- (set_local $20
- (get_local $1)
- )
- (set_local $26
- (get_local $11)
+ (if
+ (i32.gt_u
+ (tee_local $11
+ (i32.sub
+ (get_local $13)
+ (get_local $1)
+ )
+ )
+ (i32.add
+ (get_local $5)
+ (i32.const 40)
+ )
)
- (set_local $7
- (i32.const 191)
+ (block
+ (set_local $20
+ (get_local $1)
+ )
+ (set_local $26
+ (get_local $11)
+ )
+ (set_local $7
+ (i32.const 191)
+ )
)
)
)
)
)
- )
- (if
- (i32.eq
- (get_local $7)
- (i32.const 191)
- )
- (block
- (i32.store
- (i32.const 1640)
- (tee_local $11
- (i32.add
- (i32.load
- (i32.const 1640)
- )
- (get_local $26)
- )
- )
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 191)
)
- (if
- (i32.gt_u
- (get_local $11)
- (i32.load
- (i32.const 1644)
- )
- )
+ (block
(i32.store
- (i32.const 1644)
- (get_local $11)
+ (i32.const 1640)
+ (tee_local $11
+ (i32.add
+ (i32.load
+ (i32.const 1640)
+ )
+ (get_local $26)
+ )
+ )
)
- )
- (block $do-once38
(if
- (tee_local $11
+ (i32.gt_u
+ (get_local $11)
(i32.load
- (i32.const 1232)
+ (i32.const 1644)
)
)
- (block
- (set_local $2
- (i32.const 1656)
+ (i32.store
+ (i32.const 1644)
+ (get_local $11)
+ )
+ )
+ (block $do-once38
+ (if
+ (tee_local $11
+ (i32.load
+ (i32.const 1232)
+ )
)
- (loop $do-in41
- (block $do-out40
- (if
- (i32.eq
- (get_local $20)
- (i32.add
- (tee_local $1
- (i32.load
- (get_local $2)
+ (block
+ (set_local $2
+ (i32.const 1656)
+ )
+ (loop $do-in41
+ (block $do-out40
+ (if
+ (i32.eq
+ (get_local $20)
+ (i32.add
+ (tee_local $1
+ (i32.load
+ (get_local $2)
+ )
)
- )
- (tee_local $17
- (i32.load
- (tee_local $13
- (i32.add
- (get_local $2)
- (i32.const 4)
+ (tee_local $17
+ (i32.load
+ (tee_local $13
+ (i32.add
+ (get_local $2)
+ (i32.const 4)
+ )
)
)
)
)
)
- )
- (block
- (set_local $48
- (get_local $1)
- )
- (set_local $49
- (get_local $13)
- )
- (set_local $50
- (get_local $17)
- )
- (set_local $51
- (get_local $2)
- )
- (set_local $7
- (i32.const 201)
+ (block
+ (set_local $48
+ (get_local $1)
+ )
+ (set_local $49
+ (get_local $13)
+ )
+ (set_local $50
+ (get_local $17)
+ )
+ (set_local $51
+ (get_local $2)
+ )
+ (set_local $7
+ (i32.const 201)
+ )
+ (br $do-out40)
)
- (br $do-out40)
)
- )
- (br_if $do-in41
- (tee_local $2
- (i32.load offset=8
- (get_local $2)
+ (br_if $do-in41
+ (tee_local $2
+ (i32.load offset=8
+ (get_local $2)
+ )
)
)
)
)
- )
- (if
- (i32.eq
- (get_local $7)
- (i32.const 201)
- )
(if
- (i32.eqz
- (i32.and
- (i32.load offset=12
- (get_local $51)
- )
- (i32.const 8)
- )
+ (i32.eq
+ (get_local $7)
+ (i32.const 201)
)
(if
- (i32.and
- (i32.lt_u
- (get_local $11)
- (get_local $20)
- )
- (i32.ge_u
- (get_local $11)
- (get_local $48)
+ (i32.eqz
+ (i32.and
+ (i32.load offset=12
+ (get_local $51)
+ )
+ (i32.const 8)
)
)
- (block
- (i32.store
- (get_local $49)
- (i32.add
- (get_local $50)
- (get_local $26)
+ (if
+ (i32.and
+ (i32.lt_u
+ (get_local $11)
+ (get_local $20)
)
- )
- (set_local $2
- (i32.add
+ (i32.ge_u
(get_local $11)
- (tee_local $17
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $2
- (i32.add
- (get_local $11)
- (i32.const 8)
+ (get_local $48)
+ )
+ )
+ (block
+ (i32.store
+ (get_local $49)
+ (i32.add
+ (get_local $50)
+ (get_local $26)
+ )
+ )
+ (set_local $2
+ (i32.add
+ (get_local $11)
+ (tee_local $17
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $2
+ (i32.add
+ (get_local $11)
+ (i32.const 8)
+ )
)
)
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $2)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $2)
- (i32.const 7)
)
)
)
)
- )
- (set_local $13
- (i32.add
- (i32.sub
- (get_local $26)
- (get_local $17)
- )
- (i32.load
- (i32.const 1220)
+ (set_local $13
+ (i32.add
+ (i32.sub
+ (get_local $26)
+ (get_local $17)
+ )
+ (i32.load
+ (i32.const 1220)
+ )
)
)
- )
- (i32.store
- (i32.const 1232)
- (get_local $2)
- )
- (i32.store
- (i32.const 1220)
- (get_local $13)
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
+ (i32.store
+ (i32.const 1232)
+ (get_local $2)
+ )
+ (i32.store
+ (i32.const 1220)
(get_local $13)
- (i32.const 1)
)
- )
- (i32.store offset=4
- (i32.add
+ (i32.store offset=4
(get_local $2)
- (get_local $13)
+ (i32.or
+ (get_local $13)
+ (i32.const 1)
+ )
)
- (i32.const 40)
- )
- (i32.store
- (i32.const 1236)
- (i32.load
- (i32.const 1696)
+ (i32.store offset=4
+ (i32.add
+ (get_local $2)
+ (get_local $13)
+ )
+ (i32.const 40)
+ )
+ (i32.store
+ (i32.const 1236)
+ (i32.load
+ (i32.const 1696)
+ )
)
+ (br $do-once38)
)
- (br $do-once38)
)
)
)
- )
- (set_local $14
- (if (result i32)
- (i32.lt_u
- (get_local $20)
- (tee_local $13
- (i32.load
- (i32.const 1224)
+ (set_local $14
+ (if (result i32)
+ (i32.lt_u
+ (get_local $20)
+ (tee_local $13
+ (i32.load
+ (i32.const 1224)
+ )
)
)
- )
- (block (result i32)
- (i32.store
- (i32.const 1224)
+ (block (result i32)
+ (i32.store
+ (i32.const 1224)
+ (get_local $20)
+ )
(get_local $20)
)
+ (get_local $13)
+ )
+ )
+ (set_local $13
+ (i32.add
(get_local $20)
+ (get_local $26)
)
- (get_local $13)
)
- )
- (set_local $13
- (i32.add
- (get_local $20)
- (get_local $26)
+ (set_local $2
+ (i32.const 1656)
)
- )
- (set_local $2
- (i32.const 1656)
- )
- (loop $while-in43
- (block $while-out42
- (if
- (i32.eq
- (i32.load
- (get_local $2)
- )
- (get_local $13)
- )
- (block
- (set_local $52
- (get_local $2)
- )
- (set_local $42
- (get_local $2)
+ (loop $while-in43
+ (block $while-out42
+ (if
+ (i32.eq
+ (i32.load
+ (get_local $2)
+ )
+ (get_local $13)
)
- (set_local $7
- (i32.const 209)
+ (block
+ (set_local $52
+ (get_local $2)
+ )
+ (set_local $42
+ (get_local $2)
+ )
+ (set_local $7
+ (i32.const 209)
+ )
+ (br $while-out42)
)
- (br $while-out42)
)
- )
- (br_if $while-in43
- (tee_local $2
- (i32.load offset=8
- (get_local $2)
+ (br_if $while-in43
+ (tee_local $2
+ (i32.load offset=8
+ (get_local $2)
+ )
)
)
+ (set_local $30
+ (i32.const 1656)
+ )
)
- (set_local $30
- (i32.const 1656)
- )
- )
- )
- (if
- (i32.eq
- (get_local $7)
- (i32.const 209)
)
(if
- (i32.and
- (i32.load offset=12
- (get_local $42)
- )
- (i32.const 8)
- )
- (set_local $30
- (i32.const 1656)
+ (i32.eq
+ (get_local $7)
+ (i32.const 209)
)
- (block
- (i32.store
- (get_local $52)
- (get_local $20)
+ (if
+ (i32.and
+ (i32.load offset=12
+ (get_local $42)
+ )
+ (i32.const 8)
)
- (i32.store
- (tee_local $2
- (i32.add
- (get_local $42)
- (i32.const 4)
- )
+ (set_local $30
+ (i32.const 1656)
+ )
+ (block
+ (i32.store
+ (get_local $52)
+ (get_local $20)
)
- (i32.add
- (i32.load
- (get_local $2)
+ (i32.store
+ (tee_local $2
+ (i32.add
+ (get_local $42)
+ (i32.const 4)
+ )
+ )
+ (i32.add
+ (i32.load
+ (get_local $2)
+ )
+ (get_local $26)
)
- (get_local $26)
)
- )
- (set_local $17
- (i32.add
- (get_local $20)
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $2
- (i32.add
- (get_local $20)
- (i32.const 8)
+ (set_local $17
+ (i32.add
+ (get_local $20)
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $2
+ (i32.add
+ (get_local $20)
+ (i32.const 8)
+ )
)
)
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $2)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $2)
- (i32.const 7)
)
)
)
- )
- (set_local $1
- (i32.add
- (get_local $13)
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $2
- (i32.add
- (get_local $13)
- (i32.const 8)
+ (set_local $1
+ (i32.add
+ (get_local $13)
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $2
+ (i32.add
+ (get_local $13)
+ (i32.const 8)
+ )
)
)
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $2)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $2)
- (i32.const 7)
)
)
)
- )
- (set_local $2
- (i32.add
- (get_local $17)
- (get_local $5)
- )
- )
- (set_local $15
- (i32.sub
- (i32.sub
- (get_local $1)
+ (set_local $2
+ (i32.add
(get_local $17)
+ (get_local $5)
)
- (get_local $5)
)
- )
- (i32.store offset=4
- (get_local $17)
- (i32.or
- (get_local $5)
- (i32.const 3)
+ (set_local $15
+ (i32.sub
+ (i32.sub
+ (get_local $1)
+ (get_local $17)
+ )
+ (get_local $5)
+ )
)
- )
- (block $do-once44
- (if
- (i32.eq
- (get_local $1)
- (get_local $11)
+ (i32.store offset=4
+ (get_local $17)
+ (i32.or
+ (get_local $5)
+ (i32.const 3)
)
- (block
- (i32.store
- (i32.const 1220)
- (tee_local $3
- (i32.add
- (i32.load
- (i32.const 1220)
+ )
+ (block $do-once44
+ (if
+ (i32.eq
+ (get_local $1)
+ (get_local $11)
+ )
+ (block
+ (i32.store
+ (i32.const 1220)
+ (tee_local $3
+ (i32.add
+ (i32.load
+ (i32.const 1220)
+ )
+ (get_local $15)
)
- (get_local $15)
)
)
- )
- (i32.store
- (i32.const 1232)
- (get_local $2)
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $3)
- (i32.const 1)
+ (i32.store
+ (i32.const 1232)
+ (get_local $2)
)
- )
- )
- (block
- (if
- (i32.eq
- (get_local $1)
- (i32.load
- (i32.const 1228)
+ (i32.store offset=4
+ (get_local $2)
+ (i32.or
+ (get_local $3)
+ (i32.const 1)
)
)
- (block
- (i32.store
- (i32.const 1216)
- (tee_local $3
- (i32.add
- (i32.load
- (i32.const 1216)
+ )
+ (block
+ (if
+ (i32.eq
+ (get_local $1)
+ (i32.load
+ (i32.const 1228)
+ )
+ )
+ (block
+ (i32.store
+ (i32.const 1216)
+ (tee_local $3
+ (i32.add
+ (i32.load
+ (i32.const 1216)
+ )
+ (get_local $15)
)
- (get_local $15)
)
)
- )
- (i32.store
- (i32.const 1228)
- (get_local $2)
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $3)
- (i32.const 1)
+ (i32.store
+ (i32.const 1228)
+ (get_local $2)
)
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $2)
- (get_local $3)
+ (i32.or
+ (get_local $3)
+ (i32.const 1)
+ )
)
- (get_local $3)
- )
- (br $do-once44)
- )
- )
- (if
- (i32.eq
- (i32.and
- (tee_local $3
- (i32.load offset=4
- (get_local $1)
+ (i32.store
+ (i32.add
+ (get_local $2)
+ (get_local $3)
)
+ (get_local $3)
)
- (i32.const 3)
+ (br $do-once44)
)
- (i32.const 1)
)
- (block
- (set_local $4
+ (if
+ (i32.eq
(i32.and
- (get_local $3)
- (i32.const -8)
- )
- )
- (set_local $0
- (i32.shr_u
- (get_local $3)
+ (tee_local $3
+ (i32.load offset=4
+ (get_local $1)
+ )
+ )
(i32.const 3)
)
+ (i32.const 1)
)
- (block $label$break$e
- (if
- (i32.lt_u
+ (block
+ (set_local $4
+ (i32.and
(get_local $3)
- (i32.const 256)
+ (i32.const -8)
)
- (block
- (set_local $10
- (i32.load offset=12
- (get_local $1)
- )
+ )
+ (set_local $0
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 3)
+ )
+ )
+ (block $label$break$e
+ (if
+ (i32.lt_u
+ (get_local $3)
+ (i32.const 256)
)
- (block $do-once47
- (if
- (i32.ne
- (tee_local $21
- (i32.load offset=8
- (get_local $1)
- )
- )
- (tee_local $19
- (i32.add
- (i32.shl
- (get_local $0)
- (i32.const 3)
+ (block
+ (set_local $10
+ (i32.load offset=12
+ (get_local $1)
+ )
+ )
+ (block $do-once47
+ (if
+ (i32.ne
+ (tee_local $21
+ (i32.load offset=8
+ (get_local $1)
)
- (i32.const 1248)
)
- )
- )
- (block
- (if
- (i32.lt_u
- (get_local $21)
- (get_local $14)
+ (tee_local $19
+ (i32.add
+ (i32.shl
+ (get_local $0)
+ (i32.const 3)
+ )
+ (i32.const 1248)
+ )
)
- (call $qa)
)
- (br_if $do-once47
- (i32.eq
- (i32.load offset=12
+ (block
+ (if
+ (i32.lt_u
(get_local $21)
+ (get_local $14)
)
- (get_local $1)
- )
- )
- (call $qa)
- )
- )
- )
- (if
- (i32.eq
- (get_local $10)
- (get_local $21)
- )
- (block
- (i32.store
- (i32.const 1208)
- (i32.and
- (i32.load
- (i32.const 1208)
+ (call $qa)
)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $0)
+ (br_if $do-once47
+ (i32.eq
+ (i32.load offset=12
+ (get_local $21)
+ )
+ (get_local $1)
)
- (i32.const -1)
)
+ (call $qa)
)
)
- (br $label$break$e)
)
- )
- (block $do-once49
(if
(i32.eq
(get_local $10)
- (get_local $19)
+ (get_local $21)
)
- (set_local $43
- (i32.add
- (get_local $10)
- (i32.const 8)
+ (block
+ (i32.store
+ (i32.const 1208)
+ (i32.and
+ (i32.load
+ (i32.const 1208)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
+ )
+ (i32.const -1)
+ )
+ )
)
+ (br $label$break$e)
)
- (block
- (if
- (i32.lt_u
+ )
+ (block $do-once49
+ (if
+ (i32.eq
+ (get_local $10)
+ (get_local $19)
+ )
+ (set_local $43
+ (i32.add
(get_local $10)
- (get_local $14)
+ (i32.const 8)
)
- (call $qa)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $10)
- (i32.const 8)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $10)
+ (get_local $14)
+ )
+ (call $qa)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $10)
+ (i32.const 8)
+ )
)
)
+ (get_local $1)
)
- (get_local $1)
- )
- (block
- (set_local $43
- (get_local $0)
+ (block
+ (set_local $43
+ (get_local $0)
+ )
+ (br $do-once49)
)
- (br $do-once49)
)
+ (call $qa)
)
- (call $qa)
)
)
- )
- (i32.store offset=12
- (get_local $21)
- (get_local $10)
- )
- (i32.store
- (get_local $43)
- (get_local $21)
- )
- )
- (block
- (set_local $19
- (i32.load offset=24
- (get_local $1)
+ (i32.store offset=12
+ (get_local $21)
+ (get_local $10)
+ )
+ (i32.store
+ (get_local $43)
+ (get_local $21)
)
)
- (block $do-once51
- (if
- (i32.eq
- (tee_local $0
- (i32.load offset=12
- (get_local $1)
- )
- )
+ (block
+ (set_local $19
+ (i32.load offset=24
(get_local $1)
)
- (block
- (if
- (tee_local $16
- (i32.load
- (tee_local $6
- (i32.add
- (tee_local $18
- (i32.add
- (get_local $1)
- (i32.const 16)
+ )
+ (block $do-once51
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=12
+ (get_local $1)
+ )
+ )
+ (get_local $1)
+ )
+ (block
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $6
+ (i32.add
+ (tee_local $18
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
)
+ (i32.const 4)
)
- (i32.const 4)
)
)
)
- )
- (block
- (set_local $3
- (get_local $16)
+ (block
+ (set_local $3
+ (get_local $16)
+ )
+ (set_local $0
+ (get_local $6)
+ )
)
- (set_local $0
- (get_local $6)
+ (if
+ (tee_local $22
+ (i32.load
+ (get_local $18)
+ )
+ )
+ (block
+ (set_local $3
+ (get_local $22)
+ )
+ (set_local $0
+ (get_local $18)
+ )
+ )
+ (block
+ (set_local $24
+ (i32.const 0)
+ )
+ (br $do-once51)
+ )
)
)
- (if
- (tee_local $22
- (i32.load
- (get_local $18)
+ (loop $while-in54
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $6
+ (i32.add
+ (get_local $3)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $3
+ (get_local $16)
+ )
+ (set_local $0
+ (get_local $6)
+ )
+ (br $while-in54)
)
)
- (block
- (set_local $3
- (get_local $22)
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $6
+ (i32.add
+ (get_local $3)
+ (i32.const 16)
+ )
+ )
+ )
)
- (set_local $0
- (get_local $18)
+ (block
+ (set_local $3
+ (get_local $16)
+ )
+ (set_local $0
+ (get_local $6)
+ )
+ (br $while-in54)
)
)
+ )
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (get_local $14)
+ )
+ (call $qa)
(block
- (set_local $24
+ (i32.store
+ (get_local $0)
(i32.const 0)
)
- (br $do-once51)
+ (set_local $24
+ (get_local $3)
+ )
)
)
)
- (loop $while-in54
+ (block
(if
- (tee_local $16
+ (i32.lt_u
+ (tee_local $6
+ (i32.load offset=8
+ (get_local $1)
+ )
+ )
+ (get_local $14)
+ )
+ (call $qa)
+ )
+ (if
+ (i32.ne
(i32.load
- (tee_local $6
+ (tee_local $16
(i32.add
- (get_local $3)
- (i32.const 20)
+ (get_local $6)
+ (i32.const 12)
)
)
)
+ (get_local $1)
)
- (block
- (set_local $3
- (get_local $16)
- )
- (set_local $0
- (get_local $6)
- )
- (br $while-in54)
- )
+ (call $qa)
)
(if
- (tee_local $16
+ (i32.eq
(i32.load
- (tee_local $6
+ (tee_local $18
(i32.add
- (get_local $3)
- (i32.const 16)
+ (get_local $0)
+ (i32.const 8)
)
)
)
+ (get_local $1)
)
(block
- (set_local $3
+ (i32.store
(get_local $16)
+ (get_local $0)
)
- (set_local $0
+ (i32.store
+ (get_local $18)
(get_local $6)
)
- (br $while-in54)
- )
- )
- )
- (if
- (i32.lt_u
- (get_local $0)
- (get_local $14)
- )
- (call $qa)
- (block
- (i32.store
- (get_local $0)
- (i32.const 0)
- )
- (set_local $24
- (get_local $3)
+ (set_local $24
+ (get_local $0)
+ )
)
+ (call $qa)
)
)
)
- (block
- (if
- (i32.lt_u
- (tee_local $6
- (i32.load offset=8
- (get_local $1)
+ )
+ (br_if $label$break$e
+ (i32.eqz
+ (get_local $19)
+ )
+ )
+ (block $do-once55
+ (if
+ (i32.eq
+ (get_local $1)
+ (i32.load
+ (tee_local $21
+ (i32.add
+ (i32.shl
+ (tee_local $0
+ (i32.load offset=28
+ (get_local $1)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 1512)
)
)
- (get_local $14)
)
- (call $qa)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $16
- (i32.add
- (get_local $6)
- (i32.const 12)
+ (block
+ (i32.store
+ (get_local $21)
+ (get_local $24)
+ )
+ (br_if $do-once55
+ (get_local $24)
+ )
+ (i32.store
+ (i32.const 1212)
+ (i32.and
+ (i32.load
+ (i32.const 1212)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
)
+ (i32.const -1)
)
)
- (get_local $1)
)
- (call $qa)
+ (br $label$break$e)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $18
- (i32.add
- (get_local $0)
- (i32.const 8)
- )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $19)
+ (i32.load
+ (i32.const 1224)
)
)
- (get_local $1)
+ (call $qa)
)
- (block
- (i32.store
- (get_local $16)
- (get_local $0)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (get_local $19)
+ (i32.const 16)
+ )
+ )
+ )
+ (get_local $1)
)
(i32.store
- (get_local $18)
- (get_local $6)
+ (get_local $10)
+ (get_local $24)
)
- (set_local $24
- (get_local $0)
+ (i32.store offset=20
+ (get_local $19)
+ (get_local $24)
+ )
+ )
+ (br_if $label$break$e
+ (i32.eqz
+ (get_local $24)
)
)
- (call $qa)
)
)
)
- )
- (br_if $label$break$e
- (i32.eqz
+ (if
+ (i32.lt_u
+ (get_local $24)
+ (tee_local $0
+ (i32.load
+ (i32.const 1224)
+ )
+ )
+ )
+ (call $qa)
+ )
+ (i32.store offset=24
+ (get_local $24)
(get_local $19)
)
- )
- (block $do-once55
(if
- (i32.eq
- (get_local $1)
+ (tee_local $10
(i32.load
(tee_local $21
(i32.add
- (i32.shl
- (tee_local $0
- (i32.load offset=28
- (get_local $1)
- )
- )
- (i32.const 2)
- )
- (i32.const 1512)
- )
- )
- )
- )
- (block
- (i32.store
- (get_local $21)
- (get_local $24)
- )
- (br_if $do-once55
- (get_local $24)
- )
- (i32.store
- (i32.const 1212)
- (i32.and
- (i32.load
- (i32.const 1212)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $0)
- )
- (i32.const -1)
+ (get_local $1)
+ (i32.const 16)
)
)
)
- (br $label$break$e)
)
- (block
- (if
- (i32.lt_u
- (get_local $19)
- (i32.load
- (i32.const 1224)
- )
- )
- (call $qa)
+ (if
+ (i32.lt_u
+ (get_local $10)
+ (get_local $0)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $10
- (i32.add
- (get_local $19)
- (i32.const 16)
- )
- )
- )
- (get_local $1)
- )
- (i32.store
- (get_local $10)
- (get_local $24)
- )
- (i32.store offset=20
- (get_local $19)
+ (call $qa)
+ (block
+ (i32.store offset=16
(get_local $24)
+ (get_local $10)
)
- )
- (br_if $label$break$e
- (i32.eqz
+ (i32.store offset=24
+ (get_local $10)
(get_local $24)
)
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $24)
- (tee_local $0
- (i32.load
- (i32.const 1224)
- )
- )
- )
- (call $qa)
- )
- (i32.store offset=24
- (get_local $24)
- (get_local $19)
- )
- (if
- (tee_local $10
- (i32.load
- (tee_local $21
- (i32.add
- (get_local $1)
- (i32.const 16)
+ (br_if $label$break$e
+ (i32.eqz
+ (tee_local $10
+ (i32.load offset=4
+ (get_local $21)
)
)
)
@@ -4480,11 +4492,13 @@
(if
(i32.lt_u
(get_local $10)
- (get_local $0)
+ (i32.load
+ (i32.const 1224)
+ )
)
(call $qa)
(block
- (i32.store offset=16
+ (i32.store offset=20
(get_local $24)
(get_local $10)
)
@@ -4495,467 +4509,313 @@
)
)
)
- (br_if $label$break$e
- (i32.eqz
- (tee_local $10
- (i32.load offset=4
- (get_local $21)
- )
- )
- )
- )
- (if
- (i32.lt_u
- (get_local $10)
- (i32.load
- (i32.const 1224)
- )
- )
- (call $qa)
- (block
- (i32.store offset=20
- (get_local $24)
- (get_local $10)
- )
- (i32.store offset=24
- (get_local $10)
- (get_local $24)
- )
- )
- )
+ )
+ )
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (get_local $4)
+ )
+ )
+ (set_local $15
+ (i32.add
+ (get_local $4)
+ (get_local $15)
)
)
)
- (set_local $1
+ )
+ (i32.store
+ (tee_local $0
(i32.add
(get_local $1)
- (get_local $4)
+ (i32.const 4)
)
)
- (set_local $15
- (i32.add
- (get_local $4)
- (get_local $15)
+ (i32.and
+ (i32.load
+ (get_local $0)
)
+ (i32.const -2)
)
)
- )
- (i32.store
- (tee_local $0
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (i32.store offset=4
+ (get_local $2)
+ (i32.or
+ (get_local $15)
+ (i32.const 1)
)
)
- (i32.and
- (i32.load
- (get_local $0)
+ (i32.store
+ (i32.add
+ (get_local $2)
+ (get_local $15)
)
- (i32.const -2)
- )
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $15)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (get_local $2)
(get_local $15)
)
- (get_local $15)
- )
- (set_local $0
- (i32.shr_u
- (get_local $15)
- (i32.const 3)
- )
- )
- (if
- (i32.lt_u
- (get_local $15)
- (i32.const 256)
+ (set_local $0
+ (i32.shr_u
+ (get_local $15)
+ (i32.const 3)
+ )
)
- (block
- (set_local $3
- (i32.add
- (i32.shl
- (get_local $0)
- (i32.const 3)
+ (if
+ (i32.lt_u
+ (get_local $15)
+ (i32.const 256)
+ )
+ (block
+ (set_local $3
+ (i32.add
+ (i32.shl
+ (get_local $0)
+ (i32.const 3)
+ )
+ (i32.const 1248)
)
- (i32.const 1248)
)
- )
- (block $do-once59
- (if
- (i32.and
- (tee_local $10
- (i32.load
- (i32.const 1208)
+ (block $do-once59
+ (if
+ (i32.and
+ (tee_local $10
+ (i32.load
+ (i32.const 1208)
+ )
)
- )
- (tee_local $0
- (i32.shl
- (i32.const 1)
- (get_local $0)
+ (tee_local $0
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
+ )
)
)
- )
- (block
- (if
- (i32.ge_u
- (tee_local $19
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $3)
- (i32.const 8)
+ (block
+ (if
+ (i32.ge_u
+ (tee_local $19
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 1224)
+ )
)
- (i32.load
- (i32.const 1224)
+ (block
+ (set_local $44
+ (get_local $0)
+ )
+ (set_local $37
+ (get_local $19)
+ )
+ (br $do-once59)
)
)
- (block
- (set_local $44
+ (call $qa)
+ )
+ (block
+ (i32.store
+ (i32.const 1208)
+ (i32.or
+ (get_local $10)
(get_local $0)
)
- (set_local $37
- (get_local $19)
- )
- (br $do-once59)
)
- )
- (call $qa)
- )
- (block
- (i32.store
- (i32.const 1208)
- (i32.or
- (get_local $10)
- (get_local $0)
+ (set_local $44
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
)
- )
- (set_local $44
- (i32.add
+ (set_local $37
(get_local $3)
- (i32.const 8)
)
)
- (set_local $37
- (get_local $3)
- )
)
)
+ (i32.store
+ (get_local $44)
+ (get_local $2)
+ )
+ (i32.store offset=12
+ (get_local $37)
+ (get_local $2)
+ )
+ (i32.store offset=8
+ (get_local $2)
+ (get_local $37)
+ )
+ (i32.store offset=12
+ (get_local $2)
+ (get_local $3)
+ )
+ (br $do-once44)
)
- (i32.store
- (get_local $44)
- (get_local $2)
- )
- (i32.store offset=12
- (get_local $37)
- (get_local $2)
- )
- (i32.store offset=8
- (get_local $2)
- (get_local $37)
- )
- (i32.store offset=12
- (get_local $2)
- (get_local $3)
- )
- (br $do-once44)
)
- )
- (set_local $0
- (i32.add
- (i32.shl
- (tee_local $4
- (block $do-once61 (result i32)
- (if (result i32)
- (tee_local $0
- (i32.shr_u
- (get_local $15)
- (i32.const 8)
+ (set_local $0
+ (i32.add
+ (i32.shl
+ (tee_local $4
+ (block $do-once61 (result i32)
+ (if (result i32)
+ (tee_local $0
+ (i32.shr_u
+ (get_local $15)
+ (i32.const 8)
+ )
)
- )
- (block (result i32)
- (drop
- (br_if $do-once61
- (i32.const 31)
- (i32.gt_u
- (get_local $15)
- (i32.const 16777215)
+ (block (result i32)
+ (drop
+ (br_if $do-once61
+ (i32.const 31)
+ (i32.gt_u
+ (get_local $15)
+ (i32.const 16777215)
+ )
)
)
- )
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $15)
- (i32.add
- (tee_local $6
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $15)
+ (i32.add
+ (tee_local $6
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $19
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $4
- (i32.shl
- (get_local $0)
- (tee_local $10
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
+ (i32.or
+ (tee_local $19
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $4
+ (i32.shl
+ (get_local $0)
+ (tee_local $10
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 520192)
)
- (i32.const 520192)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 4)
)
- (i32.const 4)
)
+ (get_local $10)
)
- (get_local $10)
- )
- (tee_local $4
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $0
- (i32.shl
- (get_local $4)
- (get_local $19)
+ (tee_local $4
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $4)
+ (get_local $19)
+ )
)
+ (i32.const 245760)
)
- (i32.const 245760)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $0)
- (get_local $4)
+ (i32.shr_u
+ (i32.shl
+ (get_local $0)
+ (get_local $4)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $6)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $6)
- (i32.const 1)
)
)
+ (i32.const 0)
)
- (i32.const 0)
)
)
+ (i32.const 2)
)
- (i32.const 2)
- )
- (i32.const 1512)
- )
- )
- (i32.store offset=28
- (get_local $2)
- (get_local $4)
- )
- (i32.store offset=4
- (tee_local $3
- (i32.add
- (get_local $2)
- (i32.const 16)
- )
- )
- (i32.const 0)
- )
- (i32.store
- (get_local $3)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $3
- (i32.load
- (i32.const 1212)
- )
- )
- (tee_local $6
- (i32.shl
- (i32.const 1)
- (get_local $4)
- )
- )
+ (i32.const 1512)
)
)
- (block
- (i32.store
- (i32.const 1212)
- (i32.or
- (get_local $3)
- (get_local $6)
- )
- )
- (i32.store
- (get_local $0)
- (get_local $2)
- )
- (i32.store offset=24
- (get_local $2)
- (get_local $0)
- )
- (i32.store offset=12
- (get_local $2)
- (get_local $2)
- )
- (i32.store offset=8
- (get_local $2)
- (get_local $2)
- )
- (br $do-once44)
+ (i32.store offset=28
+ (get_local $2)
+ (get_local $4)
)
- )
- (set_local $6
- (i32.shl
- (get_local $15)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
- (get_local $4)
- (i32.const 1)
- )
- )
- (i32.eq
- (get_local $4)
- (i32.const 31)
+ (i32.store offset=4
+ (tee_local $3
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
)
)
+ (i32.const 0)
)
- )
- (set_local $3
- (i32.load
- (get_local $0)
+ (i32.store
+ (get_local $3)
+ (i32.const 0)
)
- )
- (loop $while-in64
- (block $while-out63
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $3)
- )
- (i32.const -8)
- )
- (get_local $15)
- )
- (block
- (set_local $38
- (get_local $3)
- )
- (set_local $7
- (i32.const 279)
- )
- (br $while-out63)
- )
- )
- (if
- (tee_local $4
- (i32.load
- (tee_local $0
- (i32.add
- (i32.add
- (get_local $3)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $6)
- (i32.const 31)
- )
- (i32.const 2)
- )
- )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $3
+ (i32.load
+ (i32.const 1212)
)
)
- )
- (block
- (set_local $6
+ (tee_local $6
(i32.shl
- (get_local $6)
(i32.const 1)
+ (get_local $4)
)
)
- (set_local $3
- (get_local $4)
- )
- (br $while-in64)
)
- (block
- (set_local $45
- (get_local $0)
- )
- (set_local $53
+ )
+ (block
+ (i32.store
+ (i32.const 1212)
+ (i32.or
(get_local $3)
- )
- (set_local $7
- (i32.const 276)
+ (get_local $6)
)
)
- )
- )
- )
- (if
- (i32.eq
- (get_local $7)
- (i32.const 276)
- )
- (if
- (i32.lt_u
- (get_local $45)
- (i32.load
- (i32.const 1224)
- )
- )
- (call $qa)
- (block
(i32.store
- (get_local $45)
+ (get_local $0)
(get_local $2)
)
(i32.store offset=24
(get_local $2)
- (get_local $53)
+ (get_local $0)
)
(i32.store offset=12
(get_local $2)
@@ -4965,705 +4825,705 @@
(get_local $2)
(get_local $2)
)
+ (br $do-once44)
)
)
- (if
- (i32.eq
- (get_local $7)
- (i32.const 279)
+ (set_local $6
+ (i32.shl
+ (get_local $15)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $4)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
+ (get_local $4)
+ (i32.const 31)
+ )
+ )
)
- (if
- (i32.and
- (i32.ge_u
- (tee_local $6
- (i32.load
- (tee_local $3
+ )
+ (set_local $3
+ (i32.load
+ (get_local $0)
+ )
+ )
+ (loop $while-in64
+ (block $while-out63
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $3)
+ )
+ (i32.const -8)
+ )
+ (get_local $15)
+ )
+ (block
+ (set_local $38
+ (get_local $3)
+ )
+ (set_local $7
+ (i32.const 279)
+ )
+ (br $while-out63)
+ )
+ )
+ (if
+ (tee_local $4
+ (i32.load
+ (tee_local $0
+ (i32.add
(i32.add
- (get_local $38)
- (i32.const 8)
+ (get_local $3)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $6)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
)
)
)
- (tee_local $4
- (i32.load
- (i32.const 1224)
+ )
+ (block
+ (set_local $6
+ (i32.shl
+ (get_local $6)
+ (i32.const 1)
)
)
+ (set_local $3
+ (get_local $4)
+ )
+ (br $while-in64)
)
- (i32.ge_u
- (get_local $38)
- (get_local $4)
+ (block
+ (set_local $45
+ (get_local $0)
+ )
+ (set_local $53
+ (get_local $3)
+ )
+ (set_local $7
+ (i32.const 276)
+ )
)
)
- (block
- (i32.store offset=12
- (get_local $6)
- (get_local $2)
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 276)
+ )
+ (if
+ (i32.lt_u
+ (get_local $45)
+ (i32.load
+ (i32.const 1224)
)
+ )
+ (call $qa)
+ (block
(i32.store
- (get_local $3)
+ (get_local $45)
(get_local $2)
)
- (i32.store offset=8
+ (i32.store offset=24
(get_local $2)
- (get_local $6)
+ (get_local $53)
)
(i32.store offset=12
(get_local $2)
- (get_local $38)
+ (get_local $2)
)
- (i32.store offset=24
+ (i32.store offset=8
+ (get_local $2)
(get_local $2)
- (i32.const 0)
)
)
- (call $qa)
+ )
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 279)
+ )
+ (if
+ (i32.and
+ (i32.ge_u
+ (tee_local $6
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $38)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (tee_local $4
+ (i32.load
+ (i32.const 1224)
+ )
+ )
+ )
+ (i32.ge_u
+ (get_local $38)
+ (get_local $4)
+ )
+ )
+ (block
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $2)
+ )
+ (i32.store
+ (get_local $3)
+ (get_local $2)
+ )
+ (i32.store offset=8
+ (get_local $2)
+ (get_local $6)
+ )
+ (i32.store offset=12
+ (get_local $2)
+ (get_local $38)
+ )
+ (i32.store offset=24
+ (get_local $2)
+ (i32.const 0)
+ )
+ )
+ (call $qa)
+ )
)
)
)
)
)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.add
- (get_local $17)
- (i32.const 8)
+ (set_global $r
+ (get_local $25)
)
- )
- )
- )
- )
- (loop $while-in66
- (block $while-out65
- (if
- (i32.le_u
- (tee_local $2
- (i32.load
- (get_local $30)
+ (return
+ (i32.add
+ (get_local $17)
+ (i32.const 8)
)
)
- (get_local $11)
)
+ )
+ )
+ (loop $while-in66
+ (block $while-out65
(if
- (i32.gt_u
- (tee_local $15
- (i32.add
- (get_local $2)
- (i32.load offset=4
- (get_local $30)
- )
+ (i32.le_u
+ (tee_local $2
+ (i32.load
+ (get_local $30)
)
)
(get_local $11)
)
- (block
- (set_local $0
- (get_local $15)
+ (if
+ (i32.gt_u
+ (tee_local $15
+ (i32.add
+ (get_local $2)
+ (i32.load offset=4
+ (get_local $30)
+ )
+ )
+ )
+ (get_local $11)
+ )
+ (block
+ (set_local $0
+ (get_local $15)
+ )
+ (br $while-out65)
)
- (br $while-out65)
)
)
- )
- (set_local $30
- (i32.load offset=8
- (get_local $30)
+ (set_local $30
+ (i32.load offset=8
+ (get_local $30)
+ )
)
+ (br $while-in66)
)
- (br $while-in66)
)
- )
- (set_local $15
- (i32.add
- (tee_local $17
- (i32.add
- (get_local $0)
- (i32.const -47)
+ (set_local $15
+ (i32.add
+ (tee_local $17
+ (i32.add
+ (get_local $0)
+ (i32.const -47)
+ )
)
+ (i32.const 8)
)
- (i32.const 8)
)
- )
- (set_local $2
- (i32.add
- (tee_local $17
- (select
- (get_local $11)
- (tee_local $2
- (i32.add
- (get_local $17)
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
+ (set_local $2
+ (i32.add
+ (tee_local $17
+ (select
+ (get_local $11)
+ (tee_local $2
+ (i32.add
+ (get_local $17)
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (get_local $15)
+ )
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
(get_local $15)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $15)
- (i32.const 7)
)
)
)
- )
- (i32.lt_u
- (get_local $2)
- (tee_local $15
- (i32.add
- (get_local $11)
- (i32.const 16)
+ (i32.lt_u
+ (get_local $2)
+ (tee_local $15
+ (i32.add
+ (get_local $11)
+ (i32.const 16)
+ )
)
)
)
)
+ (i32.const 8)
)
- (i32.const 8)
)
- )
- (i32.store
- (i32.const 1232)
- (tee_local $1
- (i32.add
- (get_local $20)
- (tee_local $13
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $1
- (i32.add
- (get_local $20)
- (i32.const 8)
+ (i32.store
+ (i32.const 1232)
+ (tee_local $1
+ (i32.add
+ (get_local $20)
+ (tee_local $13
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $1
+ (i32.add
+ (get_local $20)
+ (i32.const 8)
+ )
)
)
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $1)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $1)
- (i32.const 7)
)
)
)
)
)
- )
- (i32.store
- (i32.const 1220)
- (tee_local $6
- (i32.sub
+ (i32.store
+ (i32.const 1220)
+ (tee_local $6
+ (i32.sub
+ (i32.add
+ (get_local $26)
+ (i32.const -40)
+ )
+ (get_local $13)
+ )
+ )
+ )
+ (i32.store offset=4
+ (get_local $1)
+ (i32.or
+ (get_local $6)
+ (i32.const 1)
+ )
+ )
+ (i32.store offset=4
+ (i32.add
+ (get_local $1)
+ (get_local $6)
+ )
+ (i32.const 40)
+ )
+ (i32.store
+ (i32.const 1236)
+ (i32.load
+ (i32.const 1696)
+ )
+ )
+ (i32.store
+ (tee_local $6
(i32.add
- (get_local $26)
- (i32.const -40)
+ (get_local $17)
+ (i32.const 4)
)
- (get_local $13)
)
+ (i32.const 27)
)
- )
- (i32.store offset=4
- (get_local $1)
- (i32.or
- (get_local $6)
- (i32.const 1)
+ (i32.store
+ (get_local $2)
+ (i32.load
+ (i32.const 1656)
+ )
)
- )
- (i32.store offset=4
- (i32.add
- (get_local $1)
- (get_local $6)
+ (i32.store offset=4
+ (get_local $2)
+ (i32.load
+ (i32.const 1660)
+ )
)
- (i32.const 40)
- )
- (i32.store
- (i32.const 1236)
- (i32.load
- (i32.const 1696)
+ (i32.store offset=8
+ (get_local $2)
+ (i32.load
+ (i32.const 1664)
+ )
)
- )
- (i32.store
- (tee_local $6
- (i32.add
- (get_local $17)
- (i32.const 4)
+ (i32.store offset=12
+ (get_local $2)
+ (i32.load
+ (i32.const 1668)
)
)
- (i32.const 27)
- )
- (i32.store
- (get_local $2)
- (i32.load
+ (i32.store
(i32.const 1656)
+ (get_local $20)
)
- )
- (i32.store offset=4
- (get_local $2)
- (i32.load
+ (i32.store
(i32.const 1660)
+ (get_local $26)
)
- )
- (i32.store offset=8
- (get_local $2)
- (i32.load
- (i32.const 1664)
- )
- )
- (i32.store offset=12
- (get_local $2)
- (i32.load
+ (i32.store
(i32.const 1668)
+ (i32.const 0)
)
- )
- (i32.store
- (i32.const 1656)
- (get_local $20)
- )
- (i32.store
- (i32.const 1660)
- (get_local $26)
- )
- (i32.store
- (i32.const 1668)
- (i32.const 0)
- )
- (i32.store
- (i32.const 1664)
- (get_local $2)
- )
- (set_local $2
- (i32.add
- (get_local $17)
- (i32.const 24)
- )
- )
- (loop $do-in68
(i32.store
- (tee_local $2
- (i32.add
- (get_local $2)
- (i32.const 4)
- )
- )
- (i32.const 7)
+ (i32.const 1664)
+ (get_local $2)
)
- (br_if $do-in68
- (i32.lt_u
- (i32.add
- (get_local $2)
- (i32.const 4)
- )
- (get_local $0)
+ (set_local $2
+ (i32.add
+ (get_local $17)
+ (i32.const 24)
)
)
- )
- (if
- (i32.ne
- (get_local $17)
- (get_local $11)
- )
- (block
+ (loop $do-in68
(i32.store
- (get_local $6)
- (i32.and
- (i32.load
- (get_local $6)
+ (tee_local $2
+ (i32.add
+ (get_local $2)
+ (i32.const 4)
)
- (i32.const -2)
)
+ (i32.const 7)
)
- (i32.store offset=4
- (get_local $11)
- (i32.or
- (tee_local $2
- (i32.sub
- (get_local $17)
- (get_local $11)
- )
+ (br_if $do-in68
+ (i32.lt_u
+ (i32.add
+ (get_local $2)
+ (i32.const 4)
)
- (i32.const 1)
+ (get_local $0)
)
)
- (i32.store
+ )
+ (if
+ (i32.ne
(get_local $17)
- (get_local $2)
- )
- (set_local $1
- (i32.shr_u
- (get_local $2)
- (i32.const 3)
- )
+ (get_local $11)
)
- (if
- (i32.lt_u
- (get_local $2)
- (i32.const 256)
+ (block
+ (i32.store
+ (get_local $6)
+ (i32.and
+ (i32.load
+ (get_local $6)
+ )
+ (i32.const -2)
+ )
)
- (block
- (set_local $13
- (i32.add
- (i32.shl
- (get_local $1)
- (i32.const 3)
+ (i32.store offset=4
+ (get_local $11)
+ (i32.or
+ (tee_local $2
+ (i32.sub
+ (get_local $17)
+ (get_local $11)
)
- (i32.const 1248)
)
+ (i32.const 1)
)
- (if
- (i32.and
- (tee_local $3
- (i32.load
- (i32.const 1208)
- )
- )
- (tee_local $4
+ )
+ (i32.store
+ (get_local $17)
+ (get_local $2)
+ )
+ (set_local $1
+ (i32.shr_u
+ (get_local $2)
+ (i32.const 3)
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $2)
+ (i32.const 256)
+ )
+ (block
+ (set_local $13
+ (i32.add
(i32.shl
- (i32.const 1)
(get_local $1)
+ (i32.const 3)
)
+ (i32.const 1248)
)
)
(if
- (i32.lt_u
+ (i32.and
(tee_local $3
(i32.load
- (tee_local $4
- (i32.add
- (get_local $13)
- (i32.const 8)
+ (i32.const 1208)
+ )
+ )
+ (tee_local $4
+ (i32.shl
+ (i32.const 1)
+ (get_local $1)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $3
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (get_local $13)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 1224)
+ )
)
- (i32.load
- (i32.const 1224)
+ (call $qa)
+ (block
+ (set_local $46
+ (get_local $4)
+ )
+ (set_local $39
+ (get_local $3)
+ )
)
)
- (call $qa)
(block
+ (i32.store
+ (i32.const 1208)
+ (i32.or
+ (get_local $3)
+ (get_local $4)
+ )
+ )
(set_local $46
- (get_local $4)
+ (i32.add
+ (get_local $13)
+ (i32.const 8)
+ )
)
(set_local $39
- (get_local $3)
- )
- )
- )
- (block
- (i32.store
- (i32.const 1208)
- (i32.or
- (get_local $3)
- (get_local $4)
- )
- )
- (set_local $46
- (i32.add
(get_local $13)
- (i32.const 8)
)
)
- (set_local $39
- (get_local $13)
- )
)
+ (i32.store
+ (get_local $46)
+ (get_local $11)
+ )
+ (i32.store offset=12
+ (get_local $39)
+ (get_local $11)
+ )
+ (i32.store offset=8
+ (get_local $11)
+ (get_local $39)
+ )
+ (i32.store offset=12
+ (get_local $11)
+ (get_local $13)
+ )
+ (br $do-once38)
)
- (i32.store
- (get_local $46)
- (get_local $11)
- )
- (i32.store offset=12
- (get_local $39)
- (get_local $11)
- )
- (i32.store offset=8
- (get_local $11)
- (get_local $39)
- )
- (i32.store offset=12
- (get_local $11)
- (get_local $13)
- )
- (br $do-once38)
)
- )
- (set_local $0
- (i32.add
- (i32.shl
- (tee_local $3
- (if (result i32)
- (tee_local $13
- (i32.shr_u
- (get_local $2)
- (i32.const 8)
- )
- )
+ (set_local $0
+ (i32.add
+ (i32.shl
+ (tee_local $3
(if (result i32)
- (i32.gt_u
- (get_local $2)
- (i32.const 16777215)
+ (tee_local $13
+ (i32.shr_u
+ (get_local $2)
+ (i32.const 8)
+ )
)
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $2)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (if (result i32)
+ (i32.gt_u
+ (get_local $2)
+ (i32.const 16777215)
+ )
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $2)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $13
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $4
- (i32.shl
- (get_local $13)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $13)
- (i32.const 1048320)
+ (i32.or
+ (tee_local $13
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $4
+ (i32.shl
+ (get_local $13)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $13)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 520192)
)
- (i32.const 520192)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 4)
)
- (i32.const 4)
)
+ (get_local $3)
)
- (get_local $3)
- )
- (tee_local $4
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $4)
- (get_local $13)
+ (tee_local $4
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $4)
+ (get_local $13)
+ )
)
+ (i32.const 245760)
)
- (i32.const 245760)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $4)
+ (i32.shr_u
+ (i32.shl
+ (get_local $1)
+ (get_local $4)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- )
- (i32.const 2)
- )
- (i32.const 1512)
- )
- )
- (i32.store offset=28
- (get_local $11)
- (get_local $3)
- )
- (i32.store offset=20
- (get_local $11)
- (i32.const 0)
- )
- (i32.store
- (get_local $15)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $4
- (i32.load
- (i32.const 1212)
- )
- )
- (tee_local $1
- (i32.shl
- (i32.const 1)
- (get_local $3)
)
+ (i32.const 2)
)
+ (i32.const 1512)
)
)
- (block
- (i32.store
- (i32.const 1212)
- (i32.or
- (get_local $4)
- (get_local $1)
- )
- )
- (i32.store
- (get_local $0)
- (get_local $11)
- )
- (i32.store offset=24
- (get_local $11)
- (get_local $0)
- )
- (i32.store offset=12
- (get_local $11)
- (get_local $11)
- )
- (i32.store offset=8
- (get_local $11)
- (get_local $11)
- )
- (br $do-once38)
+ (i32.store offset=28
+ (get_local $11)
+ (get_local $3)
)
- )
- (set_local $1
- (i32.shl
- (get_local $2)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
- (get_local $3)
- (i32.const 1)
- )
- )
- (i32.eq
- (get_local $3)
- (i32.const 31)
- )
- )
+ (i32.store offset=20
+ (get_local $11)
+ (i32.const 0)
)
- )
- (set_local $4
- (i32.load
- (get_local $0)
+ (i32.store
+ (get_local $15)
+ (i32.const 0)
)
- )
- (loop $while-in70
- (block $while-out69
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $4)
- )
- (i32.const -8)
- )
- (get_local $2)
- )
- (block
- (set_local $31
- (get_local $4)
- )
- (set_local $7
- (i32.const 305)
- )
- (br $while-out69)
- )
- )
- (if
- (tee_local $3
- (i32.load
- (tee_local $0
- (i32.add
- (i32.add
- (get_local $4)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $1)
- (i32.const 31)
- )
- (i32.const 2)
- )
- )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $4
+ (i32.load
+ (i32.const 1212)
)
)
- )
- (block
- (set_local $1
+ (tee_local $1
(i32.shl
- (get_local $1)
(i32.const 1)
+ (get_local $3)
)
)
- (set_local $4
- (get_local $3)
- )
- (br $while-in70)
)
- (block
- (set_local $47
- (get_local $0)
- )
- (set_local $54
+ )
+ (block
+ (i32.store
+ (i32.const 1212)
+ (i32.or
(get_local $4)
- )
- (set_local $7
- (i32.const 302)
+ (get_local $1)
)
)
- )
- )
- )
- (if
- (i32.eq
- (get_local $7)
- (i32.const 302)
- )
- (if
- (i32.lt_u
- (get_local $47)
- (i32.load
- (i32.const 1224)
- )
- )
- (call $qa)
- (block
(i32.store
- (get_local $47)
+ (get_local $0)
(get_local $11)
)
(i32.store offset=24
(get_local $11)
- (get_local $54)
+ (get_local $0)
)
(i32.store offset=12
(get_local $11)
@@ -5673,271 +5533,406 @@
(get_local $11)
(get_local $11)
)
+ (br $do-once38)
)
)
- (if
- (i32.eq
- (get_local $7)
- (i32.const 305)
+ (set_local $1
+ (i32.shl
+ (get_local $2)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
+ (get_local $3)
+ (i32.const 31)
+ )
+ )
)
- (if
- (i32.and
- (i32.ge_u
- (tee_local $1
- (i32.load
- (tee_local $4
+ )
+ (set_local $4
+ (i32.load
+ (get_local $0)
+ )
+ )
+ (loop $while-in70
+ (block $while-out69
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $4)
+ )
+ (i32.const -8)
+ )
+ (get_local $2)
+ )
+ (block
+ (set_local $31
+ (get_local $4)
+ )
+ (set_local $7
+ (i32.const 305)
+ )
+ (br $while-out69)
+ )
+ )
+ (if
+ (tee_local $3
+ (i32.load
+ (tee_local $0
+ (i32.add
(i32.add
- (get_local $31)
- (i32.const 8)
+ (get_local $4)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $1)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
)
)
)
- (tee_local $2
- (i32.load
- (i32.const 1224)
+ )
+ (block
+ (set_local $1
+ (i32.shl
+ (get_local $1)
+ (i32.const 1)
)
)
+ (set_local $4
+ (get_local $3)
+ )
+ (br $while-in70)
)
- (i32.ge_u
- (get_local $31)
- (get_local $2)
+ (block
+ (set_local $47
+ (get_local $0)
+ )
+ (set_local $54
+ (get_local $4)
+ )
+ (set_local $7
+ (i32.const 302)
+ )
)
)
- (block
- (i32.store offset=12
- (get_local $1)
- (get_local $11)
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 302)
+ )
+ (if
+ (i32.lt_u
+ (get_local $47)
+ (i32.load
+ (i32.const 1224)
)
+ )
+ (call $qa)
+ (block
(i32.store
- (get_local $4)
+ (get_local $47)
(get_local $11)
)
- (i32.store offset=8
+ (i32.store offset=24
(get_local $11)
- (get_local $1)
+ (get_local $54)
)
(i32.store offset=12
(get_local $11)
- (get_local $31)
+ (get_local $11)
)
- (i32.store offset=24
+ (i32.store offset=8
+ (get_local $11)
(get_local $11)
- (i32.const 0)
)
)
- (call $qa)
+ )
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 305)
+ )
+ (if
+ (i32.and
+ (i32.ge_u
+ (tee_local $1
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (get_local $31)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (tee_local $2
+ (i32.load
+ (i32.const 1224)
+ )
+ )
+ )
+ (i32.ge_u
+ (get_local $31)
+ (get_local $2)
+ )
+ )
+ (block
+ (i32.store offset=12
+ (get_local $1)
+ (get_local $11)
+ )
+ (i32.store
+ (get_local $4)
+ (get_local $11)
+ )
+ (i32.store offset=8
+ (get_local $11)
+ (get_local $1)
+ )
+ (i32.store offset=12
+ (get_local $11)
+ (get_local $31)
+ )
+ (i32.store offset=24
+ (get_local $11)
+ (i32.const 0)
+ )
+ )
+ (call $qa)
+ )
)
)
)
)
)
- )
- (block
- (if
- (i32.or
- (i32.eqz
- (tee_local $1
- (i32.load
- (i32.const 1224)
+ (block
+ (if
+ (i32.or
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (i32.const 1224)
+ )
)
)
+ (i32.lt_u
+ (get_local $20)
+ (get_local $1)
+ )
)
- (i32.lt_u
+ (i32.store
+ (i32.const 1224)
(get_local $20)
- (get_local $1)
)
)
(i32.store
- (i32.const 1224)
+ (i32.const 1656)
(get_local $20)
)
- )
- (i32.store
- (i32.const 1656)
- (get_local $20)
- )
- (i32.store
- (i32.const 1660)
- (get_local $26)
- )
- (i32.store
- (i32.const 1668)
- (i32.const 0)
- )
- (i32.store
- (i32.const 1244)
- (i32.load
- (i32.const 1680)
+ (i32.store
+ (i32.const 1660)
+ (get_local $26)
)
- )
- (i32.store
- (i32.const 1240)
- (i32.const -1)
- )
- (set_local $1
- (i32.const 0)
- )
- (loop $do-in
- (i32.store offset=12
- (tee_local $13
- (i32.add
- (i32.shl
- (get_local $1)
- (i32.const 3)
- )
- (i32.const 1248)
- )
+ (i32.store
+ (i32.const 1668)
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 1244)
+ (i32.load
+ (i32.const 1680)
)
- (get_local $13)
)
- (i32.store offset=8
- (get_local $13)
- (get_local $13)
+ (i32.store
+ (i32.const 1240)
+ (i32.const -1)
)
- (br_if $do-in
- (i32.ne
- (tee_local $1
+ (set_local $1
+ (i32.const 0)
+ )
+ (loop $do-in
+ (i32.store offset=12
+ (tee_local $13
(i32.add
- (get_local $1)
- (i32.const 1)
+ (i32.shl
+ (get_local $1)
+ (i32.const 3)
+ )
+ (i32.const 1248)
+ )
+ )
+ (get_local $13)
+ )
+ (i32.store offset=8
+ (get_local $13)
+ (get_local $13)
+ )
+ (br_if $do-in
+ (i32.ne
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
)
+ (i32.const 32)
)
- (i32.const 32)
)
)
- )
- (i32.store
- (i32.const 1232)
- (tee_local $1
- (i32.add
- (get_local $20)
- (tee_local $13
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $1
- (i32.add
- (get_local $20)
- (i32.const 8)
+ (i32.store
+ (i32.const 1232)
+ (tee_local $1
+ (i32.add
+ (get_local $20)
+ (tee_local $13
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $1
+ (i32.add
+ (get_local $20)
+ (i32.const 8)
+ )
)
)
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $1)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $1)
- (i32.const 7)
)
)
)
)
)
- )
- (i32.store
- (i32.const 1220)
- (tee_local $2
- (i32.sub
- (i32.add
- (get_local $26)
- (i32.const -40)
+ (i32.store
+ (i32.const 1220)
+ (tee_local $2
+ (i32.sub
+ (i32.add
+ (get_local $26)
+ (i32.const -40)
+ )
+ (get_local $13)
)
- (get_local $13)
)
)
- )
- (i32.store offset=4
- (get_local $1)
- (i32.or
- (get_local $2)
- (i32.const 1)
- )
- )
- (i32.store offset=4
- (i32.add
+ (i32.store offset=4
(get_local $1)
- (get_local $2)
+ (i32.or
+ (get_local $2)
+ (i32.const 1)
+ )
)
- (i32.const 40)
- )
- (i32.store
- (i32.const 1236)
- (i32.load
- (i32.const 1696)
+ (i32.store offset=4
+ (i32.add
+ (get_local $1)
+ (get_local $2)
+ )
+ (i32.const 40)
+ )
+ (i32.store
+ (i32.const 1236)
+ (i32.load
+ (i32.const 1696)
+ )
)
)
)
)
- )
- (if
- (i32.gt_u
- (tee_local $11
- (i32.load
- (i32.const 1220)
+ (if
+ (i32.gt_u
+ (tee_local $11
+ (i32.load
+ (i32.const 1220)
+ )
)
+ (get_local $5)
)
- (get_local $5)
- )
- (block
- (i32.store
- (i32.const 1220)
- (tee_local $31
- (i32.sub
- (get_local $11)
- (get_local $5)
+ (block
+ (i32.store
+ (i32.const 1220)
+ (tee_local $31
+ (i32.sub
+ (get_local $11)
+ (get_local $5)
+ )
)
)
- )
- (i32.store
- (i32.const 1232)
- (tee_local $7
- (i32.add
- (tee_local $11
- (i32.load
- (i32.const 1232)
+ (i32.store
+ (i32.const 1232)
+ (tee_local $7
+ (i32.add
+ (tee_local $11
+ (i32.load
+ (i32.const 1232)
+ )
)
+ (get_local $5)
)
- (get_local $5)
)
)
- )
- (i32.store offset=4
- (get_local $7)
- (i32.or
- (get_local $31)
- (i32.const 1)
- )
- )
- (i32.store offset=4
- (get_local $11)
- (i32.or
- (get_local $5)
- (i32.const 3)
+ (i32.store offset=4
+ (get_local $7)
+ (i32.or
+ (get_local $31)
+ (i32.const 1)
+ )
)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.add
+ (i32.store offset=4
(get_local $11)
- (i32.const 8)
+ (i32.or
+ (get_local $5)
+ (i32.const 3)
+ )
+ )
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (i32.add
+ (get_local $11)
+ (i32.const 8)
+ )
)
)
)
)
)
- )
- (i32.store
- (call $Qa)
- (i32.const 12)
+ (i32.store
+ (call $Qa)
+ (i32.const 12)
+ )
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (i32.const 0)
+ )
)
(set_global $r
(get_local $25)
)
- (i32.const 0)
+ (i32.add
+ (get_local $15)
+ (i32.const 8)
+ )
)
(func $fb (param $0 i32)
(local $1 i32)
diff --git a/test/memorygrowth.fromasm.clamp b/test/memorygrowth.fromasm.clamp
index a6d77f5cf..71c095deb 100644
--- a/test/memorygrowth.fromasm.clamp
+++ b/test/memorygrowth.fromasm.clamp
@@ -105,830 +105,790 @@
(local $52 i32)
(local $53 i32)
(local $54 i32)
- (set_local $25
- (get_global $r)
- )
- (set_global $r
- (i32.add
+ (block $folding-inner0
+ (set_local $25
(get_global $r)
- (i32.const 16)
)
- )
- (set_local $13
- (get_local $25)
- )
- (block $do-once
- (if
- (i32.lt_u
- (get_local $0)
- (i32.const 245)
+ (set_global $r
+ (i32.add
+ (get_global $r)
+ (i32.const 16)
)
- (block
- (if
- (i32.and
- (tee_local $5
- (i32.shr_u
- (tee_local $4
- (i32.load
- (i32.const 1208)
+ )
+ (set_local $13
+ (get_local $25)
+ )
+ (block $do-once
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (i32.const 245)
+ )
+ (block
+ (if
+ (i32.and
+ (tee_local $5
+ (i32.shr_u
+ (tee_local $4
+ (i32.load
+ (i32.const 1208)
+ )
)
- )
- (tee_local $0
- (i32.shr_u
- (tee_local $3
- (select
- (i32.const 16)
- (i32.and
- (i32.add
+ (tee_local $0
+ (i32.shr_u
+ (tee_local $3
+ (select
+ (i32.const 16)
+ (i32.and
+ (i32.add
+ (get_local $0)
+ (i32.const 11)
+ )
+ (i32.const -8)
+ )
+ (i32.lt_u
(get_local $0)
(i32.const 11)
)
- (i32.const -8)
- )
- (i32.lt_u
- (get_local $0)
- (i32.const 11)
)
)
+ (i32.const 3)
)
- (i32.const 3)
)
)
)
+ (i32.const 3)
)
- (i32.const 3)
- )
- (block
- (set_local $6
- (i32.load
- (tee_local $3
- (i32.add
- (tee_local $12
- (i32.load
- (tee_local $14
- (i32.add
- (tee_local $8
- (i32.add
- (i32.shl
- (tee_local $0
- (i32.add
- (i32.xor
- (i32.and
- (get_local $5)
+ (block
+ (set_local $6
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (tee_local $12
+ (i32.load
+ (tee_local $14
+ (i32.add
+ (tee_local $8
+ (i32.add
+ (i32.shl
+ (tee_local $0
+ (i32.add
+ (i32.xor
+ (i32.and
+ (get_local $5)
+ (i32.const 1)
+ )
(i32.const 1)
)
- (i32.const 1)
+ (get_local $0)
)
- (get_local $0)
)
+ (i32.const 3)
)
- (i32.const 3)
+ (i32.const 1248)
)
- (i32.const 1248)
)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
- )
- (if
- (i32.eq
- (get_local $8)
- (get_local $6)
- )
- (i32.store
- (i32.const 1208)
- (i32.and
- (get_local $4)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $0)
- )
- (i32.const -1)
- )
+ (if
+ (i32.eq
+ (get_local $8)
+ (get_local $6)
)
- )
- (block
- (if
- (i32.lt_u
- (get_local $6)
- (i32.load
- (i32.const 1224)
+ (i32.store
+ (i32.const 1208)
+ (i32.and
+ (get_local $4)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
+ )
+ (i32.const -1)
)
)
- (call $qa)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $6)
- (i32.const 12)
- )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $6)
+ (i32.load
+ (i32.const 1224)
)
)
- (get_local $12)
+ (call $qa)
)
- (block
- (i32.store
- (get_local $7)
- (get_local $8)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $6)
+ (i32.const 12)
+ )
+ )
+ )
+ (get_local $12)
)
- (i32.store
- (get_local $14)
- (get_local $6)
+ (block
+ (i32.store
+ (get_local $7)
+ (get_local $8)
+ )
+ (i32.store
+ (get_local $14)
+ (get_local $6)
+ )
)
+ (call $qa)
)
- (call $qa)
)
)
- )
- (i32.store offset=4
- (get_local $12)
- (i32.or
- (tee_local $6
- (i32.shl
- (get_local $0)
- (i32.const 3)
+ (i32.store offset=4
+ (get_local $12)
+ (i32.or
+ (tee_local $6
+ (i32.shl
+ (get_local $0)
+ (i32.const 3)
+ )
)
+ (i32.const 3)
)
- (i32.const 3)
)
- )
- (i32.store
- (tee_local $14
- (i32.add
+ (i32.store
+ (tee_local $14
(i32.add
- (get_local $12)
- (get_local $6)
+ (i32.add
+ (get_local $12)
+ (get_local $6)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (i32.or
- (i32.load
- (get_local $14)
+ (i32.or
+ (i32.load
+ (get_local $14)
+ )
+ (i32.const 1)
)
- (i32.const 1)
)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (get_local $3)
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (get_local $3)
+ )
)
)
- )
- (if
- (i32.gt_u
- (get_local $3)
- (tee_local $14
- (i32.load
- (i32.const 1216)
+ (if
+ (i32.gt_u
+ (get_local $3)
+ (tee_local $14
+ (i32.load
+ (i32.const 1216)
+ )
)
)
- )
- (block
- (if
- (get_local $5)
- (block
- (set_local $8
- (i32.and
- (i32.shr_u
- (tee_local $6
- (i32.add
- (i32.and
- (tee_local $8
- (i32.and
- (i32.shl
- (get_local $5)
- (get_local $0)
- )
- (i32.or
- (tee_local $6
- (i32.shl
- (i32.const 2)
- (get_local $0)
- )
+ (block
+ (if
+ (get_local $5)
+ (block
+ (set_local $8
+ (i32.and
+ (i32.shr_u
+ (tee_local $6
+ (i32.add
+ (i32.and
+ (tee_local $8
+ (i32.and
+ (i32.shl
+ (get_local $5)
+ (get_local $0)
)
- (i32.sub
- (i32.const 0)
- (get_local $6)
+ (i32.or
+ (tee_local $6
+ (i32.shl
+ (i32.const 2)
+ (get_local $0)
+ )
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $6)
+ )
)
)
)
+ (i32.sub
+ (i32.const 0)
+ (get_local $8)
+ )
)
- (i32.sub
- (i32.const 0)
- (get_local $8)
- )
+ (i32.const -1)
)
- (i32.const -1)
)
+ (i32.const 12)
)
- (i32.const 12)
+ (i32.const 16)
)
- (i32.const 16)
)
- )
- (set_local $8
- (i32.load
- (tee_local $7
- (i32.add
- (tee_local $9
- (i32.load
- (tee_local $12
- (i32.add
- (tee_local $1
- (i32.add
- (i32.shl
- (tee_local $16
- (i32.add
- (i32.or
+ (set_local $8
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (tee_local $9
+ (i32.load
+ (tee_local $12
+ (i32.add
+ (tee_local $1
+ (i32.add
+ (i32.shl
+ (tee_local $16
+ (i32.add
(i32.or
(i32.or
(i32.or
- (tee_local $6
+ (i32.or
+ (tee_local $6
+ (i32.and
+ (i32.shr_u
+ (tee_local $7
+ (i32.shr_u
+ (get_local $6)
+ (get_local $8)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (get_local $8)
+ )
+ (tee_local $7
(i32.and
(i32.shr_u
- (tee_local $7
+ (tee_local $9
(i32.shr_u
+ (get_local $7)
(get_local $6)
- (get_local $8)
)
)
- (i32.const 5)
+ (i32.const 2)
)
- (i32.const 8)
+ (i32.const 4)
)
)
- (get_local $8)
)
- (tee_local $7
+ (tee_local $9
(i32.and
(i32.shr_u
- (tee_local $9
+ (tee_local $1
(i32.shr_u
+ (get_local $9)
(get_local $7)
- (get_local $6)
)
)
- (i32.const 2)
+ (i32.const 1)
)
- (i32.const 4)
+ (i32.const 2)
)
)
)
- (tee_local $9
+ (tee_local $1
(i32.and
(i32.shr_u
- (tee_local $1
+ (tee_local $12
(i32.shr_u
+ (get_local $1)
(get_local $9)
- (get_local $7)
)
)
(i32.const 1)
)
- (i32.const 2)
- )
- )
- )
- (tee_local $1
- (i32.and
- (i32.shr_u
- (tee_local $12
- (i32.shr_u
- (get_local $1)
- (get_local $9)
- )
- )
(i32.const 1)
)
- (i32.const 1)
)
)
- )
- (i32.shr_u
- (get_local $12)
- (get_local $1)
+ (i32.shr_u
+ (get_local $12)
+ (get_local $1)
+ )
)
)
+ (i32.const 3)
)
- (i32.const 3)
+ (i32.const 1248)
)
- (i32.const 1248)
)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
- )
- (if
- (i32.eq
- (get_local $1)
- (get_local $8)
- )
- (block
- (i32.store
- (i32.const 1208)
- (i32.and
- (get_local $4)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $16)
+ (if
+ (i32.eq
+ (get_local $1)
+ (get_local $8)
+ )
+ (block
+ (i32.store
+ (i32.const 1208)
+ (i32.and
+ (get_local $4)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $16)
+ )
+ (i32.const -1)
)
- (i32.const -1)
)
)
- )
- (set_local $34
- (get_local $14)
- )
- )
- (block
- (if
- (i32.lt_u
- (get_local $8)
- (i32.load
- (i32.const 1224)
- )
+ (set_local $34
+ (get_local $14)
)
- (call $qa)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $6
- (i32.add
- (get_local $8)
- (i32.const 12)
- )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $8)
+ (i32.load
+ (i32.const 1224)
)
)
- (get_local $9)
+ (call $qa)
)
- (block
- (i32.store
- (get_local $6)
- (get_local $1)
- )
- (i32.store
- (get_local $12)
- (get_local $8)
- )
- (set_local $34
+ (if
+ (i32.eq
(i32.load
- (i32.const 1216)
+ (tee_local $6
+ (i32.add
+ (get_local $8)
+ (i32.const 12)
+ )
+ )
+ )
+ (get_local $9)
+ )
+ (block
+ (i32.store
+ (get_local $6)
+ (get_local $1)
+ )
+ (i32.store
+ (get_local $12)
+ (get_local $8)
+ )
+ (set_local $34
+ (i32.load
+ (i32.const 1216)
+ )
)
)
+ (call $qa)
)
- (call $qa)
)
)
- )
- (i32.store offset=4
- (get_local $9)
- (i32.or
- (get_local $3)
- (i32.const 3)
- )
- )
- (i32.store offset=4
- (tee_local $12
- (i32.add
- (get_local $9)
+ (i32.store offset=4
+ (get_local $9)
+ (i32.or
(get_local $3)
+ (i32.const 3)
)
)
- (i32.or
- (tee_local $8
- (i32.sub
- (i32.shl
- (get_local $16)
- (i32.const 3)
- )
+ (i32.store offset=4
+ (tee_local $12
+ (i32.add
+ (get_local $9)
(get_local $3)
)
)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (get_local $12)
- (get_local $8)
- )
- (get_local $8)
- )
- (if
- (get_local $34)
- (block
- (set_local $1
- (i32.load
- (i32.const 1228)
- )
- )
- (set_local $4
- (i32.add
- (i32.shl
- (tee_local $14
- (i32.shr_u
- (get_local $34)
- (i32.const 3)
- )
+ (i32.or
+ (tee_local $8
+ (i32.sub
+ (i32.shl
+ (get_local $16)
+ (i32.const 3)
)
- (i32.const 3)
+ (get_local $3)
)
- (i32.const 1248)
)
+ (i32.const 1)
)
- (if
- (i32.and
- (tee_local $0
- (i32.load
- (i32.const 1208)
- )
+ )
+ (i32.store
+ (i32.add
+ (get_local $12)
+ (get_local $8)
+ )
+ (get_local $8)
+ )
+ (if
+ (get_local $34)
+ (block
+ (set_local $1
+ (i32.load
+ (i32.const 1228)
)
- (tee_local $5
+ )
+ (set_local $4
+ (i32.add
(i32.shl
- (i32.const 1)
- (get_local $14)
+ (tee_local $14
+ (i32.shr_u
+ (get_local $34)
+ (i32.const 3)
+ )
+ )
+ (i32.const 3)
)
+ (i32.const 1248)
)
)
(if
- (i32.lt_u
+ (i32.and
(tee_local $0
(i32.load
- (tee_local $5
- (i32.add
- (get_local $4)
- (i32.const 8)
+ (i32.const 1208)
+ )
+ )
+ (tee_local $5
+ (i32.shl
+ (i32.const 1)
+ (get_local $14)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $0
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 1224)
+ )
)
- (i32.load
- (i32.const 1224)
+ (call $qa)
+ (block
+ (set_local $40
+ (get_local $5)
+ )
+ (set_local $35
+ (get_local $0)
+ )
)
)
- (call $qa)
(block
+ (i32.store
+ (i32.const 1208)
+ (i32.or
+ (get_local $0)
+ (get_local $5)
+ )
+ )
(set_local $40
- (get_local $5)
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
)
(set_local $35
- (get_local $0)
- )
- )
- )
- (block
- (i32.store
- (i32.const 1208)
- (i32.or
- (get_local $0)
- (get_local $5)
- )
- )
- (set_local $40
- (i32.add
(get_local $4)
- (i32.const 8)
)
)
- (set_local $35
- (get_local $4)
- )
)
- )
- (i32.store
- (get_local $40)
- (get_local $1)
- )
- (i32.store offset=12
- (get_local $35)
- (get_local $1)
- )
- (i32.store offset=8
- (get_local $1)
- (get_local $35)
- )
- (i32.store offset=12
- (get_local $1)
- (get_local $4)
+ (i32.store
+ (get_local $40)
+ (get_local $1)
+ )
+ (i32.store offset=12
+ (get_local $35)
+ (get_local $1)
+ )
+ (i32.store offset=8
+ (get_local $1)
+ (get_local $35)
+ )
+ (i32.store offset=12
+ (get_local $1)
+ (get_local $4)
+ )
)
)
- )
- (i32.store
- (i32.const 1216)
- (get_local $8)
- )
- (i32.store
- (i32.const 1228)
- (get_local $12)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (get_local $7)
+ (i32.store
+ (i32.const 1216)
+ (get_local $8)
+ )
+ (i32.store
+ (i32.const 1228)
+ (get_local $12)
+ )
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (get_local $7)
+ )
)
)
- )
- (if
- (tee_local $12
- (i32.load
- (i32.const 1212)
+ (if
+ (tee_local $12
+ (i32.load
+ (i32.const 1212)
+ )
)
- )
- (block
- (set_local $12
- (i32.and
- (i32.shr_u
- (tee_local $8
- (i32.add
- (i32.and
- (get_local $12)
- (i32.sub
- (i32.const 0)
+ (block
+ (set_local $12
+ (i32.and
+ (i32.shr_u
+ (tee_local $8
+ (i32.add
+ (i32.and
(get_local $12)
+ (i32.sub
+ (i32.const 0)
+ (get_local $12)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
)
+ (i32.const 12)
)
- (i32.const 12)
+ (i32.const 16)
)
- (i32.const 16)
)
- )
- (set_local $0
- (i32.sub
- (i32.and
- (i32.load offset=4
- (tee_local $14
- (i32.load
- (i32.add
- (i32.shl
- (i32.add
- (i32.or
+ (set_local $0
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (tee_local $14
+ (i32.load
+ (i32.add
+ (i32.shl
+ (i32.add
(i32.or
(i32.or
(i32.or
- (tee_local $8
+ (i32.or
+ (tee_local $8
+ (i32.and
+ (i32.shr_u
+ (tee_local $4
+ (i32.shr_u
+ (get_local $8)
+ (get_local $12)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (get_local $12)
+ )
+ (tee_local $4
(i32.and
(i32.shr_u
- (tee_local $4
+ (tee_local $1
(i32.shr_u
+ (get_local $4)
(get_local $8)
- (get_local $12)
)
)
- (i32.const 5)
+ (i32.const 2)
)
- (i32.const 8)
+ (i32.const 4)
)
)
- (get_local $12)
)
- (tee_local $4
+ (tee_local $1
(i32.and
(i32.shr_u
- (tee_local $1
+ (tee_local $0
(i32.shr_u
+ (get_local $1)
(get_local $4)
- (get_local $8)
)
)
- (i32.const 2)
+ (i32.const 1)
)
- (i32.const 4)
+ (i32.const 2)
)
)
)
- (tee_local $1
+ (tee_local $0
(i32.and
(i32.shr_u
- (tee_local $0
+ (tee_local $5
(i32.shr_u
+ (get_local $0)
(get_local $1)
- (get_local $4)
)
)
(i32.const 1)
)
- (i32.const 2)
- )
- )
- )
- (tee_local $0
- (i32.and
- (i32.shr_u
- (tee_local $5
- (i32.shr_u
- (get_local $0)
- (get_local $1)
- )
- )
(i32.const 1)
)
- (i32.const 1)
)
)
+ (i32.shr_u
+ (get_local $5)
+ (get_local $0)
+ )
)
- (i32.shr_u
- (get_local $5)
- (get_local $0)
- )
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 1512)
)
- (i32.const 1512)
)
)
)
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $3)
)
- (get_local $3)
)
- )
- (set_local $5
- (get_local $14)
- )
- (set_local $1
- (get_local $14)
- )
- (loop $while-in
- (block $while-out
- (if
- (tee_local $14
- (i32.load offset=16
- (get_local $5)
- )
- )
- (set_local $6
- (get_local $14)
- )
+ (set_local $5
+ (get_local $14)
+ )
+ (set_local $1
+ (get_local $14)
+ )
+ (loop $while-in
+ (block $while-out
(if
- (tee_local $4
- (i32.load offset=20
+ (tee_local $14
+ (i32.load offset=16
(get_local $5)
)
)
(set_local $6
- (get_local $4)
+ (get_local $14)
)
- (block
+ (if
+ (tee_local $4
+ (i32.load offset=20
+ (get_local $5)
+ )
+ )
(set_local $6
- (get_local $0)
+ (get_local $4)
)
- (set_local $2
- (get_local $1)
+ (block
+ (set_local $6
+ (get_local $0)
+ )
+ (set_local $2
+ (get_local $1)
+ )
+ (br $while-out)
)
- (br $while-out)
)
)
- )
- (set_local $4
- (i32.lt_u
- (tee_local $14
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $6)
+ (set_local $4
+ (i32.lt_u
+ (tee_local $14
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $6)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $3)
)
- (get_local $3)
)
+ (get_local $0)
)
- (get_local $0)
)
- )
- (set_local $0
- (select
- (get_local $14)
- (get_local $0)
- (get_local $4)
+ (set_local $0
+ (select
+ (get_local $14)
+ (get_local $0)
+ (get_local $4)
+ )
)
- )
- (set_local $5
- (get_local $6)
- )
- (set_local $1
- (select
+ (set_local $5
(get_local $6)
- (get_local $1)
- (get_local $4)
)
- )
- (br $while-in)
- )
- )
- (if
- (i32.lt_u
- (get_local $2)
- (tee_local $1
- (i32.load
- (i32.const 1224)
+ (set_local $1
+ (select
+ (get_local $6)
+ (get_local $1)
+ (get_local $4)
+ )
)
+ (br $while-in)
)
)
- (call $qa)
- )
- (if
- (i32.ge_u
- (get_local $2)
- (tee_local $5
- (i32.add
- (get_local $2)
- (get_local $3)
+ (if
+ (i32.lt_u
+ (get_local $2)
+ (tee_local $1
+ (i32.load
+ (i32.const 1224)
+ )
)
)
+ (call $qa)
)
- (call $qa)
- )
- (set_local $0
- (i32.load offset=24
- (get_local $2)
- )
- )
- (block $do-once4
(if
- (i32.eq
- (tee_local $7
- (i32.load offset=12
+ (i32.ge_u
+ (get_local $2)
+ (tee_local $5
+ (i32.add
(get_local $2)
+ (get_local $3)
)
)
+ )
+ (call $qa)
+ )
+ (set_local $0
+ (i32.load offset=24
(get_local $2)
)
- (block
- (if
- (tee_local $16
- (i32.load
- (tee_local $9
- (i32.add
- (get_local $2)
- (i32.const 20)
- )
- )
- )
- )
- (block
- (set_local $14
- (get_local $16)
- )
- (set_local $4
- (get_local $9)
- )
- )
- (if
- (i32.eqz
- (tee_local $14
- (i32.load
- (tee_local $4
- (i32.add
- (get_local $2)
- (i32.const 16)
- )
- )
- )
- )
- )
- (block
- (set_local $23
- (i32.const 0)
- )
- (br $do-once4)
+ )
+ (block $do-once4
+ (if
+ (i32.eq
+ (tee_local $7
+ (i32.load offset=12
+ (get_local $2)
)
)
+ (get_local $2)
)
- (loop $while-in7
+ (block
(if
(tee_local $16
(i32.load
(tee_local $9
(i32.add
- (get_local $14)
+ (get_local $2)
(i32.const 20)
)
)
@@ -941,702 +901,744 @@
(set_local $4
(get_local $9)
)
- (br $while-in7)
+ )
+ (if
+ (i32.eqz
+ (tee_local $14
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ )
+ (block
+ (set_local $23
+ (i32.const 0)
+ )
+ (br $do-once4)
+ )
)
)
- (if
- (tee_local $16
- (i32.load
- (tee_local $9
- (i32.add
- (get_local $14)
- (i32.const 16)
+ (loop $while-in7
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $9
+ (i32.add
+ (get_local $14)
+ (i32.const 20)
+ )
)
)
)
+ (block
+ (set_local $14
+ (get_local $16)
+ )
+ (set_local $4
+ (get_local $9)
+ )
+ (br $while-in7)
+ )
)
- (block
- (set_local $14
- (get_local $16)
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $9
+ (i32.add
+ (get_local $14)
+ (i32.const 16)
+ )
+ )
+ )
)
- (set_local $4
- (get_local $9)
+ (block
+ (set_local $14
+ (get_local $16)
+ )
+ (set_local $4
+ (get_local $9)
+ )
+ (br $while-in7)
)
- (br $while-in7)
)
)
- )
- (if
- (i32.lt_u
- (get_local $4)
- (get_local $1)
- )
- (call $qa)
- (block
- (i32.store
+ (if
+ (i32.lt_u
(get_local $4)
- (i32.const 0)
- )
- (set_local $23
- (get_local $14)
+ (get_local $1)
)
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (tee_local $9
- (i32.load offset=8
- (get_local $2)
+ (call $qa)
+ (block
+ (i32.store
+ (get_local $4)
+ (i32.const 0)
+ )
+ (set_local $23
+ (get_local $14)
)
)
- (get_local $1)
)
- (call $qa)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $16
- (i32.add
- (get_local $9)
- (i32.const 12)
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $9
+ (i32.load offset=8
+ (get_local $2)
)
)
+ (get_local $1)
)
- (get_local $2)
+ (call $qa)
)
- (call $qa)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $4
- (i32.add
- (get_local $7)
- (i32.const 8)
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $16
+ (i32.add
+ (get_local $9)
+ (i32.const 12)
+ )
)
)
+ (get_local $2)
)
- (get_local $2)
+ (call $qa)
)
- (block
- (i32.store
- (get_local $16)
- (get_local $7)
- )
- (i32.store
- (get_local $4)
- (get_local $9)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (get_local $7)
+ (i32.const 8)
+ )
+ )
+ )
+ (get_local $2)
)
- (set_local $23
- (get_local $7)
+ (block
+ (i32.store
+ (get_local $16)
+ (get_local $7)
+ )
+ (i32.store
+ (get_local $4)
+ (get_local $9)
+ )
+ (set_local $23
+ (get_local $7)
+ )
)
+ (call $qa)
)
- (call $qa)
)
)
)
- )
- (block $do-once8
- (if
- (get_local $0)
- (block
- (if
- (i32.eq
- (get_local $2)
- (i32.load
- (tee_local $1
- (i32.add
- (i32.shl
- (tee_local $7
- (i32.load offset=28
- (get_local $2)
+ (block $do-once8
+ (if
+ (get_local $0)
+ (block
+ (if
+ (i32.eq
+ (get_local $2)
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (i32.shl
+ (tee_local $7
+ (i32.load offset=28
+ (get_local $2)
+ )
)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 1512)
)
- (i32.const 1512)
)
)
)
- )
- (block
- (i32.store
- (get_local $1)
- (get_local $23)
- )
- (if
- (i32.eqz
+ (block
+ (i32.store
+ (get_local $1)
(get_local $23)
)
- (block
- (i32.store
- (i32.const 1212)
- (i32.and
- (i32.load
- (i32.const 1212)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $7)
+ (if
+ (i32.eqz
+ (get_local $23)
+ )
+ (block
+ (i32.store
+ (i32.const 1212)
+ (i32.and
+ (i32.load
+ (i32.const 1212)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $7)
+ )
+ (i32.const -1)
)
- (i32.const -1)
)
)
+ (br $do-once8)
)
- (br $do-once8)
)
)
- )
- (block
- (if
- (i32.lt_u
- (get_local $0)
- (i32.load
- (i32.const 1224)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (i32.load
+ (i32.const 1224)
+ )
)
+ (call $qa)
)
- (call $qa)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $0)
- (i32.const 16)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $0)
+ (i32.const 16)
+ )
)
)
+ (get_local $2)
+ )
+ (i32.store
+ (get_local $7)
+ (get_local $23)
+ )
+ (i32.store offset=20
+ (get_local $0)
+ (get_local $23)
)
- (get_local $2)
- )
- (i32.store
- (get_local $7)
- (get_local $23)
- )
- (i32.store offset=20
- (get_local $0)
- (get_local $23)
)
- )
- (br_if $do-once8
- (i32.eqz
- (get_local $23)
+ (br_if $do-once8
+ (i32.eqz
+ (get_local $23)
+ )
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $23)
- (tee_local $7
- (i32.load
- (i32.const 1224)
+ (if
+ (i32.lt_u
+ (get_local $23)
+ (tee_local $7
+ (i32.load
+ (i32.const 1224)
+ )
)
)
+ (call $qa)
)
- (call $qa)
- )
- (i32.store offset=24
- (get_local $23)
- (get_local $0)
- )
- (if
- (tee_local $1
- (i32.load offset=16
- (get_local $2)
- )
+ (i32.store offset=24
+ (get_local $23)
+ (get_local $0)
)
(if
- (i32.lt_u
- (get_local $1)
- (get_local $7)
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $2)
+ )
)
- (call $qa)
- (block
- (i32.store offset=16
- (get_local $23)
+ (if
+ (i32.lt_u
(get_local $1)
+ (get_local $7)
)
- (i32.store offset=24
- (get_local $1)
- (get_local $23)
+ (call $qa)
+ (block
+ (i32.store offset=16
+ (get_local $23)
+ (get_local $1)
+ )
+ (i32.store offset=24
+ (get_local $1)
+ (get_local $23)
+ )
)
)
)
- )
- (if
- (tee_local $1
- (i32.load offset=20
- (get_local $2)
- )
- )
(if
- (i32.lt_u
- (get_local $1)
- (i32.load
- (i32.const 1224)
+ (tee_local $1
+ (i32.load offset=20
+ (get_local $2)
)
)
- (call $qa)
- (block
- (i32.store offset=20
- (get_local $23)
+ (if
+ (i32.lt_u
(get_local $1)
+ (i32.load
+ (i32.const 1224)
+ )
)
- (i32.store offset=24
- (get_local $1)
- (get_local $23)
+ (call $qa)
+ (block
+ (i32.store offset=20
+ (get_local $23)
+ (get_local $1)
+ )
+ (i32.store offset=24
+ (get_local $1)
+ (get_local $23)
+ )
)
)
)
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $6)
- (i32.const 16)
- )
- (block
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (tee_local $0
- (i32.add
- (get_local $6)
- (get_local $3)
+ (if
+ (i32.lt_u
+ (get_local $6)
+ (i32.const 16)
+ )
+ (block
+ (i32.store offset=4
+ (get_local $2)
+ (i32.or
+ (tee_local $0
+ (i32.add
+ (get_local $6)
+ (get_local $3)
+ )
)
+ (i32.const 3)
)
- (i32.const 3)
)
- )
- (i32.store
- (tee_local $1
- (i32.add
+ (i32.store
+ (tee_local $1
(i32.add
- (get_local $2)
- (get_local $0)
+ (i32.add
+ (get_local $2)
+ (get_local $0)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (i32.or
- (i32.load
- (get_local $1)
+ (i32.or
+ (i32.load
+ (get_local $1)
+ )
+ (i32.const 1)
)
- (i32.const 1)
)
)
- )
- (block
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $3)
- (i32.const 3)
- )
- )
- (i32.store offset=4
- (get_local $5)
- (i32.or
- (get_local $6)
- (i32.const 1)
+ (block
+ (i32.store offset=4
+ (get_local $2)
+ (i32.or
+ (get_local $3)
+ (i32.const 3)
+ )
)
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $5)
- (get_local $6)
+ (i32.or
+ (get_local $6)
+ (i32.const 1)
+ )
)
- (get_local $6)
- )
- (if
- (tee_local $1
- (i32.load
- (i32.const 1216)
+ (i32.store
+ (i32.add
+ (get_local $5)
+ (get_local $6)
)
+ (get_local $6)
)
- (block
- (set_local $0
+ (if
+ (tee_local $1
(i32.load
- (i32.const 1228)
+ (i32.const 1216)
)
)
- (set_local $1
- (i32.add
- (i32.shl
- (tee_local $7
- (i32.shr_u
- (get_local $1)
- (i32.const 3)
- )
- )
- (i32.const 3)
+ (block
+ (set_local $0
+ (i32.load
+ (i32.const 1228)
)
- (i32.const 1248)
)
- )
- (if
- (i32.and
- (tee_local $9
- (i32.load
- (i32.const 1208)
- )
- )
- (tee_local $4
+ (set_local $1
+ (i32.add
(i32.shl
- (i32.const 1)
- (get_local $7)
+ (tee_local $7
+ (i32.shr_u
+ (get_local $1)
+ (i32.const 3)
+ )
+ )
+ (i32.const 3)
)
+ (i32.const 1248)
)
)
(if
- (i32.lt_u
+ (i32.and
(tee_local $9
(i32.load
- (tee_local $4
- (i32.add
- (get_local $1)
- (i32.const 8)
+ (i32.const 1208)
+ )
+ )
+ (tee_local $4
+ (i32.shl
+ (i32.const 1)
+ (get_local $7)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $9
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (get_local $1)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 1224)
+ )
)
- (i32.load
- (i32.const 1224)
+ (call $qa)
+ (block
+ (set_local $41
+ (get_local $4)
+ )
+ (set_local $27
+ (get_local $9)
+ )
)
)
- (call $qa)
(block
+ (i32.store
+ (i32.const 1208)
+ (i32.or
+ (get_local $9)
+ (get_local $4)
+ )
+ )
(set_local $41
- (get_local $4)
+ (i32.add
+ (get_local $1)
+ (i32.const 8)
+ )
)
(set_local $27
- (get_local $9)
- )
- )
- )
- (block
- (i32.store
- (i32.const 1208)
- (i32.or
- (get_local $9)
- (get_local $4)
- )
- )
- (set_local $41
- (i32.add
(get_local $1)
- (i32.const 8)
)
)
- (set_local $27
- (get_local $1)
- )
)
- )
- (i32.store
- (get_local $41)
- (get_local $0)
- )
- (i32.store offset=12
- (get_local $27)
- (get_local $0)
- )
- (i32.store offset=8
- (get_local $0)
- (get_local $27)
- )
- (i32.store offset=12
- (get_local $0)
- (get_local $1)
+ (i32.store
+ (get_local $41)
+ (get_local $0)
+ )
+ (i32.store offset=12
+ (get_local $27)
+ (get_local $0)
+ )
+ (i32.store offset=8
+ (get_local $0)
+ (get_local $27)
+ )
+ (i32.store offset=12
+ (get_local $0)
+ (get_local $1)
+ )
)
)
+ (i32.store
+ (i32.const 1216)
+ (get_local $6)
+ )
+ (i32.store
+ (i32.const 1228)
+ (get_local $5)
+ )
)
- (i32.store
- (i32.const 1216)
- (get_local $6)
- )
- (i32.store
- (i32.const 1228)
- (get_local $5)
+ )
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
)
)
)
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.add
- (get_local $2)
- (i32.const 8)
- )
+ (set_local $5
+ (get_local $3)
)
)
- (set_local $5
- (get_local $3)
- )
)
+ (set_local $5
+ (get_local $3)
+ )
+ )
+ )
+ (if
+ (i32.gt_u
+ (get_local $0)
+ (i32.const -65)
)
(set_local $5
- (get_local $3)
+ (i32.const -1)
)
- )
- )
- (if
- (i32.gt_u
- (get_local $0)
- (i32.const -65)
- )
- (set_local $5
- (i32.const -1)
- )
- (block
- (set_local $0
- (i32.and
- (tee_local $1
- (i32.add
- (get_local $0)
- (i32.const 11)
+ (block
+ (set_local $0
+ (i32.and
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 11)
+ )
)
- )
- (i32.const -8)
- )
- )
- (if
- (tee_local $9
- (i32.load
- (i32.const 1212)
+ (i32.const -8)
)
)
- (block
- (set_local $4
- (i32.sub
- (i32.const 0)
- (get_local $0)
+ (if
+ (tee_local $9
+ (i32.load
+ (i32.const 1212)
)
)
- (block $label$break$a
- (if
- (tee_local $12
- (i32.load
- (i32.add
- (i32.shl
- (tee_local $27
- (if (result i32)
- (tee_local $7
- (i32.shr_u
- (get_local $1)
- (i32.const 8)
- )
- )
+ (block
+ (set_local $4
+ (i32.sub
+ (i32.const 0)
+ (get_local $0)
+ )
+ )
+ (block $label$break$a
+ (if
+ (tee_local $12
+ (i32.load
+ (i32.add
+ (i32.shl
+ (tee_local $27
(if (result i32)
- (i32.gt_u
- (get_local $0)
- (i32.const 16777215)
+ (tee_local $7
+ (i32.shr_u
+ (get_local $1)
+ (i32.const 8)
+ )
)
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $0)
- (i32.add
- (tee_local $12
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (if (result i32)
+ (i32.gt_u
+ (get_local $0)
+ (i32.const 16777215)
+ )
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $0)
+ (i32.add
+ (tee_local $12
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $7
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $16
- (i32.shl
- (get_local $7)
- (tee_local $1
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $7)
- (i32.const 1048320)
+ (i32.or
+ (tee_local $7
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $16
+ (i32.shl
+ (get_local $7)
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $7)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 520192)
)
- (i32.const 520192)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 4)
)
- (i32.const 4)
)
+ (get_local $1)
)
- (get_local $1)
- )
- (tee_local $16
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $14
- (i32.shl
- (get_local $16)
- (get_local $7)
+ (tee_local $16
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $14
+ (i32.shl
+ (get_local $16)
+ (get_local $7)
+ )
)
+ (i32.const 245760)
)
- (i32.const 245760)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $14)
- (get_local $16)
+ (i32.shr_u
+ (i32.shl
+ (get_local $14)
+ (get_local $16)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $12)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $12)
- (i32.const 1)
)
)
+ (i32.const 0)
)
- (i32.const 0)
)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 1512)
)
- (i32.const 1512)
)
)
- )
- (block
- (set_local $16
- (get_local $4)
- )
- (set_local $14
- (i32.const 0)
- )
- (set_local $1
- (i32.shl
- (get_local $0)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
+ (block
+ (set_local $16
+ (get_local $4)
+ )
+ (set_local $14
+ (i32.const 0)
+ )
+ (set_local $1
+ (i32.shl
+ (get_local $0)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $27)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
(get_local $27)
- (i32.const 1)
+ (i32.const 31)
)
)
- (i32.eq
- (get_local $27)
- (i32.const 31)
- )
)
)
- )
- (set_local $7
- (get_local $12)
- )
- (set_local $8
- (i32.const 0)
- )
- (loop $while-in14
- (if
- (i32.lt_u
- (tee_local $12
- (i32.sub
- (tee_local $3
- (i32.and
- (i32.load offset=4
- (get_local $7)
+ (set_local $7
+ (get_local $12)
+ )
+ (set_local $8
+ (i32.const 0)
+ )
+ (loop $while-in14
+ (if
+ (i32.lt_u
+ (tee_local $12
+ (i32.sub
+ (tee_local $3
+ (i32.and
+ (i32.load offset=4
+ (get_local $7)
+ )
+ (i32.const -8)
)
- (i32.const -8)
)
+ (get_local $0)
)
- (get_local $0)
)
+ (get_local $16)
)
- (get_local $16)
- )
- (if
- (i32.eq
- (get_local $3)
- (get_local $0)
- )
- (block
- (set_local $29
- (get_local $12)
- )
- (set_local $28
- (get_local $7)
- )
- (set_local $32
- (get_local $7)
- )
- (set_local $7
- (i32.const 90)
+ (if
+ (i32.eq
+ (get_local $3)
+ (get_local $0)
)
- (br $label$break$a)
- )
- (block
- (set_local $16
- (get_local $12)
+ (block
+ (set_local $29
+ (get_local $12)
+ )
+ (set_local $28
+ (get_local $7)
+ )
+ (set_local $32
+ (get_local $7)
+ )
+ (set_local $7
+ (i32.const 90)
+ )
+ (br $label$break$a)
)
- (set_local $8
- (get_local $7)
+ (block
+ (set_local $16
+ (get_local $12)
+ )
+ (set_local $8
+ (get_local $7)
+ )
)
)
)
- )
- (set_local $3
- (select
- (get_local $14)
- (tee_local $12
- (i32.load offset=20
- (get_local $7)
- )
- )
- (i32.or
- (i32.eqz
- (get_local $12)
+ (set_local $3
+ (select
+ (get_local $14)
+ (tee_local $12
+ (i32.load offset=20
+ (get_local $7)
+ )
)
- (i32.eq
- (get_local $12)
- (tee_local $7
- (i32.load
- (i32.add
+ (i32.or
+ (i32.eqz
+ (get_local $12)
+ )
+ (i32.eq
+ (get_local $12)
+ (tee_local $7
+ (i32.load
(i32.add
- (get_local $7)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $1)
- (i32.const 31)
+ (i32.add
+ (get_local $7)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $1)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
@@ -1644,419 +1646,376 @@
)
)
)
- )
- (if
- (tee_local $12
- (i32.eqz
- (get_local $7)
- )
- )
- (block
- (set_local $36
- (get_local $16)
- )
- (set_local $5
- (get_local $3)
- )
- (set_local $33
- (get_local $8)
- )
- (set_local $7
- (i32.const 86)
+ (if
+ (tee_local $12
+ (i32.eqz
+ (get_local $7)
+ )
)
- )
- (block
- (set_local $14
- (get_local $3)
+ (block
+ (set_local $36
+ (get_local $16)
+ )
+ (set_local $5
+ (get_local $3)
+ )
+ (set_local $33
+ (get_local $8)
+ )
+ (set_local $7
+ (i32.const 86)
+ )
)
- (set_local $1
- (i32.shl
- (get_local $1)
- (i32.xor
- (i32.and
- (get_local $12)
+ (block
+ (set_local $14
+ (get_local $3)
+ )
+ (set_local $1
+ (i32.shl
+ (get_local $1)
+ (i32.xor
+ (i32.and
+ (get_local $12)
+ (i32.const 1)
+ )
(i32.const 1)
)
- (i32.const 1)
)
)
+ (br $while-in14)
)
- (br $while-in14)
)
)
)
- )
- (block
- (set_local $36
- (get_local $4)
- )
- (set_local $5
- (i32.const 0)
- )
- (set_local $33
- (i32.const 0)
- )
- (set_local $7
- (i32.const 86)
+ (block
+ (set_local $36
+ (get_local $4)
+ )
+ (set_local $5
+ (i32.const 0)
+ )
+ (set_local $33
+ (i32.const 0)
+ )
+ (set_local $7
+ (i32.const 86)
+ )
)
)
)
- )
- (if
- (i32.eq
- (get_local $7)
- (i32.const 86)
- )
(if
- (tee_local $3
- (if (result i32)
- (i32.and
- (i32.eqz
- (get_local $5)
- )
- (i32.eqz
- (get_local $33)
- )
- )
- (block (result i32)
- (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 86)
+ )
+ (if
+ (tee_local $3
+ (if (result i32)
+ (i32.and
(i32.eqz
- (tee_local $4
- (i32.and
- (get_local $9)
- (i32.or
- (tee_local $12
- (i32.shl
- (i32.const 2)
- (get_local $27)
+ (get_local $5)
+ )
+ (i32.eqz
+ (get_local $33)
+ )
+ )
+ (block (result i32)
+ (if
+ (i32.eqz
+ (tee_local $4
+ (i32.and
+ (get_local $9)
+ (i32.or
+ (tee_local $12
+ (i32.shl
+ (i32.const 2)
+ (get_local $27)
+ )
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $12)
)
- )
- (i32.sub
- (i32.const 0)
- (get_local $12)
)
)
)
)
- )
- (block
- (set_local $5
- (get_local $0)
+ (block
+ (set_local $5
+ (get_local $0)
+ )
+ (br $do-once)
)
- (br $do-once)
)
- )
- (set_local $4
- (i32.and
- (i32.shr_u
- (tee_local $12
- (i32.add
- (i32.and
- (get_local $4)
- (i32.sub
- (i32.const 0)
+ (set_local $4
+ (i32.and
+ (i32.shr_u
+ (tee_local $12
+ (i32.add
+ (i32.and
(get_local $4)
+ (i32.sub
+ (i32.const 0)
+ (get_local $4)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
)
+ (i32.const 12)
)
- (i32.const 12)
+ (i32.const 16)
)
- (i32.const 16)
)
- )
- (i32.load
- (i32.add
- (i32.shl
- (i32.add
- (i32.or
+ (i32.load
+ (i32.add
+ (i32.shl
+ (i32.add
(i32.or
(i32.or
(i32.or
- (tee_local $12
+ (i32.or
+ (tee_local $12
+ (i32.and
+ (i32.shr_u
+ (tee_local $3
+ (i32.shr_u
+ (get_local $12)
+ (get_local $4)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (get_local $4)
+ )
+ (tee_local $3
(i32.and
(i32.shr_u
- (tee_local $3
+ (tee_local $5
(i32.shr_u
+ (get_local $3)
(get_local $12)
- (get_local $4)
)
)
- (i32.const 5)
+ (i32.const 2)
)
- (i32.const 8)
+ (i32.const 4)
)
)
- (get_local $4)
)
- (tee_local $3
+ (tee_local $5
(i32.and
(i32.shr_u
- (tee_local $5
+ (tee_local $8
(i32.shr_u
+ (get_local $5)
(get_local $3)
- (get_local $12)
)
)
- (i32.const 2)
+ (i32.const 1)
)
- (i32.const 4)
+ (i32.const 2)
)
)
)
- (tee_local $5
+ (tee_local $8
(i32.and
(i32.shr_u
- (tee_local $8
+ (tee_local $1
(i32.shr_u
+ (get_local $8)
(get_local $5)
- (get_local $3)
)
)
(i32.const 1)
)
- (i32.const 2)
- )
- )
- )
- (tee_local $8
- (i32.and
- (i32.shr_u
- (tee_local $1
- (i32.shr_u
- (get_local $8)
- (get_local $5)
- )
- )
(i32.const 1)
)
- (i32.const 1)
)
)
+ (i32.shr_u
+ (get_local $1)
+ (get_local $8)
+ )
)
- (i32.shr_u
- (get_local $1)
- (get_local $8)
- )
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 1512)
)
- (i32.const 1512)
)
)
+ (get_local $5)
)
- (get_local $5)
)
- )
- (block
- (set_local $29
- (get_local $36)
- )
- (set_local $28
- (get_local $3)
- )
- (set_local $32
- (get_local $33)
- )
- (set_local $7
- (i32.const 90)
- )
- )
- (block
- (set_local $18
- (get_local $36)
+ (block
+ (set_local $29
+ (get_local $36)
+ )
+ (set_local $28
+ (get_local $3)
+ )
+ (set_local $32
+ (get_local $33)
+ )
+ (set_local $7
+ (i32.const 90)
+ )
)
- (set_local $10
- (get_local $33)
+ (block
+ (set_local $18
+ (get_local $36)
+ )
+ (set_local $10
+ (get_local $33)
+ )
)
)
)
- )
- (if
- (i32.eq
- (get_local $7)
- (i32.const 90)
- )
- (loop $while-in16
- (set_local $7
- (i32.const 0)
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 90)
)
- (set_local $1
- (i32.lt_u
- (tee_local $8
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $28)
+ (loop $while-in16
+ (set_local $7
+ (i32.const 0)
+ )
+ (set_local $1
+ (i32.lt_u
+ (tee_local $8
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $28)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $0)
)
- (get_local $0)
)
+ (get_local $29)
)
- (get_local $29)
- )
- )
- (set_local $5
- (select
- (get_local $8)
- (get_local $29)
- (get_local $1)
- )
- )
- (set_local $8
- (select
- (get_local $28)
- (get_local $32)
- (get_local $1)
)
- )
- (if
- (tee_local $1
- (i32.load offset=16
- (get_local $28)
- )
- )
- (block
- (set_local $29
- (get_local $5)
- )
- (set_local $28
- (get_local $1)
- )
- (set_local $32
+ (set_local $5
+ (select
(get_local $8)
+ (get_local $29)
+ (get_local $1)
)
- (br $while-in16)
)
- )
- (if
- (tee_local $28
- (i32.load offset=20
+ (set_local $8
+ (select
(get_local $28)
+ (get_local $32)
+ (get_local $1)
)
)
- (block
- (set_local $29
- (get_local $5)
+ (if
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $28)
+ )
)
- (set_local $32
- (get_local $8)
+ (block
+ (set_local $29
+ (get_local $5)
+ )
+ (set_local $28
+ (get_local $1)
+ )
+ (set_local $32
+ (get_local $8)
+ )
+ (br $while-in16)
)
- (br $while-in16)
)
- (block
- (set_local $18
- (get_local $5)
+ (if
+ (tee_local $28
+ (i32.load offset=20
+ (get_local $28)
+ )
)
- (set_local $10
- (get_local $8)
+ (block
+ (set_local $29
+ (get_local $5)
+ )
+ (set_local $32
+ (get_local $8)
+ )
+ (br $while-in16)
+ )
+ (block
+ (set_local $18
+ (get_local $5)
+ )
+ (set_local $10
+ (get_local $8)
+ )
)
)
)
)
- )
- (if
- (get_local $10)
(if
- (i32.lt_u
- (get_local $18)
- (i32.sub
- (i32.load
- (i32.const 1216)
- )
- (get_local $0)
- )
- )
- (block
- (if
- (i32.lt_u
- (get_local $10)
- (tee_local $9
- (i32.load
- (i32.const 1224)
- )
+ (get_local $10)
+ (if
+ (i32.lt_u
+ (get_local $18)
+ (i32.sub
+ (i32.load
+ (i32.const 1216)
)
+ (get_local $0)
)
- (call $qa)
)
- (if
- (i32.ge_u
- (get_local $10)
- (tee_local $8
- (i32.add
- (get_local $10)
- (get_local $0)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $10)
+ (tee_local $9
+ (i32.load
+ (i32.const 1224)
+ )
)
)
+ (call $qa)
)
- (call $qa)
- )
- (set_local $5
- (i32.load offset=24
- (get_local $10)
- )
- )
- (block $do-once17
(if
- (i32.eq
- (tee_local $1
- (i32.load offset=12
+ (i32.ge_u
+ (get_local $10)
+ (tee_local $8
+ (i32.add
(get_local $10)
+ (get_local $0)
)
)
+ )
+ (call $qa)
+ )
+ (set_local $5
+ (i32.load offset=24
(get_local $10)
)
- (block
- (if
- (tee_local $4
- (i32.load
- (tee_local $3
- (i32.add
- (get_local $10)
- (i32.const 20)
- )
- )
- )
- )
- (block
- (set_local $14
- (get_local $4)
- )
- (set_local $1
- (get_local $3)
- )
- )
- (if
- (tee_local $14
- (i32.load
- (tee_local $12
- (i32.add
- (get_local $10)
- (i32.const 16)
- )
- )
- )
- )
- (set_local $1
- (get_local $12)
- )
- (block
- (set_local $22
- (i32.const 0)
- )
- (br $do-once17)
+ )
+ (block $do-once17
+ (if
+ (i32.eq
+ (tee_local $1
+ (i32.load offset=12
+ (get_local $10)
)
)
+ (get_local $10)
)
- (loop $while-in20
+ (block
(if
(tee_local $4
(i32.load
(tee_local $3
(i32.add
- (get_local $14)
+ (get_local $10)
(i32.const 20)
)
)
@@ -2069,698 +2028,615 @@
(set_local $1
(get_local $3)
)
- (br $while-in20)
+ )
+ (if
+ (tee_local $14
+ (i32.load
+ (tee_local $12
+ (i32.add
+ (get_local $10)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ (set_local $1
+ (get_local $12)
+ )
+ (block
+ (set_local $22
+ (i32.const 0)
+ )
+ (br $do-once17)
+ )
)
)
- (if
- (tee_local $4
- (i32.load
- (tee_local $3
- (i32.add
- (get_local $14)
- (i32.const 16)
+ (loop $while-in20
+ (if
+ (tee_local $4
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $14)
+ (i32.const 20)
+ )
)
)
)
+ (block
+ (set_local $14
+ (get_local $4)
+ )
+ (set_local $1
+ (get_local $3)
+ )
+ (br $while-in20)
+ )
)
- (block
- (set_local $14
- (get_local $4)
+ (if
+ (tee_local $4
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $14)
+ (i32.const 16)
+ )
+ )
+ )
)
- (set_local $1
- (get_local $3)
+ (block
+ (set_local $14
+ (get_local $4)
+ )
+ (set_local $1
+ (get_local $3)
+ )
+ (br $while-in20)
)
- (br $while-in20)
)
)
- )
- (if
- (i32.lt_u
- (get_local $1)
- (get_local $9)
- )
- (call $qa)
- (block
- (i32.store
+ (if
+ (i32.lt_u
(get_local $1)
- (i32.const 0)
- )
- (set_local $22
- (get_local $14)
+ (get_local $9)
)
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (tee_local $3
- (i32.load offset=8
- (get_local $10)
+ (call $qa)
+ (block
+ (i32.store
+ (get_local $1)
+ (i32.const 0)
+ )
+ (set_local $22
+ (get_local $14)
)
)
- (get_local $9)
)
- (call $qa)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $4
- (i32.add
- (get_local $3)
- (i32.const 12)
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $3
+ (i32.load offset=8
+ (get_local $10)
)
)
+ (get_local $9)
)
- (get_local $10)
+ (call $qa)
)
- (call $qa)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $12
- (i32.add
- (get_local $1)
- (i32.const 8)
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (get_local $3)
+ (i32.const 12)
+ )
)
)
+ (get_local $10)
)
- (get_local $10)
+ (call $qa)
)
- (block
- (i32.store
- (get_local $4)
- (get_local $1)
- )
- (i32.store
- (get_local $12)
- (get_local $3)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $12
+ (i32.add
+ (get_local $1)
+ (i32.const 8)
+ )
+ )
+ )
+ (get_local $10)
)
- (set_local $22
- (get_local $1)
+ (block
+ (i32.store
+ (get_local $4)
+ (get_local $1)
+ )
+ (i32.store
+ (get_local $12)
+ (get_local $3)
+ )
+ (set_local $22
+ (get_local $1)
+ )
)
+ (call $qa)
)
- (call $qa)
)
)
)
- )
- (block $do-once21
- (if
- (get_local $5)
- (block
- (if
- (i32.eq
- (get_local $10)
- (i32.load
- (tee_local $9
- (i32.add
- (i32.shl
- (tee_local $1
- (i32.load offset=28
- (get_local $10)
+ (block $do-once21
+ (if
+ (get_local $5)
+ (block
+ (if
+ (i32.eq
+ (get_local $10)
+ (i32.load
+ (tee_local $9
+ (i32.add
+ (i32.shl
+ (tee_local $1
+ (i32.load offset=28
+ (get_local $10)
+ )
)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 1512)
)
- (i32.const 1512)
)
)
)
- )
- (block
- (i32.store
- (get_local $9)
- (get_local $22)
- )
- (if
- (i32.eqz
+ (block
+ (i32.store
+ (get_local $9)
(get_local $22)
)
- (block
- (i32.store
- (i32.const 1212)
- (i32.and
- (i32.load
- (i32.const 1212)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $1)
+ (if
+ (i32.eqz
+ (get_local $22)
+ )
+ (block
+ (i32.store
+ (i32.const 1212)
+ (i32.and
+ (i32.load
+ (i32.const 1212)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $1)
+ )
+ (i32.const -1)
)
- (i32.const -1)
)
)
+ (br $do-once21)
)
- (br $do-once21)
)
)
- )
- (block
- (if
- (i32.lt_u
- (get_local $5)
- (i32.load
- (i32.const 1224)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $5)
+ (i32.load
+ (i32.const 1224)
+ )
)
+ (call $qa)
)
- (call $qa)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $5)
- (i32.const 16)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $5)
+ (i32.const 16)
+ )
)
)
+ (get_local $10)
+ )
+ (i32.store
+ (get_local $1)
+ (get_local $22)
+ )
+ (i32.store offset=20
+ (get_local $5)
+ (get_local $22)
)
- (get_local $10)
- )
- (i32.store
- (get_local $1)
- (get_local $22)
- )
- (i32.store offset=20
- (get_local $5)
- (get_local $22)
)
- )
- (br_if $do-once21
- (i32.eqz
- (get_local $22)
+ (br_if $do-once21
+ (i32.eqz
+ (get_local $22)
+ )
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $22)
- (tee_local $1
- (i32.load
- (i32.const 1224)
+ (if
+ (i32.lt_u
+ (get_local $22)
+ (tee_local $1
+ (i32.load
+ (i32.const 1224)
+ )
)
)
+ (call $qa)
)
- (call $qa)
- )
- (i32.store offset=24
- (get_local $22)
- (get_local $5)
- )
- (if
- (tee_local $9
- (i32.load offset=16
- (get_local $10)
- )
+ (i32.store offset=24
+ (get_local $22)
+ (get_local $5)
)
(if
- (i32.lt_u
- (get_local $9)
- (get_local $1)
+ (tee_local $9
+ (i32.load offset=16
+ (get_local $10)
+ )
)
- (call $qa)
- (block
- (i32.store offset=16
- (get_local $22)
+ (if
+ (i32.lt_u
(get_local $9)
+ (get_local $1)
)
- (i32.store offset=24
- (get_local $9)
- (get_local $22)
+ (call $qa)
+ (block
+ (i32.store offset=16
+ (get_local $22)
+ (get_local $9)
+ )
+ (i32.store offset=24
+ (get_local $9)
+ (get_local $22)
+ )
)
)
)
- )
- (if
- (tee_local $9
- (i32.load offset=20
- (get_local $10)
- )
- )
(if
- (i32.lt_u
- (get_local $9)
- (i32.load
- (i32.const 1224)
+ (tee_local $9
+ (i32.load offset=20
+ (get_local $10)
)
)
- (call $qa)
- (block
- (i32.store offset=20
- (get_local $22)
+ (if
+ (i32.lt_u
(get_local $9)
+ (i32.load
+ (i32.const 1224)
+ )
)
- (i32.store offset=24
- (get_local $9)
- (get_local $22)
+ (call $qa)
+ (block
+ (i32.store offset=20
+ (get_local $22)
+ (get_local $9)
+ )
+ (i32.store offset=24
+ (get_local $9)
+ (get_local $22)
+ )
)
)
)
)
)
)
- )
- (block $do-once25
- (if
- (i32.lt_u
- (get_local $18)
- (i32.const 16)
- )
- (block
- (i32.store offset=4
- (get_local $10)
- (i32.or
- (tee_local $5
- (i32.add
- (get_local $18)
- (get_local $0)
+ (block $do-once25
+ (if
+ (i32.lt_u
+ (get_local $18)
+ (i32.const 16)
+ )
+ (block
+ (i32.store offset=4
+ (get_local $10)
+ (i32.or
+ (tee_local $5
+ (i32.add
+ (get_local $18)
+ (get_local $0)
+ )
)
+ (i32.const 3)
)
- (i32.const 3)
)
- )
- (i32.store
- (tee_local $9
- (i32.add
+ (i32.store
+ (tee_local $9
(i32.add
- (get_local $10)
- (get_local $5)
+ (i32.add
+ (get_local $10)
+ (get_local $5)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (i32.or
- (i32.load
- (get_local $9)
+ (i32.or
+ (i32.load
+ (get_local $9)
+ )
+ (i32.const 1)
)
- (i32.const 1)
)
)
- )
- (block
- (i32.store offset=4
- (get_local $10)
- (i32.or
- (get_local $0)
- (i32.const 3)
- )
- )
- (i32.store offset=4
- (get_local $8)
- (i32.or
- (get_local $18)
- (i32.const 1)
+ (block
+ (i32.store offset=4
+ (get_local $10)
+ (i32.or
+ (get_local $0)
+ (i32.const 3)
+ )
)
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $8)
- (get_local $18)
+ (i32.or
+ (get_local $18)
+ (i32.const 1)
+ )
)
- (get_local $18)
- )
- (set_local $9
- (i32.shr_u
+ (i32.store
+ (i32.add
+ (get_local $8)
+ (get_local $18)
+ )
(get_local $18)
- (i32.const 3)
)
- )
- (if
- (i32.lt_u
- (get_local $18)
- (i32.const 256)
+ (set_local $9
+ (i32.shr_u
+ (get_local $18)
+ (i32.const 3)
+ )
)
- (block
- (set_local $5
- (i32.add
- (i32.shl
- (get_local $9)
- (i32.const 3)
- )
- (i32.const 1248)
- )
+ (if
+ (i32.lt_u
+ (get_local $18)
+ (i32.const 256)
)
- (if
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 1208)
- )
- )
- (tee_local $3
+ (block
+ (set_local $5
+ (i32.add
(i32.shl
- (i32.const 1)
(get_local $9)
+ (i32.const 3)
)
+ (i32.const 1248)
)
)
(if
- (i32.lt_u
+ (i32.and
(tee_local $1
(i32.load
- (tee_local $3
- (i32.add
- (get_local $5)
- (i32.const 8)
+ (i32.const 1208)
+ )
+ )
+ (tee_local $3
+ (i32.shl
+ (i32.const 1)
+ (get_local $9)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $1
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $5)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 1224)
+ )
)
- (i32.load
- (i32.const 1224)
+ (call $qa)
+ (block
+ (set_local $19
+ (get_local $3)
+ )
+ (set_local $6
+ (get_local $1)
+ )
)
)
- (call $qa)
(block
+ (i32.store
+ (i32.const 1208)
+ (i32.or
+ (get_local $1)
+ (get_local $3)
+ )
+ )
(set_local $19
- (get_local $3)
+ (i32.add
+ (get_local $5)
+ (i32.const 8)
+ )
)
(set_local $6
- (get_local $1)
- )
- )
- )
- (block
- (i32.store
- (i32.const 1208)
- (i32.or
- (get_local $1)
- (get_local $3)
- )
- )
- (set_local $19
- (i32.add
(get_local $5)
- (i32.const 8)
)
)
- (set_local $6
- (get_local $5)
- )
)
+ (i32.store
+ (get_local $19)
+ (get_local $8)
+ )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $8)
+ )
+ (i32.store offset=8
+ (get_local $8)
+ (get_local $6)
+ )
+ (i32.store offset=12
+ (get_local $8)
+ (get_local $5)
+ )
+ (br $do-once25)
)
- (i32.store
- (get_local $19)
- (get_local $8)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $8)
- )
- (i32.store offset=8
- (get_local $8)
- (get_local $6)
- )
- (i32.store offset=12
- (get_local $8)
- (get_local $5)
- )
- (br $do-once25)
)
- )
- (set_local $12
- (i32.add
- (i32.shl
- (tee_local $16
- (if (result i32)
- (tee_local $5
- (i32.shr_u
- (get_local $18)
- (i32.const 8)
- )
- )
+ (set_local $12
+ (i32.add
+ (i32.shl
+ (tee_local $16
(if (result i32)
- (i32.gt_u
- (get_local $18)
- (i32.const 16777215)
+ (tee_local $5
+ (i32.shr_u
+ (get_local $18)
+ (i32.const 8)
+ )
)
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $18)
- (i32.add
- (tee_local $12
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (if (result i32)
+ (i32.gt_u
+ (get_local $18)
+ (i32.const 16777215)
+ )
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $18)
+ (i32.add
+ (tee_local $12
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $5
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $3
- (i32.shl
- (get_local $5)
- (tee_local $1
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $5)
- (i32.const 1048320)
+ (i32.or
+ (tee_local $5
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $3
+ (i32.shl
+ (get_local $5)
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $5)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 520192)
)
- (i32.const 520192)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 4)
)
- (i32.const 4)
)
+ (get_local $1)
)
- (get_local $1)
- )
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $9
- (i32.shl
- (get_local $3)
- (get_local $5)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $9
+ (i32.shl
+ (get_local $3)
+ (get_local $5)
+ )
)
+ (i32.const 245760)
)
- (i32.const 245760)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $9)
- (get_local $3)
+ (i32.shr_u
+ (i32.shl
+ (get_local $9)
+ (get_local $3)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $12)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $12)
- (i32.const 1)
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- )
- (i32.const 2)
- )
- (i32.const 1512)
- )
- )
- (i32.store offset=28
- (get_local $8)
- (get_local $16)
- )
- (i32.store offset=4
- (tee_local $3
- (i32.add
- (get_local $8)
- (i32.const 16)
- )
- )
- (i32.const 0)
- )
- (i32.store
- (get_local $3)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $3
- (i32.load
- (i32.const 1212)
- )
- )
- (tee_local $9
- (i32.shl
- (i32.const 1)
- (get_local $16)
)
+ (i32.const 2)
)
+ (i32.const 1512)
)
)
- (block
- (i32.store
- (i32.const 1212)
- (i32.or
- (get_local $3)
- (get_local $9)
- )
- )
- (i32.store
- (get_local $12)
- (get_local $8)
- )
- (i32.store offset=24
- (get_local $8)
- (get_local $12)
- )
- (i32.store offset=12
- (get_local $8)
- (get_local $8)
- )
- (i32.store offset=8
- (get_local $8)
- (get_local $8)
- )
- (br $do-once25)
+ (i32.store offset=28
+ (get_local $8)
+ (get_local $16)
)
- )
- (set_local $9
- (i32.shl
- (get_local $18)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
- (get_local $16)
- (i32.const 1)
- )
- )
- (i32.eq
- (get_local $16)
- (i32.const 31)
+ (i32.store offset=4
+ (tee_local $3
+ (i32.add
+ (get_local $8)
+ (i32.const 16)
)
)
+ (i32.const 0)
)
- )
- (set_local $3
- (i32.load
- (get_local $12)
+ (i32.store
+ (get_local $3)
+ (i32.const 0)
)
- )
- (loop $while-in28
- (block $while-out27
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $3)
- )
- (i32.const -8)
- )
- (get_local $18)
- )
- (block
- (set_local $17
- (get_local $3)
- )
- (set_local $7
- (i32.const 148)
- )
- (br $while-out27)
- )
- )
- (if
- (tee_local $1
- (i32.load
- (tee_local $12
- (i32.add
- (i32.add
- (get_local $3)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $9)
- (i32.const 31)
- )
- (i32.const 2)
- )
- )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $3
+ (i32.load
+ (i32.const 1212)
)
)
- )
- (block
- (set_local $9
+ (tee_local $9
(i32.shl
- (get_local $9)
(i32.const 1)
+ (get_local $16)
)
)
- (set_local $3
- (get_local $1)
- )
- (br $while-in28)
)
- (block
- (set_local $21
- (get_local $12)
- )
- (set_local $15
+ )
+ (block
+ (i32.store
+ (i32.const 1212)
+ (i32.or
(get_local $3)
+ (get_local $9)
)
- (set_local $7
- (i32.const 145)
- )
- )
- )
- )
- )
- (if
- (i32.eq
- (get_local $7)
- (i32.const 145)
- )
- (if
- (i32.lt_u
- (get_local $21)
- (i32.load
- (i32.const 1224)
)
- )
- (call $qa)
- (block
(i32.store
- (get_local $21)
+ (get_local $12)
(get_local $8)
)
(i32.store offset=24
(get_local $8)
- (get_local $15)
+ (get_local $12)
)
(i32.store offset=12
(get_local $8)
@@ -2770,375 +2646,449 @@
(get_local $8)
(get_local $8)
)
+ (br $do-once25)
)
)
- (if
- (i32.eq
- (get_local $7)
- (i32.const 148)
+ (set_local $9
+ (i32.shl
+ (get_local $18)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $16)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
+ (get_local $16)
+ (i32.const 31)
+ )
+ )
)
- (if
- (i32.and
- (i32.ge_u
- (tee_local $9
- (i32.load
- (tee_local $3
+ )
+ (set_local $3
+ (i32.load
+ (get_local $12)
+ )
+ )
+ (loop $while-in28
+ (block $while-out27
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $3)
+ )
+ (i32.const -8)
+ )
+ (get_local $18)
+ )
+ (block
+ (set_local $17
+ (get_local $3)
+ )
+ (set_local $7
+ (i32.const 148)
+ )
+ (br $while-out27)
+ )
+ )
+ (if
+ (tee_local $1
+ (i32.load
+ (tee_local $12
+ (i32.add
(i32.add
- (get_local $17)
- (i32.const 8)
+ (get_local $3)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $9)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
)
)
)
- (tee_local $1
- (i32.load
- (i32.const 1224)
+ )
+ (block
+ (set_local $9
+ (i32.shl
+ (get_local $9)
+ (i32.const 1)
)
)
+ (set_local $3
+ (get_local $1)
+ )
+ (br $while-in28)
)
- (i32.ge_u
- (get_local $17)
- (get_local $1)
+ (block
+ (set_local $21
+ (get_local $12)
+ )
+ (set_local $15
+ (get_local $3)
+ )
+ (set_local $7
+ (i32.const 145)
+ )
)
)
- (block
- (i32.store offset=12
- (get_local $9)
- (get_local $8)
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 145)
+ )
+ (if
+ (i32.lt_u
+ (get_local $21)
+ (i32.load
+ (i32.const 1224)
)
+ )
+ (call $qa)
+ (block
(i32.store
- (get_local $3)
+ (get_local $21)
(get_local $8)
)
- (i32.store offset=8
+ (i32.store offset=24
(get_local $8)
- (get_local $9)
+ (get_local $15)
)
(i32.store offset=12
(get_local $8)
- (get_local $17)
+ (get_local $8)
)
- (i32.store offset=24
+ (i32.store offset=8
+ (get_local $8)
(get_local $8)
- (i32.const 0)
)
)
- (call $qa)
+ )
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 148)
+ )
+ (if
+ (i32.and
+ (i32.ge_u
+ (tee_local $9
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $17)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (tee_local $1
+ (i32.load
+ (i32.const 1224)
+ )
+ )
+ )
+ (i32.ge_u
+ (get_local $17)
+ (get_local $1)
+ )
+ )
+ (block
+ (i32.store offset=12
+ (get_local $9)
+ (get_local $8)
+ )
+ (i32.store
+ (get_local $3)
+ (get_local $8)
+ )
+ (i32.store offset=8
+ (get_local $8)
+ (get_local $9)
+ )
+ (i32.store offset=12
+ (get_local $8)
+ (get_local $17)
+ )
+ (i32.store offset=24
+ (get_local $8)
+ (i32.const 0)
+ )
+ )
+ (call $qa)
+ )
)
)
)
)
)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.add
- (get_local $10)
- (i32.const 8)
+ (set_global $r
+ (get_local $25)
)
+ (return
+ (i32.add
+ (get_local $10)
+ (i32.const 8)
+ )
+ )
+ )
+ (set_local $5
+ (get_local $0)
)
)
(set_local $5
(get_local $0)
)
)
- (set_local $5
- (get_local $0)
- )
)
- )
- (set_local $5
- (get_local $0)
+ (set_local $5
+ (get_local $0)
+ )
)
)
)
)
)
- )
- (if
- (i32.ge_u
- (tee_local $10
- (i32.load
- (i32.const 1216)
- )
- )
- (get_local $5)
- )
- (block
- (set_local $15
- (i32.load
- (i32.const 1228)
+ (if
+ (i32.ge_u
+ (tee_local $10
+ (i32.load
+ (i32.const 1216)
+ )
)
+ (get_local $5)
)
- (if
- (i32.gt_u
- (tee_local $17
- (i32.sub
- (get_local $10)
- (get_local $5)
- )
+ (block
+ (set_local $15
+ (i32.load
+ (i32.const 1228)
)
- (i32.const 15)
)
- (block
- (i32.store
- (i32.const 1228)
- (tee_local $21
- (i32.add
- (get_local $15)
+ (if
+ (i32.gt_u
+ (tee_local $17
+ (i32.sub
+ (get_local $10)
(get_local $5)
)
)
+ (i32.const 15)
)
- (i32.store
- (i32.const 1216)
- (get_local $17)
- )
- (i32.store offset=4
- (get_local $21)
- (i32.or
+ (block
+ (i32.store
+ (i32.const 1228)
+ (tee_local $21
+ (i32.add
+ (get_local $15)
+ (get_local $5)
+ )
+ )
+ )
+ (i32.store
+ (i32.const 1216)
(get_local $17)
- (i32.const 1)
)
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $21)
+ (i32.or
+ (get_local $17)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
+ (get_local $21)
+ (get_local $17)
+ )
(get_local $17)
)
- (get_local $17)
- )
- (i32.store offset=4
- (get_local $15)
- (i32.or
- (get_local $5)
- (i32.const 3)
+ (i32.store offset=4
+ (get_local $15)
+ (i32.or
+ (get_local $5)
+ (i32.const 3)
+ )
)
)
- )
- (block
- (i32.store
- (i32.const 1216)
- (i32.const 0)
- )
- (i32.store
- (i32.const 1228)
- (i32.const 0)
- )
- (i32.store offset=4
- (get_local $15)
- (i32.or
- (get_local $10)
- (i32.const 3)
+ (block
+ (i32.store
+ (i32.const 1216)
+ (i32.const 0)
)
- )
- (i32.store
- (tee_local $17
- (i32.add
+ (i32.store
+ (i32.const 1228)
+ (i32.const 0)
+ )
+ (i32.store offset=4
+ (get_local $15)
+ (i32.or
+ (get_local $10)
+ (i32.const 3)
+ )
+ )
+ (i32.store
+ (tee_local $17
(i32.add
- (get_local $15)
- (get_local $10)
+ (i32.add
+ (get_local $15)
+ (get_local $10)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (i32.or
- (i32.load
- (get_local $17)
+ (i32.or
+ (i32.load
+ (get_local $17)
+ )
+ (i32.const 1)
)
- (i32.const 1)
)
)
)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.add
- (get_local $15)
- (i32.const 8)
- )
+ (br $folding-inner0)
)
)
- )
- (if
- (i32.gt_u
- (tee_local $15
- (i32.load
- (i32.const 1220)
+ (if
+ (i32.gt_u
+ (tee_local $15
+ (i32.load
+ (i32.const 1220)
+ )
)
+ (get_local $5)
)
- (get_local $5)
- )
- (block
- (i32.store
- (i32.const 1220)
- (tee_local $17
- (i32.sub
- (get_local $15)
- (get_local $5)
+ (block
+ (i32.store
+ (i32.const 1220)
+ (tee_local $17
+ (i32.sub
+ (get_local $15)
+ (get_local $5)
+ )
)
)
- )
- (i32.store
- (i32.const 1232)
- (tee_local $10
- (i32.add
- (tee_local $15
- (i32.load
- (i32.const 1232)
+ (i32.store
+ (i32.const 1232)
+ (tee_local $10
+ (i32.add
+ (tee_local $15
+ (i32.load
+ (i32.const 1232)
+ )
)
+ (get_local $5)
)
- (get_local $5)
)
)
- )
- (i32.store offset=4
- (get_local $10)
- (i32.or
- (get_local $17)
- (i32.const 1)
- )
- )
- (i32.store offset=4
- (get_local $15)
- (i32.or
- (get_local $5)
- (i32.const 3)
+ (i32.store offset=4
+ (get_local $10)
+ (i32.or
+ (get_local $17)
+ (i32.const 1)
+ )
)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.add
+ (i32.store offset=4
(get_local $15)
- (i32.const 8)
+ (i32.or
+ (get_local $5)
+ (i32.const 3)
+ )
)
+ (br $folding-inner0)
)
)
- )
- (if
- (i32.eqz
- (i32.load
- (i32.const 1680)
- )
- )
- (block
- (i32.store
- (i32.const 1688)
- (i32.const 4096)
- )
- (i32.store
- (i32.const 1684)
- (i32.const 4096)
- )
- (i32.store
- (i32.const 1692)
- (i32.const -1)
- )
- (i32.store
- (i32.const 1696)
- (i32.const -1)
- )
- (i32.store
- (i32.const 1700)
- (i32.const 0)
- )
- (i32.store
- (i32.const 1652)
- (i32.const 0)
- )
- (i32.store
- (get_local $13)
- (tee_local $15
- (i32.xor
- (i32.and
- (get_local $13)
- (i32.const -16)
- )
- (i32.const 1431655768)
- )
+ (if
+ (i32.eqz
+ (i32.load
+ (i32.const 1680)
)
)
- (i32.store
- (i32.const 1680)
- (get_local $15)
- )
- )
- )
- (set_local $15
- (i32.add
- (get_local $5)
- (i32.const 48)
- )
- )
- (if
- (i32.le_u
- (tee_local $13
- (i32.and
- (tee_local $10
- (i32.add
- (tee_local $13
- (i32.load
- (i32.const 1688)
- )
- )
- (tee_local $17
- (i32.add
- (get_local $5)
- (i32.const 47)
- )
+ (block
+ (i32.store
+ (i32.const 1688)
+ (i32.const 4096)
+ )
+ (i32.store
+ (i32.const 1684)
+ (i32.const 4096)
+ )
+ (i32.store
+ (i32.const 1692)
+ (i32.const -1)
+ )
+ (i32.store
+ (i32.const 1696)
+ (i32.const -1)
+ )
+ (i32.store
+ (i32.const 1700)
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 1652)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $13)
+ (tee_local $15
+ (i32.xor
+ (i32.and
+ (get_local $13)
+ (i32.const -16)
)
- )
- )
- (tee_local $21
- (i32.sub
- (i32.const 0)
- (get_local $13)
+ (i32.const 1431655768)
)
)
)
- )
- (get_local $5)
- )
- (block
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.const 0)
+ (i32.store
+ (i32.const 1680)
+ (get_local $15)
+ )
)
)
- )
- (if
- (tee_local $18
- (i32.load
- (i32.const 1648)
+ (set_local $15
+ (i32.add
+ (get_local $5)
+ (i32.const 48)
)
)
(if
- (i32.or
- (i32.le_u
- (tee_local $6
- (i32.add
- (tee_local $16
- (i32.load
- (i32.const 1640)
+ (i32.le_u
+ (tee_local $13
+ (i32.and
+ (tee_local $10
+ (i32.add
+ (tee_local $13
+ (i32.load
+ (i32.const 1688)
+ )
+ )
+ (tee_local $17
+ (i32.add
+ (get_local $5)
+ (i32.const 47)
+ )
)
)
- (get_local $13)
+ )
+ (tee_local $21
+ (i32.sub
+ (i32.const 0)
+ (get_local $13)
+ )
)
)
- (get_local $16)
- )
- (i32.gt_u
- (get_local $6)
- (get_local $18)
)
+ (get_local $5)
)
(block
(set_global $r
@@ -3149,270 +3099,306 @@
)
)
)
- )
- (if
- (i32.eq
- (tee_local $7
- (block $label$break$b (result i32)
- (if (result i32)
- (i32.and
- (i32.load
- (i32.const 1652)
+ (if
+ (tee_local $18
+ (i32.load
+ (i32.const 1648)
+ )
+ )
+ (if
+ (i32.or
+ (i32.le_u
+ (tee_local $6
+ (i32.add
+ (tee_local $16
+ (i32.load
+ (i32.const 1640)
+ )
+ )
+ (get_local $13)
)
- (i32.const 4)
)
- (i32.const 188)
- (block (result i32)
- (block $label$break$c
- (if
- (tee_local $18
- (i32.load
- (i32.const 1232)
- )
- )
- (block
- (set_local $6
- (i32.const 1656)
+ (get_local $16)
+ )
+ (i32.gt_u
+ (get_local $6)
+ (get_local $18)
+ )
+ )
+ (block
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (tee_local $7
+ (block $label$break$b (result i32)
+ (if (result i32)
+ (i32.and
+ (i32.load
+ (i32.const 1652)
+ )
+ (i32.const 4)
+ )
+ (i32.const 188)
+ (block (result i32)
+ (block $label$break$c
+ (if
+ (tee_local $18
+ (i32.load
+ (i32.const 1232)
+ )
)
- (loop $while-in32
- (block $while-out31
- (if
- (i32.le_u
- (tee_local $16
- (i32.load
- (get_local $6)
- )
- )
- (get_local $18)
- )
+ (block
+ (set_local $6
+ (i32.const 1656)
+ )
+ (loop $while-in32
+ (block $while-out31
(if
- (i32.gt_u
- (i32.add
- (get_local $16)
+ (i32.le_u
+ (tee_local $16
(i32.load
- (tee_local $19
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- )
+ (get_local $6)
)
)
(get_local $18)
)
- (block
- (set_local $0
- (get_local $6)
+ (if
+ (i32.gt_u
+ (i32.add
+ (get_local $16)
+ (i32.load
+ (tee_local $19
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ )
+ )
+ )
+ (get_local $18)
)
- (set_local $4
- (get_local $19)
+ (block
+ (set_local $0
+ (get_local $6)
+ )
+ (set_local $4
+ (get_local $19)
+ )
+ (br $while-out31)
)
- (br $while-out31)
)
)
- )
- (br_if $while-in32
- (tee_local $6
- (i32.load offset=8
- (get_local $6)
+ (br_if $while-in32
+ (tee_local $6
+ (i32.load offset=8
+ (get_local $6)
+ )
)
)
+ (set_local $7
+ (i32.const 171)
+ )
+ (br $label$break$c)
)
- (set_local $7
- (i32.const 171)
- )
- (br $label$break$c)
)
- )
- (if
- (i32.lt_u
- (tee_local $6
- (i32.and
- (i32.sub
- (get_local $10)
- (i32.load
- (i32.const 1220)
+ (if
+ (i32.lt_u
+ (tee_local $6
+ (i32.and
+ (i32.sub
+ (get_local $10)
+ (i32.load
+ (i32.const 1220)
+ )
)
+ (get_local $21)
)
- (get_local $21)
)
+ (i32.const 2147483647)
)
- (i32.const 2147483647)
- )
- (if
- (i32.eq
- (tee_local $19
- (call $ta
- (get_local $6)
+ (if
+ (i32.eq
+ (tee_local $19
+ (call $ta
+ (get_local $6)
+ )
+ )
+ (i32.add
+ (i32.load
+ (get_local $0)
+ )
+ (i32.load
+ (get_local $4)
+ )
)
)
- (i32.add
- (i32.load
- (get_local $0)
+ (if
+ (i32.ne
+ (get_local $19)
+ (i32.const -1)
)
- (i32.load
- (get_local $4)
+ (block
+ (set_local $20
+ (get_local $19)
+ )
+ (set_local $26
+ (get_local $6)
+ )
+ (br $label$break$b
+ (i32.const 191)
+ )
)
)
- )
- (if
- (i32.ne
- (get_local $19)
- (i32.const -1)
- )
(block
- (set_local $20
+ (set_local $11
(get_local $19)
)
- (set_local $26
+ (set_local $2
(get_local $6)
)
- (br $label$break$b
- (i32.const 191)
+ (set_local $7
+ (i32.const 181)
)
)
)
- (block
- (set_local $11
- (get_local $19)
- )
- (set_local $2
- (get_local $6)
- )
- (set_local $7
- (i32.const 181)
- )
- )
)
)
- )
- (set_local $7
- (i32.const 171)
+ (set_local $7
+ (i32.const 171)
+ )
)
)
- )
- (block $do-once33
- (if
- (i32.eq
- (get_local $7)
- (i32.const 171)
- )
+ (block $do-once33
(if
- (i32.ne
- (tee_local $18
- (call $ta
- (i32.const 0)
+ (i32.eq
+ (get_local $7)
+ (i32.const 171)
+ )
+ (if
+ (i32.ne
+ (tee_local $18
+ (call $ta
+ (i32.const 0)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
- )
- (block
- (set_local $3
- (if (result i32)
- (i32.and
- (tee_local $19
- (i32.add
- (tee_local $6
- (i32.load
- (i32.const 1684)
+ (block
+ (set_local $3
+ (if (result i32)
+ (i32.and
+ (tee_local $19
+ (i32.add
+ (tee_local $6
+ (i32.load
+ (i32.const 1684)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
+ )
+ (tee_local $0
+ (get_local $18)
)
)
- (tee_local $0
- (get_local $18)
- )
- )
- (i32.add
- (i32.sub
- (get_local $13)
- (get_local $0)
- )
- (i32.and
- (i32.add
- (get_local $19)
+ (i32.add
+ (i32.sub
+ (get_local $13)
(get_local $0)
)
- (i32.sub
- (i32.const 0)
- (get_local $6)
+ (i32.and
+ (i32.add
+ (get_local $19)
+ (get_local $0)
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $6)
+ )
)
)
+ (get_local $13)
)
- (get_local $13)
)
- )
- (set_local $0
- (i32.add
- (tee_local $6
- (i32.load
- (i32.const 1640)
+ (set_local $0
+ (i32.add
+ (tee_local $6
+ (i32.load
+ (i32.const 1640)
+ )
)
- )
- (get_local $3)
- )
- )
- (if
- (i32.and
- (i32.gt_u
(get_local $3)
- (get_local $5)
- )
- (i32.lt_u
- (get_local $3)
- (i32.const 2147483647)
)
)
- (block
- (if
- (tee_local $19
- (i32.load
- (i32.const 1648)
- )
+ (if
+ (i32.and
+ (i32.gt_u
+ (get_local $3)
+ (get_local $5)
)
- (br_if $do-once33
- (i32.or
- (i32.le_u
- (get_local $0)
- (get_local $6)
- )
- (i32.gt_u
- (get_local $0)
- (get_local $19)
- )
- )
+ (i32.lt_u
+ (get_local $3)
+ (i32.const 2147483647)
)
)
- (if
- (i32.eq
+ (block
+ (if
(tee_local $19
- (call $ta
- (get_local $3)
+ (i32.load
+ (i32.const 1648)
)
)
- (get_local $18)
- )
- (block
- (set_local $20
- (get_local $18)
- )
- (set_local $26
- (get_local $3)
- )
- (br $label$break$b
- (i32.const 191)
+ (br_if $do-once33
+ (i32.or
+ (i32.le_u
+ (get_local $0)
+ (get_local $6)
+ )
+ (i32.gt_u
+ (get_local $0)
+ (get_local $19)
+ )
+ )
)
)
- (block
- (set_local $11
- (get_local $19)
+ (if
+ (i32.eq
+ (tee_local $19
+ (call $ta
+ (get_local $3)
+ )
+ )
+ (get_local $18)
)
- (set_local $2
- (get_local $3)
+ (block
+ (set_local $20
+ (get_local $18)
+ )
+ (set_local $26
+ (get_local $3)
+ )
+ (br $label$break$b
+ (i32.const 191)
+ )
)
- (set_local $7
- (i32.const 181)
+ (block
+ (set_local $11
+ (get_local $19)
+ )
+ (set_local $2
+ (get_local $3)
+ )
+ (set_local $7
+ (i32.const 181)
+ )
)
)
)
@@ -3421,1058 +3407,1084 @@
)
)
)
- )
- (block $label$break$d
- (if
- (i32.eq
- (get_local $7)
- (i32.const 181)
- )
- (block
- (set_local $19
- (i32.sub
- (i32.const 0)
- (get_local $2)
- )
+ (block $label$break$d
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 181)
)
- (if
- (i32.and
- (i32.gt_u
- (get_local $15)
+ (block
+ (set_local $19
+ (i32.sub
+ (i32.const 0)
(get_local $2)
)
+ )
+ (if
(i32.and
- (i32.lt_u
+ (i32.gt_u
+ (get_local $15)
(get_local $2)
- (i32.const 2147483647)
)
- (i32.ne
- (get_local $11)
- (i32.const -1)
+ (i32.and
+ (i32.lt_u
+ (get_local $2)
+ (i32.const 2147483647)
+ )
+ (i32.ne
+ (get_local $11)
+ (i32.const -1)
+ )
)
)
- )
- (if
- (i32.lt_u
- (tee_local $0
- (i32.and
- (i32.add
- (i32.sub
- (get_local $17)
- (get_local $2)
- )
- (tee_local $18
- (i32.load
- (i32.const 1688)
+ (if
+ (i32.lt_u
+ (tee_local $0
+ (i32.and
+ (i32.add
+ (i32.sub
+ (get_local $17)
+ (get_local $2)
+ )
+ (tee_local $18
+ (i32.load
+ (i32.const 1688)
+ )
)
)
+ (i32.sub
+ (i32.const 0)
+ (get_local $18)
+ )
)
- (i32.sub
- (i32.const 0)
- (get_local $18)
- )
- )
- )
- (i32.const 2147483647)
- )
- (if
- (i32.eq
- (call $ta
- (get_local $0)
)
- (i32.const -1)
+ (i32.const 2147483647)
)
- (block
- (drop
+ (if
+ (i32.eq
(call $ta
- (get_local $19)
+ (get_local $0)
+ )
+ (i32.const -1)
+ )
+ (block
+ (drop
+ (call $ta
+ (get_local $19)
+ )
+ )
+ (br $label$break$d)
+ )
+ (set_local $1
+ (i32.add
+ (get_local $0)
+ (get_local $2)
)
)
- (br $label$break$d)
)
(set_local $1
- (i32.add
- (get_local $0)
- (get_local $2)
- )
+ (get_local $2)
)
)
(set_local $1
(get_local $2)
)
)
- (set_local $1
- (get_local $2)
- )
- )
- (if
- (i32.ne
- (get_local $11)
- (i32.const -1)
- )
- (block
- (set_local $20
+ (if
+ (i32.ne
(get_local $11)
+ (i32.const -1)
)
- (set_local $26
- (get_local $1)
- )
- (br $label$break$b
- (i32.const 191)
+ (block
+ (set_local $20
+ (get_local $11)
+ )
+ (set_local $26
+ (get_local $1)
+ )
+ (br $label$break$b
+ (i32.const 191)
+ )
)
)
)
)
)
- )
- (i32.store
- (i32.const 1652)
- (i32.or
- (i32.load
- (i32.const 1652)
+ (i32.store
+ (i32.const 1652)
+ (i32.or
+ (i32.load
+ (i32.const 1652)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
+ (i32.const 188)
)
- (i32.const 188)
)
)
)
- )
- (i32.const 188)
- )
- (if
- (i32.lt_u
- (get_local $13)
- (i32.const 2147483647)
+ (i32.const 188)
)
(if
- (i32.and
- (i32.lt_u
- (tee_local $1
- (call $ta
- (get_local $13)
+ (i32.lt_u
+ (get_local $13)
+ (i32.const 2147483647)
+ )
+ (if
+ (i32.and
+ (i32.lt_u
+ (tee_local $1
+ (call $ta
+ (get_local $13)
+ )
)
- )
- (tee_local $13
- (call $ta
- (i32.const 0)
+ (tee_local $13
+ (call $ta
+ (i32.const 0)
+ )
)
)
- )
- (i32.and
- (i32.ne
- (get_local $1)
- (i32.const -1)
- )
- (i32.ne
- (get_local $13)
- (i32.const -1)
- )
- )
- )
- (if
- (i32.gt_u
- (tee_local $11
- (i32.sub
- (get_local $13)
+ (i32.and
+ (i32.ne
(get_local $1)
+ (i32.const -1)
+ )
+ (i32.ne
+ (get_local $13)
+ (i32.const -1)
)
- )
- (i32.add
- (get_local $5)
- (i32.const 40)
)
)
- (block
- (set_local $20
- (get_local $1)
- )
- (set_local $26
- (get_local $11)
+ (if
+ (i32.gt_u
+ (tee_local $11
+ (i32.sub
+ (get_local $13)
+ (get_local $1)
+ )
+ )
+ (i32.add
+ (get_local $5)
+ (i32.const 40)
+ )
)
- (set_local $7
- (i32.const 191)
+ (block
+ (set_local $20
+ (get_local $1)
+ )
+ (set_local $26
+ (get_local $11)
+ )
+ (set_local $7
+ (i32.const 191)
+ )
)
)
)
)
)
- )
- (if
- (i32.eq
- (get_local $7)
- (i32.const 191)
- )
- (block
- (i32.store
- (i32.const 1640)
- (tee_local $11
- (i32.add
- (i32.load
- (i32.const 1640)
- )
- (get_local $26)
- )
- )
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 191)
)
- (if
- (i32.gt_u
- (get_local $11)
- (i32.load
- (i32.const 1644)
- )
- )
+ (block
(i32.store
- (i32.const 1644)
- (get_local $11)
+ (i32.const 1640)
+ (tee_local $11
+ (i32.add
+ (i32.load
+ (i32.const 1640)
+ )
+ (get_local $26)
+ )
+ )
)
- )
- (block $do-once38
(if
- (tee_local $11
+ (i32.gt_u
+ (get_local $11)
(i32.load
- (i32.const 1232)
+ (i32.const 1644)
)
)
- (block
- (set_local $2
- (i32.const 1656)
+ (i32.store
+ (i32.const 1644)
+ (get_local $11)
+ )
+ )
+ (block $do-once38
+ (if
+ (tee_local $11
+ (i32.load
+ (i32.const 1232)
+ )
)
- (loop $do-in41
- (block $do-out40
- (if
- (i32.eq
- (get_local $20)
- (i32.add
- (tee_local $1
- (i32.load
- (get_local $2)
+ (block
+ (set_local $2
+ (i32.const 1656)
+ )
+ (loop $do-in41
+ (block $do-out40
+ (if
+ (i32.eq
+ (get_local $20)
+ (i32.add
+ (tee_local $1
+ (i32.load
+ (get_local $2)
+ )
)
- )
- (tee_local $17
- (i32.load
- (tee_local $13
- (i32.add
- (get_local $2)
- (i32.const 4)
+ (tee_local $17
+ (i32.load
+ (tee_local $13
+ (i32.add
+ (get_local $2)
+ (i32.const 4)
+ )
)
)
)
)
)
- )
- (block
- (set_local $48
- (get_local $1)
- )
- (set_local $49
- (get_local $13)
- )
- (set_local $50
- (get_local $17)
- )
- (set_local $51
- (get_local $2)
- )
- (set_local $7
- (i32.const 201)
+ (block
+ (set_local $48
+ (get_local $1)
+ )
+ (set_local $49
+ (get_local $13)
+ )
+ (set_local $50
+ (get_local $17)
+ )
+ (set_local $51
+ (get_local $2)
+ )
+ (set_local $7
+ (i32.const 201)
+ )
+ (br $do-out40)
)
- (br $do-out40)
)
- )
- (br_if $do-in41
- (tee_local $2
- (i32.load offset=8
- (get_local $2)
+ (br_if $do-in41
+ (tee_local $2
+ (i32.load offset=8
+ (get_local $2)
+ )
)
)
)
)
- )
- (if
- (i32.eq
- (get_local $7)
- (i32.const 201)
- )
(if
- (i32.eqz
- (i32.and
- (i32.load offset=12
- (get_local $51)
- )
- (i32.const 8)
- )
+ (i32.eq
+ (get_local $7)
+ (i32.const 201)
)
(if
- (i32.and
- (i32.lt_u
- (get_local $11)
- (get_local $20)
- )
- (i32.ge_u
- (get_local $11)
- (get_local $48)
+ (i32.eqz
+ (i32.and
+ (i32.load offset=12
+ (get_local $51)
+ )
+ (i32.const 8)
)
)
- (block
- (i32.store
- (get_local $49)
- (i32.add
- (get_local $50)
- (get_local $26)
+ (if
+ (i32.and
+ (i32.lt_u
+ (get_local $11)
+ (get_local $20)
)
- )
- (set_local $2
- (i32.add
+ (i32.ge_u
(get_local $11)
- (tee_local $17
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $2
- (i32.add
- (get_local $11)
- (i32.const 8)
+ (get_local $48)
+ )
+ )
+ (block
+ (i32.store
+ (get_local $49)
+ (i32.add
+ (get_local $50)
+ (get_local $26)
+ )
+ )
+ (set_local $2
+ (i32.add
+ (get_local $11)
+ (tee_local $17
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $2
+ (i32.add
+ (get_local $11)
+ (i32.const 8)
+ )
)
)
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $2)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $2)
- (i32.const 7)
)
)
)
)
- )
- (set_local $13
- (i32.add
- (i32.sub
- (get_local $26)
- (get_local $17)
- )
- (i32.load
- (i32.const 1220)
+ (set_local $13
+ (i32.add
+ (i32.sub
+ (get_local $26)
+ (get_local $17)
+ )
+ (i32.load
+ (i32.const 1220)
+ )
)
)
- )
- (i32.store
- (i32.const 1232)
- (get_local $2)
- )
- (i32.store
- (i32.const 1220)
- (get_local $13)
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
+ (i32.store
+ (i32.const 1232)
+ (get_local $2)
+ )
+ (i32.store
+ (i32.const 1220)
(get_local $13)
- (i32.const 1)
)
- )
- (i32.store offset=4
- (i32.add
+ (i32.store offset=4
(get_local $2)
- (get_local $13)
+ (i32.or
+ (get_local $13)
+ (i32.const 1)
+ )
)
- (i32.const 40)
- )
- (i32.store
- (i32.const 1236)
- (i32.load
- (i32.const 1696)
+ (i32.store offset=4
+ (i32.add
+ (get_local $2)
+ (get_local $13)
+ )
+ (i32.const 40)
+ )
+ (i32.store
+ (i32.const 1236)
+ (i32.load
+ (i32.const 1696)
+ )
)
+ (br $do-once38)
)
- (br $do-once38)
)
)
)
- )
- (set_local $14
- (if (result i32)
- (i32.lt_u
- (get_local $20)
- (tee_local $13
- (i32.load
- (i32.const 1224)
+ (set_local $14
+ (if (result i32)
+ (i32.lt_u
+ (get_local $20)
+ (tee_local $13
+ (i32.load
+ (i32.const 1224)
+ )
)
)
- )
- (block (result i32)
- (i32.store
- (i32.const 1224)
+ (block (result i32)
+ (i32.store
+ (i32.const 1224)
+ (get_local $20)
+ )
(get_local $20)
)
+ (get_local $13)
+ )
+ )
+ (set_local $13
+ (i32.add
(get_local $20)
+ (get_local $26)
)
- (get_local $13)
)
- )
- (set_local $13
- (i32.add
- (get_local $20)
- (get_local $26)
+ (set_local $2
+ (i32.const 1656)
)
- )
- (set_local $2
- (i32.const 1656)
- )
- (loop $while-in43
- (block $while-out42
- (if
- (i32.eq
- (i32.load
- (get_local $2)
- )
- (get_local $13)
- )
- (block
- (set_local $52
- (get_local $2)
- )
- (set_local $42
- (get_local $2)
+ (loop $while-in43
+ (block $while-out42
+ (if
+ (i32.eq
+ (i32.load
+ (get_local $2)
+ )
+ (get_local $13)
)
- (set_local $7
- (i32.const 209)
+ (block
+ (set_local $52
+ (get_local $2)
+ )
+ (set_local $42
+ (get_local $2)
+ )
+ (set_local $7
+ (i32.const 209)
+ )
+ (br $while-out42)
)
- (br $while-out42)
)
- )
- (br_if $while-in43
- (tee_local $2
- (i32.load offset=8
- (get_local $2)
+ (br_if $while-in43
+ (tee_local $2
+ (i32.load offset=8
+ (get_local $2)
+ )
)
)
+ (set_local $30
+ (i32.const 1656)
+ )
)
- (set_local $30
- (i32.const 1656)
- )
- )
- )
- (if
- (i32.eq
- (get_local $7)
- (i32.const 209)
)
(if
- (i32.and
- (i32.load offset=12
- (get_local $42)
- )
- (i32.const 8)
- )
- (set_local $30
- (i32.const 1656)
+ (i32.eq
+ (get_local $7)
+ (i32.const 209)
)
- (block
- (i32.store
- (get_local $52)
- (get_local $20)
+ (if
+ (i32.and
+ (i32.load offset=12
+ (get_local $42)
+ )
+ (i32.const 8)
)
- (i32.store
- (tee_local $2
- (i32.add
- (get_local $42)
- (i32.const 4)
- )
+ (set_local $30
+ (i32.const 1656)
+ )
+ (block
+ (i32.store
+ (get_local $52)
+ (get_local $20)
)
- (i32.add
- (i32.load
- (get_local $2)
+ (i32.store
+ (tee_local $2
+ (i32.add
+ (get_local $42)
+ (i32.const 4)
+ )
+ )
+ (i32.add
+ (i32.load
+ (get_local $2)
+ )
+ (get_local $26)
)
- (get_local $26)
)
- )
- (set_local $17
- (i32.add
- (get_local $20)
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $2
- (i32.add
- (get_local $20)
- (i32.const 8)
+ (set_local $17
+ (i32.add
+ (get_local $20)
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $2
+ (i32.add
+ (get_local $20)
+ (i32.const 8)
+ )
)
)
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $2)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $2)
- (i32.const 7)
)
)
)
- )
- (set_local $1
- (i32.add
- (get_local $13)
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $2
- (i32.add
- (get_local $13)
- (i32.const 8)
+ (set_local $1
+ (i32.add
+ (get_local $13)
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $2
+ (i32.add
+ (get_local $13)
+ (i32.const 8)
+ )
)
)
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $2)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $2)
- (i32.const 7)
)
)
)
- )
- (set_local $2
- (i32.add
- (get_local $17)
- (get_local $5)
- )
- )
- (set_local $15
- (i32.sub
- (i32.sub
- (get_local $1)
+ (set_local $2
+ (i32.add
(get_local $17)
+ (get_local $5)
)
- (get_local $5)
)
- )
- (i32.store offset=4
- (get_local $17)
- (i32.or
- (get_local $5)
- (i32.const 3)
+ (set_local $15
+ (i32.sub
+ (i32.sub
+ (get_local $1)
+ (get_local $17)
+ )
+ (get_local $5)
+ )
)
- )
- (block $do-once44
- (if
- (i32.eq
- (get_local $1)
- (get_local $11)
+ (i32.store offset=4
+ (get_local $17)
+ (i32.or
+ (get_local $5)
+ (i32.const 3)
)
- (block
- (i32.store
- (i32.const 1220)
- (tee_local $3
- (i32.add
- (i32.load
- (i32.const 1220)
+ )
+ (block $do-once44
+ (if
+ (i32.eq
+ (get_local $1)
+ (get_local $11)
+ )
+ (block
+ (i32.store
+ (i32.const 1220)
+ (tee_local $3
+ (i32.add
+ (i32.load
+ (i32.const 1220)
+ )
+ (get_local $15)
)
- (get_local $15)
)
)
- )
- (i32.store
- (i32.const 1232)
- (get_local $2)
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $3)
- (i32.const 1)
+ (i32.store
+ (i32.const 1232)
+ (get_local $2)
)
- )
- )
- (block
- (if
- (i32.eq
- (get_local $1)
- (i32.load
- (i32.const 1228)
+ (i32.store offset=4
+ (get_local $2)
+ (i32.or
+ (get_local $3)
+ (i32.const 1)
)
)
- (block
- (i32.store
- (i32.const 1216)
- (tee_local $3
- (i32.add
- (i32.load
- (i32.const 1216)
+ )
+ (block
+ (if
+ (i32.eq
+ (get_local $1)
+ (i32.load
+ (i32.const 1228)
+ )
+ )
+ (block
+ (i32.store
+ (i32.const 1216)
+ (tee_local $3
+ (i32.add
+ (i32.load
+ (i32.const 1216)
+ )
+ (get_local $15)
)
- (get_local $15)
)
)
- )
- (i32.store
- (i32.const 1228)
- (get_local $2)
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $3)
- (i32.const 1)
+ (i32.store
+ (i32.const 1228)
+ (get_local $2)
)
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $2)
- (get_local $3)
+ (i32.or
+ (get_local $3)
+ (i32.const 1)
+ )
)
- (get_local $3)
- )
- (br $do-once44)
- )
- )
- (if
- (i32.eq
- (i32.and
- (tee_local $3
- (i32.load offset=4
- (get_local $1)
+ (i32.store
+ (i32.add
+ (get_local $2)
+ (get_local $3)
)
+ (get_local $3)
)
- (i32.const 3)
+ (br $do-once44)
)
- (i32.const 1)
)
- (block
- (set_local $4
+ (if
+ (i32.eq
(i32.and
- (get_local $3)
- (i32.const -8)
- )
- )
- (set_local $0
- (i32.shr_u
- (get_local $3)
+ (tee_local $3
+ (i32.load offset=4
+ (get_local $1)
+ )
+ )
(i32.const 3)
)
+ (i32.const 1)
)
- (block $label$break$e
- (if
- (i32.lt_u
+ (block
+ (set_local $4
+ (i32.and
(get_local $3)
- (i32.const 256)
+ (i32.const -8)
)
- (block
- (set_local $10
- (i32.load offset=12
- (get_local $1)
- )
+ )
+ (set_local $0
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 3)
+ )
+ )
+ (block $label$break$e
+ (if
+ (i32.lt_u
+ (get_local $3)
+ (i32.const 256)
)
- (block $do-once47
- (if
- (i32.ne
- (tee_local $21
- (i32.load offset=8
- (get_local $1)
- )
- )
- (tee_local $19
- (i32.add
- (i32.shl
- (get_local $0)
- (i32.const 3)
+ (block
+ (set_local $10
+ (i32.load offset=12
+ (get_local $1)
+ )
+ )
+ (block $do-once47
+ (if
+ (i32.ne
+ (tee_local $21
+ (i32.load offset=8
+ (get_local $1)
)
- (i32.const 1248)
)
- )
- )
- (block
- (if
- (i32.lt_u
- (get_local $21)
- (get_local $14)
+ (tee_local $19
+ (i32.add
+ (i32.shl
+ (get_local $0)
+ (i32.const 3)
+ )
+ (i32.const 1248)
+ )
)
- (call $qa)
)
- (br_if $do-once47
- (i32.eq
- (i32.load offset=12
+ (block
+ (if
+ (i32.lt_u
(get_local $21)
+ (get_local $14)
)
- (get_local $1)
- )
- )
- (call $qa)
- )
- )
- )
- (if
- (i32.eq
- (get_local $10)
- (get_local $21)
- )
- (block
- (i32.store
- (i32.const 1208)
- (i32.and
- (i32.load
- (i32.const 1208)
+ (call $qa)
)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $0)
+ (br_if $do-once47
+ (i32.eq
+ (i32.load offset=12
+ (get_local $21)
+ )
+ (get_local $1)
)
- (i32.const -1)
)
+ (call $qa)
)
)
- (br $label$break$e)
)
- )
- (block $do-once49
(if
(i32.eq
(get_local $10)
- (get_local $19)
+ (get_local $21)
)
- (set_local $43
- (i32.add
- (get_local $10)
- (i32.const 8)
+ (block
+ (i32.store
+ (i32.const 1208)
+ (i32.and
+ (i32.load
+ (i32.const 1208)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
+ )
+ (i32.const -1)
+ )
+ )
)
+ (br $label$break$e)
)
- (block
- (if
- (i32.lt_u
+ )
+ (block $do-once49
+ (if
+ (i32.eq
+ (get_local $10)
+ (get_local $19)
+ )
+ (set_local $43
+ (i32.add
(get_local $10)
- (get_local $14)
+ (i32.const 8)
)
- (call $qa)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $10)
- (i32.const 8)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $10)
+ (get_local $14)
+ )
+ (call $qa)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $10)
+ (i32.const 8)
+ )
)
)
+ (get_local $1)
)
- (get_local $1)
- )
- (block
- (set_local $43
- (get_local $0)
+ (block
+ (set_local $43
+ (get_local $0)
+ )
+ (br $do-once49)
)
- (br $do-once49)
)
+ (call $qa)
)
- (call $qa)
)
)
- )
- (i32.store offset=12
- (get_local $21)
- (get_local $10)
- )
- (i32.store
- (get_local $43)
- (get_local $21)
- )
- )
- (block
- (set_local $19
- (i32.load offset=24
- (get_local $1)
+ (i32.store offset=12
+ (get_local $21)
+ (get_local $10)
+ )
+ (i32.store
+ (get_local $43)
+ (get_local $21)
)
)
- (block $do-once51
- (if
- (i32.eq
- (tee_local $0
- (i32.load offset=12
- (get_local $1)
- )
- )
+ (block
+ (set_local $19
+ (i32.load offset=24
(get_local $1)
)
- (block
- (if
- (tee_local $16
- (i32.load
- (tee_local $6
- (i32.add
- (tee_local $18
- (i32.add
- (get_local $1)
- (i32.const 16)
+ )
+ (block $do-once51
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=12
+ (get_local $1)
+ )
+ )
+ (get_local $1)
+ )
+ (block
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $6
+ (i32.add
+ (tee_local $18
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
)
+ (i32.const 4)
)
- (i32.const 4)
)
)
)
- )
- (block
- (set_local $3
- (get_local $16)
+ (block
+ (set_local $3
+ (get_local $16)
+ )
+ (set_local $0
+ (get_local $6)
+ )
)
- (set_local $0
- (get_local $6)
+ (if
+ (tee_local $22
+ (i32.load
+ (get_local $18)
+ )
+ )
+ (block
+ (set_local $3
+ (get_local $22)
+ )
+ (set_local $0
+ (get_local $18)
+ )
+ )
+ (block
+ (set_local $24
+ (i32.const 0)
+ )
+ (br $do-once51)
+ )
)
)
- (if
- (tee_local $22
- (i32.load
- (get_local $18)
+ (loop $while-in54
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $6
+ (i32.add
+ (get_local $3)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $3
+ (get_local $16)
+ )
+ (set_local $0
+ (get_local $6)
+ )
+ (br $while-in54)
)
)
- (block
- (set_local $3
- (get_local $22)
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $6
+ (i32.add
+ (get_local $3)
+ (i32.const 16)
+ )
+ )
+ )
)
- (set_local $0
- (get_local $18)
+ (block
+ (set_local $3
+ (get_local $16)
+ )
+ (set_local $0
+ (get_local $6)
+ )
+ (br $while-in54)
)
)
+ )
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (get_local $14)
+ )
+ (call $qa)
(block
- (set_local $24
+ (i32.store
+ (get_local $0)
(i32.const 0)
)
- (br $do-once51)
+ (set_local $24
+ (get_local $3)
+ )
)
)
)
- (loop $while-in54
+ (block
(if
- (tee_local $16
+ (i32.lt_u
+ (tee_local $6
+ (i32.load offset=8
+ (get_local $1)
+ )
+ )
+ (get_local $14)
+ )
+ (call $qa)
+ )
+ (if
+ (i32.ne
(i32.load
- (tee_local $6
+ (tee_local $16
(i32.add
- (get_local $3)
- (i32.const 20)
+ (get_local $6)
+ (i32.const 12)
)
)
)
+ (get_local $1)
)
- (block
- (set_local $3
- (get_local $16)
- )
- (set_local $0
- (get_local $6)
- )
- (br $while-in54)
- )
+ (call $qa)
)
(if
- (tee_local $16
+ (i32.eq
(i32.load
- (tee_local $6
+ (tee_local $18
(i32.add
- (get_local $3)
- (i32.const 16)
+ (get_local $0)
+ (i32.const 8)
)
)
)
+ (get_local $1)
)
(block
- (set_local $3
+ (i32.store
(get_local $16)
+ (get_local $0)
)
- (set_local $0
+ (i32.store
+ (get_local $18)
(get_local $6)
)
- (br $while-in54)
- )
- )
- )
- (if
- (i32.lt_u
- (get_local $0)
- (get_local $14)
- )
- (call $qa)
- (block
- (i32.store
- (get_local $0)
- (i32.const 0)
- )
- (set_local $24
- (get_local $3)
+ (set_local $24
+ (get_local $0)
+ )
)
+ (call $qa)
)
)
)
- (block
- (if
- (i32.lt_u
- (tee_local $6
- (i32.load offset=8
- (get_local $1)
+ )
+ (br_if $label$break$e
+ (i32.eqz
+ (get_local $19)
+ )
+ )
+ (block $do-once55
+ (if
+ (i32.eq
+ (get_local $1)
+ (i32.load
+ (tee_local $21
+ (i32.add
+ (i32.shl
+ (tee_local $0
+ (i32.load offset=28
+ (get_local $1)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 1512)
)
)
- (get_local $14)
)
- (call $qa)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $16
- (i32.add
- (get_local $6)
- (i32.const 12)
+ (block
+ (i32.store
+ (get_local $21)
+ (get_local $24)
+ )
+ (br_if $do-once55
+ (get_local $24)
+ )
+ (i32.store
+ (i32.const 1212)
+ (i32.and
+ (i32.load
+ (i32.const 1212)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
)
+ (i32.const -1)
)
)
- (get_local $1)
)
- (call $qa)
+ (br $label$break$e)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $18
- (i32.add
- (get_local $0)
- (i32.const 8)
- )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $19)
+ (i32.load
+ (i32.const 1224)
)
)
- (get_local $1)
+ (call $qa)
)
- (block
- (i32.store
- (get_local $16)
- (get_local $0)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (get_local $19)
+ (i32.const 16)
+ )
+ )
+ )
+ (get_local $1)
)
(i32.store
- (get_local $18)
- (get_local $6)
+ (get_local $10)
+ (get_local $24)
)
- (set_local $24
- (get_local $0)
+ (i32.store offset=20
+ (get_local $19)
+ (get_local $24)
+ )
+ )
+ (br_if $label$break$e
+ (i32.eqz
+ (get_local $24)
)
)
- (call $qa)
)
)
)
- )
- (br_if $label$break$e
- (i32.eqz
+ (if
+ (i32.lt_u
+ (get_local $24)
+ (tee_local $0
+ (i32.load
+ (i32.const 1224)
+ )
+ )
+ )
+ (call $qa)
+ )
+ (i32.store offset=24
+ (get_local $24)
(get_local $19)
)
- )
- (block $do-once55
(if
- (i32.eq
- (get_local $1)
+ (tee_local $10
(i32.load
(tee_local $21
(i32.add
- (i32.shl
- (tee_local $0
- (i32.load offset=28
- (get_local $1)
- )
- )
- (i32.const 2)
- )
- (i32.const 1512)
- )
- )
- )
- )
- (block
- (i32.store
- (get_local $21)
- (get_local $24)
- )
- (br_if $do-once55
- (get_local $24)
- )
- (i32.store
- (i32.const 1212)
- (i32.and
- (i32.load
- (i32.const 1212)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $0)
- )
- (i32.const -1)
+ (get_local $1)
+ (i32.const 16)
)
)
)
- (br $label$break$e)
)
- (block
- (if
- (i32.lt_u
- (get_local $19)
- (i32.load
- (i32.const 1224)
- )
- )
- (call $qa)
+ (if
+ (i32.lt_u
+ (get_local $10)
+ (get_local $0)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $10
- (i32.add
- (get_local $19)
- (i32.const 16)
- )
- )
- )
- (get_local $1)
- )
- (i32.store
- (get_local $10)
- (get_local $24)
- )
- (i32.store offset=20
- (get_local $19)
+ (call $qa)
+ (block
+ (i32.store offset=16
(get_local $24)
+ (get_local $10)
)
- )
- (br_if $label$break$e
- (i32.eqz
+ (i32.store offset=24
+ (get_local $10)
(get_local $24)
)
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $24)
- (tee_local $0
- (i32.load
- (i32.const 1224)
- )
- )
- )
- (call $qa)
- )
- (i32.store offset=24
- (get_local $24)
- (get_local $19)
- )
- (if
- (tee_local $10
- (i32.load
- (tee_local $21
- (i32.add
- (get_local $1)
- (i32.const 16)
+ (br_if $label$break$e
+ (i32.eqz
+ (tee_local $10
+ (i32.load offset=4
+ (get_local $21)
)
)
)
@@ -4480,11 +4492,13 @@
(if
(i32.lt_u
(get_local $10)
- (get_local $0)
+ (i32.load
+ (i32.const 1224)
+ )
)
(call $qa)
(block
- (i32.store offset=16
+ (i32.store offset=20
(get_local $24)
(get_local $10)
)
@@ -4495,467 +4509,313 @@
)
)
)
- (br_if $label$break$e
- (i32.eqz
- (tee_local $10
- (i32.load offset=4
- (get_local $21)
- )
- )
- )
- )
- (if
- (i32.lt_u
- (get_local $10)
- (i32.load
- (i32.const 1224)
- )
- )
- (call $qa)
- (block
- (i32.store offset=20
- (get_local $24)
- (get_local $10)
- )
- (i32.store offset=24
- (get_local $10)
- (get_local $24)
- )
- )
- )
+ )
+ )
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (get_local $4)
+ )
+ )
+ (set_local $15
+ (i32.add
+ (get_local $4)
+ (get_local $15)
)
)
)
- (set_local $1
+ )
+ (i32.store
+ (tee_local $0
(i32.add
(get_local $1)
- (get_local $4)
+ (i32.const 4)
)
)
- (set_local $15
- (i32.add
- (get_local $4)
- (get_local $15)
+ (i32.and
+ (i32.load
+ (get_local $0)
)
+ (i32.const -2)
)
)
- )
- (i32.store
- (tee_local $0
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (i32.store offset=4
+ (get_local $2)
+ (i32.or
+ (get_local $15)
+ (i32.const 1)
)
)
- (i32.and
- (i32.load
- (get_local $0)
+ (i32.store
+ (i32.add
+ (get_local $2)
+ (get_local $15)
)
- (i32.const -2)
- )
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $15)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (get_local $2)
(get_local $15)
)
- (get_local $15)
- )
- (set_local $0
- (i32.shr_u
- (get_local $15)
- (i32.const 3)
- )
- )
- (if
- (i32.lt_u
- (get_local $15)
- (i32.const 256)
+ (set_local $0
+ (i32.shr_u
+ (get_local $15)
+ (i32.const 3)
+ )
)
- (block
- (set_local $3
- (i32.add
- (i32.shl
- (get_local $0)
- (i32.const 3)
+ (if
+ (i32.lt_u
+ (get_local $15)
+ (i32.const 256)
+ )
+ (block
+ (set_local $3
+ (i32.add
+ (i32.shl
+ (get_local $0)
+ (i32.const 3)
+ )
+ (i32.const 1248)
)
- (i32.const 1248)
)
- )
- (block $do-once59
- (if
- (i32.and
- (tee_local $10
- (i32.load
- (i32.const 1208)
+ (block $do-once59
+ (if
+ (i32.and
+ (tee_local $10
+ (i32.load
+ (i32.const 1208)
+ )
)
- )
- (tee_local $0
- (i32.shl
- (i32.const 1)
- (get_local $0)
+ (tee_local $0
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
+ )
)
)
- )
- (block
- (if
- (i32.ge_u
- (tee_local $19
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $3)
- (i32.const 8)
+ (block
+ (if
+ (i32.ge_u
+ (tee_local $19
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 1224)
+ )
)
- (i32.load
- (i32.const 1224)
+ (block
+ (set_local $44
+ (get_local $0)
+ )
+ (set_local $37
+ (get_local $19)
+ )
+ (br $do-once59)
)
)
- (block
- (set_local $44
+ (call $qa)
+ )
+ (block
+ (i32.store
+ (i32.const 1208)
+ (i32.or
+ (get_local $10)
(get_local $0)
)
- (set_local $37
- (get_local $19)
- )
- (br $do-once59)
)
- )
- (call $qa)
- )
- (block
- (i32.store
- (i32.const 1208)
- (i32.or
- (get_local $10)
- (get_local $0)
+ (set_local $44
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
)
- )
- (set_local $44
- (i32.add
+ (set_local $37
(get_local $3)
- (i32.const 8)
)
)
- (set_local $37
- (get_local $3)
- )
)
)
+ (i32.store
+ (get_local $44)
+ (get_local $2)
+ )
+ (i32.store offset=12
+ (get_local $37)
+ (get_local $2)
+ )
+ (i32.store offset=8
+ (get_local $2)
+ (get_local $37)
+ )
+ (i32.store offset=12
+ (get_local $2)
+ (get_local $3)
+ )
+ (br $do-once44)
)
- (i32.store
- (get_local $44)
- (get_local $2)
- )
- (i32.store offset=12
- (get_local $37)
- (get_local $2)
- )
- (i32.store offset=8
- (get_local $2)
- (get_local $37)
- )
- (i32.store offset=12
- (get_local $2)
- (get_local $3)
- )
- (br $do-once44)
)
- )
- (set_local $0
- (i32.add
- (i32.shl
- (tee_local $4
- (block $do-once61 (result i32)
- (if (result i32)
- (tee_local $0
- (i32.shr_u
- (get_local $15)
- (i32.const 8)
+ (set_local $0
+ (i32.add
+ (i32.shl
+ (tee_local $4
+ (block $do-once61 (result i32)
+ (if (result i32)
+ (tee_local $0
+ (i32.shr_u
+ (get_local $15)
+ (i32.const 8)
+ )
)
- )
- (block (result i32)
- (drop
- (br_if $do-once61
- (i32.const 31)
- (i32.gt_u
- (get_local $15)
- (i32.const 16777215)
+ (block (result i32)
+ (drop
+ (br_if $do-once61
+ (i32.const 31)
+ (i32.gt_u
+ (get_local $15)
+ (i32.const 16777215)
+ )
)
)
- )
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $15)
- (i32.add
- (tee_local $6
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $15)
+ (i32.add
+ (tee_local $6
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $19
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $4
- (i32.shl
- (get_local $0)
- (tee_local $10
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
+ (i32.or
+ (tee_local $19
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $4
+ (i32.shl
+ (get_local $0)
+ (tee_local $10
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 520192)
)
- (i32.const 520192)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 4)
)
- (i32.const 4)
)
+ (get_local $10)
)
- (get_local $10)
- )
- (tee_local $4
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $0
- (i32.shl
- (get_local $4)
- (get_local $19)
+ (tee_local $4
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $4)
+ (get_local $19)
+ )
)
+ (i32.const 245760)
)
- (i32.const 245760)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $0)
- (get_local $4)
+ (i32.shr_u
+ (i32.shl
+ (get_local $0)
+ (get_local $4)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $6)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $6)
- (i32.const 1)
)
)
+ (i32.const 0)
)
- (i32.const 0)
)
)
+ (i32.const 2)
)
- (i32.const 2)
- )
- (i32.const 1512)
- )
- )
- (i32.store offset=28
- (get_local $2)
- (get_local $4)
- )
- (i32.store offset=4
- (tee_local $3
- (i32.add
- (get_local $2)
- (i32.const 16)
- )
- )
- (i32.const 0)
- )
- (i32.store
- (get_local $3)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $3
- (i32.load
- (i32.const 1212)
- )
- )
- (tee_local $6
- (i32.shl
- (i32.const 1)
- (get_local $4)
- )
- )
+ (i32.const 1512)
)
)
- (block
- (i32.store
- (i32.const 1212)
- (i32.or
- (get_local $3)
- (get_local $6)
- )
- )
- (i32.store
- (get_local $0)
- (get_local $2)
- )
- (i32.store offset=24
- (get_local $2)
- (get_local $0)
- )
- (i32.store offset=12
- (get_local $2)
- (get_local $2)
- )
- (i32.store offset=8
- (get_local $2)
- (get_local $2)
- )
- (br $do-once44)
+ (i32.store offset=28
+ (get_local $2)
+ (get_local $4)
)
- )
- (set_local $6
- (i32.shl
- (get_local $15)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
- (get_local $4)
- (i32.const 1)
- )
- )
- (i32.eq
- (get_local $4)
- (i32.const 31)
+ (i32.store offset=4
+ (tee_local $3
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
)
)
+ (i32.const 0)
)
- )
- (set_local $3
- (i32.load
- (get_local $0)
+ (i32.store
+ (get_local $3)
+ (i32.const 0)
)
- )
- (loop $while-in64
- (block $while-out63
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $3)
- )
- (i32.const -8)
- )
- (get_local $15)
- )
- (block
- (set_local $38
- (get_local $3)
- )
- (set_local $7
- (i32.const 279)
- )
- (br $while-out63)
- )
- )
- (if
- (tee_local $4
- (i32.load
- (tee_local $0
- (i32.add
- (i32.add
- (get_local $3)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $6)
- (i32.const 31)
- )
- (i32.const 2)
- )
- )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $3
+ (i32.load
+ (i32.const 1212)
)
)
- )
- (block
- (set_local $6
+ (tee_local $6
(i32.shl
- (get_local $6)
(i32.const 1)
+ (get_local $4)
)
)
- (set_local $3
- (get_local $4)
- )
- (br $while-in64)
)
- (block
- (set_local $45
- (get_local $0)
- )
- (set_local $53
+ )
+ (block
+ (i32.store
+ (i32.const 1212)
+ (i32.or
(get_local $3)
- )
- (set_local $7
- (i32.const 276)
+ (get_local $6)
)
)
- )
- )
- )
- (if
- (i32.eq
- (get_local $7)
- (i32.const 276)
- )
- (if
- (i32.lt_u
- (get_local $45)
- (i32.load
- (i32.const 1224)
- )
- )
- (call $qa)
- (block
(i32.store
- (get_local $45)
+ (get_local $0)
(get_local $2)
)
(i32.store offset=24
(get_local $2)
- (get_local $53)
+ (get_local $0)
)
(i32.store offset=12
(get_local $2)
@@ -4965,705 +4825,705 @@
(get_local $2)
(get_local $2)
)
+ (br $do-once44)
)
)
- (if
- (i32.eq
- (get_local $7)
- (i32.const 279)
+ (set_local $6
+ (i32.shl
+ (get_local $15)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $4)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
+ (get_local $4)
+ (i32.const 31)
+ )
+ )
)
- (if
- (i32.and
- (i32.ge_u
- (tee_local $6
- (i32.load
- (tee_local $3
+ )
+ (set_local $3
+ (i32.load
+ (get_local $0)
+ )
+ )
+ (loop $while-in64
+ (block $while-out63
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $3)
+ )
+ (i32.const -8)
+ )
+ (get_local $15)
+ )
+ (block
+ (set_local $38
+ (get_local $3)
+ )
+ (set_local $7
+ (i32.const 279)
+ )
+ (br $while-out63)
+ )
+ )
+ (if
+ (tee_local $4
+ (i32.load
+ (tee_local $0
+ (i32.add
(i32.add
- (get_local $38)
- (i32.const 8)
+ (get_local $3)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $6)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
)
)
)
- (tee_local $4
- (i32.load
- (i32.const 1224)
+ )
+ (block
+ (set_local $6
+ (i32.shl
+ (get_local $6)
+ (i32.const 1)
)
)
+ (set_local $3
+ (get_local $4)
+ )
+ (br $while-in64)
)
- (i32.ge_u
- (get_local $38)
- (get_local $4)
+ (block
+ (set_local $45
+ (get_local $0)
+ )
+ (set_local $53
+ (get_local $3)
+ )
+ (set_local $7
+ (i32.const 276)
+ )
)
)
- (block
- (i32.store offset=12
- (get_local $6)
- (get_local $2)
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 276)
+ )
+ (if
+ (i32.lt_u
+ (get_local $45)
+ (i32.load
+ (i32.const 1224)
)
+ )
+ (call $qa)
+ (block
(i32.store
- (get_local $3)
+ (get_local $45)
(get_local $2)
)
- (i32.store offset=8
+ (i32.store offset=24
(get_local $2)
- (get_local $6)
+ (get_local $53)
)
(i32.store offset=12
(get_local $2)
- (get_local $38)
+ (get_local $2)
)
- (i32.store offset=24
+ (i32.store offset=8
+ (get_local $2)
(get_local $2)
- (i32.const 0)
)
)
- (call $qa)
+ )
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 279)
+ )
+ (if
+ (i32.and
+ (i32.ge_u
+ (tee_local $6
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $38)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (tee_local $4
+ (i32.load
+ (i32.const 1224)
+ )
+ )
+ )
+ (i32.ge_u
+ (get_local $38)
+ (get_local $4)
+ )
+ )
+ (block
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $2)
+ )
+ (i32.store
+ (get_local $3)
+ (get_local $2)
+ )
+ (i32.store offset=8
+ (get_local $2)
+ (get_local $6)
+ )
+ (i32.store offset=12
+ (get_local $2)
+ (get_local $38)
+ )
+ (i32.store offset=24
+ (get_local $2)
+ (i32.const 0)
+ )
+ )
+ (call $qa)
+ )
)
)
)
)
)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.add
- (get_local $17)
- (i32.const 8)
+ (set_global $r
+ (get_local $25)
)
- )
- )
- )
- )
- (loop $while-in66
- (block $while-out65
- (if
- (i32.le_u
- (tee_local $2
- (i32.load
- (get_local $30)
+ (return
+ (i32.add
+ (get_local $17)
+ (i32.const 8)
)
)
- (get_local $11)
)
+ )
+ )
+ (loop $while-in66
+ (block $while-out65
(if
- (i32.gt_u
- (tee_local $15
- (i32.add
- (get_local $2)
- (i32.load offset=4
- (get_local $30)
- )
+ (i32.le_u
+ (tee_local $2
+ (i32.load
+ (get_local $30)
)
)
(get_local $11)
)
- (block
- (set_local $0
- (get_local $15)
+ (if
+ (i32.gt_u
+ (tee_local $15
+ (i32.add
+ (get_local $2)
+ (i32.load offset=4
+ (get_local $30)
+ )
+ )
+ )
+ (get_local $11)
+ )
+ (block
+ (set_local $0
+ (get_local $15)
+ )
+ (br $while-out65)
)
- (br $while-out65)
)
)
- )
- (set_local $30
- (i32.load offset=8
- (get_local $30)
+ (set_local $30
+ (i32.load offset=8
+ (get_local $30)
+ )
)
+ (br $while-in66)
)
- (br $while-in66)
)
- )
- (set_local $15
- (i32.add
- (tee_local $17
- (i32.add
- (get_local $0)
- (i32.const -47)
+ (set_local $15
+ (i32.add
+ (tee_local $17
+ (i32.add
+ (get_local $0)
+ (i32.const -47)
+ )
)
+ (i32.const 8)
)
- (i32.const 8)
)
- )
- (set_local $2
- (i32.add
- (tee_local $17
- (select
- (get_local $11)
- (tee_local $2
- (i32.add
- (get_local $17)
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
+ (set_local $2
+ (i32.add
+ (tee_local $17
+ (select
+ (get_local $11)
+ (tee_local $2
+ (i32.add
+ (get_local $17)
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (get_local $15)
+ )
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
(get_local $15)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $15)
- (i32.const 7)
)
)
)
- )
- (i32.lt_u
- (get_local $2)
- (tee_local $15
- (i32.add
- (get_local $11)
- (i32.const 16)
+ (i32.lt_u
+ (get_local $2)
+ (tee_local $15
+ (i32.add
+ (get_local $11)
+ (i32.const 16)
+ )
)
)
)
)
+ (i32.const 8)
)
- (i32.const 8)
)
- )
- (i32.store
- (i32.const 1232)
- (tee_local $1
- (i32.add
- (get_local $20)
- (tee_local $13
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $1
- (i32.add
- (get_local $20)
- (i32.const 8)
+ (i32.store
+ (i32.const 1232)
+ (tee_local $1
+ (i32.add
+ (get_local $20)
+ (tee_local $13
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $1
+ (i32.add
+ (get_local $20)
+ (i32.const 8)
+ )
)
)
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $1)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $1)
- (i32.const 7)
)
)
)
)
)
- )
- (i32.store
- (i32.const 1220)
- (tee_local $6
- (i32.sub
+ (i32.store
+ (i32.const 1220)
+ (tee_local $6
+ (i32.sub
+ (i32.add
+ (get_local $26)
+ (i32.const -40)
+ )
+ (get_local $13)
+ )
+ )
+ )
+ (i32.store offset=4
+ (get_local $1)
+ (i32.or
+ (get_local $6)
+ (i32.const 1)
+ )
+ )
+ (i32.store offset=4
+ (i32.add
+ (get_local $1)
+ (get_local $6)
+ )
+ (i32.const 40)
+ )
+ (i32.store
+ (i32.const 1236)
+ (i32.load
+ (i32.const 1696)
+ )
+ )
+ (i32.store
+ (tee_local $6
(i32.add
- (get_local $26)
- (i32.const -40)
+ (get_local $17)
+ (i32.const 4)
)
- (get_local $13)
)
+ (i32.const 27)
)
- )
- (i32.store offset=4
- (get_local $1)
- (i32.or
- (get_local $6)
- (i32.const 1)
+ (i32.store
+ (get_local $2)
+ (i32.load
+ (i32.const 1656)
+ )
)
- )
- (i32.store offset=4
- (i32.add
- (get_local $1)
- (get_local $6)
+ (i32.store offset=4
+ (get_local $2)
+ (i32.load
+ (i32.const 1660)
+ )
)
- (i32.const 40)
- )
- (i32.store
- (i32.const 1236)
- (i32.load
- (i32.const 1696)
+ (i32.store offset=8
+ (get_local $2)
+ (i32.load
+ (i32.const 1664)
+ )
)
- )
- (i32.store
- (tee_local $6
- (i32.add
- (get_local $17)
- (i32.const 4)
+ (i32.store offset=12
+ (get_local $2)
+ (i32.load
+ (i32.const 1668)
)
)
- (i32.const 27)
- )
- (i32.store
- (get_local $2)
- (i32.load
+ (i32.store
(i32.const 1656)
+ (get_local $20)
)
- )
- (i32.store offset=4
- (get_local $2)
- (i32.load
+ (i32.store
(i32.const 1660)
+ (get_local $26)
)
- )
- (i32.store offset=8
- (get_local $2)
- (i32.load
- (i32.const 1664)
- )
- )
- (i32.store offset=12
- (get_local $2)
- (i32.load
+ (i32.store
(i32.const 1668)
+ (i32.const 0)
)
- )
- (i32.store
- (i32.const 1656)
- (get_local $20)
- )
- (i32.store
- (i32.const 1660)
- (get_local $26)
- )
- (i32.store
- (i32.const 1668)
- (i32.const 0)
- )
- (i32.store
- (i32.const 1664)
- (get_local $2)
- )
- (set_local $2
- (i32.add
- (get_local $17)
- (i32.const 24)
- )
- )
- (loop $do-in68
(i32.store
- (tee_local $2
- (i32.add
- (get_local $2)
- (i32.const 4)
- )
- )
- (i32.const 7)
+ (i32.const 1664)
+ (get_local $2)
)
- (br_if $do-in68
- (i32.lt_u
- (i32.add
- (get_local $2)
- (i32.const 4)
- )
- (get_local $0)
+ (set_local $2
+ (i32.add
+ (get_local $17)
+ (i32.const 24)
)
)
- )
- (if
- (i32.ne
- (get_local $17)
- (get_local $11)
- )
- (block
+ (loop $do-in68
(i32.store
- (get_local $6)
- (i32.and
- (i32.load
- (get_local $6)
+ (tee_local $2
+ (i32.add
+ (get_local $2)
+ (i32.const 4)
)
- (i32.const -2)
)
+ (i32.const 7)
)
- (i32.store offset=4
- (get_local $11)
- (i32.or
- (tee_local $2
- (i32.sub
- (get_local $17)
- (get_local $11)
- )
+ (br_if $do-in68
+ (i32.lt_u
+ (i32.add
+ (get_local $2)
+ (i32.const 4)
)
- (i32.const 1)
+ (get_local $0)
)
)
- (i32.store
+ )
+ (if
+ (i32.ne
(get_local $17)
- (get_local $2)
- )
- (set_local $1
- (i32.shr_u
- (get_local $2)
- (i32.const 3)
- )
+ (get_local $11)
)
- (if
- (i32.lt_u
- (get_local $2)
- (i32.const 256)
+ (block
+ (i32.store
+ (get_local $6)
+ (i32.and
+ (i32.load
+ (get_local $6)
+ )
+ (i32.const -2)
+ )
)
- (block
- (set_local $13
- (i32.add
- (i32.shl
- (get_local $1)
- (i32.const 3)
+ (i32.store offset=4
+ (get_local $11)
+ (i32.or
+ (tee_local $2
+ (i32.sub
+ (get_local $17)
+ (get_local $11)
)
- (i32.const 1248)
)
+ (i32.const 1)
)
- (if
- (i32.and
- (tee_local $3
- (i32.load
- (i32.const 1208)
- )
- )
- (tee_local $4
+ )
+ (i32.store
+ (get_local $17)
+ (get_local $2)
+ )
+ (set_local $1
+ (i32.shr_u
+ (get_local $2)
+ (i32.const 3)
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $2)
+ (i32.const 256)
+ )
+ (block
+ (set_local $13
+ (i32.add
(i32.shl
- (i32.const 1)
(get_local $1)
+ (i32.const 3)
)
+ (i32.const 1248)
)
)
(if
- (i32.lt_u
+ (i32.and
(tee_local $3
(i32.load
- (tee_local $4
- (i32.add
- (get_local $13)
- (i32.const 8)
+ (i32.const 1208)
+ )
+ )
+ (tee_local $4
+ (i32.shl
+ (i32.const 1)
+ (get_local $1)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $3
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (get_local $13)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 1224)
+ )
)
- (i32.load
- (i32.const 1224)
+ (call $qa)
+ (block
+ (set_local $46
+ (get_local $4)
+ )
+ (set_local $39
+ (get_local $3)
+ )
)
)
- (call $qa)
(block
+ (i32.store
+ (i32.const 1208)
+ (i32.or
+ (get_local $3)
+ (get_local $4)
+ )
+ )
(set_local $46
- (get_local $4)
+ (i32.add
+ (get_local $13)
+ (i32.const 8)
+ )
)
(set_local $39
- (get_local $3)
- )
- )
- )
- (block
- (i32.store
- (i32.const 1208)
- (i32.or
- (get_local $3)
- (get_local $4)
- )
- )
- (set_local $46
- (i32.add
(get_local $13)
- (i32.const 8)
)
)
- (set_local $39
- (get_local $13)
- )
)
+ (i32.store
+ (get_local $46)
+ (get_local $11)
+ )
+ (i32.store offset=12
+ (get_local $39)
+ (get_local $11)
+ )
+ (i32.store offset=8
+ (get_local $11)
+ (get_local $39)
+ )
+ (i32.store offset=12
+ (get_local $11)
+ (get_local $13)
+ )
+ (br $do-once38)
)
- (i32.store
- (get_local $46)
- (get_local $11)
- )
- (i32.store offset=12
- (get_local $39)
- (get_local $11)
- )
- (i32.store offset=8
- (get_local $11)
- (get_local $39)
- )
- (i32.store offset=12
- (get_local $11)
- (get_local $13)
- )
- (br $do-once38)
)
- )
- (set_local $0
- (i32.add
- (i32.shl
- (tee_local $3
- (if (result i32)
- (tee_local $13
- (i32.shr_u
- (get_local $2)
- (i32.const 8)
- )
- )
+ (set_local $0
+ (i32.add
+ (i32.shl
+ (tee_local $3
(if (result i32)
- (i32.gt_u
- (get_local $2)
- (i32.const 16777215)
+ (tee_local $13
+ (i32.shr_u
+ (get_local $2)
+ (i32.const 8)
+ )
)
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $2)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (if (result i32)
+ (i32.gt_u
+ (get_local $2)
+ (i32.const 16777215)
+ )
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $2)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $13
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $4
- (i32.shl
- (get_local $13)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $13)
- (i32.const 1048320)
+ (i32.or
+ (tee_local $13
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $4
+ (i32.shl
+ (get_local $13)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $13)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 520192)
)
- (i32.const 520192)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 4)
)
- (i32.const 4)
)
+ (get_local $3)
)
- (get_local $3)
- )
- (tee_local $4
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $4)
- (get_local $13)
+ (tee_local $4
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $4)
+ (get_local $13)
+ )
)
+ (i32.const 245760)
)
- (i32.const 245760)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $4)
+ (i32.shr_u
+ (i32.shl
+ (get_local $1)
+ (get_local $4)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- )
- (i32.const 2)
- )
- (i32.const 1512)
- )
- )
- (i32.store offset=28
- (get_local $11)
- (get_local $3)
- )
- (i32.store offset=20
- (get_local $11)
- (i32.const 0)
- )
- (i32.store
- (get_local $15)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $4
- (i32.load
- (i32.const 1212)
- )
- )
- (tee_local $1
- (i32.shl
- (i32.const 1)
- (get_local $3)
)
+ (i32.const 2)
)
+ (i32.const 1512)
)
)
- (block
- (i32.store
- (i32.const 1212)
- (i32.or
- (get_local $4)
- (get_local $1)
- )
- )
- (i32.store
- (get_local $0)
- (get_local $11)
- )
- (i32.store offset=24
- (get_local $11)
- (get_local $0)
- )
- (i32.store offset=12
- (get_local $11)
- (get_local $11)
- )
- (i32.store offset=8
- (get_local $11)
- (get_local $11)
- )
- (br $do-once38)
+ (i32.store offset=28
+ (get_local $11)
+ (get_local $3)
)
- )
- (set_local $1
- (i32.shl
- (get_local $2)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
- (get_local $3)
- (i32.const 1)
- )
- )
- (i32.eq
- (get_local $3)
- (i32.const 31)
- )
- )
+ (i32.store offset=20
+ (get_local $11)
+ (i32.const 0)
)
- )
- (set_local $4
- (i32.load
- (get_local $0)
+ (i32.store
+ (get_local $15)
+ (i32.const 0)
)
- )
- (loop $while-in70
- (block $while-out69
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $4)
- )
- (i32.const -8)
- )
- (get_local $2)
- )
- (block
- (set_local $31
- (get_local $4)
- )
- (set_local $7
- (i32.const 305)
- )
- (br $while-out69)
- )
- )
- (if
- (tee_local $3
- (i32.load
- (tee_local $0
- (i32.add
- (i32.add
- (get_local $4)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $1)
- (i32.const 31)
- )
- (i32.const 2)
- )
- )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $4
+ (i32.load
+ (i32.const 1212)
)
)
- )
- (block
- (set_local $1
+ (tee_local $1
(i32.shl
- (get_local $1)
(i32.const 1)
+ (get_local $3)
)
)
- (set_local $4
- (get_local $3)
- )
- (br $while-in70)
)
- (block
- (set_local $47
- (get_local $0)
- )
- (set_local $54
+ )
+ (block
+ (i32.store
+ (i32.const 1212)
+ (i32.or
(get_local $4)
- )
- (set_local $7
- (i32.const 302)
+ (get_local $1)
)
)
- )
- )
- )
- (if
- (i32.eq
- (get_local $7)
- (i32.const 302)
- )
- (if
- (i32.lt_u
- (get_local $47)
- (i32.load
- (i32.const 1224)
- )
- )
- (call $qa)
- (block
(i32.store
- (get_local $47)
+ (get_local $0)
(get_local $11)
)
(i32.store offset=24
(get_local $11)
- (get_local $54)
+ (get_local $0)
)
(i32.store offset=12
(get_local $11)
@@ -5673,271 +5533,406 @@
(get_local $11)
(get_local $11)
)
+ (br $do-once38)
)
)
- (if
- (i32.eq
- (get_local $7)
- (i32.const 305)
+ (set_local $1
+ (i32.shl
+ (get_local $2)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
+ (get_local $3)
+ (i32.const 31)
+ )
+ )
)
- (if
- (i32.and
- (i32.ge_u
- (tee_local $1
- (i32.load
- (tee_local $4
+ )
+ (set_local $4
+ (i32.load
+ (get_local $0)
+ )
+ )
+ (loop $while-in70
+ (block $while-out69
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $4)
+ )
+ (i32.const -8)
+ )
+ (get_local $2)
+ )
+ (block
+ (set_local $31
+ (get_local $4)
+ )
+ (set_local $7
+ (i32.const 305)
+ )
+ (br $while-out69)
+ )
+ )
+ (if
+ (tee_local $3
+ (i32.load
+ (tee_local $0
+ (i32.add
(i32.add
- (get_local $31)
- (i32.const 8)
+ (get_local $4)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $1)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
)
)
)
- (tee_local $2
- (i32.load
- (i32.const 1224)
+ )
+ (block
+ (set_local $1
+ (i32.shl
+ (get_local $1)
+ (i32.const 1)
)
)
+ (set_local $4
+ (get_local $3)
+ )
+ (br $while-in70)
)
- (i32.ge_u
- (get_local $31)
- (get_local $2)
+ (block
+ (set_local $47
+ (get_local $0)
+ )
+ (set_local $54
+ (get_local $4)
+ )
+ (set_local $7
+ (i32.const 302)
+ )
)
)
- (block
- (i32.store offset=12
- (get_local $1)
- (get_local $11)
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 302)
+ )
+ (if
+ (i32.lt_u
+ (get_local $47)
+ (i32.load
+ (i32.const 1224)
)
+ )
+ (call $qa)
+ (block
(i32.store
- (get_local $4)
+ (get_local $47)
(get_local $11)
)
- (i32.store offset=8
+ (i32.store offset=24
(get_local $11)
- (get_local $1)
+ (get_local $54)
)
(i32.store offset=12
(get_local $11)
- (get_local $31)
+ (get_local $11)
)
- (i32.store offset=24
+ (i32.store offset=8
+ (get_local $11)
(get_local $11)
- (i32.const 0)
)
)
- (call $qa)
+ )
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 305)
+ )
+ (if
+ (i32.and
+ (i32.ge_u
+ (tee_local $1
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (get_local $31)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (tee_local $2
+ (i32.load
+ (i32.const 1224)
+ )
+ )
+ )
+ (i32.ge_u
+ (get_local $31)
+ (get_local $2)
+ )
+ )
+ (block
+ (i32.store offset=12
+ (get_local $1)
+ (get_local $11)
+ )
+ (i32.store
+ (get_local $4)
+ (get_local $11)
+ )
+ (i32.store offset=8
+ (get_local $11)
+ (get_local $1)
+ )
+ (i32.store offset=12
+ (get_local $11)
+ (get_local $31)
+ )
+ (i32.store offset=24
+ (get_local $11)
+ (i32.const 0)
+ )
+ )
+ (call $qa)
+ )
)
)
)
)
)
- )
- (block
- (if
- (i32.or
- (i32.eqz
- (tee_local $1
- (i32.load
- (i32.const 1224)
+ (block
+ (if
+ (i32.or
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (i32.const 1224)
+ )
)
)
+ (i32.lt_u
+ (get_local $20)
+ (get_local $1)
+ )
)
- (i32.lt_u
+ (i32.store
+ (i32.const 1224)
(get_local $20)
- (get_local $1)
)
)
(i32.store
- (i32.const 1224)
+ (i32.const 1656)
(get_local $20)
)
- )
- (i32.store
- (i32.const 1656)
- (get_local $20)
- )
- (i32.store
- (i32.const 1660)
- (get_local $26)
- )
- (i32.store
- (i32.const 1668)
- (i32.const 0)
- )
- (i32.store
- (i32.const 1244)
- (i32.load
- (i32.const 1680)
+ (i32.store
+ (i32.const 1660)
+ (get_local $26)
)
- )
- (i32.store
- (i32.const 1240)
- (i32.const -1)
- )
- (set_local $1
- (i32.const 0)
- )
- (loop $do-in
- (i32.store offset=12
- (tee_local $13
- (i32.add
- (i32.shl
- (get_local $1)
- (i32.const 3)
- )
- (i32.const 1248)
- )
+ (i32.store
+ (i32.const 1668)
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 1244)
+ (i32.load
+ (i32.const 1680)
)
- (get_local $13)
)
- (i32.store offset=8
- (get_local $13)
- (get_local $13)
+ (i32.store
+ (i32.const 1240)
+ (i32.const -1)
)
- (br_if $do-in
- (i32.ne
- (tee_local $1
+ (set_local $1
+ (i32.const 0)
+ )
+ (loop $do-in
+ (i32.store offset=12
+ (tee_local $13
(i32.add
- (get_local $1)
- (i32.const 1)
+ (i32.shl
+ (get_local $1)
+ (i32.const 3)
+ )
+ (i32.const 1248)
+ )
+ )
+ (get_local $13)
+ )
+ (i32.store offset=8
+ (get_local $13)
+ (get_local $13)
+ )
+ (br_if $do-in
+ (i32.ne
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
)
+ (i32.const 32)
)
- (i32.const 32)
)
)
- )
- (i32.store
- (i32.const 1232)
- (tee_local $1
- (i32.add
- (get_local $20)
- (tee_local $13
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $1
- (i32.add
- (get_local $20)
- (i32.const 8)
+ (i32.store
+ (i32.const 1232)
+ (tee_local $1
+ (i32.add
+ (get_local $20)
+ (tee_local $13
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $1
+ (i32.add
+ (get_local $20)
+ (i32.const 8)
+ )
)
)
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $1)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $1)
- (i32.const 7)
)
)
)
)
)
- )
- (i32.store
- (i32.const 1220)
- (tee_local $2
- (i32.sub
- (i32.add
- (get_local $26)
- (i32.const -40)
+ (i32.store
+ (i32.const 1220)
+ (tee_local $2
+ (i32.sub
+ (i32.add
+ (get_local $26)
+ (i32.const -40)
+ )
+ (get_local $13)
)
- (get_local $13)
)
)
- )
- (i32.store offset=4
- (get_local $1)
- (i32.or
- (get_local $2)
- (i32.const 1)
- )
- )
- (i32.store offset=4
- (i32.add
+ (i32.store offset=4
(get_local $1)
- (get_local $2)
+ (i32.or
+ (get_local $2)
+ (i32.const 1)
+ )
)
- (i32.const 40)
- )
- (i32.store
- (i32.const 1236)
- (i32.load
- (i32.const 1696)
+ (i32.store offset=4
+ (i32.add
+ (get_local $1)
+ (get_local $2)
+ )
+ (i32.const 40)
+ )
+ (i32.store
+ (i32.const 1236)
+ (i32.load
+ (i32.const 1696)
+ )
)
)
)
)
- )
- (if
- (i32.gt_u
- (tee_local $11
- (i32.load
- (i32.const 1220)
+ (if
+ (i32.gt_u
+ (tee_local $11
+ (i32.load
+ (i32.const 1220)
+ )
)
+ (get_local $5)
)
- (get_local $5)
- )
- (block
- (i32.store
- (i32.const 1220)
- (tee_local $31
- (i32.sub
- (get_local $11)
- (get_local $5)
+ (block
+ (i32.store
+ (i32.const 1220)
+ (tee_local $31
+ (i32.sub
+ (get_local $11)
+ (get_local $5)
+ )
)
)
- )
- (i32.store
- (i32.const 1232)
- (tee_local $7
- (i32.add
- (tee_local $11
- (i32.load
- (i32.const 1232)
+ (i32.store
+ (i32.const 1232)
+ (tee_local $7
+ (i32.add
+ (tee_local $11
+ (i32.load
+ (i32.const 1232)
+ )
)
+ (get_local $5)
)
- (get_local $5)
)
)
- )
- (i32.store offset=4
- (get_local $7)
- (i32.or
- (get_local $31)
- (i32.const 1)
- )
- )
- (i32.store offset=4
- (get_local $11)
- (i32.or
- (get_local $5)
- (i32.const 3)
+ (i32.store offset=4
+ (get_local $7)
+ (i32.or
+ (get_local $31)
+ (i32.const 1)
+ )
)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.add
+ (i32.store offset=4
(get_local $11)
- (i32.const 8)
+ (i32.or
+ (get_local $5)
+ (i32.const 3)
+ )
+ )
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (i32.add
+ (get_local $11)
+ (i32.const 8)
+ )
)
)
)
)
)
- )
- (i32.store
- (call $Qa)
- (i32.const 12)
+ (i32.store
+ (call $Qa)
+ (i32.const 12)
+ )
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (i32.const 0)
+ )
)
(set_global $r
(get_local $25)
)
- (i32.const 0)
+ (i32.add
+ (get_local $15)
+ (i32.const 8)
+ )
)
(func $fb (param $0 i32)
(local $1 i32)
diff --git a/test/memorygrowth.fromasm.imprecise b/test/memorygrowth.fromasm.imprecise
index bd959d564..38e3724a5 100644
--- a/test/memorygrowth.fromasm.imprecise
+++ b/test/memorygrowth.fromasm.imprecise
@@ -104,830 +104,790 @@
(local $52 i32)
(local $53 i32)
(local $54 i32)
- (set_local $25
- (get_global $r)
- )
- (set_global $r
- (i32.add
+ (block $folding-inner0
+ (set_local $25
(get_global $r)
- (i32.const 16)
)
- )
- (set_local $13
- (get_local $25)
- )
- (block $do-once
- (if
- (i32.lt_u
- (get_local $0)
- (i32.const 245)
+ (set_global $r
+ (i32.add
+ (get_global $r)
+ (i32.const 16)
)
- (block
- (if
- (i32.and
- (tee_local $5
- (i32.shr_u
- (tee_local $4
- (i32.load
- (i32.const 1208)
+ )
+ (set_local $13
+ (get_local $25)
+ )
+ (block $do-once
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (i32.const 245)
+ )
+ (block
+ (if
+ (i32.and
+ (tee_local $5
+ (i32.shr_u
+ (tee_local $4
+ (i32.load
+ (i32.const 1208)
+ )
)
- )
- (tee_local $0
- (i32.shr_u
- (tee_local $3
- (select
- (i32.const 16)
- (i32.and
- (i32.add
+ (tee_local $0
+ (i32.shr_u
+ (tee_local $3
+ (select
+ (i32.const 16)
+ (i32.and
+ (i32.add
+ (get_local $0)
+ (i32.const 11)
+ )
+ (i32.const -8)
+ )
+ (i32.lt_u
(get_local $0)
(i32.const 11)
)
- (i32.const -8)
- )
- (i32.lt_u
- (get_local $0)
- (i32.const 11)
)
)
+ (i32.const 3)
)
- (i32.const 3)
)
)
)
+ (i32.const 3)
)
- (i32.const 3)
- )
- (block
- (set_local $6
- (i32.load
- (tee_local $3
- (i32.add
- (tee_local $12
- (i32.load
- (tee_local $14
- (i32.add
- (tee_local $8
- (i32.add
- (i32.shl
- (tee_local $0
- (i32.add
- (i32.xor
- (i32.and
- (get_local $5)
+ (block
+ (set_local $6
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (tee_local $12
+ (i32.load
+ (tee_local $14
+ (i32.add
+ (tee_local $8
+ (i32.add
+ (i32.shl
+ (tee_local $0
+ (i32.add
+ (i32.xor
+ (i32.and
+ (get_local $5)
+ (i32.const 1)
+ )
(i32.const 1)
)
- (i32.const 1)
+ (get_local $0)
)
- (get_local $0)
)
+ (i32.const 3)
)
- (i32.const 3)
+ (i32.const 1248)
)
- (i32.const 1248)
)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
- )
- (if
- (i32.eq
- (get_local $8)
- (get_local $6)
- )
- (i32.store
- (i32.const 1208)
- (i32.and
- (get_local $4)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $0)
- )
- (i32.const -1)
- )
+ (if
+ (i32.eq
+ (get_local $8)
+ (get_local $6)
)
- )
- (block
- (if
- (i32.lt_u
- (get_local $6)
- (i32.load
- (i32.const 1224)
+ (i32.store
+ (i32.const 1208)
+ (i32.and
+ (get_local $4)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
+ )
+ (i32.const -1)
)
)
- (call $qa)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $6)
- (i32.const 12)
- )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $6)
+ (i32.load
+ (i32.const 1224)
)
)
- (get_local $12)
+ (call $qa)
)
- (block
- (i32.store
- (get_local $7)
- (get_local $8)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $6)
+ (i32.const 12)
+ )
+ )
+ )
+ (get_local $12)
)
- (i32.store
- (get_local $14)
- (get_local $6)
+ (block
+ (i32.store
+ (get_local $7)
+ (get_local $8)
+ )
+ (i32.store
+ (get_local $14)
+ (get_local $6)
+ )
)
+ (call $qa)
)
- (call $qa)
)
)
- )
- (i32.store offset=4
- (get_local $12)
- (i32.or
- (tee_local $6
- (i32.shl
- (get_local $0)
- (i32.const 3)
+ (i32.store offset=4
+ (get_local $12)
+ (i32.or
+ (tee_local $6
+ (i32.shl
+ (get_local $0)
+ (i32.const 3)
+ )
)
+ (i32.const 3)
)
- (i32.const 3)
)
- )
- (i32.store
- (tee_local $14
- (i32.add
+ (i32.store
+ (tee_local $14
(i32.add
- (get_local $12)
- (get_local $6)
+ (i32.add
+ (get_local $12)
+ (get_local $6)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (i32.or
- (i32.load
- (get_local $14)
+ (i32.or
+ (i32.load
+ (get_local $14)
+ )
+ (i32.const 1)
)
- (i32.const 1)
)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (get_local $3)
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (get_local $3)
+ )
)
)
- )
- (if
- (i32.gt_u
- (get_local $3)
- (tee_local $14
- (i32.load
- (i32.const 1216)
+ (if
+ (i32.gt_u
+ (get_local $3)
+ (tee_local $14
+ (i32.load
+ (i32.const 1216)
+ )
)
)
- )
- (block
- (if
- (get_local $5)
- (block
- (set_local $8
- (i32.and
- (i32.shr_u
- (tee_local $6
- (i32.add
- (i32.and
- (tee_local $8
- (i32.and
- (i32.shl
- (get_local $5)
- (get_local $0)
- )
- (i32.or
- (tee_local $6
- (i32.shl
- (i32.const 2)
- (get_local $0)
- )
+ (block
+ (if
+ (get_local $5)
+ (block
+ (set_local $8
+ (i32.and
+ (i32.shr_u
+ (tee_local $6
+ (i32.add
+ (i32.and
+ (tee_local $8
+ (i32.and
+ (i32.shl
+ (get_local $5)
+ (get_local $0)
)
- (i32.sub
- (i32.const 0)
- (get_local $6)
+ (i32.or
+ (tee_local $6
+ (i32.shl
+ (i32.const 2)
+ (get_local $0)
+ )
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $6)
+ )
)
)
)
+ (i32.sub
+ (i32.const 0)
+ (get_local $8)
+ )
)
- (i32.sub
- (i32.const 0)
- (get_local $8)
- )
+ (i32.const -1)
)
- (i32.const -1)
)
+ (i32.const 12)
)
- (i32.const 12)
+ (i32.const 16)
)
- (i32.const 16)
)
- )
- (set_local $8
- (i32.load
- (tee_local $7
- (i32.add
- (tee_local $9
- (i32.load
- (tee_local $12
- (i32.add
- (tee_local $1
- (i32.add
- (i32.shl
- (tee_local $16
- (i32.add
- (i32.or
+ (set_local $8
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (tee_local $9
+ (i32.load
+ (tee_local $12
+ (i32.add
+ (tee_local $1
+ (i32.add
+ (i32.shl
+ (tee_local $16
+ (i32.add
(i32.or
(i32.or
(i32.or
- (tee_local $6
+ (i32.or
+ (tee_local $6
+ (i32.and
+ (i32.shr_u
+ (tee_local $7
+ (i32.shr_u
+ (get_local $6)
+ (get_local $8)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (get_local $8)
+ )
+ (tee_local $7
(i32.and
(i32.shr_u
- (tee_local $7
+ (tee_local $9
(i32.shr_u
+ (get_local $7)
(get_local $6)
- (get_local $8)
)
)
- (i32.const 5)
+ (i32.const 2)
)
- (i32.const 8)
+ (i32.const 4)
)
)
- (get_local $8)
)
- (tee_local $7
+ (tee_local $9
(i32.and
(i32.shr_u
- (tee_local $9
+ (tee_local $1
(i32.shr_u
+ (get_local $9)
(get_local $7)
- (get_local $6)
)
)
- (i32.const 2)
+ (i32.const 1)
)
- (i32.const 4)
+ (i32.const 2)
)
)
)
- (tee_local $9
+ (tee_local $1
(i32.and
(i32.shr_u
- (tee_local $1
+ (tee_local $12
(i32.shr_u
+ (get_local $1)
(get_local $9)
- (get_local $7)
)
)
(i32.const 1)
)
- (i32.const 2)
- )
- )
- )
- (tee_local $1
- (i32.and
- (i32.shr_u
- (tee_local $12
- (i32.shr_u
- (get_local $1)
- (get_local $9)
- )
- )
(i32.const 1)
)
- (i32.const 1)
)
)
- )
- (i32.shr_u
- (get_local $12)
- (get_local $1)
+ (i32.shr_u
+ (get_local $12)
+ (get_local $1)
+ )
)
)
+ (i32.const 3)
)
- (i32.const 3)
+ (i32.const 1248)
)
- (i32.const 1248)
)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
- )
- (if
- (i32.eq
- (get_local $1)
- (get_local $8)
- )
- (block
- (i32.store
- (i32.const 1208)
- (i32.and
- (get_local $4)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $16)
+ (if
+ (i32.eq
+ (get_local $1)
+ (get_local $8)
+ )
+ (block
+ (i32.store
+ (i32.const 1208)
+ (i32.and
+ (get_local $4)
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $16)
+ )
+ (i32.const -1)
)
- (i32.const -1)
)
)
- )
- (set_local $34
- (get_local $14)
- )
- )
- (block
- (if
- (i32.lt_u
- (get_local $8)
- (i32.load
- (i32.const 1224)
- )
+ (set_local $34
+ (get_local $14)
)
- (call $qa)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $6
- (i32.add
- (get_local $8)
- (i32.const 12)
- )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $8)
+ (i32.load
+ (i32.const 1224)
)
)
- (get_local $9)
+ (call $qa)
)
- (block
- (i32.store
- (get_local $6)
- (get_local $1)
- )
- (i32.store
- (get_local $12)
- (get_local $8)
- )
- (set_local $34
+ (if
+ (i32.eq
(i32.load
- (i32.const 1216)
+ (tee_local $6
+ (i32.add
+ (get_local $8)
+ (i32.const 12)
+ )
+ )
+ )
+ (get_local $9)
+ )
+ (block
+ (i32.store
+ (get_local $6)
+ (get_local $1)
+ )
+ (i32.store
+ (get_local $12)
+ (get_local $8)
+ )
+ (set_local $34
+ (i32.load
+ (i32.const 1216)
+ )
)
)
+ (call $qa)
)
- (call $qa)
)
)
- )
- (i32.store offset=4
- (get_local $9)
- (i32.or
- (get_local $3)
- (i32.const 3)
- )
- )
- (i32.store offset=4
- (tee_local $12
- (i32.add
- (get_local $9)
+ (i32.store offset=4
+ (get_local $9)
+ (i32.or
(get_local $3)
+ (i32.const 3)
)
)
- (i32.or
- (tee_local $8
- (i32.sub
- (i32.shl
- (get_local $16)
- (i32.const 3)
- )
+ (i32.store offset=4
+ (tee_local $12
+ (i32.add
+ (get_local $9)
(get_local $3)
)
)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (get_local $12)
- (get_local $8)
- )
- (get_local $8)
- )
- (if
- (get_local $34)
- (block
- (set_local $1
- (i32.load
- (i32.const 1228)
- )
- )
- (set_local $4
- (i32.add
- (i32.shl
- (tee_local $14
- (i32.shr_u
- (get_local $34)
- (i32.const 3)
- )
+ (i32.or
+ (tee_local $8
+ (i32.sub
+ (i32.shl
+ (get_local $16)
+ (i32.const 3)
)
- (i32.const 3)
+ (get_local $3)
)
- (i32.const 1248)
)
+ (i32.const 1)
)
- (if
- (i32.and
- (tee_local $0
- (i32.load
- (i32.const 1208)
- )
+ )
+ (i32.store
+ (i32.add
+ (get_local $12)
+ (get_local $8)
+ )
+ (get_local $8)
+ )
+ (if
+ (get_local $34)
+ (block
+ (set_local $1
+ (i32.load
+ (i32.const 1228)
)
- (tee_local $5
+ )
+ (set_local $4
+ (i32.add
(i32.shl
- (i32.const 1)
- (get_local $14)
+ (tee_local $14
+ (i32.shr_u
+ (get_local $34)
+ (i32.const 3)
+ )
+ )
+ (i32.const 3)
)
+ (i32.const 1248)
)
)
(if
- (i32.lt_u
+ (i32.and
(tee_local $0
(i32.load
- (tee_local $5
- (i32.add
- (get_local $4)
- (i32.const 8)
+ (i32.const 1208)
+ )
+ )
+ (tee_local $5
+ (i32.shl
+ (i32.const 1)
+ (get_local $14)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $0
+ (i32.load
+ (tee_local $5
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 1224)
+ )
)
- (i32.load
- (i32.const 1224)
+ (call $qa)
+ (block
+ (set_local $40
+ (get_local $5)
+ )
+ (set_local $35
+ (get_local $0)
+ )
)
)
- (call $qa)
(block
+ (i32.store
+ (i32.const 1208)
+ (i32.or
+ (get_local $0)
+ (get_local $5)
+ )
+ )
(set_local $40
- (get_local $5)
+ (i32.add
+ (get_local $4)
+ (i32.const 8)
+ )
)
(set_local $35
- (get_local $0)
- )
- )
- )
- (block
- (i32.store
- (i32.const 1208)
- (i32.or
- (get_local $0)
- (get_local $5)
- )
- )
- (set_local $40
- (i32.add
(get_local $4)
- (i32.const 8)
)
)
- (set_local $35
- (get_local $4)
- )
)
- )
- (i32.store
- (get_local $40)
- (get_local $1)
- )
- (i32.store offset=12
- (get_local $35)
- (get_local $1)
- )
- (i32.store offset=8
- (get_local $1)
- (get_local $35)
- )
- (i32.store offset=12
- (get_local $1)
- (get_local $4)
+ (i32.store
+ (get_local $40)
+ (get_local $1)
+ )
+ (i32.store offset=12
+ (get_local $35)
+ (get_local $1)
+ )
+ (i32.store offset=8
+ (get_local $1)
+ (get_local $35)
+ )
+ (i32.store offset=12
+ (get_local $1)
+ (get_local $4)
+ )
)
)
- )
- (i32.store
- (i32.const 1216)
- (get_local $8)
- )
- (i32.store
- (i32.const 1228)
- (get_local $12)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (get_local $7)
+ (i32.store
+ (i32.const 1216)
+ (get_local $8)
+ )
+ (i32.store
+ (i32.const 1228)
+ (get_local $12)
+ )
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (get_local $7)
+ )
)
)
- )
- (if
- (tee_local $12
- (i32.load
- (i32.const 1212)
+ (if
+ (tee_local $12
+ (i32.load
+ (i32.const 1212)
+ )
)
- )
- (block
- (set_local $12
- (i32.and
- (i32.shr_u
- (tee_local $8
- (i32.add
- (i32.and
- (get_local $12)
- (i32.sub
- (i32.const 0)
+ (block
+ (set_local $12
+ (i32.and
+ (i32.shr_u
+ (tee_local $8
+ (i32.add
+ (i32.and
(get_local $12)
+ (i32.sub
+ (i32.const 0)
+ (get_local $12)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
)
+ (i32.const 12)
)
- (i32.const 12)
+ (i32.const 16)
)
- (i32.const 16)
)
- )
- (set_local $0
- (i32.sub
- (i32.and
- (i32.load offset=4
- (tee_local $14
- (i32.load
- (i32.add
- (i32.shl
- (i32.add
- (i32.or
+ (set_local $0
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (tee_local $14
+ (i32.load
+ (i32.add
+ (i32.shl
+ (i32.add
(i32.or
(i32.or
(i32.or
- (tee_local $8
+ (i32.or
+ (tee_local $8
+ (i32.and
+ (i32.shr_u
+ (tee_local $4
+ (i32.shr_u
+ (get_local $8)
+ (get_local $12)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (get_local $12)
+ )
+ (tee_local $4
(i32.and
(i32.shr_u
- (tee_local $4
+ (tee_local $1
(i32.shr_u
+ (get_local $4)
(get_local $8)
- (get_local $12)
)
)
- (i32.const 5)
+ (i32.const 2)
)
- (i32.const 8)
+ (i32.const 4)
)
)
- (get_local $12)
)
- (tee_local $4
+ (tee_local $1
(i32.and
(i32.shr_u
- (tee_local $1
+ (tee_local $0
(i32.shr_u
+ (get_local $1)
(get_local $4)
- (get_local $8)
)
)
- (i32.const 2)
+ (i32.const 1)
)
- (i32.const 4)
+ (i32.const 2)
)
)
)
- (tee_local $1
+ (tee_local $0
(i32.and
(i32.shr_u
- (tee_local $0
+ (tee_local $5
(i32.shr_u
+ (get_local $0)
(get_local $1)
- (get_local $4)
)
)
(i32.const 1)
)
- (i32.const 2)
- )
- )
- )
- (tee_local $0
- (i32.and
- (i32.shr_u
- (tee_local $5
- (i32.shr_u
- (get_local $0)
- (get_local $1)
- )
- )
(i32.const 1)
)
- (i32.const 1)
)
)
+ (i32.shr_u
+ (get_local $5)
+ (get_local $0)
+ )
)
- (i32.shr_u
- (get_local $5)
- (get_local $0)
- )
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 1512)
)
- (i32.const 1512)
)
)
)
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $3)
)
- (get_local $3)
)
- )
- (set_local $5
- (get_local $14)
- )
- (set_local $1
- (get_local $14)
- )
- (loop $while-in
- (block $while-out
- (if
- (tee_local $14
- (i32.load offset=16
- (get_local $5)
- )
- )
- (set_local $6
- (get_local $14)
- )
+ (set_local $5
+ (get_local $14)
+ )
+ (set_local $1
+ (get_local $14)
+ )
+ (loop $while-in
+ (block $while-out
(if
- (tee_local $4
- (i32.load offset=20
+ (tee_local $14
+ (i32.load offset=16
(get_local $5)
)
)
(set_local $6
- (get_local $4)
+ (get_local $14)
)
- (block
+ (if
+ (tee_local $4
+ (i32.load offset=20
+ (get_local $5)
+ )
+ )
(set_local $6
- (get_local $0)
+ (get_local $4)
)
- (set_local $2
- (get_local $1)
+ (block
+ (set_local $6
+ (get_local $0)
+ )
+ (set_local $2
+ (get_local $1)
+ )
+ (br $while-out)
)
- (br $while-out)
)
)
- )
- (set_local $4
- (i32.lt_u
- (tee_local $14
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $6)
+ (set_local $4
+ (i32.lt_u
+ (tee_local $14
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $6)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $3)
)
- (get_local $3)
)
+ (get_local $0)
)
- (get_local $0)
)
- )
- (set_local $0
- (select
- (get_local $14)
- (get_local $0)
- (get_local $4)
+ (set_local $0
+ (select
+ (get_local $14)
+ (get_local $0)
+ (get_local $4)
+ )
)
- )
- (set_local $5
- (get_local $6)
- )
- (set_local $1
- (select
+ (set_local $5
(get_local $6)
- (get_local $1)
- (get_local $4)
)
- )
- (br $while-in)
- )
- )
- (if
- (i32.lt_u
- (get_local $2)
- (tee_local $1
- (i32.load
- (i32.const 1224)
+ (set_local $1
+ (select
+ (get_local $6)
+ (get_local $1)
+ (get_local $4)
+ )
)
+ (br $while-in)
)
)
- (call $qa)
- )
- (if
- (i32.ge_u
- (get_local $2)
- (tee_local $5
- (i32.add
- (get_local $2)
- (get_local $3)
+ (if
+ (i32.lt_u
+ (get_local $2)
+ (tee_local $1
+ (i32.load
+ (i32.const 1224)
+ )
)
)
+ (call $qa)
)
- (call $qa)
- )
- (set_local $0
- (i32.load offset=24
- (get_local $2)
- )
- )
- (block $do-once4
(if
- (i32.eq
- (tee_local $7
- (i32.load offset=12
+ (i32.ge_u
+ (get_local $2)
+ (tee_local $5
+ (i32.add
(get_local $2)
+ (get_local $3)
)
)
+ )
+ (call $qa)
+ )
+ (set_local $0
+ (i32.load offset=24
(get_local $2)
)
- (block
- (if
- (tee_local $16
- (i32.load
- (tee_local $9
- (i32.add
- (get_local $2)
- (i32.const 20)
- )
- )
- )
- )
- (block
- (set_local $14
- (get_local $16)
- )
- (set_local $4
- (get_local $9)
- )
- )
- (if
- (i32.eqz
- (tee_local $14
- (i32.load
- (tee_local $4
- (i32.add
- (get_local $2)
- (i32.const 16)
- )
- )
- )
- )
- )
- (block
- (set_local $23
- (i32.const 0)
- )
- (br $do-once4)
+ )
+ (block $do-once4
+ (if
+ (i32.eq
+ (tee_local $7
+ (i32.load offset=12
+ (get_local $2)
)
)
+ (get_local $2)
)
- (loop $while-in7
+ (block
(if
(tee_local $16
(i32.load
(tee_local $9
(i32.add
- (get_local $14)
+ (get_local $2)
(i32.const 20)
)
)
@@ -940,702 +900,744 @@
(set_local $4
(get_local $9)
)
- (br $while-in7)
+ )
+ (if
+ (i32.eqz
+ (tee_local $14
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ )
+ (block
+ (set_local $23
+ (i32.const 0)
+ )
+ (br $do-once4)
+ )
)
)
- (if
- (tee_local $16
- (i32.load
- (tee_local $9
- (i32.add
- (get_local $14)
- (i32.const 16)
+ (loop $while-in7
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $9
+ (i32.add
+ (get_local $14)
+ (i32.const 20)
+ )
)
)
)
+ (block
+ (set_local $14
+ (get_local $16)
+ )
+ (set_local $4
+ (get_local $9)
+ )
+ (br $while-in7)
+ )
)
- (block
- (set_local $14
- (get_local $16)
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $9
+ (i32.add
+ (get_local $14)
+ (i32.const 16)
+ )
+ )
+ )
)
- (set_local $4
- (get_local $9)
+ (block
+ (set_local $14
+ (get_local $16)
+ )
+ (set_local $4
+ (get_local $9)
+ )
+ (br $while-in7)
)
- (br $while-in7)
)
)
- )
- (if
- (i32.lt_u
- (get_local $4)
- (get_local $1)
- )
- (call $qa)
- (block
- (i32.store
+ (if
+ (i32.lt_u
(get_local $4)
- (i32.const 0)
- )
- (set_local $23
- (get_local $14)
+ (get_local $1)
)
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (tee_local $9
- (i32.load offset=8
- (get_local $2)
+ (call $qa)
+ (block
+ (i32.store
+ (get_local $4)
+ (i32.const 0)
+ )
+ (set_local $23
+ (get_local $14)
)
)
- (get_local $1)
)
- (call $qa)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $16
- (i32.add
- (get_local $9)
- (i32.const 12)
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $9
+ (i32.load offset=8
+ (get_local $2)
)
)
+ (get_local $1)
)
- (get_local $2)
+ (call $qa)
)
- (call $qa)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $4
- (i32.add
- (get_local $7)
- (i32.const 8)
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $16
+ (i32.add
+ (get_local $9)
+ (i32.const 12)
+ )
)
)
+ (get_local $2)
)
- (get_local $2)
+ (call $qa)
)
- (block
- (i32.store
- (get_local $16)
- (get_local $7)
- )
- (i32.store
- (get_local $4)
- (get_local $9)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (get_local $7)
+ (i32.const 8)
+ )
+ )
+ )
+ (get_local $2)
)
- (set_local $23
- (get_local $7)
+ (block
+ (i32.store
+ (get_local $16)
+ (get_local $7)
+ )
+ (i32.store
+ (get_local $4)
+ (get_local $9)
+ )
+ (set_local $23
+ (get_local $7)
+ )
)
+ (call $qa)
)
- (call $qa)
)
)
)
- )
- (block $do-once8
- (if
- (get_local $0)
- (block
- (if
- (i32.eq
- (get_local $2)
- (i32.load
- (tee_local $1
- (i32.add
- (i32.shl
- (tee_local $7
- (i32.load offset=28
- (get_local $2)
+ (block $do-once8
+ (if
+ (get_local $0)
+ (block
+ (if
+ (i32.eq
+ (get_local $2)
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (i32.shl
+ (tee_local $7
+ (i32.load offset=28
+ (get_local $2)
+ )
)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 1512)
)
- (i32.const 1512)
)
)
)
- )
- (block
- (i32.store
- (get_local $1)
- (get_local $23)
- )
- (if
- (i32.eqz
+ (block
+ (i32.store
+ (get_local $1)
(get_local $23)
)
- (block
- (i32.store
- (i32.const 1212)
- (i32.and
- (i32.load
- (i32.const 1212)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $7)
+ (if
+ (i32.eqz
+ (get_local $23)
+ )
+ (block
+ (i32.store
+ (i32.const 1212)
+ (i32.and
+ (i32.load
+ (i32.const 1212)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $7)
+ )
+ (i32.const -1)
)
- (i32.const -1)
)
)
+ (br $do-once8)
)
- (br $do-once8)
)
)
- )
- (block
- (if
- (i32.lt_u
- (get_local $0)
- (i32.load
- (i32.const 1224)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (i32.load
+ (i32.const 1224)
+ )
)
+ (call $qa)
)
- (call $qa)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $7
- (i32.add
- (get_local $0)
- (i32.const 16)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $7
+ (i32.add
+ (get_local $0)
+ (i32.const 16)
+ )
)
)
+ (get_local $2)
+ )
+ (i32.store
+ (get_local $7)
+ (get_local $23)
+ )
+ (i32.store offset=20
+ (get_local $0)
+ (get_local $23)
)
- (get_local $2)
- )
- (i32.store
- (get_local $7)
- (get_local $23)
- )
- (i32.store offset=20
- (get_local $0)
- (get_local $23)
)
- )
- (br_if $do-once8
- (i32.eqz
- (get_local $23)
+ (br_if $do-once8
+ (i32.eqz
+ (get_local $23)
+ )
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $23)
- (tee_local $7
- (i32.load
- (i32.const 1224)
+ (if
+ (i32.lt_u
+ (get_local $23)
+ (tee_local $7
+ (i32.load
+ (i32.const 1224)
+ )
)
)
+ (call $qa)
)
- (call $qa)
- )
- (i32.store offset=24
- (get_local $23)
- (get_local $0)
- )
- (if
- (tee_local $1
- (i32.load offset=16
- (get_local $2)
- )
+ (i32.store offset=24
+ (get_local $23)
+ (get_local $0)
)
(if
- (i32.lt_u
- (get_local $1)
- (get_local $7)
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $2)
+ )
)
- (call $qa)
- (block
- (i32.store offset=16
- (get_local $23)
+ (if
+ (i32.lt_u
(get_local $1)
+ (get_local $7)
)
- (i32.store offset=24
- (get_local $1)
- (get_local $23)
+ (call $qa)
+ (block
+ (i32.store offset=16
+ (get_local $23)
+ (get_local $1)
+ )
+ (i32.store offset=24
+ (get_local $1)
+ (get_local $23)
+ )
)
)
)
- )
- (if
- (tee_local $1
- (i32.load offset=20
- (get_local $2)
- )
- )
(if
- (i32.lt_u
- (get_local $1)
- (i32.load
- (i32.const 1224)
+ (tee_local $1
+ (i32.load offset=20
+ (get_local $2)
)
)
- (call $qa)
- (block
- (i32.store offset=20
- (get_local $23)
+ (if
+ (i32.lt_u
(get_local $1)
+ (i32.load
+ (i32.const 1224)
+ )
)
- (i32.store offset=24
- (get_local $1)
- (get_local $23)
+ (call $qa)
+ (block
+ (i32.store offset=20
+ (get_local $23)
+ (get_local $1)
+ )
+ (i32.store offset=24
+ (get_local $1)
+ (get_local $23)
+ )
)
)
)
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $6)
- (i32.const 16)
- )
- (block
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (tee_local $0
- (i32.add
- (get_local $6)
- (get_local $3)
+ (if
+ (i32.lt_u
+ (get_local $6)
+ (i32.const 16)
+ )
+ (block
+ (i32.store offset=4
+ (get_local $2)
+ (i32.or
+ (tee_local $0
+ (i32.add
+ (get_local $6)
+ (get_local $3)
+ )
)
+ (i32.const 3)
)
- (i32.const 3)
)
- )
- (i32.store
- (tee_local $1
- (i32.add
+ (i32.store
+ (tee_local $1
(i32.add
- (get_local $2)
- (get_local $0)
+ (i32.add
+ (get_local $2)
+ (get_local $0)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (i32.or
- (i32.load
- (get_local $1)
+ (i32.or
+ (i32.load
+ (get_local $1)
+ )
+ (i32.const 1)
)
- (i32.const 1)
)
)
- )
- (block
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $3)
- (i32.const 3)
- )
- )
- (i32.store offset=4
- (get_local $5)
- (i32.or
- (get_local $6)
- (i32.const 1)
+ (block
+ (i32.store offset=4
+ (get_local $2)
+ (i32.or
+ (get_local $3)
+ (i32.const 3)
+ )
)
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $5)
- (get_local $6)
+ (i32.or
+ (get_local $6)
+ (i32.const 1)
+ )
)
- (get_local $6)
- )
- (if
- (tee_local $1
- (i32.load
- (i32.const 1216)
+ (i32.store
+ (i32.add
+ (get_local $5)
+ (get_local $6)
)
+ (get_local $6)
)
- (block
- (set_local $0
+ (if
+ (tee_local $1
(i32.load
- (i32.const 1228)
+ (i32.const 1216)
)
)
- (set_local $1
- (i32.add
- (i32.shl
- (tee_local $7
- (i32.shr_u
- (get_local $1)
- (i32.const 3)
- )
- )
- (i32.const 3)
+ (block
+ (set_local $0
+ (i32.load
+ (i32.const 1228)
)
- (i32.const 1248)
)
- )
- (if
- (i32.and
- (tee_local $9
- (i32.load
- (i32.const 1208)
- )
- )
- (tee_local $4
+ (set_local $1
+ (i32.add
(i32.shl
- (i32.const 1)
- (get_local $7)
+ (tee_local $7
+ (i32.shr_u
+ (get_local $1)
+ (i32.const 3)
+ )
+ )
+ (i32.const 3)
)
+ (i32.const 1248)
)
)
(if
- (i32.lt_u
+ (i32.and
(tee_local $9
(i32.load
- (tee_local $4
- (i32.add
- (get_local $1)
- (i32.const 8)
+ (i32.const 1208)
+ )
+ )
+ (tee_local $4
+ (i32.shl
+ (i32.const 1)
+ (get_local $7)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $9
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (get_local $1)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 1224)
+ )
)
- (i32.load
- (i32.const 1224)
+ (call $qa)
+ (block
+ (set_local $41
+ (get_local $4)
+ )
+ (set_local $27
+ (get_local $9)
+ )
)
)
- (call $qa)
(block
+ (i32.store
+ (i32.const 1208)
+ (i32.or
+ (get_local $9)
+ (get_local $4)
+ )
+ )
(set_local $41
- (get_local $4)
+ (i32.add
+ (get_local $1)
+ (i32.const 8)
+ )
)
(set_local $27
- (get_local $9)
- )
- )
- )
- (block
- (i32.store
- (i32.const 1208)
- (i32.or
- (get_local $9)
- (get_local $4)
- )
- )
- (set_local $41
- (i32.add
(get_local $1)
- (i32.const 8)
)
)
- (set_local $27
- (get_local $1)
- )
)
- )
- (i32.store
- (get_local $41)
- (get_local $0)
- )
- (i32.store offset=12
- (get_local $27)
- (get_local $0)
- )
- (i32.store offset=8
- (get_local $0)
- (get_local $27)
- )
- (i32.store offset=12
- (get_local $0)
- (get_local $1)
+ (i32.store
+ (get_local $41)
+ (get_local $0)
+ )
+ (i32.store offset=12
+ (get_local $27)
+ (get_local $0)
+ )
+ (i32.store offset=8
+ (get_local $0)
+ (get_local $27)
+ )
+ (i32.store offset=12
+ (get_local $0)
+ (get_local $1)
+ )
)
)
+ (i32.store
+ (i32.const 1216)
+ (get_local $6)
+ )
+ (i32.store
+ (i32.const 1228)
+ (get_local $5)
+ )
)
- (i32.store
- (i32.const 1216)
- (get_local $6)
- )
- (i32.store
- (i32.const 1228)
- (get_local $5)
+ )
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (i32.add
+ (get_local $2)
+ (i32.const 8)
)
)
)
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.add
- (get_local $2)
- (i32.const 8)
- )
+ (set_local $5
+ (get_local $3)
)
)
- (set_local $5
- (get_local $3)
- )
)
+ (set_local $5
+ (get_local $3)
+ )
+ )
+ )
+ (if
+ (i32.gt_u
+ (get_local $0)
+ (i32.const -65)
)
(set_local $5
- (get_local $3)
+ (i32.const -1)
)
- )
- )
- (if
- (i32.gt_u
- (get_local $0)
- (i32.const -65)
- )
- (set_local $5
- (i32.const -1)
- )
- (block
- (set_local $0
- (i32.and
- (tee_local $1
- (i32.add
- (get_local $0)
- (i32.const 11)
+ (block
+ (set_local $0
+ (i32.and
+ (tee_local $1
+ (i32.add
+ (get_local $0)
+ (i32.const 11)
+ )
)
- )
- (i32.const -8)
- )
- )
- (if
- (tee_local $9
- (i32.load
- (i32.const 1212)
+ (i32.const -8)
)
)
- (block
- (set_local $4
- (i32.sub
- (i32.const 0)
- (get_local $0)
+ (if
+ (tee_local $9
+ (i32.load
+ (i32.const 1212)
)
)
- (block $label$break$a
- (if
- (tee_local $12
- (i32.load
- (i32.add
- (i32.shl
- (tee_local $27
- (if (result i32)
- (tee_local $7
- (i32.shr_u
- (get_local $1)
- (i32.const 8)
- )
- )
+ (block
+ (set_local $4
+ (i32.sub
+ (i32.const 0)
+ (get_local $0)
+ )
+ )
+ (block $label$break$a
+ (if
+ (tee_local $12
+ (i32.load
+ (i32.add
+ (i32.shl
+ (tee_local $27
(if (result i32)
- (i32.gt_u
- (get_local $0)
- (i32.const 16777215)
+ (tee_local $7
+ (i32.shr_u
+ (get_local $1)
+ (i32.const 8)
+ )
)
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $0)
- (i32.add
- (tee_local $12
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (if (result i32)
+ (i32.gt_u
+ (get_local $0)
+ (i32.const 16777215)
+ )
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $0)
+ (i32.add
+ (tee_local $12
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $7
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $16
- (i32.shl
- (get_local $7)
- (tee_local $1
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $7)
- (i32.const 1048320)
+ (i32.or
+ (tee_local $7
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $16
+ (i32.shl
+ (get_local $7)
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $7)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 520192)
)
- (i32.const 520192)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 4)
)
- (i32.const 4)
)
+ (get_local $1)
)
- (get_local $1)
- )
- (tee_local $16
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $14
- (i32.shl
- (get_local $16)
- (get_local $7)
+ (tee_local $16
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $14
+ (i32.shl
+ (get_local $16)
+ (get_local $7)
+ )
)
+ (i32.const 245760)
)
- (i32.const 245760)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $14)
- (get_local $16)
+ (i32.shr_u
+ (i32.shl
+ (get_local $14)
+ (get_local $16)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $12)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $12)
- (i32.const 1)
)
)
+ (i32.const 0)
)
- (i32.const 0)
)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 1512)
)
- (i32.const 1512)
)
)
- )
- (block
- (set_local $16
- (get_local $4)
- )
- (set_local $14
- (i32.const 0)
- )
- (set_local $1
- (i32.shl
- (get_local $0)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
+ (block
+ (set_local $16
+ (get_local $4)
+ )
+ (set_local $14
+ (i32.const 0)
+ )
+ (set_local $1
+ (i32.shl
+ (get_local $0)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $27)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
(get_local $27)
- (i32.const 1)
+ (i32.const 31)
)
)
- (i32.eq
- (get_local $27)
- (i32.const 31)
- )
)
)
- )
- (set_local $7
- (get_local $12)
- )
- (set_local $8
- (i32.const 0)
- )
- (loop $while-in14
- (if
- (i32.lt_u
- (tee_local $12
- (i32.sub
- (tee_local $3
- (i32.and
- (i32.load offset=4
- (get_local $7)
+ (set_local $7
+ (get_local $12)
+ )
+ (set_local $8
+ (i32.const 0)
+ )
+ (loop $while-in14
+ (if
+ (i32.lt_u
+ (tee_local $12
+ (i32.sub
+ (tee_local $3
+ (i32.and
+ (i32.load offset=4
+ (get_local $7)
+ )
+ (i32.const -8)
)
- (i32.const -8)
)
+ (get_local $0)
)
- (get_local $0)
)
+ (get_local $16)
)
- (get_local $16)
- )
- (if
- (i32.eq
- (get_local $3)
- (get_local $0)
- )
- (block
- (set_local $29
- (get_local $12)
- )
- (set_local $28
- (get_local $7)
- )
- (set_local $32
- (get_local $7)
- )
- (set_local $7
- (i32.const 90)
+ (if
+ (i32.eq
+ (get_local $3)
+ (get_local $0)
)
- (br $label$break$a)
- )
- (block
- (set_local $16
- (get_local $12)
+ (block
+ (set_local $29
+ (get_local $12)
+ )
+ (set_local $28
+ (get_local $7)
+ )
+ (set_local $32
+ (get_local $7)
+ )
+ (set_local $7
+ (i32.const 90)
+ )
+ (br $label$break$a)
)
- (set_local $8
- (get_local $7)
+ (block
+ (set_local $16
+ (get_local $12)
+ )
+ (set_local $8
+ (get_local $7)
+ )
)
)
)
- )
- (set_local $3
- (select
- (get_local $14)
- (tee_local $12
- (i32.load offset=20
- (get_local $7)
- )
- )
- (i32.or
- (i32.eqz
- (get_local $12)
+ (set_local $3
+ (select
+ (get_local $14)
+ (tee_local $12
+ (i32.load offset=20
+ (get_local $7)
+ )
)
- (i32.eq
- (get_local $12)
- (tee_local $7
- (i32.load
- (i32.add
+ (i32.or
+ (i32.eqz
+ (get_local $12)
+ )
+ (i32.eq
+ (get_local $12)
+ (tee_local $7
+ (i32.load
(i32.add
- (get_local $7)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $1)
- (i32.const 31)
+ (i32.add
+ (get_local $7)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $1)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
@@ -1643,419 +1645,376 @@
)
)
)
- )
- (if
- (tee_local $12
- (i32.eqz
- (get_local $7)
- )
- )
- (block
- (set_local $36
- (get_local $16)
- )
- (set_local $5
- (get_local $3)
- )
- (set_local $33
- (get_local $8)
- )
- (set_local $7
- (i32.const 86)
+ (if
+ (tee_local $12
+ (i32.eqz
+ (get_local $7)
+ )
)
- )
- (block
- (set_local $14
- (get_local $3)
+ (block
+ (set_local $36
+ (get_local $16)
+ )
+ (set_local $5
+ (get_local $3)
+ )
+ (set_local $33
+ (get_local $8)
+ )
+ (set_local $7
+ (i32.const 86)
+ )
)
- (set_local $1
- (i32.shl
- (get_local $1)
- (i32.xor
- (i32.and
- (get_local $12)
+ (block
+ (set_local $14
+ (get_local $3)
+ )
+ (set_local $1
+ (i32.shl
+ (get_local $1)
+ (i32.xor
+ (i32.and
+ (get_local $12)
+ (i32.const 1)
+ )
(i32.const 1)
)
- (i32.const 1)
)
)
+ (br $while-in14)
)
- (br $while-in14)
)
)
)
- )
- (block
- (set_local $36
- (get_local $4)
- )
- (set_local $5
- (i32.const 0)
- )
- (set_local $33
- (i32.const 0)
- )
- (set_local $7
- (i32.const 86)
+ (block
+ (set_local $36
+ (get_local $4)
+ )
+ (set_local $5
+ (i32.const 0)
+ )
+ (set_local $33
+ (i32.const 0)
+ )
+ (set_local $7
+ (i32.const 86)
+ )
)
)
)
- )
- (if
- (i32.eq
- (get_local $7)
- (i32.const 86)
- )
(if
- (tee_local $3
- (if (result i32)
- (i32.and
- (i32.eqz
- (get_local $5)
- )
- (i32.eqz
- (get_local $33)
- )
- )
- (block (result i32)
- (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 86)
+ )
+ (if
+ (tee_local $3
+ (if (result i32)
+ (i32.and
(i32.eqz
- (tee_local $4
- (i32.and
- (get_local $9)
- (i32.or
- (tee_local $12
- (i32.shl
- (i32.const 2)
- (get_local $27)
+ (get_local $5)
+ )
+ (i32.eqz
+ (get_local $33)
+ )
+ )
+ (block (result i32)
+ (if
+ (i32.eqz
+ (tee_local $4
+ (i32.and
+ (get_local $9)
+ (i32.or
+ (tee_local $12
+ (i32.shl
+ (i32.const 2)
+ (get_local $27)
+ )
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $12)
)
- )
- (i32.sub
- (i32.const 0)
- (get_local $12)
)
)
)
)
- )
- (block
- (set_local $5
- (get_local $0)
+ (block
+ (set_local $5
+ (get_local $0)
+ )
+ (br $do-once)
)
- (br $do-once)
)
- )
- (set_local $4
- (i32.and
- (i32.shr_u
- (tee_local $12
- (i32.add
- (i32.and
- (get_local $4)
- (i32.sub
- (i32.const 0)
+ (set_local $4
+ (i32.and
+ (i32.shr_u
+ (tee_local $12
+ (i32.add
+ (i32.and
(get_local $4)
+ (i32.sub
+ (i32.const 0)
+ (get_local $4)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
)
+ (i32.const 12)
)
- (i32.const 12)
+ (i32.const 16)
)
- (i32.const 16)
)
- )
- (i32.load
- (i32.add
- (i32.shl
- (i32.add
- (i32.or
+ (i32.load
+ (i32.add
+ (i32.shl
+ (i32.add
(i32.or
(i32.or
(i32.or
- (tee_local $12
+ (i32.or
+ (tee_local $12
+ (i32.and
+ (i32.shr_u
+ (tee_local $3
+ (i32.shr_u
+ (get_local $12)
+ (get_local $4)
+ )
+ )
+ (i32.const 5)
+ )
+ (i32.const 8)
+ )
+ )
+ (get_local $4)
+ )
+ (tee_local $3
(i32.and
(i32.shr_u
- (tee_local $3
+ (tee_local $5
(i32.shr_u
+ (get_local $3)
(get_local $12)
- (get_local $4)
)
)
- (i32.const 5)
+ (i32.const 2)
)
- (i32.const 8)
+ (i32.const 4)
)
)
- (get_local $4)
)
- (tee_local $3
+ (tee_local $5
(i32.and
(i32.shr_u
- (tee_local $5
+ (tee_local $8
(i32.shr_u
+ (get_local $5)
(get_local $3)
- (get_local $12)
)
)
- (i32.const 2)
+ (i32.const 1)
)
- (i32.const 4)
+ (i32.const 2)
)
)
)
- (tee_local $5
+ (tee_local $8
(i32.and
(i32.shr_u
- (tee_local $8
+ (tee_local $1
(i32.shr_u
+ (get_local $8)
(get_local $5)
- (get_local $3)
)
)
(i32.const 1)
)
- (i32.const 2)
- )
- )
- )
- (tee_local $8
- (i32.and
- (i32.shr_u
- (tee_local $1
- (i32.shr_u
- (get_local $8)
- (get_local $5)
- )
- )
(i32.const 1)
)
- (i32.const 1)
)
)
+ (i32.shr_u
+ (get_local $1)
+ (get_local $8)
+ )
)
- (i32.shr_u
- (get_local $1)
- (get_local $8)
- )
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 1512)
)
- (i32.const 1512)
)
)
+ (get_local $5)
)
- (get_local $5)
)
- )
- (block
- (set_local $29
- (get_local $36)
- )
- (set_local $28
- (get_local $3)
- )
- (set_local $32
- (get_local $33)
- )
- (set_local $7
- (i32.const 90)
- )
- )
- (block
- (set_local $18
- (get_local $36)
+ (block
+ (set_local $29
+ (get_local $36)
+ )
+ (set_local $28
+ (get_local $3)
+ )
+ (set_local $32
+ (get_local $33)
+ )
+ (set_local $7
+ (i32.const 90)
+ )
)
- (set_local $10
- (get_local $33)
+ (block
+ (set_local $18
+ (get_local $36)
+ )
+ (set_local $10
+ (get_local $33)
+ )
)
)
)
- )
- (if
- (i32.eq
- (get_local $7)
- (i32.const 90)
- )
- (loop $while-in16
- (set_local $7
- (i32.const 0)
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 90)
)
- (set_local $1
- (i32.lt_u
- (tee_local $8
- (i32.sub
- (i32.and
- (i32.load offset=4
- (get_local $28)
+ (loop $while-in16
+ (set_local $7
+ (i32.const 0)
+ )
+ (set_local $1
+ (i32.lt_u
+ (tee_local $8
+ (i32.sub
+ (i32.and
+ (i32.load offset=4
+ (get_local $28)
+ )
+ (i32.const -8)
)
- (i32.const -8)
+ (get_local $0)
)
- (get_local $0)
)
+ (get_local $29)
)
- (get_local $29)
- )
- )
- (set_local $5
- (select
- (get_local $8)
- (get_local $29)
- (get_local $1)
- )
- )
- (set_local $8
- (select
- (get_local $28)
- (get_local $32)
- (get_local $1)
)
- )
- (if
- (tee_local $1
- (i32.load offset=16
- (get_local $28)
- )
- )
- (block
- (set_local $29
- (get_local $5)
- )
- (set_local $28
- (get_local $1)
- )
- (set_local $32
+ (set_local $5
+ (select
(get_local $8)
+ (get_local $29)
+ (get_local $1)
)
- (br $while-in16)
)
- )
- (if
- (tee_local $28
- (i32.load offset=20
+ (set_local $8
+ (select
(get_local $28)
+ (get_local $32)
+ (get_local $1)
)
)
- (block
- (set_local $29
- (get_local $5)
+ (if
+ (tee_local $1
+ (i32.load offset=16
+ (get_local $28)
+ )
)
- (set_local $32
- (get_local $8)
+ (block
+ (set_local $29
+ (get_local $5)
+ )
+ (set_local $28
+ (get_local $1)
+ )
+ (set_local $32
+ (get_local $8)
+ )
+ (br $while-in16)
)
- (br $while-in16)
)
- (block
- (set_local $18
- (get_local $5)
+ (if
+ (tee_local $28
+ (i32.load offset=20
+ (get_local $28)
+ )
)
- (set_local $10
- (get_local $8)
+ (block
+ (set_local $29
+ (get_local $5)
+ )
+ (set_local $32
+ (get_local $8)
+ )
+ (br $while-in16)
+ )
+ (block
+ (set_local $18
+ (get_local $5)
+ )
+ (set_local $10
+ (get_local $8)
+ )
)
)
)
)
- )
- (if
- (get_local $10)
(if
- (i32.lt_u
- (get_local $18)
- (i32.sub
- (i32.load
- (i32.const 1216)
- )
- (get_local $0)
- )
- )
- (block
- (if
- (i32.lt_u
- (get_local $10)
- (tee_local $9
- (i32.load
- (i32.const 1224)
- )
+ (get_local $10)
+ (if
+ (i32.lt_u
+ (get_local $18)
+ (i32.sub
+ (i32.load
+ (i32.const 1216)
)
+ (get_local $0)
)
- (call $qa)
)
- (if
- (i32.ge_u
- (get_local $10)
- (tee_local $8
- (i32.add
- (get_local $10)
- (get_local $0)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $10)
+ (tee_local $9
+ (i32.load
+ (i32.const 1224)
+ )
)
)
+ (call $qa)
)
- (call $qa)
- )
- (set_local $5
- (i32.load offset=24
- (get_local $10)
- )
- )
- (block $do-once17
(if
- (i32.eq
- (tee_local $1
- (i32.load offset=12
+ (i32.ge_u
+ (get_local $10)
+ (tee_local $8
+ (i32.add
(get_local $10)
+ (get_local $0)
)
)
+ )
+ (call $qa)
+ )
+ (set_local $5
+ (i32.load offset=24
(get_local $10)
)
- (block
- (if
- (tee_local $4
- (i32.load
- (tee_local $3
- (i32.add
- (get_local $10)
- (i32.const 20)
- )
- )
- )
- )
- (block
- (set_local $14
- (get_local $4)
- )
- (set_local $1
- (get_local $3)
- )
- )
- (if
- (tee_local $14
- (i32.load
- (tee_local $12
- (i32.add
- (get_local $10)
- (i32.const 16)
- )
- )
- )
- )
- (set_local $1
- (get_local $12)
- )
- (block
- (set_local $22
- (i32.const 0)
- )
- (br $do-once17)
+ )
+ (block $do-once17
+ (if
+ (i32.eq
+ (tee_local $1
+ (i32.load offset=12
+ (get_local $10)
)
)
+ (get_local $10)
)
- (loop $while-in20
+ (block
(if
(tee_local $4
(i32.load
(tee_local $3
(i32.add
- (get_local $14)
+ (get_local $10)
(i32.const 20)
)
)
@@ -2068,698 +2027,615 @@
(set_local $1
(get_local $3)
)
- (br $while-in20)
+ )
+ (if
+ (tee_local $14
+ (i32.load
+ (tee_local $12
+ (i32.add
+ (get_local $10)
+ (i32.const 16)
+ )
+ )
+ )
+ )
+ (set_local $1
+ (get_local $12)
+ )
+ (block
+ (set_local $22
+ (i32.const 0)
+ )
+ (br $do-once17)
+ )
)
)
- (if
- (tee_local $4
- (i32.load
- (tee_local $3
- (i32.add
- (get_local $14)
- (i32.const 16)
+ (loop $while-in20
+ (if
+ (tee_local $4
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $14)
+ (i32.const 20)
+ )
)
)
)
+ (block
+ (set_local $14
+ (get_local $4)
+ )
+ (set_local $1
+ (get_local $3)
+ )
+ (br $while-in20)
+ )
)
- (block
- (set_local $14
- (get_local $4)
+ (if
+ (tee_local $4
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $14)
+ (i32.const 16)
+ )
+ )
+ )
)
- (set_local $1
- (get_local $3)
+ (block
+ (set_local $14
+ (get_local $4)
+ )
+ (set_local $1
+ (get_local $3)
+ )
+ (br $while-in20)
)
- (br $while-in20)
)
)
- )
- (if
- (i32.lt_u
- (get_local $1)
- (get_local $9)
- )
- (call $qa)
- (block
- (i32.store
+ (if
+ (i32.lt_u
(get_local $1)
- (i32.const 0)
- )
- (set_local $22
- (get_local $14)
+ (get_local $9)
)
- )
- )
- )
- (block
- (if
- (i32.lt_u
- (tee_local $3
- (i32.load offset=8
- (get_local $10)
+ (call $qa)
+ (block
+ (i32.store
+ (get_local $1)
+ (i32.const 0)
+ )
+ (set_local $22
+ (get_local $14)
)
)
- (get_local $9)
)
- (call $qa)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $4
- (i32.add
- (get_local $3)
- (i32.const 12)
+ (block
+ (if
+ (i32.lt_u
+ (tee_local $3
+ (i32.load offset=8
+ (get_local $10)
)
)
+ (get_local $9)
)
- (get_local $10)
+ (call $qa)
)
- (call $qa)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $12
- (i32.add
- (get_local $1)
- (i32.const 8)
+ (if
+ (i32.ne
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (get_local $3)
+ (i32.const 12)
+ )
)
)
+ (get_local $10)
)
- (get_local $10)
+ (call $qa)
)
- (block
- (i32.store
- (get_local $4)
- (get_local $1)
- )
- (i32.store
- (get_local $12)
- (get_local $3)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $12
+ (i32.add
+ (get_local $1)
+ (i32.const 8)
+ )
+ )
+ )
+ (get_local $10)
)
- (set_local $22
- (get_local $1)
+ (block
+ (i32.store
+ (get_local $4)
+ (get_local $1)
+ )
+ (i32.store
+ (get_local $12)
+ (get_local $3)
+ )
+ (set_local $22
+ (get_local $1)
+ )
)
+ (call $qa)
)
- (call $qa)
)
)
)
- )
- (block $do-once21
- (if
- (get_local $5)
- (block
- (if
- (i32.eq
- (get_local $10)
- (i32.load
- (tee_local $9
- (i32.add
- (i32.shl
- (tee_local $1
- (i32.load offset=28
- (get_local $10)
+ (block $do-once21
+ (if
+ (get_local $5)
+ (block
+ (if
+ (i32.eq
+ (get_local $10)
+ (i32.load
+ (tee_local $9
+ (i32.add
+ (i32.shl
+ (tee_local $1
+ (i32.load offset=28
+ (get_local $10)
+ )
)
+ (i32.const 2)
)
- (i32.const 2)
+ (i32.const 1512)
)
- (i32.const 1512)
)
)
)
- )
- (block
- (i32.store
- (get_local $9)
- (get_local $22)
- )
- (if
- (i32.eqz
+ (block
+ (i32.store
+ (get_local $9)
(get_local $22)
)
- (block
- (i32.store
- (i32.const 1212)
- (i32.and
- (i32.load
- (i32.const 1212)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $1)
+ (if
+ (i32.eqz
+ (get_local $22)
+ )
+ (block
+ (i32.store
+ (i32.const 1212)
+ (i32.and
+ (i32.load
+ (i32.const 1212)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $1)
+ )
+ (i32.const -1)
)
- (i32.const -1)
)
)
+ (br $do-once21)
)
- (br $do-once21)
)
)
- )
- (block
- (if
- (i32.lt_u
- (get_local $5)
- (i32.load
- (i32.const 1224)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $5)
+ (i32.load
+ (i32.const 1224)
+ )
)
+ (call $qa)
)
- (call $qa)
- )
- (if
- (i32.eq
- (i32.load
- (tee_local $1
- (i32.add
- (get_local $5)
- (i32.const 16)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $1
+ (i32.add
+ (get_local $5)
+ (i32.const 16)
+ )
)
)
+ (get_local $10)
+ )
+ (i32.store
+ (get_local $1)
+ (get_local $22)
+ )
+ (i32.store offset=20
+ (get_local $5)
+ (get_local $22)
)
- (get_local $10)
- )
- (i32.store
- (get_local $1)
- (get_local $22)
- )
- (i32.store offset=20
- (get_local $5)
- (get_local $22)
)
- )
- (br_if $do-once21
- (i32.eqz
- (get_local $22)
+ (br_if $do-once21
+ (i32.eqz
+ (get_local $22)
+ )
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $22)
- (tee_local $1
- (i32.load
- (i32.const 1224)
+ (if
+ (i32.lt_u
+ (get_local $22)
+ (tee_local $1
+ (i32.load
+ (i32.const 1224)
+ )
)
)
+ (call $qa)
)
- (call $qa)
- )
- (i32.store offset=24
- (get_local $22)
- (get_local $5)
- )
- (if
- (tee_local $9
- (i32.load offset=16
- (get_local $10)
- )
+ (i32.store offset=24
+ (get_local $22)
+ (get_local $5)
)
(if
- (i32.lt_u
- (get_local $9)
- (get_local $1)
+ (tee_local $9
+ (i32.load offset=16
+ (get_local $10)
+ )
)
- (call $qa)
- (block
- (i32.store offset=16
- (get_local $22)
+ (if
+ (i32.lt_u
(get_local $9)
+ (get_local $1)
)
- (i32.store offset=24
- (get_local $9)
- (get_local $22)
+ (call $qa)
+ (block
+ (i32.store offset=16
+ (get_local $22)
+ (get_local $9)
+ )
+ (i32.store offset=24
+ (get_local $9)
+ (get_local $22)
+ )
)
)
)
- )
- (if
- (tee_local $9
- (i32.load offset=20
- (get_local $10)
- )
- )
(if
- (i32.lt_u
- (get_local $9)
- (i32.load
- (i32.const 1224)
+ (tee_local $9
+ (i32.load offset=20
+ (get_local $10)
)
)
- (call $qa)
- (block
- (i32.store offset=20
- (get_local $22)
+ (if
+ (i32.lt_u
(get_local $9)
+ (i32.load
+ (i32.const 1224)
+ )
)
- (i32.store offset=24
- (get_local $9)
- (get_local $22)
+ (call $qa)
+ (block
+ (i32.store offset=20
+ (get_local $22)
+ (get_local $9)
+ )
+ (i32.store offset=24
+ (get_local $9)
+ (get_local $22)
+ )
)
)
)
)
)
)
- )
- (block $do-once25
- (if
- (i32.lt_u
- (get_local $18)
- (i32.const 16)
- )
- (block
- (i32.store offset=4
- (get_local $10)
- (i32.or
- (tee_local $5
- (i32.add
- (get_local $18)
- (get_local $0)
+ (block $do-once25
+ (if
+ (i32.lt_u
+ (get_local $18)
+ (i32.const 16)
+ )
+ (block
+ (i32.store offset=4
+ (get_local $10)
+ (i32.or
+ (tee_local $5
+ (i32.add
+ (get_local $18)
+ (get_local $0)
+ )
)
+ (i32.const 3)
)
- (i32.const 3)
)
- )
- (i32.store
- (tee_local $9
- (i32.add
+ (i32.store
+ (tee_local $9
(i32.add
- (get_local $10)
- (get_local $5)
+ (i32.add
+ (get_local $10)
+ (get_local $5)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (i32.or
- (i32.load
- (get_local $9)
+ (i32.or
+ (i32.load
+ (get_local $9)
+ )
+ (i32.const 1)
)
- (i32.const 1)
)
)
- )
- (block
- (i32.store offset=4
- (get_local $10)
- (i32.or
- (get_local $0)
- (i32.const 3)
- )
- )
- (i32.store offset=4
- (get_local $8)
- (i32.or
- (get_local $18)
- (i32.const 1)
+ (block
+ (i32.store offset=4
+ (get_local $10)
+ (i32.or
+ (get_local $0)
+ (i32.const 3)
+ )
)
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $8)
- (get_local $18)
+ (i32.or
+ (get_local $18)
+ (i32.const 1)
+ )
)
- (get_local $18)
- )
- (set_local $9
- (i32.shr_u
+ (i32.store
+ (i32.add
+ (get_local $8)
+ (get_local $18)
+ )
(get_local $18)
- (i32.const 3)
)
- )
- (if
- (i32.lt_u
- (get_local $18)
- (i32.const 256)
+ (set_local $9
+ (i32.shr_u
+ (get_local $18)
+ (i32.const 3)
+ )
)
- (block
- (set_local $5
- (i32.add
- (i32.shl
- (get_local $9)
- (i32.const 3)
- )
- (i32.const 1248)
- )
+ (if
+ (i32.lt_u
+ (get_local $18)
+ (i32.const 256)
)
- (if
- (i32.and
- (tee_local $1
- (i32.load
- (i32.const 1208)
- )
- )
- (tee_local $3
+ (block
+ (set_local $5
+ (i32.add
(i32.shl
- (i32.const 1)
(get_local $9)
+ (i32.const 3)
)
+ (i32.const 1248)
)
)
(if
- (i32.lt_u
+ (i32.and
(tee_local $1
(i32.load
- (tee_local $3
- (i32.add
- (get_local $5)
- (i32.const 8)
+ (i32.const 1208)
+ )
+ )
+ (tee_local $3
+ (i32.shl
+ (i32.const 1)
+ (get_local $9)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $1
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $5)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 1224)
+ )
)
- (i32.load
- (i32.const 1224)
+ (call $qa)
+ (block
+ (set_local $19
+ (get_local $3)
+ )
+ (set_local $6
+ (get_local $1)
+ )
)
)
- (call $qa)
(block
+ (i32.store
+ (i32.const 1208)
+ (i32.or
+ (get_local $1)
+ (get_local $3)
+ )
+ )
(set_local $19
- (get_local $3)
+ (i32.add
+ (get_local $5)
+ (i32.const 8)
+ )
)
(set_local $6
- (get_local $1)
- )
- )
- )
- (block
- (i32.store
- (i32.const 1208)
- (i32.or
- (get_local $1)
- (get_local $3)
- )
- )
- (set_local $19
- (i32.add
(get_local $5)
- (i32.const 8)
)
)
- (set_local $6
- (get_local $5)
- )
)
+ (i32.store
+ (get_local $19)
+ (get_local $8)
+ )
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $8)
+ )
+ (i32.store offset=8
+ (get_local $8)
+ (get_local $6)
+ )
+ (i32.store offset=12
+ (get_local $8)
+ (get_local $5)
+ )
+ (br $do-once25)
)
- (i32.store
- (get_local $19)
- (get_local $8)
- )
- (i32.store offset=12
- (get_local $6)
- (get_local $8)
- )
- (i32.store offset=8
- (get_local $8)
- (get_local $6)
- )
- (i32.store offset=12
- (get_local $8)
- (get_local $5)
- )
- (br $do-once25)
)
- )
- (set_local $12
- (i32.add
- (i32.shl
- (tee_local $16
- (if (result i32)
- (tee_local $5
- (i32.shr_u
- (get_local $18)
- (i32.const 8)
- )
- )
+ (set_local $12
+ (i32.add
+ (i32.shl
+ (tee_local $16
(if (result i32)
- (i32.gt_u
- (get_local $18)
- (i32.const 16777215)
+ (tee_local $5
+ (i32.shr_u
+ (get_local $18)
+ (i32.const 8)
+ )
)
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $18)
- (i32.add
- (tee_local $12
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (if (result i32)
+ (i32.gt_u
+ (get_local $18)
+ (i32.const 16777215)
+ )
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $18)
+ (i32.add
+ (tee_local $12
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $5
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $3
- (i32.shl
- (get_local $5)
- (tee_local $1
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $5)
- (i32.const 1048320)
+ (i32.or
+ (tee_local $5
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $3
+ (i32.shl
+ (get_local $5)
+ (tee_local $1
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $5)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 520192)
)
- (i32.const 520192)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 4)
)
- (i32.const 4)
)
+ (get_local $1)
)
- (get_local $1)
- )
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $9
- (i32.shl
- (get_local $3)
- (get_local $5)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $9
+ (i32.shl
+ (get_local $3)
+ (get_local $5)
+ )
)
+ (i32.const 245760)
)
- (i32.const 245760)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $9)
- (get_local $3)
+ (i32.shr_u
+ (i32.shl
+ (get_local $9)
+ (get_local $3)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $12)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $12)
- (i32.const 1)
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- )
- (i32.const 2)
- )
- (i32.const 1512)
- )
- )
- (i32.store offset=28
- (get_local $8)
- (get_local $16)
- )
- (i32.store offset=4
- (tee_local $3
- (i32.add
- (get_local $8)
- (i32.const 16)
- )
- )
- (i32.const 0)
- )
- (i32.store
- (get_local $3)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $3
- (i32.load
- (i32.const 1212)
- )
- )
- (tee_local $9
- (i32.shl
- (i32.const 1)
- (get_local $16)
)
+ (i32.const 2)
)
+ (i32.const 1512)
)
)
- (block
- (i32.store
- (i32.const 1212)
- (i32.or
- (get_local $3)
- (get_local $9)
- )
- )
- (i32.store
- (get_local $12)
- (get_local $8)
- )
- (i32.store offset=24
- (get_local $8)
- (get_local $12)
- )
- (i32.store offset=12
- (get_local $8)
- (get_local $8)
- )
- (i32.store offset=8
- (get_local $8)
- (get_local $8)
- )
- (br $do-once25)
+ (i32.store offset=28
+ (get_local $8)
+ (get_local $16)
)
- )
- (set_local $9
- (i32.shl
- (get_local $18)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
- (get_local $16)
- (i32.const 1)
- )
- )
- (i32.eq
- (get_local $16)
- (i32.const 31)
+ (i32.store offset=4
+ (tee_local $3
+ (i32.add
+ (get_local $8)
+ (i32.const 16)
)
)
+ (i32.const 0)
)
- )
- (set_local $3
- (i32.load
- (get_local $12)
+ (i32.store
+ (get_local $3)
+ (i32.const 0)
)
- )
- (loop $while-in28
- (block $while-out27
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $3)
- )
- (i32.const -8)
- )
- (get_local $18)
- )
- (block
- (set_local $17
- (get_local $3)
- )
- (set_local $7
- (i32.const 148)
- )
- (br $while-out27)
- )
- )
- (if
- (tee_local $1
- (i32.load
- (tee_local $12
- (i32.add
- (i32.add
- (get_local $3)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $9)
- (i32.const 31)
- )
- (i32.const 2)
- )
- )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $3
+ (i32.load
+ (i32.const 1212)
)
)
- )
- (block
- (set_local $9
+ (tee_local $9
(i32.shl
- (get_local $9)
(i32.const 1)
+ (get_local $16)
)
)
- (set_local $3
- (get_local $1)
- )
- (br $while-in28)
)
- (block
- (set_local $21
- (get_local $12)
- )
- (set_local $15
+ )
+ (block
+ (i32.store
+ (i32.const 1212)
+ (i32.or
(get_local $3)
+ (get_local $9)
)
- (set_local $7
- (i32.const 145)
- )
- )
- )
- )
- )
- (if
- (i32.eq
- (get_local $7)
- (i32.const 145)
- )
- (if
- (i32.lt_u
- (get_local $21)
- (i32.load
- (i32.const 1224)
)
- )
- (call $qa)
- (block
(i32.store
- (get_local $21)
+ (get_local $12)
(get_local $8)
)
(i32.store offset=24
(get_local $8)
- (get_local $15)
+ (get_local $12)
)
(i32.store offset=12
(get_local $8)
@@ -2769,375 +2645,449 @@
(get_local $8)
(get_local $8)
)
+ (br $do-once25)
)
)
- (if
- (i32.eq
- (get_local $7)
- (i32.const 148)
+ (set_local $9
+ (i32.shl
+ (get_local $18)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $16)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
+ (get_local $16)
+ (i32.const 31)
+ )
+ )
)
- (if
- (i32.and
- (i32.ge_u
- (tee_local $9
- (i32.load
- (tee_local $3
+ )
+ (set_local $3
+ (i32.load
+ (get_local $12)
+ )
+ )
+ (loop $while-in28
+ (block $while-out27
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $3)
+ )
+ (i32.const -8)
+ )
+ (get_local $18)
+ )
+ (block
+ (set_local $17
+ (get_local $3)
+ )
+ (set_local $7
+ (i32.const 148)
+ )
+ (br $while-out27)
+ )
+ )
+ (if
+ (tee_local $1
+ (i32.load
+ (tee_local $12
+ (i32.add
(i32.add
- (get_local $17)
- (i32.const 8)
+ (get_local $3)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $9)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
)
)
)
- (tee_local $1
- (i32.load
- (i32.const 1224)
+ )
+ (block
+ (set_local $9
+ (i32.shl
+ (get_local $9)
+ (i32.const 1)
)
)
+ (set_local $3
+ (get_local $1)
+ )
+ (br $while-in28)
)
- (i32.ge_u
- (get_local $17)
- (get_local $1)
+ (block
+ (set_local $21
+ (get_local $12)
+ )
+ (set_local $15
+ (get_local $3)
+ )
+ (set_local $7
+ (i32.const 145)
+ )
)
)
- (block
- (i32.store offset=12
- (get_local $9)
- (get_local $8)
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 145)
+ )
+ (if
+ (i32.lt_u
+ (get_local $21)
+ (i32.load
+ (i32.const 1224)
)
+ )
+ (call $qa)
+ (block
(i32.store
- (get_local $3)
+ (get_local $21)
(get_local $8)
)
- (i32.store offset=8
+ (i32.store offset=24
(get_local $8)
- (get_local $9)
+ (get_local $15)
)
(i32.store offset=12
(get_local $8)
- (get_local $17)
+ (get_local $8)
)
- (i32.store offset=24
+ (i32.store offset=8
+ (get_local $8)
(get_local $8)
- (i32.const 0)
)
)
- (call $qa)
+ )
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 148)
+ )
+ (if
+ (i32.and
+ (i32.ge_u
+ (tee_local $9
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $17)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (tee_local $1
+ (i32.load
+ (i32.const 1224)
+ )
+ )
+ )
+ (i32.ge_u
+ (get_local $17)
+ (get_local $1)
+ )
+ )
+ (block
+ (i32.store offset=12
+ (get_local $9)
+ (get_local $8)
+ )
+ (i32.store
+ (get_local $3)
+ (get_local $8)
+ )
+ (i32.store offset=8
+ (get_local $8)
+ (get_local $9)
+ )
+ (i32.store offset=12
+ (get_local $8)
+ (get_local $17)
+ )
+ (i32.store offset=24
+ (get_local $8)
+ (i32.const 0)
+ )
+ )
+ (call $qa)
+ )
)
)
)
)
)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.add
- (get_local $10)
- (i32.const 8)
+ (set_global $r
+ (get_local $25)
)
+ (return
+ (i32.add
+ (get_local $10)
+ (i32.const 8)
+ )
+ )
+ )
+ (set_local $5
+ (get_local $0)
)
)
(set_local $5
(get_local $0)
)
)
- (set_local $5
- (get_local $0)
- )
)
- )
- (set_local $5
- (get_local $0)
+ (set_local $5
+ (get_local $0)
+ )
)
)
)
)
)
- )
- (if
- (i32.ge_u
- (tee_local $10
- (i32.load
- (i32.const 1216)
- )
- )
- (get_local $5)
- )
- (block
- (set_local $15
- (i32.load
- (i32.const 1228)
+ (if
+ (i32.ge_u
+ (tee_local $10
+ (i32.load
+ (i32.const 1216)
+ )
)
+ (get_local $5)
)
- (if
- (i32.gt_u
- (tee_local $17
- (i32.sub
- (get_local $10)
- (get_local $5)
- )
+ (block
+ (set_local $15
+ (i32.load
+ (i32.const 1228)
)
- (i32.const 15)
)
- (block
- (i32.store
- (i32.const 1228)
- (tee_local $21
- (i32.add
- (get_local $15)
+ (if
+ (i32.gt_u
+ (tee_local $17
+ (i32.sub
+ (get_local $10)
(get_local $5)
)
)
+ (i32.const 15)
)
- (i32.store
- (i32.const 1216)
- (get_local $17)
- )
- (i32.store offset=4
- (get_local $21)
- (i32.or
+ (block
+ (i32.store
+ (i32.const 1228)
+ (tee_local $21
+ (i32.add
+ (get_local $15)
+ (get_local $5)
+ )
+ )
+ )
+ (i32.store
+ (i32.const 1216)
(get_local $17)
- (i32.const 1)
)
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $21)
+ (i32.or
+ (get_local $17)
+ (i32.const 1)
+ )
+ )
+ (i32.store
+ (i32.add
+ (get_local $21)
+ (get_local $17)
+ )
(get_local $17)
)
- (get_local $17)
- )
- (i32.store offset=4
- (get_local $15)
- (i32.or
- (get_local $5)
- (i32.const 3)
+ (i32.store offset=4
+ (get_local $15)
+ (i32.or
+ (get_local $5)
+ (i32.const 3)
+ )
)
)
- )
- (block
- (i32.store
- (i32.const 1216)
- (i32.const 0)
- )
- (i32.store
- (i32.const 1228)
- (i32.const 0)
- )
- (i32.store offset=4
- (get_local $15)
- (i32.or
- (get_local $10)
- (i32.const 3)
+ (block
+ (i32.store
+ (i32.const 1216)
+ (i32.const 0)
)
- )
- (i32.store
- (tee_local $17
- (i32.add
+ (i32.store
+ (i32.const 1228)
+ (i32.const 0)
+ )
+ (i32.store offset=4
+ (get_local $15)
+ (i32.or
+ (get_local $10)
+ (i32.const 3)
+ )
+ )
+ (i32.store
+ (tee_local $17
(i32.add
- (get_local $15)
- (get_local $10)
+ (i32.add
+ (get_local $15)
+ (get_local $10)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
- )
- (i32.or
- (i32.load
- (get_local $17)
+ (i32.or
+ (i32.load
+ (get_local $17)
+ )
+ (i32.const 1)
)
- (i32.const 1)
)
)
)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.add
- (get_local $15)
- (i32.const 8)
- )
+ (br $folding-inner0)
)
)
- )
- (if
- (i32.gt_u
- (tee_local $15
- (i32.load
- (i32.const 1220)
+ (if
+ (i32.gt_u
+ (tee_local $15
+ (i32.load
+ (i32.const 1220)
+ )
)
+ (get_local $5)
)
- (get_local $5)
- )
- (block
- (i32.store
- (i32.const 1220)
- (tee_local $17
- (i32.sub
- (get_local $15)
- (get_local $5)
+ (block
+ (i32.store
+ (i32.const 1220)
+ (tee_local $17
+ (i32.sub
+ (get_local $15)
+ (get_local $5)
+ )
)
)
- )
- (i32.store
- (i32.const 1232)
- (tee_local $10
- (i32.add
- (tee_local $15
- (i32.load
- (i32.const 1232)
+ (i32.store
+ (i32.const 1232)
+ (tee_local $10
+ (i32.add
+ (tee_local $15
+ (i32.load
+ (i32.const 1232)
+ )
)
+ (get_local $5)
)
- (get_local $5)
)
)
- )
- (i32.store offset=4
- (get_local $10)
- (i32.or
- (get_local $17)
- (i32.const 1)
- )
- )
- (i32.store offset=4
- (get_local $15)
- (i32.or
- (get_local $5)
- (i32.const 3)
+ (i32.store offset=4
+ (get_local $10)
+ (i32.or
+ (get_local $17)
+ (i32.const 1)
+ )
)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.add
+ (i32.store offset=4
(get_local $15)
- (i32.const 8)
+ (i32.or
+ (get_local $5)
+ (i32.const 3)
+ )
)
+ (br $folding-inner0)
)
)
- )
- (if
- (i32.eqz
- (i32.load
- (i32.const 1680)
- )
- )
- (block
- (i32.store
- (i32.const 1688)
- (i32.const 4096)
- )
- (i32.store
- (i32.const 1684)
- (i32.const 4096)
- )
- (i32.store
- (i32.const 1692)
- (i32.const -1)
- )
- (i32.store
- (i32.const 1696)
- (i32.const -1)
- )
- (i32.store
- (i32.const 1700)
- (i32.const 0)
- )
- (i32.store
- (i32.const 1652)
- (i32.const 0)
- )
- (i32.store
- (get_local $13)
- (tee_local $15
- (i32.xor
- (i32.and
- (get_local $13)
- (i32.const -16)
- )
- (i32.const 1431655768)
- )
+ (if
+ (i32.eqz
+ (i32.load
+ (i32.const 1680)
)
)
- (i32.store
- (i32.const 1680)
- (get_local $15)
- )
- )
- )
- (set_local $15
- (i32.add
- (get_local $5)
- (i32.const 48)
- )
- )
- (if
- (i32.le_u
- (tee_local $13
- (i32.and
- (tee_local $10
- (i32.add
- (tee_local $13
- (i32.load
- (i32.const 1688)
- )
- )
- (tee_local $17
- (i32.add
- (get_local $5)
- (i32.const 47)
- )
+ (block
+ (i32.store
+ (i32.const 1688)
+ (i32.const 4096)
+ )
+ (i32.store
+ (i32.const 1684)
+ (i32.const 4096)
+ )
+ (i32.store
+ (i32.const 1692)
+ (i32.const -1)
+ )
+ (i32.store
+ (i32.const 1696)
+ (i32.const -1)
+ )
+ (i32.store
+ (i32.const 1700)
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 1652)
+ (i32.const 0)
+ )
+ (i32.store
+ (get_local $13)
+ (tee_local $15
+ (i32.xor
+ (i32.and
+ (get_local $13)
+ (i32.const -16)
)
- )
- )
- (tee_local $21
- (i32.sub
- (i32.const 0)
- (get_local $13)
+ (i32.const 1431655768)
)
)
)
- )
- (get_local $5)
- )
- (block
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.const 0)
+ (i32.store
+ (i32.const 1680)
+ (get_local $15)
+ )
)
)
- )
- (if
- (tee_local $18
- (i32.load
- (i32.const 1648)
+ (set_local $15
+ (i32.add
+ (get_local $5)
+ (i32.const 48)
)
)
(if
- (i32.or
- (i32.le_u
- (tee_local $6
- (i32.add
- (tee_local $16
- (i32.load
- (i32.const 1640)
+ (i32.le_u
+ (tee_local $13
+ (i32.and
+ (tee_local $10
+ (i32.add
+ (tee_local $13
+ (i32.load
+ (i32.const 1688)
+ )
+ )
+ (tee_local $17
+ (i32.add
+ (get_local $5)
+ (i32.const 47)
+ )
)
)
- (get_local $13)
+ )
+ (tee_local $21
+ (i32.sub
+ (i32.const 0)
+ (get_local $13)
+ )
)
)
- (get_local $16)
- )
- (i32.gt_u
- (get_local $6)
- (get_local $18)
)
+ (get_local $5)
)
(block
(set_global $r
@@ -3148,270 +3098,306 @@
)
)
)
- )
- (if
- (i32.eq
- (tee_local $7
- (block $label$break$b (result i32)
- (if (result i32)
- (i32.and
- (i32.load
- (i32.const 1652)
+ (if
+ (tee_local $18
+ (i32.load
+ (i32.const 1648)
+ )
+ )
+ (if
+ (i32.or
+ (i32.le_u
+ (tee_local $6
+ (i32.add
+ (tee_local $16
+ (i32.load
+ (i32.const 1640)
+ )
+ )
+ (get_local $13)
)
- (i32.const 4)
)
- (i32.const 188)
- (block (result i32)
- (block $label$break$c
- (if
- (tee_local $18
- (i32.load
- (i32.const 1232)
- )
- )
- (block
- (set_local $6
- (i32.const 1656)
+ (get_local $16)
+ )
+ (i32.gt_u
+ (get_local $6)
+ (get_local $18)
+ )
+ )
+ (block
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (i32.const 0)
+ )
+ )
+ )
+ )
+ (if
+ (i32.eq
+ (tee_local $7
+ (block $label$break$b (result i32)
+ (if (result i32)
+ (i32.and
+ (i32.load
+ (i32.const 1652)
+ )
+ (i32.const 4)
+ )
+ (i32.const 188)
+ (block (result i32)
+ (block $label$break$c
+ (if
+ (tee_local $18
+ (i32.load
+ (i32.const 1232)
+ )
)
- (loop $while-in32
- (block $while-out31
- (if
- (i32.le_u
- (tee_local $16
- (i32.load
- (get_local $6)
- )
- )
- (get_local $18)
- )
+ (block
+ (set_local $6
+ (i32.const 1656)
+ )
+ (loop $while-in32
+ (block $while-out31
(if
- (i32.gt_u
- (i32.add
- (get_local $16)
+ (i32.le_u
+ (tee_local $16
(i32.load
- (tee_local $19
- (i32.add
- (get_local $6)
- (i32.const 4)
- )
- )
+ (get_local $6)
)
)
(get_local $18)
)
- (block
- (set_local $0
- (get_local $6)
+ (if
+ (i32.gt_u
+ (i32.add
+ (get_local $16)
+ (i32.load
+ (tee_local $19
+ (i32.add
+ (get_local $6)
+ (i32.const 4)
+ )
+ )
+ )
+ )
+ (get_local $18)
)
- (set_local $4
- (get_local $19)
+ (block
+ (set_local $0
+ (get_local $6)
+ )
+ (set_local $4
+ (get_local $19)
+ )
+ (br $while-out31)
)
- (br $while-out31)
)
)
- )
- (br_if $while-in32
- (tee_local $6
- (i32.load offset=8
- (get_local $6)
+ (br_if $while-in32
+ (tee_local $6
+ (i32.load offset=8
+ (get_local $6)
+ )
)
)
+ (set_local $7
+ (i32.const 171)
+ )
+ (br $label$break$c)
)
- (set_local $7
- (i32.const 171)
- )
- (br $label$break$c)
)
- )
- (if
- (i32.lt_u
- (tee_local $6
- (i32.and
- (i32.sub
- (get_local $10)
- (i32.load
- (i32.const 1220)
+ (if
+ (i32.lt_u
+ (tee_local $6
+ (i32.and
+ (i32.sub
+ (get_local $10)
+ (i32.load
+ (i32.const 1220)
+ )
)
+ (get_local $21)
)
- (get_local $21)
)
+ (i32.const 2147483647)
)
- (i32.const 2147483647)
- )
- (if
- (i32.eq
- (tee_local $19
- (call $ta
- (get_local $6)
+ (if
+ (i32.eq
+ (tee_local $19
+ (call $ta
+ (get_local $6)
+ )
+ )
+ (i32.add
+ (i32.load
+ (get_local $0)
+ )
+ (i32.load
+ (get_local $4)
+ )
)
)
- (i32.add
- (i32.load
- (get_local $0)
+ (if
+ (i32.ne
+ (get_local $19)
+ (i32.const -1)
)
- (i32.load
- (get_local $4)
+ (block
+ (set_local $20
+ (get_local $19)
+ )
+ (set_local $26
+ (get_local $6)
+ )
+ (br $label$break$b
+ (i32.const 191)
+ )
)
)
- )
- (if
- (i32.ne
- (get_local $19)
- (i32.const -1)
- )
(block
- (set_local $20
+ (set_local $11
(get_local $19)
)
- (set_local $26
+ (set_local $2
(get_local $6)
)
- (br $label$break$b
- (i32.const 191)
+ (set_local $7
+ (i32.const 181)
)
)
)
- (block
- (set_local $11
- (get_local $19)
- )
- (set_local $2
- (get_local $6)
- )
- (set_local $7
- (i32.const 181)
- )
- )
)
)
- )
- (set_local $7
- (i32.const 171)
+ (set_local $7
+ (i32.const 171)
+ )
)
)
- )
- (block $do-once33
- (if
- (i32.eq
- (get_local $7)
- (i32.const 171)
- )
+ (block $do-once33
(if
- (i32.ne
- (tee_local $18
- (call $ta
- (i32.const 0)
+ (i32.eq
+ (get_local $7)
+ (i32.const 171)
+ )
+ (if
+ (i32.ne
+ (tee_local $18
+ (call $ta
+ (i32.const 0)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
- )
- (block
- (set_local $3
- (if (result i32)
- (i32.and
- (tee_local $19
- (i32.add
- (tee_local $6
- (i32.load
- (i32.const 1684)
+ (block
+ (set_local $3
+ (if (result i32)
+ (i32.and
+ (tee_local $19
+ (i32.add
+ (tee_local $6
+ (i32.load
+ (i32.const 1684)
+ )
)
+ (i32.const -1)
)
- (i32.const -1)
+ )
+ (tee_local $0
+ (get_local $18)
)
)
- (tee_local $0
- (get_local $18)
- )
- )
- (i32.add
- (i32.sub
- (get_local $13)
- (get_local $0)
- )
- (i32.and
- (i32.add
- (get_local $19)
+ (i32.add
+ (i32.sub
+ (get_local $13)
(get_local $0)
)
- (i32.sub
- (i32.const 0)
- (get_local $6)
+ (i32.and
+ (i32.add
+ (get_local $19)
+ (get_local $0)
+ )
+ (i32.sub
+ (i32.const 0)
+ (get_local $6)
+ )
)
)
+ (get_local $13)
)
- (get_local $13)
)
- )
- (set_local $0
- (i32.add
- (tee_local $6
- (i32.load
- (i32.const 1640)
+ (set_local $0
+ (i32.add
+ (tee_local $6
+ (i32.load
+ (i32.const 1640)
+ )
)
- )
- (get_local $3)
- )
- )
- (if
- (i32.and
- (i32.gt_u
(get_local $3)
- (get_local $5)
- )
- (i32.lt_u
- (get_local $3)
- (i32.const 2147483647)
)
)
- (block
- (if
- (tee_local $19
- (i32.load
- (i32.const 1648)
- )
+ (if
+ (i32.and
+ (i32.gt_u
+ (get_local $3)
+ (get_local $5)
)
- (br_if $do-once33
- (i32.or
- (i32.le_u
- (get_local $0)
- (get_local $6)
- )
- (i32.gt_u
- (get_local $0)
- (get_local $19)
- )
- )
+ (i32.lt_u
+ (get_local $3)
+ (i32.const 2147483647)
)
)
- (if
- (i32.eq
+ (block
+ (if
(tee_local $19
- (call $ta
- (get_local $3)
+ (i32.load
+ (i32.const 1648)
)
)
- (get_local $18)
- )
- (block
- (set_local $20
- (get_local $18)
- )
- (set_local $26
- (get_local $3)
- )
- (br $label$break$b
- (i32.const 191)
+ (br_if $do-once33
+ (i32.or
+ (i32.le_u
+ (get_local $0)
+ (get_local $6)
+ )
+ (i32.gt_u
+ (get_local $0)
+ (get_local $19)
+ )
+ )
)
)
- (block
- (set_local $11
- (get_local $19)
+ (if
+ (i32.eq
+ (tee_local $19
+ (call $ta
+ (get_local $3)
+ )
+ )
+ (get_local $18)
)
- (set_local $2
- (get_local $3)
+ (block
+ (set_local $20
+ (get_local $18)
+ )
+ (set_local $26
+ (get_local $3)
+ )
+ (br $label$break$b
+ (i32.const 191)
+ )
)
- (set_local $7
- (i32.const 181)
+ (block
+ (set_local $11
+ (get_local $19)
+ )
+ (set_local $2
+ (get_local $3)
+ )
+ (set_local $7
+ (i32.const 181)
+ )
)
)
)
@@ -3420,1058 +3406,1084 @@
)
)
)
- )
- (block $label$break$d
- (if
- (i32.eq
- (get_local $7)
- (i32.const 181)
- )
- (block
- (set_local $19
- (i32.sub
- (i32.const 0)
- (get_local $2)
- )
+ (block $label$break$d
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 181)
)
- (if
- (i32.and
- (i32.gt_u
- (get_local $15)
+ (block
+ (set_local $19
+ (i32.sub
+ (i32.const 0)
(get_local $2)
)
+ )
+ (if
(i32.and
- (i32.lt_u
+ (i32.gt_u
+ (get_local $15)
(get_local $2)
- (i32.const 2147483647)
)
- (i32.ne
- (get_local $11)
- (i32.const -1)
+ (i32.and
+ (i32.lt_u
+ (get_local $2)
+ (i32.const 2147483647)
+ )
+ (i32.ne
+ (get_local $11)
+ (i32.const -1)
+ )
)
)
- )
- (if
- (i32.lt_u
- (tee_local $0
- (i32.and
- (i32.add
- (i32.sub
- (get_local $17)
- (get_local $2)
- )
- (tee_local $18
- (i32.load
- (i32.const 1688)
+ (if
+ (i32.lt_u
+ (tee_local $0
+ (i32.and
+ (i32.add
+ (i32.sub
+ (get_local $17)
+ (get_local $2)
+ )
+ (tee_local $18
+ (i32.load
+ (i32.const 1688)
+ )
)
)
+ (i32.sub
+ (i32.const 0)
+ (get_local $18)
+ )
)
- (i32.sub
- (i32.const 0)
- (get_local $18)
- )
- )
- )
- (i32.const 2147483647)
- )
- (if
- (i32.eq
- (call $ta
- (get_local $0)
)
- (i32.const -1)
+ (i32.const 2147483647)
)
- (block
- (drop
+ (if
+ (i32.eq
(call $ta
- (get_local $19)
+ (get_local $0)
+ )
+ (i32.const -1)
+ )
+ (block
+ (drop
+ (call $ta
+ (get_local $19)
+ )
+ )
+ (br $label$break$d)
+ )
+ (set_local $1
+ (i32.add
+ (get_local $0)
+ (get_local $2)
)
)
- (br $label$break$d)
)
(set_local $1
- (i32.add
- (get_local $0)
- (get_local $2)
- )
+ (get_local $2)
)
)
(set_local $1
(get_local $2)
)
)
- (set_local $1
- (get_local $2)
- )
- )
- (if
- (i32.ne
- (get_local $11)
- (i32.const -1)
- )
- (block
- (set_local $20
+ (if
+ (i32.ne
(get_local $11)
+ (i32.const -1)
)
- (set_local $26
- (get_local $1)
- )
- (br $label$break$b
- (i32.const 191)
+ (block
+ (set_local $20
+ (get_local $11)
+ )
+ (set_local $26
+ (get_local $1)
+ )
+ (br $label$break$b
+ (i32.const 191)
+ )
)
)
)
)
)
- )
- (i32.store
- (i32.const 1652)
- (i32.or
- (i32.load
- (i32.const 1652)
+ (i32.store
+ (i32.const 1652)
+ (i32.or
+ (i32.load
+ (i32.const 1652)
+ )
+ (i32.const 4)
)
- (i32.const 4)
)
+ (i32.const 188)
)
- (i32.const 188)
)
)
)
- )
- (i32.const 188)
- )
- (if
- (i32.lt_u
- (get_local $13)
- (i32.const 2147483647)
+ (i32.const 188)
)
(if
- (i32.and
- (i32.lt_u
- (tee_local $1
- (call $ta
- (get_local $13)
+ (i32.lt_u
+ (get_local $13)
+ (i32.const 2147483647)
+ )
+ (if
+ (i32.and
+ (i32.lt_u
+ (tee_local $1
+ (call $ta
+ (get_local $13)
+ )
)
- )
- (tee_local $13
- (call $ta
- (i32.const 0)
+ (tee_local $13
+ (call $ta
+ (i32.const 0)
+ )
)
)
- )
- (i32.and
- (i32.ne
- (get_local $1)
- (i32.const -1)
- )
- (i32.ne
- (get_local $13)
- (i32.const -1)
- )
- )
- )
- (if
- (i32.gt_u
- (tee_local $11
- (i32.sub
- (get_local $13)
+ (i32.and
+ (i32.ne
(get_local $1)
+ (i32.const -1)
+ )
+ (i32.ne
+ (get_local $13)
+ (i32.const -1)
)
- )
- (i32.add
- (get_local $5)
- (i32.const 40)
)
)
- (block
- (set_local $20
- (get_local $1)
- )
- (set_local $26
- (get_local $11)
+ (if
+ (i32.gt_u
+ (tee_local $11
+ (i32.sub
+ (get_local $13)
+ (get_local $1)
+ )
+ )
+ (i32.add
+ (get_local $5)
+ (i32.const 40)
+ )
)
- (set_local $7
- (i32.const 191)
+ (block
+ (set_local $20
+ (get_local $1)
+ )
+ (set_local $26
+ (get_local $11)
+ )
+ (set_local $7
+ (i32.const 191)
+ )
)
)
)
)
)
- )
- (if
- (i32.eq
- (get_local $7)
- (i32.const 191)
- )
- (block
- (i32.store
- (i32.const 1640)
- (tee_local $11
- (i32.add
- (i32.load
- (i32.const 1640)
- )
- (get_local $26)
- )
- )
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 191)
)
- (if
- (i32.gt_u
- (get_local $11)
- (i32.load
- (i32.const 1644)
- )
- )
+ (block
(i32.store
- (i32.const 1644)
- (get_local $11)
+ (i32.const 1640)
+ (tee_local $11
+ (i32.add
+ (i32.load
+ (i32.const 1640)
+ )
+ (get_local $26)
+ )
+ )
)
- )
- (block $do-once38
(if
- (tee_local $11
+ (i32.gt_u
+ (get_local $11)
(i32.load
- (i32.const 1232)
+ (i32.const 1644)
)
)
- (block
- (set_local $2
- (i32.const 1656)
+ (i32.store
+ (i32.const 1644)
+ (get_local $11)
+ )
+ )
+ (block $do-once38
+ (if
+ (tee_local $11
+ (i32.load
+ (i32.const 1232)
+ )
)
- (loop $do-in41
- (block $do-out40
- (if
- (i32.eq
- (get_local $20)
- (i32.add
- (tee_local $1
- (i32.load
- (get_local $2)
+ (block
+ (set_local $2
+ (i32.const 1656)
+ )
+ (loop $do-in41
+ (block $do-out40
+ (if
+ (i32.eq
+ (get_local $20)
+ (i32.add
+ (tee_local $1
+ (i32.load
+ (get_local $2)
+ )
)
- )
- (tee_local $17
- (i32.load
- (tee_local $13
- (i32.add
- (get_local $2)
- (i32.const 4)
+ (tee_local $17
+ (i32.load
+ (tee_local $13
+ (i32.add
+ (get_local $2)
+ (i32.const 4)
+ )
)
)
)
)
)
- )
- (block
- (set_local $48
- (get_local $1)
- )
- (set_local $49
- (get_local $13)
- )
- (set_local $50
- (get_local $17)
- )
- (set_local $51
- (get_local $2)
- )
- (set_local $7
- (i32.const 201)
+ (block
+ (set_local $48
+ (get_local $1)
+ )
+ (set_local $49
+ (get_local $13)
+ )
+ (set_local $50
+ (get_local $17)
+ )
+ (set_local $51
+ (get_local $2)
+ )
+ (set_local $7
+ (i32.const 201)
+ )
+ (br $do-out40)
)
- (br $do-out40)
)
- )
- (br_if $do-in41
- (tee_local $2
- (i32.load offset=8
- (get_local $2)
+ (br_if $do-in41
+ (tee_local $2
+ (i32.load offset=8
+ (get_local $2)
+ )
)
)
)
)
- )
- (if
- (i32.eq
- (get_local $7)
- (i32.const 201)
- )
(if
- (i32.eqz
- (i32.and
- (i32.load offset=12
- (get_local $51)
- )
- (i32.const 8)
- )
+ (i32.eq
+ (get_local $7)
+ (i32.const 201)
)
(if
- (i32.and
- (i32.lt_u
- (get_local $11)
- (get_local $20)
- )
- (i32.ge_u
- (get_local $11)
- (get_local $48)
+ (i32.eqz
+ (i32.and
+ (i32.load offset=12
+ (get_local $51)
+ )
+ (i32.const 8)
)
)
- (block
- (i32.store
- (get_local $49)
- (i32.add
- (get_local $50)
- (get_local $26)
+ (if
+ (i32.and
+ (i32.lt_u
+ (get_local $11)
+ (get_local $20)
)
- )
- (set_local $2
- (i32.add
+ (i32.ge_u
(get_local $11)
- (tee_local $17
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $2
- (i32.add
- (get_local $11)
- (i32.const 8)
+ (get_local $48)
+ )
+ )
+ (block
+ (i32.store
+ (get_local $49)
+ (i32.add
+ (get_local $50)
+ (get_local $26)
+ )
+ )
+ (set_local $2
+ (i32.add
+ (get_local $11)
+ (tee_local $17
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $2
+ (i32.add
+ (get_local $11)
+ (i32.const 8)
+ )
)
)
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $2)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $2)
- (i32.const 7)
)
)
)
)
- )
- (set_local $13
- (i32.add
- (i32.sub
- (get_local $26)
- (get_local $17)
- )
- (i32.load
- (i32.const 1220)
+ (set_local $13
+ (i32.add
+ (i32.sub
+ (get_local $26)
+ (get_local $17)
+ )
+ (i32.load
+ (i32.const 1220)
+ )
)
)
- )
- (i32.store
- (i32.const 1232)
- (get_local $2)
- )
- (i32.store
- (i32.const 1220)
- (get_local $13)
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
+ (i32.store
+ (i32.const 1232)
+ (get_local $2)
+ )
+ (i32.store
+ (i32.const 1220)
(get_local $13)
- (i32.const 1)
)
- )
- (i32.store offset=4
- (i32.add
+ (i32.store offset=4
(get_local $2)
- (get_local $13)
+ (i32.or
+ (get_local $13)
+ (i32.const 1)
+ )
)
- (i32.const 40)
- )
- (i32.store
- (i32.const 1236)
- (i32.load
- (i32.const 1696)
+ (i32.store offset=4
+ (i32.add
+ (get_local $2)
+ (get_local $13)
+ )
+ (i32.const 40)
+ )
+ (i32.store
+ (i32.const 1236)
+ (i32.load
+ (i32.const 1696)
+ )
)
+ (br $do-once38)
)
- (br $do-once38)
)
)
)
- )
- (set_local $14
- (if (result i32)
- (i32.lt_u
- (get_local $20)
- (tee_local $13
- (i32.load
- (i32.const 1224)
+ (set_local $14
+ (if (result i32)
+ (i32.lt_u
+ (get_local $20)
+ (tee_local $13
+ (i32.load
+ (i32.const 1224)
+ )
)
)
- )
- (block (result i32)
- (i32.store
- (i32.const 1224)
+ (block (result i32)
+ (i32.store
+ (i32.const 1224)
+ (get_local $20)
+ )
(get_local $20)
)
+ (get_local $13)
+ )
+ )
+ (set_local $13
+ (i32.add
(get_local $20)
+ (get_local $26)
)
- (get_local $13)
)
- )
- (set_local $13
- (i32.add
- (get_local $20)
- (get_local $26)
+ (set_local $2
+ (i32.const 1656)
)
- )
- (set_local $2
- (i32.const 1656)
- )
- (loop $while-in43
- (block $while-out42
- (if
- (i32.eq
- (i32.load
- (get_local $2)
- )
- (get_local $13)
- )
- (block
- (set_local $52
- (get_local $2)
- )
- (set_local $42
- (get_local $2)
+ (loop $while-in43
+ (block $while-out42
+ (if
+ (i32.eq
+ (i32.load
+ (get_local $2)
+ )
+ (get_local $13)
)
- (set_local $7
- (i32.const 209)
+ (block
+ (set_local $52
+ (get_local $2)
+ )
+ (set_local $42
+ (get_local $2)
+ )
+ (set_local $7
+ (i32.const 209)
+ )
+ (br $while-out42)
)
- (br $while-out42)
)
- )
- (br_if $while-in43
- (tee_local $2
- (i32.load offset=8
- (get_local $2)
+ (br_if $while-in43
+ (tee_local $2
+ (i32.load offset=8
+ (get_local $2)
+ )
)
)
+ (set_local $30
+ (i32.const 1656)
+ )
)
- (set_local $30
- (i32.const 1656)
- )
- )
- )
- (if
- (i32.eq
- (get_local $7)
- (i32.const 209)
)
(if
- (i32.and
- (i32.load offset=12
- (get_local $42)
- )
- (i32.const 8)
- )
- (set_local $30
- (i32.const 1656)
+ (i32.eq
+ (get_local $7)
+ (i32.const 209)
)
- (block
- (i32.store
- (get_local $52)
- (get_local $20)
+ (if
+ (i32.and
+ (i32.load offset=12
+ (get_local $42)
+ )
+ (i32.const 8)
)
- (i32.store
- (tee_local $2
- (i32.add
- (get_local $42)
- (i32.const 4)
- )
+ (set_local $30
+ (i32.const 1656)
+ )
+ (block
+ (i32.store
+ (get_local $52)
+ (get_local $20)
)
- (i32.add
- (i32.load
- (get_local $2)
+ (i32.store
+ (tee_local $2
+ (i32.add
+ (get_local $42)
+ (i32.const 4)
+ )
+ )
+ (i32.add
+ (i32.load
+ (get_local $2)
+ )
+ (get_local $26)
)
- (get_local $26)
)
- )
- (set_local $17
- (i32.add
- (get_local $20)
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $2
- (i32.add
- (get_local $20)
- (i32.const 8)
+ (set_local $17
+ (i32.add
+ (get_local $20)
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $2
+ (i32.add
+ (get_local $20)
+ (i32.const 8)
+ )
)
)
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $2)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $2)
- (i32.const 7)
)
)
)
- )
- (set_local $1
- (i32.add
- (get_local $13)
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $2
- (i32.add
- (get_local $13)
- (i32.const 8)
+ (set_local $1
+ (i32.add
+ (get_local $13)
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $2
+ (i32.add
+ (get_local $13)
+ (i32.const 8)
+ )
)
)
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $2)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $2)
- (i32.const 7)
)
)
)
- )
- (set_local $2
- (i32.add
- (get_local $17)
- (get_local $5)
- )
- )
- (set_local $15
- (i32.sub
- (i32.sub
- (get_local $1)
+ (set_local $2
+ (i32.add
(get_local $17)
+ (get_local $5)
)
- (get_local $5)
)
- )
- (i32.store offset=4
- (get_local $17)
- (i32.or
- (get_local $5)
- (i32.const 3)
+ (set_local $15
+ (i32.sub
+ (i32.sub
+ (get_local $1)
+ (get_local $17)
+ )
+ (get_local $5)
+ )
)
- )
- (block $do-once44
- (if
- (i32.eq
- (get_local $1)
- (get_local $11)
+ (i32.store offset=4
+ (get_local $17)
+ (i32.or
+ (get_local $5)
+ (i32.const 3)
)
- (block
- (i32.store
- (i32.const 1220)
- (tee_local $3
- (i32.add
- (i32.load
- (i32.const 1220)
+ )
+ (block $do-once44
+ (if
+ (i32.eq
+ (get_local $1)
+ (get_local $11)
+ )
+ (block
+ (i32.store
+ (i32.const 1220)
+ (tee_local $3
+ (i32.add
+ (i32.load
+ (i32.const 1220)
+ )
+ (get_local $15)
)
- (get_local $15)
)
)
- )
- (i32.store
- (i32.const 1232)
- (get_local $2)
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $3)
- (i32.const 1)
+ (i32.store
+ (i32.const 1232)
+ (get_local $2)
)
- )
- )
- (block
- (if
- (i32.eq
- (get_local $1)
- (i32.load
- (i32.const 1228)
+ (i32.store offset=4
+ (get_local $2)
+ (i32.or
+ (get_local $3)
+ (i32.const 1)
)
)
- (block
- (i32.store
- (i32.const 1216)
- (tee_local $3
- (i32.add
- (i32.load
- (i32.const 1216)
+ )
+ (block
+ (if
+ (i32.eq
+ (get_local $1)
+ (i32.load
+ (i32.const 1228)
+ )
+ )
+ (block
+ (i32.store
+ (i32.const 1216)
+ (tee_local $3
+ (i32.add
+ (i32.load
+ (i32.const 1216)
+ )
+ (get_local $15)
)
- (get_local $15)
)
)
- )
- (i32.store
- (i32.const 1228)
- (get_local $2)
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $3)
- (i32.const 1)
+ (i32.store
+ (i32.const 1228)
+ (get_local $2)
)
- )
- (i32.store
- (i32.add
+ (i32.store offset=4
(get_local $2)
- (get_local $3)
+ (i32.or
+ (get_local $3)
+ (i32.const 1)
+ )
)
- (get_local $3)
- )
- (br $do-once44)
- )
- )
- (if
- (i32.eq
- (i32.and
- (tee_local $3
- (i32.load offset=4
- (get_local $1)
+ (i32.store
+ (i32.add
+ (get_local $2)
+ (get_local $3)
)
+ (get_local $3)
)
- (i32.const 3)
+ (br $do-once44)
)
- (i32.const 1)
)
- (block
- (set_local $4
+ (if
+ (i32.eq
(i32.and
- (get_local $3)
- (i32.const -8)
- )
- )
- (set_local $0
- (i32.shr_u
- (get_local $3)
+ (tee_local $3
+ (i32.load offset=4
+ (get_local $1)
+ )
+ )
(i32.const 3)
)
+ (i32.const 1)
)
- (block $label$break$e
- (if
- (i32.lt_u
+ (block
+ (set_local $4
+ (i32.and
(get_local $3)
- (i32.const 256)
+ (i32.const -8)
)
- (block
- (set_local $10
- (i32.load offset=12
- (get_local $1)
- )
+ )
+ (set_local $0
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 3)
+ )
+ )
+ (block $label$break$e
+ (if
+ (i32.lt_u
+ (get_local $3)
+ (i32.const 256)
)
- (block $do-once47
- (if
- (i32.ne
- (tee_local $21
- (i32.load offset=8
- (get_local $1)
- )
- )
- (tee_local $19
- (i32.add
- (i32.shl
- (get_local $0)
- (i32.const 3)
+ (block
+ (set_local $10
+ (i32.load offset=12
+ (get_local $1)
+ )
+ )
+ (block $do-once47
+ (if
+ (i32.ne
+ (tee_local $21
+ (i32.load offset=8
+ (get_local $1)
)
- (i32.const 1248)
)
- )
- )
- (block
- (if
- (i32.lt_u
- (get_local $21)
- (get_local $14)
+ (tee_local $19
+ (i32.add
+ (i32.shl
+ (get_local $0)
+ (i32.const 3)
+ )
+ (i32.const 1248)
+ )
)
- (call $qa)
)
- (br_if $do-once47
- (i32.eq
- (i32.load offset=12
+ (block
+ (if
+ (i32.lt_u
(get_local $21)
+ (get_local $14)
)
- (get_local $1)
- )
- )
- (call $qa)
- )
- )
- )
- (if
- (i32.eq
- (get_local $10)
- (get_local $21)
- )
- (block
- (i32.store
- (i32.const 1208)
- (i32.and
- (i32.load
- (i32.const 1208)
+ (call $qa)
)
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $0)
+ (br_if $do-once47
+ (i32.eq
+ (i32.load offset=12
+ (get_local $21)
+ )
+ (get_local $1)
)
- (i32.const -1)
)
+ (call $qa)
)
)
- (br $label$break$e)
)
- )
- (block $do-once49
(if
(i32.eq
(get_local $10)
- (get_local $19)
+ (get_local $21)
)
- (set_local $43
- (i32.add
- (get_local $10)
- (i32.const 8)
+ (block
+ (i32.store
+ (i32.const 1208)
+ (i32.and
+ (i32.load
+ (i32.const 1208)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
+ )
+ (i32.const -1)
+ )
+ )
)
+ (br $label$break$e)
)
- (block
- (if
- (i32.lt_u
+ )
+ (block $do-once49
+ (if
+ (i32.eq
+ (get_local $10)
+ (get_local $19)
+ )
+ (set_local $43
+ (i32.add
(get_local $10)
- (get_local $14)
+ (i32.const 8)
)
- (call $qa)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $10)
- (i32.const 8)
+ (block
+ (if
+ (i32.lt_u
+ (get_local $10)
+ (get_local $14)
+ )
+ (call $qa)
+ )
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $10)
+ (i32.const 8)
+ )
)
)
+ (get_local $1)
)
- (get_local $1)
- )
- (block
- (set_local $43
- (get_local $0)
+ (block
+ (set_local $43
+ (get_local $0)
+ )
+ (br $do-once49)
)
- (br $do-once49)
)
+ (call $qa)
)
- (call $qa)
)
)
- )
- (i32.store offset=12
- (get_local $21)
- (get_local $10)
- )
- (i32.store
- (get_local $43)
- (get_local $21)
- )
- )
- (block
- (set_local $19
- (i32.load offset=24
- (get_local $1)
+ (i32.store offset=12
+ (get_local $21)
+ (get_local $10)
+ )
+ (i32.store
+ (get_local $43)
+ (get_local $21)
)
)
- (block $do-once51
- (if
- (i32.eq
- (tee_local $0
- (i32.load offset=12
- (get_local $1)
- )
- )
+ (block
+ (set_local $19
+ (i32.load offset=24
(get_local $1)
)
- (block
- (if
- (tee_local $16
- (i32.load
- (tee_local $6
- (i32.add
- (tee_local $18
- (i32.add
- (get_local $1)
- (i32.const 16)
+ )
+ (block $do-once51
+ (if
+ (i32.eq
+ (tee_local $0
+ (i32.load offset=12
+ (get_local $1)
+ )
+ )
+ (get_local $1)
+ )
+ (block
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $6
+ (i32.add
+ (tee_local $18
+ (i32.add
+ (get_local $1)
+ (i32.const 16)
+ )
)
+ (i32.const 4)
)
- (i32.const 4)
)
)
)
- )
- (block
- (set_local $3
- (get_local $16)
+ (block
+ (set_local $3
+ (get_local $16)
+ )
+ (set_local $0
+ (get_local $6)
+ )
)
- (set_local $0
- (get_local $6)
+ (if
+ (tee_local $22
+ (i32.load
+ (get_local $18)
+ )
+ )
+ (block
+ (set_local $3
+ (get_local $22)
+ )
+ (set_local $0
+ (get_local $18)
+ )
+ )
+ (block
+ (set_local $24
+ (i32.const 0)
+ )
+ (br $do-once51)
+ )
)
)
- (if
- (tee_local $22
- (i32.load
- (get_local $18)
+ (loop $while-in54
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $6
+ (i32.add
+ (get_local $3)
+ (i32.const 20)
+ )
+ )
+ )
+ )
+ (block
+ (set_local $3
+ (get_local $16)
+ )
+ (set_local $0
+ (get_local $6)
+ )
+ (br $while-in54)
)
)
- (block
- (set_local $3
- (get_local $22)
+ (if
+ (tee_local $16
+ (i32.load
+ (tee_local $6
+ (i32.add
+ (get_local $3)
+ (i32.const 16)
+ )
+ )
+ )
)
- (set_local $0
- (get_local $18)
+ (block
+ (set_local $3
+ (get_local $16)
+ )
+ (set_local $0
+ (get_local $6)
+ )
+ (br $while-in54)
)
)
+ )
+ (if
+ (i32.lt_u
+ (get_local $0)
+ (get_local $14)
+ )
+ (call $qa)
(block
- (set_local $24
+ (i32.store
+ (get_local $0)
(i32.const 0)
)
- (br $do-once51)
+ (set_local $24
+ (get_local $3)
+ )
)
)
)
- (loop $while-in54
+ (block
(if
- (tee_local $16
+ (i32.lt_u
+ (tee_local $6
+ (i32.load offset=8
+ (get_local $1)
+ )
+ )
+ (get_local $14)
+ )
+ (call $qa)
+ )
+ (if
+ (i32.ne
(i32.load
- (tee_local $6
+ (tee_local $16
(i32.add
- (get_local $3)
- (i32.const 20)
+ (get_local $6)
+ (i32.const 12)
)
)
)
+ (get_local $1)
)
- (block
- (set_local $3
- (get_local $16)
- )
- (set_local $0
- (get_local $6)
- )
- (br $while-in54)
- )
+ (call $qa)
)
(if
- (tee_local $16
+ (i32.eq
(i32.load
- (tee_local $6
+ (tee_local $18
(i32.add
- (get_local $3)
- (i32.const 16)
+ (get_local $0)
+ (i32.const 8)
)
)
)
+ (get_local $1)
)
(block
- (set_local $3
+ (i32.store
(get_local $16)
+ (get_local $0)
)
- (set_local $0
+ (i32.store
+ (get_local $18)
(get_local $6)
)
- (br $while-in54)
- )
- )
- )
- (if
- (i32.lt_u
- (get_local $0)
- (get_local $14)
- )
- (call $qa)
- (block
- (i32.store
- (get_local $0)
- (i32.const 0)
- )
- (set_local $24
- (get_local $3)
+ (set_local $24
+ (get_local $0)
+ )
)
+ (call $qa)
)
)
)
- (block
- (if
- (i32.lt_u
- (tee_local $6
- (i32.load offset=8
- (get_local $1)
+ )
+ (br_if $label$break$e
+ (i32.eqz
+ (get_local $19)
+ )
+ )
+ (block $do-once55
+ (if
+ (i32.eq
+ (get_local $1)
+ (i32.load
+ (tee_local $21
+ (i32.add
+ (i32.shl
+ (tee_local $0
+ (i32.load offset=28
+ (get_local $1)
+ )
+ )
+ (i32.const 2)
+ )
+ (i32.const 1512)
)
)
- (get_local $14)
)
- (call $qa)
)
- (if
- (i32.ne
- (i32.load
- (tee_local $16
- (i32.add
- (get_local $6)
- (i32.const 12)
+ (block
+ (i32.store
+ (get_local $21)
+ (get_local $24)
+ )
+ (br_if $do-once55
+ (get_local $24)
+ )
+ (i32.store
+ (i32.const 1212)
+ (i32.and
+ (i32.load
+ (i32.const 1212)
+ )
+ (i32.xor
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
)
+ (i32.const -1)
)
)
- (get_local $1)
)
- (call $qa)
+ (br $label$break$e)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $18
- (i32.add
- (get_local $0)
- (i32.const 8)
- )
+ (block
+ (if
+ (i32.lt_u
+ (get_local $19)
+ (i32.load
+ (i32.const 1224)
)
)
- (get_local $1)
+ (call $qa)
)
- (block
- (i32.store
- (get_local $16)
- (get_local $0)
+ (if
+ (i32.eq
+ (i32.load
+ (tee_local $10
+ (i32.add
+ (get_local $19)
+ (i32.const 16)
+ )
+ )
+ )
+ (get_local $1)
)
(i32.store
- (get_local $18)
- (get_local $6)
+ (get_local $10)
+ (get_local $24)
)
- (set_local $24
- (get_local $0)
+ (i32.store offset=20
+ (get_local $19)
+ (get_local $24)
+ )
+ )
+ (br_if $label$break$e
+ (i32.eqz
+ (get_local $24)
)
)
- (call $qa)
)
)
)
- )
- (br_if $label$break$e
- (i32.eqz
+ (if
+ (i32.lt_u
+ (get_local $24)
+ (tee_local $0
+ (i32.load
+ (i32.const 1224)
+ )
+ )
+ )
+ (call $qa)
+ )
+ (i32.store offset=24
+ (get_local $24)
(get_local $19)
)
- )
- (block $do-once55
(if
- (i32.eq
- (get_local $1)
+ (tee_local $10
(i32.load
(tee_local $21
(i32.add
- (i32.shl
- (tee_local $0
- (i32.load offset=28
- (get_local $1)
- )
- )
- (i32.const 2)
- )
- (i32.const 1512)
- )
- )
- )
- )
- (block
- (i32.store
- (get_local $21)
- (get_local $24)
- )
- (br_if $do-once55
- (get_local $24)
- )
- (i32.store
- (i32.const 1212)
- (i32.and
- (i32.load
- (i32.const 1212)
- )
- (i32.xor
- (i32.shl
- (i32.const 1)
- (get_local $0)
- )
- (i32.const -1)
+ (get_local $1)
+ (i32.const 16)
)
)
)
- (br $label$break$e)
)
- (block
- (if
- (i32.lt_u
- (get_local $19)
- (i32.load
- (i32.const 1224)
- )
- )
- (call $qa)
+ (if
+ (i32.lt_u
+ (get_local $10)
+ (get_local $0)
)
- (if
- (i32.eq
- (i32.load
- (tee_local $10
- (i32.add
- (get_local $19)
- (i32.const 16)
- )
- )
- )
- (get_local $1)
- )
- (i32.store
- (get_local $10)
- (get_local $24)
- )
- (i32.store offset=20
- (get_local $19)
+ (call $qa)
+ (block
+ (i32.store offset=16
(get_local $24)
+ (get_local $10)
)
- )
- (br_if $label$break$e
- (i32.eqz
+ (i32.store offset=24
+ (get_local $10)
(get_local $24)
)
)
)
)
- )
- (if
- (i32.lt_u
- (get_local $24)
- (tee_local $0
- (i32.load
- (i32.const 1224)
- )
- )
- )
- (call $qa)
- )
- (i32.store offset=24
- (get_local $24)
- (get_local $19)
- )
- (if
- (tee_local $10
- (i32.load
- (tee_local $21
- (i32.add
- (get_local $1)
- (i32.const 16)
+ (br_if $label$break$e
+ (i32.eqz
+ (tee_local $10
+ (i32.load offset=4
+ (get_local $21)
)
)
)
@@ -4479,11 +4491,13 @@
(if
(i32.lt_u
(get_local $10)
- (get_local $0)
+ (i32.load
+ (i32.const 1224)
+ )
)
(call $qa)
(block
- (i32.store offset=16
+ (i32.store offset=20
(get_local $24)
(get_local $10)
)
@@ -4494,467 +4508,313 @@
)
)
)
- (br_if $label$break$e
- (i32.eqz
- (tee_local $10
- (i32.load offset=4
- (get_local $21)
- )
- )
- )
- )
- (if
- (i32.lt_u
- (get_local $10)
- (i32.load
- (i32.const 1224)
- )
- )
- (call $qa)
- (block
- (i32.store offset=20
- (get_local $24)
- (get_local $10)
- )
- (i32.store offset=24
- (get_local $10)
- (get_local $24)
- )
- )
- )
+ )
+ )
+ (set_local $1
+ (i32.add
+ (get_local $1)
+ (get_local $4)
+ )
+ )
+ (set_local $15
+ (i32.add
+ (get_local $4)
+ (get_local $15)
)
)
)
- (set_local $1
+ )
+ (i32.store
+ (tee_local $0
(i32.add
(get_local $1)
- (get_local $4)
+ (i32.const 4)
)
)
- (set_local $15
- (i32.add
- (get_local $4)
- (get_local $15)
+ (i32.and
+ (i32.load
+ (get_local $0)
)
+ (i32.const -2)
)
)
- )
- (i32.store
- (tee_local $0
- (i32.add
- (get_local $1)
- (i32.const 4)
+ (i32.store offset=4
+ (get_local $2)
+ (i32.or
+ (get_local $15)
+ (i32.const 1)
)
)
- (i32.and
- (i32.load
- (get_local $0)
+ (i32.store
+ (i32.add
+ (get_local $2)
+ (get_local $15)
)
- (i32.const -2)
- )
- )
- (i32.store offset=4
- (get_local $2)
- (i32.or
- (get_local $15)
- (i32.const 1)
- )
- )
- (i32.store
- (i32.add
- (get_local $2)
(get_local $15)
)
- (get_local $15)
- )
- (set_local $0
- (i32.shr_u
- (get_local $15)
- (i32.const 3)
- )
- )
- (if
- (i32.lt_u
- (get_local $15)
- (i32.const 256)
+ (set_local $0
+ (i32.shr_u
+ (get_local $15)
+ (i32.const 3)
+ )
)
- (block
- (set_local $3
- (i32.add
- (i32.shl
- (get_local $0)
- (i32.const 3)
+ (if
+ (i32.lt_u
+ (get_local $15)
+ (i32.const 256)
+ )
+ (block
+ (set_local $3
+ (i32.add
+ (i32.shl
+ (get_local $0)
+ (i32.const 3)
+ )
+ (i32.const 1248)
)
- (i32.const 1248)
)
- )
- (block $do-once59
- (if
- (i32.and
- (tee_local $10
- (i32.load
- (i32.const 1208)
+ (block $do-once59
+ (if
+ (i32.and
+ (tee_local $10
+ (i32.load
+ (i32.const 1208)
+ )
)
- )
- (tee_local $0
- (i32.shl
- (i32.const 1)
- (get_local $0)
+ (tee_local $0
+ (i32.shl
+ (i32.const 1)
+ (get_local $0)
+ )
)
)
- )
- (block
- (if
- (i32.ge_u
- (tee_local $19
- (i32.load
- (tee_local $0
- (i32.add
- (get_local $3)
- (i32.const 8)
+ (block
+ (if
+ (i32.ge_u
+ (tee_local $19
+ (i32.load
+ (tee_local $0
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 1224)
+ )
)
- (i32.load
- (i32.const 1224)
+ (block
+ (set_local $44
+ (get_local $0)
+ )
+ (set_local $37
+ (get_local $19)
+ )
+ (br $do-once59)
)
)
- (block
- (set_local $44
+ (call $qa)
+ )
+ (block
+ (i32.store
+ (i32.const 1208)
+ (i32.or
+ (get_local $10)
(get_local $0)
)
- (set_local $37
- (get_local $19)
- )
- (br $do-once59)
)
- )
- (call $qa)
- )
- (block
- (i32.store
- (i32.const 1208)
- (i32.or
- (get_local $10)
- (get_local $0)
+ (set_local $44
+ (i32.add
+ (get_local $3)
+ (i32.const 8)
+ )
)
- )
- (set_local $44
- (i32.add
+ (set_local $37
(get_local $3)
- (i32.const 8)
)
)
- (set_local $37
- (get_local $3)
- )
)
)
+ (i32.store
+ (get_local $44)
+ (get_local $2)
+ )
+ (i32.store offset=12
+ (get_local $37)
+ (get_local $2)
+ )
+ (i32.store offset=8
+ (get_local $2)
+ (get_local $37)
+ )
+ (i32.store offset=12
+ (get_local $2)
+ (get_local $3)
+ )
+ (br $do-once44)
)
- (i32.store
- (get_local $44)
- (get_local $2)
- )
- (i32.store offset=12
- (get_local $37)
- (get_local $2)
- )
- (i32.store offset=8
- (get_local $2)
- (get_local $37)
- )
- (i32.store offset=12
- (get_local $2)
- (get_local $3)
- )
- (br $do-once44)
)
- )
- (set_local $0
- (i32.add
- (i32.shl
- (tee_local $4
- (block $do-once61 (result i32)
- (if (result i32)
- (tee_local $0
- (i32.shr_u
- (get_local $15)
- (i32.const 8)
+ (set_local $0
+ (i32.add
+ (i32.shl
+ (tee_local $4
+ (block $do-once61 (result i32)
+ (if (result i32)
+ (tee_local $0
+ (i32.shr_u
+ (get_local $15)
+ (i32.const 8)
+ )
)
- )
- (block (result i32)
- (drop
- (br_if $do-once61
- (i32.const 31)
- (i32.gt_u
- (get_local $15)
- (i32.const 16777215)
+ (block (result i32)
+ (drop
+ (br_if $do-once61
+ (i32.const 31)
+ (i32.gt_u
+ (get_local $15)
+ (i32.const 16777215)
+ )
)
)
- )
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $15)
- (i32.add
- (tee_local $6
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $15)
+ (i32.add
+ (tee_local $6
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $19
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $4
- (i32.shl
- (get_local $0)
- (tee_local $10
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $0)
- (i32.const 1048320)
+ (i32.or
+ (tee_local $19
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $4
+ (i32.shl
+ (get_local $0)
+ (tee_local $10
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $0)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 520192)
)
- (i32.const 520192)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 4)
)
- (i32.const 4)
)
+ (get_local $10)
)
- (get_local $10)
- )
- (tee_local $4
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $0
- (i32.shl
- (get_local $4)
- (get_local $19)
+ (tee_local $4
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $0
+ (i32.shl
+ (get_local $4)
+ (get_local $19)
+ )
)
+ (i32.const 245760)
)
- (i32.const 245760)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $0)
- (get_local $4)
+ (i32.shr_u
+ (i32.shl
+ (get_local $0)
+ (get_local $4)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $6)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $6)
- (i32.const 1)
)
)
+ (i32.const 0)
)
- (i32.const 0)
)
)
+ (i32.const 2)
)
- (i32.const 2)
- )
- (i32.const 1512)
- )
- )
- (i32.store offset=28
- (get_local $2)
- (get_local $4)
- )
- (i32.store offset=4
- (tee_local $3
- (i32.add
- (get_local $2)
- (i32.const 16)
- )
- )
- (i32.const 0)
- )
- (i32.store
- (get_local $3)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $3
- (i32.load
- (i32.const 1212)
- )
- )
- (tee_local $6
- (i32.shl
- (i32.const 1)
- (get_local $4)
- )
- )
+ (i32.const 1512)
)
)
- (block
- (i32.store
- (i32.const 1212)
- (i32.or
- (get_local $3)
- (get_local $6)
- )
- )
- (i32.store
- (get_local $0)
- (get_local $2)
- )
- (i32.store offset=24
- (get_local $2)
- (get_local $0)
- )
- (i32.store offset=12
- (get_local $2)
- (get_local $2)
- )
- (i32.store offset=8
- (get_local $2)
- (get_local $2)
- )
- (br $do-once44)
+ (i32.store offset=28
+ (get_local $2)
+ (get_local $4)
)
- )
- (set_local $6
- (i32.shl
- (get_local $15)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
- (get_local $4)
- (i32.const 1)
- )
- )
- (i32.eq
- (get_local $4)
- (i32.const 31)
+ (i32.store offset=4
+ (tee_local $3
+ (i32.add
+ (get_local $2)
+ (i32.const 16)
)
)
+ (i32.const 0)
)
- )
- (set_local $3
- (i32.load
- (get_local $0)
+ (i32.store
+ (get_local $3)
+ (i32.const 0)
)
- )
- (loop $while-in64
- (block $while-out63
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $3)
- )
- (i32.const -8)
- )
- (get_local $15)
- )
- (block
- (set_local $38
- (get_local $3)
- )
- (set_local $7
- (i32.const 279)
- )
- (br $while-out63)
- )
- )
- (if
- (tee_local $4
- (i32.load
- (tee_local $0
- (i32.add
- (i32.add
- (get_local $3)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $6)
- (i32.const 31)
- )
- (i32.const 2)
- )
- )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $3
+ (i32.load
+ (i32.const 1212)
)
)
- )
- (block
- (set_local $6
+ (tee_local $6
(i32.shl
- (get_local $6)
(i32.const 1)
+ (get_local $4)
)
)
- (set_local $3
- (get_local $4)
- )
- (br $while-in64)
)
- (block
- (set_local $45
- (get_local $0)
- )
- (set_local $53
+ )
+ (block
+ (i32.store
+ (i32.const 1212)
+ (i32.or
(get_local $3)
- )
- (set_local $7
- (i32.const 276)
+ (get_local $6)
)
)
- )
- )
- )
- (if
- (i32.eq
- (get_local $7)
- (i32.const 276)
- )
- (if
- (i32.lt_u
- (get_local $45)
- (i32.load
- (i32.const 1224)
- )
- )
- (call $qa)
- (block
(i32.store
- (get_local $45)
+ (get_local $0)
(get_local $2)
)
(i32.store offset=24
(get_local $2)
- (get_local $53)
+ (get_local $0)
)
(i32.store offset=12
(get_local $2)
@@ -4964,705 +4824,705 @@
(get_local $2)
(get_local $2)
)
+ (br $do-once44)
)
)
- (if
- (i32.eq
- (get_local $7)
- (i32.const 279)
+ (set_local $6
+ (i32.shl
+ (get_local $15)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $4)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
+ (get_local $4)
+ (i32.const 31)
+ )
+ )
)
- (if
- (i32.and
- (i32.ge_u
- (tee_local $6
- (i32.load
- (tee_local $3
+ )
+ (set_local $3
+ (i32.load
+ (get_local $0)
+ )
+ )
+ (loop $while-in64
+ (block $while-out63
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $3)
+ )
+ (i32.const -8)
+ )
+ (get_local $15)
+ )
+ (block
+ (set_local $38
+ (get_local $3)
+ )
+ (set_local $7
+ (i32.const 279)
+ )
+ (br $while-out63)
+ )
+ )
+ (if
+ (tee_local $4
+ (i32.load
+ (tee_local $0
+ (i32.add
(i32.add
- (get_local $38)
- (i32.const 8)
+ (get_local $3)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $6)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
)
)
)
- (tee_local $4
- (i32.load
- (i32.const 1224)
+ )
+ (block
+ (set_local $6
+ (i32.shl
+ (get_local $6)
+ (i32.const 1)
)
)
+ (set_local $3
+ (get_local $4)
+ )
+ (br $while-in64)
)
- (i32.ge_u
- (get_local $38)
- (get_local $4)
+ (block
+ (set_local $45
+ (get_local $0)
+ )
+ (set_local $53
+ (get_local $3)
+ )
+ (set_local $7
+ (i32.const 276)
+ )
)
)
- (block
- (i32.store offset=12
- (get_local $6)
- (get_local $2)
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 276)
+ )
+ (if
+ (i32.lt_u
+ (get_local $45)
+ (i32.load
+ (i32.const 1224)
)
+ )
+ (call $qa)
+ (block
(i32.store
- (get_local $3)
+ (get_local $45)
(get_local $2)
)
- (i32.store offset=8
+ (i32.store offset=24
(get_local $2)
- (get_local $6)
+ (get_local $53)
)
(i32.store offset=12
(get_local $2)
- (get_local $38)
+ (get_local $2)
)
- (i32.store offset=24
+ (i32.store offset=8
+ (get_local $2)
(get_local $2)
- (i32.const 0)
)
)
- (call $qa)
+ )
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 279)
+ )
+ (if
+ (i32.and
+ (i32.ge_u
+ (tee_local $6
+ (i32.load
+ (tee_local $3
+ (i32.add
+ (get_local $38)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (tee_local $4
+ (i32.load
+ (i32.const 1224)
+ )
+ )
+ )
+ (i32.ge_u
+ (get_local $38)
+ (get_local $4)
+ )
+ )
+ (block
+ (i32.store offset=12
+ (get_local $6)
+ (get_local $2)
+ )
+ (i32.store
+ (get_local $3)
+ (get_local $2)
+ )
+ (i32.store offset=8
+ (get_local $2)
+ (get_local $6)
+ )
+ (i32.store offset=12
+ (get_local $2)
+ (get_local $38)
+ )
+ (i32.store offset=24
+ (get_local $2)
+ (i32.const 0)
+ )
+ )
+ (call $qa)
+ )
)
)
)
)
)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.add
- (get_local $17)
- (i32.const 8)
+ (set_global $r
+ (get_local $25)
)
- )
- )
- )
- )
- (loop $while-in66
- (block $while-out65
- (if
- (i32.le_u
- (tee_local $2
- (i32.load
- (get_local $30)
+ (return
+ (i32.add
+ (get_local $17)
+ (i32.const 8)
)
)
- (get_local $11)
)
+ )
+ )
+ (loop $while-in66
+ (block $while-out65
(if
- (i32.gt_u
- (tee_local $15
- (i32.add
- (get_local $2)
- (i32.load offset=4
- (get_local $30)
- )
+ (i32.le_u
+ (tee_local $2
+ (i32.load
+ (get_local $30)
)
)
(get_local $11)
)
- (block
- (set_local $0
- (get_local $15)
+ (if
+ (i32.gt_u
+ (tee_local $15
+ (i32.add
+ (get_local $2)
+ (i32.load offset=4
+ (get_local $30)
+ )
+ )
+ )
+ (get_local $11)
+ )
+ (block
+ (set_local $0
+ (get_local $15)
+ )
+ (br $while-out65)
)
- (br $while-out65)
)
)
- )
- (set_local $30
- (i32.load offset=8
- (get_local $30)
+ (set_local $30
+ (i32.load offset=8
+ (get_local $30)
+ )
)
+ (br $while-in66)
)
- (br $while-in66)
)
- )
- (set_local $15
- (i32.add
- (tee_local $17
- (i32.add
- (get_local $0)
- (i32.const -47)
+ (set_local $15
+ (i32.add
+ (tee_local $17
+ (i32.add
+ (get_local $0)
+ (i32.const -47)
+ )
)
+ (i32.const 8)
)
- (i32.const 8)
)
- )
- (set_local $2
- (i32.add
- (tee_local $17
- (select
- (get_local $11)
- (tee_local $2
- (i32.add
- (get_local $17)
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
+ (set_local $2
+ (i32.add
+ (tee_local $17
+ (select
+ (get_local $11)
+ (tee_local $2
+ (i32.add
+ (get_local $17)
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (get_local $15)
+ )
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
(get_local $15)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $15)
- (i32.const 7)
)
)
)
- )
- (i32.lt_u
- (get_local $2)
- (tee_local $15
- (i32.add
- (get_local $11)
- (i32.const 16)
+ (i32.lt_u
+ (get_local $2)
+ (tee_local $15
+ (i32.add
+ (get_local $11)
+ (i32.const 16)
+ )
)
)
)
)
+ (i32.const 8)
)
- (i32.const 8)
)
- )
- (i32.store
- (i32.const 1232)
- (tee_local $1
- (i32.add
- (get_local $20)
- (tee_local $13
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $1
- (i32.add
- (get_local $20)
- (i32.const 8)
+ (i32.store
+ (i32.const 1232)
+ (tee_local $1
+ (i32.add
+ (get_local $20)
+ (tee_local $13
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $1
+ (i32.add
+ (get_local $20)
+ (i32.const 8)
+ )
)
)
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $1)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $1)
- (i32.const 7)
)
)
)
)
)
- )
- (i32.store
- (i32.const 1220)
- (tee_local $6
- (i32.sub
+ (i32.store
+ (i32.const 1220)
+ (tee_local $6
+ (i32.sub
+ (i32.add
+ (get_local $26)
+ (i32.const -40)
+ )
+ (get_local $13)
+ )
+ )
+ )
+ (i32.store offset=4
+ (get_local $1)
+ (i32.or
+ (get_local $6)
+ (i32.const 1)
+ )
+ )
+ (i32.store offset=4
+ (i32.add
+ (get_local $1)
+ (get_local $6)
+ )
+ (i32.const 40)
+ )
+ (i32.store
+ (i32.const 1236)
+ (i32.load
+ (i32.const 1696)
+ )
+ )
+ (i32.store
+ (tee_local $6
(i32.add
- (get_local $26)
- (i32.const -40)
+ (get_local $17)
+ (i32.const 4)
)
- (get_local $13)
)
+ (i32.const 27)
)
- )
- (i32.store offset=4
- (get_local $1)
- (i32.or
- (get_local $6)
- (i32.const 1)
+ (i32.store
+ (get_local $2)
+ (i32.load
+ (i32.const 1656)
+ )
)
- )
- (i32.store offset=4
- (i32.add
- (get_local $1)
- (get_local $6)
+ (i32.store offset=4
+ (get_local $2)
+ (i32.load
+ (i32.const 1660)
+ )
)
- (i32.const 40)
- )
- (i32.store
- (i32.const 1236)
- (i32.load
- (i32.const 1696)
+ (i32.store offset=8
+ (get_local $2)
+ (i32.load
+ (i32.const 1664)
+ )
)
- )
- (i32.store
- (tee_local $6
- (i32.add
- (get_local $17)
- (i32.const 4)
+ (i32.store offset=12
+ (get_local $2)
+ (i32.load
+ (i32.const 1668)
)
)
- (i32.const 27)
- )
- (i32.store
- (get_local $2)
- (i32.load
+ (i32.store
(i32.const 1656)
+ (get_local $20)
)
- )
- (i32.store offset=4
- (get_local $2)
- (i32.load
+ (i32.store
(i32.const 1660)
+ (get_local $26)
)
- )
- (i32.store offset=8
- (get_local $2)
- (i32.load
- (i32.const 1664)
- )
- )
- (i32.store offset=12
- (get_local $2)
- (i32.load
+ (i32.store
(i32.const 1668)
+ (i32.const 0)
)
- )
- (i32.store
- (i32.const 1656)
- (get_local $20)
- )
- (i32.store
- (i32.const 1660)
- (get_local $26)
- )
- (i32.store
- (i32.const 1668)
- (i32.const 0)
- )
- (i32.store
- (i32.const 1664)
- (get_local $2)
- )
- (set_local $2
- (i32.add
- (get_local $17)
- (i32.const 24)
- )
- )
- (loop $do-in68
(i32.store
- (tee_local $2
- (i32.add
- (get_local $2)
- (i32.const 4)
- )
- )
- (i32.const 7)
+ (i32.const 1664)
+ (get_local $2)
)
- (br_if $do-in68
- (i32.lt_u
- (i32.add
- (get_local $2)
- (i32.const 4)
- )
- (get_local $0)
+ (set_local $2
+ (i32.add
+ (get_local $17)
+ (i32.const 24)
)
)
- )
- (if
- (i32.ne
- (get_local $17)
- (get_local $11)
- )
- (block
+ (loop $do-in68
(i32.store
- (get_local $6)
- (i32.and
- (i32.load
- (get_local $6)
+ (tee_local $2
+ (i32.add
+ (get_local $2)
+ (i32.const 4)
)
- (i32.const -2)
)
+ (i32.const 7)
)
- (i32.store offset=4
- (get_local $11)
- (i32.or
- (tee_local $2
- (i32.sub
- (get_local $17)
- (get_local $11)
- )
+ (br_if $do-in68
+ (i32.lt_u
+ (i32.add
+ (get_local $2)
+ (i32.const 4)
)
- (i32.const 1)
+ (get_local $0)
)
)
- (i32.store
+ )
+ (if
+ (i32.ne
(get_local $17)
- (get_local $2)
- )
- (set_local $1
- (i32.shr_u
- (get_local $2)
- (i32.const 3)
- )
+ (get_local $11)
)
- (if
- (i32.lt_u
- (get_local $2)
- (i32.const 256)
+ (block
+ (i32.store
+ (get_local $6)
+ (i32.and
+ (i32.load
+ (get_local $6)
+ )
+ (i32.const -2)
+ )
)
- (block
- (set_local $13
- (i32.add
- (i32.shl
- (get_local $1)
- (i32.const 3)
+ (i32.store offset=4
+ (get_local $11)
+ (i32.or
+ (tee_local $2
+ (i32.sub
+ (get_local $17)
+ (get_local $11)
)
- (i32.const 1248)
)
+ (i32.const 1)
)
- (if
- (i32.and
- (tee_local $3
- (i32.load
- (i32.const 1208)
- )
- )
- (tee_local $4
+ )
+ (i32.store
+ (get_local $17)
+ (get_local $2)
+ )
+ (set_local $1
+ (i32.shr_u
+ (get_local $2)
+ (i32.const 3)
+ )
+ )
+ (if
+ (i32.lt_u
+ (get_local $2)
+ (i32.const 256)
+ )
+ (block
+ (set_local $13
+ (i32.add
(i32.shl
- (i32.const 1)
(get_local $1)
+ (i32.const 3)
)
+ (i32.const 1248)
)
)
(if
- (i32.lt_u
+ (i32.and
(tee_local $3
(i32.load
- (tee_local $4
- (i32.add
- (get_local $13)
- (i32.const 8)
+ (i32.const 1208)
+ )
+ )
+ (tee_local $4
+ (i32.shl
+ (i32.const 1)
+ (get_local $1)
+ )
+ )
+ )
+ (if
+ (i32.lt_u
+ (tee_local $3
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (get_local $13)
+ (i32.const 8)
+ )
)
)
)
+ (i32.load
+ (i32.const 1224)
+ )
)
- (i32.load
- (i32.const 1224)
+ (call $qa)
+ (block
+ (set_local $46
+ (get_local $4)
+ )
+ (set_local $39
+ (get_local $3)
+ )
)
)
- (call $qa)
(block
+ (i32.store
+ (i32.const 1208)
+ (i32.or
+ (get_local $3)
+ (get_local $4)
+ )
+ )
(set_local $46
- (get_local $4)
+ (i32.add
+ (get_local $13)
+ (i32.const 8)
+ )
)
(set_local $39
- (get_local $3)
- )
- )
- )
- (block
- (i32.store
- (i32.const 1208)
- (i32.or
- (get_local $3)
- (get_local $4)
- )
- )
- (set_local $46
- (i32.add
(get_local $13)
- (i32.const 8)
)
)
- (set_local $39
- (get_local $13)
- )
)
+ (i32.store
+ (get_local $46)
+ (get_local $11)
+ )
+ (i32.store offset=12
+ (get_local $39)
+ (get_local $11)
+ )
+ (i32.store offset=8
+ (get_local $11)
+ (get_local $39)
+ )
+ (i32.store offset=12
+ (get_local $11)
+ (get_local $13)
+ )
+ (br $do-once38)
)
- (i32.store
- (get_local $46)
- (get_local $11)
- )
- (i32.store offset=12
- (get_local $39)
- (get_local $11)
- )
- (i32.store offset=8
- (get_local $11)
- (get_local $39)
- )
- (i32.store offset=12
- (get_local $11)
- (get_local $13)
- )
- (br $do-once38)
)
- )
- (set_local $0
- (i32.add
- (i32.shl
- (tee_local $3
- (if (result i32)
- (tee_local $13
- (i32.shr_u
- (get_local $2)
- (i32.const 8)
- )
- )
+ (set_local $0
+ (i32.add
+ (i32.shl
+ (tee_local $3
(if (result i32)
- (i32.gt_u
- (get_local $2)
- (i32.const 16777215)
+ (tee_local $13
+ (i32.shr_u
+ (get_local $2)
+ (i32.const 8)
+ )
)
- (i32.const 31)
- (i32.or
- (i32.and
- (i32.shr_u
- (get_local $2)
- (i32.add
- (tee_local $0
- (i32.add
- (i32.sub
- (i32.const 14)
- (i32.or
+ (if (result i32)
+ (i32.gt_u
+ (get_local $2)
+ (i32.const 16777215)
+ )
+ (i32.const 31)
+ (i32.or
+ (i32.and
+ (i32.shr_u
+ (get_local $2)
+ (i32.add
+ (tee_local $0
+ (i32.add
+ (i32.sub
+ (i32.const 14)
(i32.or
- (tee_local $13
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $4
- (i32.shl
- (get_local $13)
- (tee_local $3
- (i32.and
- (i32.shr_u
- (i32.add
- (get_local $13)
- (i32.const 1048320)
+ (i32.or
+ (tee_local $13
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $4
+ (i32.shl
+ (get_local $13)
+ (tee_local $3
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (get_local $13)
+ (i32.const 1048320)
+ )
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 8)
)
- (i32.const 8)
)
)
)
+ (i32.const 520192)
)
- (i32.const 520192)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 4)
)
- (i32.const 4)
)
+ (get_local $3)
)
- (get_local $3)
- )
- (tee_local $4
- (i32.and
- (i32.shr_u
- (i32.add
- (tee_local $1
- (i32.shl
- (get_local $4)
- (get_local $13)
+ (tee_local $4
+ (i32.and
+ (i32.shr_u
+ (i32.add
+ (tee_local $1
+ (i32.shl
+ (get_local $4)
+ (get_local $13)
+ )
)
+ (i32.const 245760)
)
- (i32.const 245760)
+ (i32.const 16)
)
- (i32.const 16)
+ (i32.const 2)
)
- (i32.const 2)
)
)
)
- )
- (i32.shr_u
- (i32.shl
- (get_local $1)
- (get_local $4)
+ (i32.shr_u
+ (i32.shl
+ (get_local $1)
+ (get_local $4)
+ )
+ (i32.const 15)
)
- (i32.const 15)
)
)
+ (i32.const 7)
)
- (i32.const 7)
)
+ (i32.const 1)
+ )
+ (i32.shl
+ (get_local $0)
+ (i32.const 1)
)
- (i32.const 1)
- )
- (i32.shl
- (get_local $0)
- (i32.const 1)
)
)
+ (i32.const 0)
)
- (i32.const 0)
- )
- )
- (i32.const 2)
- )
- (i32.const 1512)
- )
- )
- (i32.store offset=28
- (get_local $11)
- (get_local $3)
- )
- (i32.store offset=20
- (get_local $11)
- (i32.const 0)
- )
- (i32.store
- (get_local $15)
- (i32.const 0)
- )
- (if
- (i32.eqz
- (i32.and
- (tee_local $4
- (i32.load
- (i32.const 1212)
- )
- )
- (tee_local $1
- (i32.shl
- (i32.const 1)
- (get_local $3)
)
+ (i32.const 2)
)
+ (i32.const 1512)
)
)
- (block
- (i32.store
- (i32.const 1212)
- (i32.or
- (get_local $4)
- (get_local $1)
- )
- )
- (i32.store
- (get_local $0)
- (get_local $11)
- )
- (i32.store offset=24
- (get_local $11)
- (get_local $0)
- )
- (i32.store offset=12
- (get_local $11)
- (get_local $11)
- )
- (i32.store offset=8
- (get_local $11)
- (get_local $11)
- )
- (br $do-once38)
+ (i32.store offset=28
+ (get_local $11)
+ (get_local $3)
)
- )
- (set_local $1
- (i32.shl
- (get_local $2)
- (select
- (i32.const 0)
- (i32.sub
- (i32.const 25)
- (i32.shr_u
- (get_local $3)
- (i32.const 1)
- )
- )
- (i32.eq
- (get_local $3)
- (i32.const 31)
- )
- )
+ (i32.store offset=20
+ (get_local $11)
+ (i32.const 0)
)
- )
- (set_local $4
- (i32.load
- (get_local $0)
+ (i32.store
+ (get_local $15)
+ (i32.const 0)
)
- )
- (loop $while-in70
- (block $while-out69
- (if
- (i32.eq
- (i32.and
- (i32.load offset=4
- (get_local $4)
- )
- (i32.const -8)
- )
- (get_local $2)
- )
- (block
- (set_local $31
- (get_local $4)
- )
- (set_local $7
- (i32.const 305)
- )
- (br $while-out69)
- )
- )
- (if
- (tee_local $3
- (i32.load
- (tee_local $0
- (i32.add
- (i32.add
- (get_local $4)
- (i32.const 16)
- )
- (i32.shl
- (i32.shr_u
- (get_local $1)
- (i32.const 31)
- )
- (i32.const 2)
- )
- )
+ (if
+ (i32.eqz
+ (i32.and
+ (tee_local $4
+ (i32.load
+ (i32.const 1212)
)
)
- )
- (block
- (set_local $1
+ (tee_local $1
(i32.shl
- (get_local $1)
(i32.const 1)
+ (get_local $3)
)
)
- (set_local $4
- (get_local $3)
- )
- (br $while-in70)
)
- (block
- (set_local $47
- (get_local $0)
- )
- (set_local $54
+ )
+ (block
+ (i32.store
+ (i32.const 1212)
+ (i32.or
(get_local $4)
- )
- (set_local $7
- (i32.const 302)
+ (get_local $1)
)
)
- )
- )
- )
- (if
- (i32.eq
- (get_local $7)
- (i32.const 302)
- )
- (if
- (i32.lt_u
- (get_local $47)
- (i32.load
- (i32.const 1224)
- )
- )
- (call $qa)
- (block
(i32.store
- (get_local $47)
+ (get_local $0)
(get_local $11)
)
(i32.store offset=24
(get_local $11)
- (get_local $54)
+ (get_local $0)
)
(i32.store offset=12
(get_local $11)
@@ -5672,271 +5532,406 @@
(get_local $11)
(get_local $11)
)
+ (br $do-once38)
)
)
- (if
- (i32.eq
- (get_local $7)
- (i32.const 305)
+ (set_local $1
+ (i32.shl
+ (get_local $2)
+ (select
+ (i32.const 0)
+ (i32.sub
+ (i32.const 25)
+ (i32.shr_u
+ (get_local $3)
+ (i32.const 1)
+ )
+ )
+ (i32.eq
+ (get_local $3)
+ (i32.const 31)
+ )
+ )
)
- (if
- (i32.and
- (i32.ge_u
- (tee_local $1
- (i32.load
- (tee_local $4
+ )
+ (set_local $4
+ (i32.load
+ (get_local $0)
+ )
+ )
+ (loop $while-in70
+ (block $while-out69
+ (if
+ (i32.eq
+ (i32.and
+ (i32.load offset=4
+ (get_local $4)
+ )
+ (i32.const -8)
+ )
+ (get_local $2)
+ )
+ (block
+ (set_local $31
+ (get_local $4)
+ )
+ (set_local $7
+ (i32.const 305)
+ )
+ (br $while-out69)
+ )
+ )
+ (if
+ (tee_local $3
+ (i32.load
+ (tee_local $0
+ (i32.add
(i32.add
- (get_local $31)
- (i32.const 8)
+ (get_local $4)
+ (i32.const 16)
+ )
+ (i32.shl
+ (i32.shr_u
+ (get_local $1)
+ (i32.const 31)
+ )
+ (i32.const 2)
)
)
)
)
- (tee_local $2
- (i32.load
- (i32.const 1224)
+ )
+ (block
+ (set_local $1
+ (i32.shl
+ (get_local $1)
+ (i32.const 1)
)
)
+ (set_local $4
+ (get_local $3)
+ )
+ (br $while-in70)
)
- (i32.ge_u
- (get_local $31)
- (get_local $2)
+ (block
+ (set_local $47
+ (get_local $0)
+ )
+ (set_local $54
+ (get_local $4)
+ )
+ (set_local $7
+ (i32.const 302)
+ )
)
)
- (block
- (i32.store offset=12
- (get_local $1)
- (get_local $11)
+ )
+ )
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 302)
+ )
+ (if
+ (i32.lt_u
+ (get_local $47)
+ (i32.load
+ (i32.const 1224)
)
+ )
+ (call $qa)
+ (block
(i32.store
- (get_local $4)
+ (get_local $47)
(get_local $11)
)
- (i32.store offset=8
+ (i32.store offset=24
(get_local $11)
- (get_local $1)
+ (get_local $54)
)
(i32.store offset=12
(get_local $11)
- (get_local $31)
+ (get_local $11)
)
- (i32.store offset=24
+ (i32.store offset=8
+ (get_local $11)
(get_local $11)
- (i32.const 0)
)
)
- (call $qa)
+ )
+ (if
+ (i32.eq
+ (get_local $7)
+ (i32.const 305)
+ )
+ (if
+ (i32.and
+ (i32.ge_u
+ (tee_local $1
+ (i32.load
+ (tee_local $4
+ (i32.add
+ (get_local $31)
+ (i32.const 8)
+ )
+ )
+ )
+ )
+ (tee_local $2
+ (i32.load
+ (i32.const 1224)
+ )
+ )
+ )
+ (i32.ge_u
+ (get_local $31)
+ (get_local $2)
+ )
+ )
+ (block
+ (i32.store offset=12
+ (get_local $1)
+ (get_local $11)
+ )
+ (i32.store
+ (get_local $4)
+ (get_local $11)
+ )
+ (i32.store offset=8
+ (get_local $11)
+ (get_local $1)
+ )
+ (i32.store offset=12
+ (get_local $11)
+ (get_local $31)
+ )
+ (i32.store offset=24
+ (get_local $11)
+ (i32.const 0)
+ )
+ )
+ (call $qa)
+ )
)
)
)
)
)
- )
- (block
- (if
- (i32.or
- (i32.eqz
- (tee_local $1
- (i32.load
- (i32.const 1224)
+ (block
+ (if
+ (i32.or
+ (i32.eqz
+ (tee_local $1
+ (i32.load
+ (i32.const 1224)
+ )
)
)
+ (i32.lt_u
+ (get_local $20)
+ (get_local $1)
+ )
)
- (i32.lt_u
+ (i32.store
+ (i32.const 1224)
(get_local $20)
- (get_local $1)
)
)
(i32.store
- (i32.const 1224)
+ (i32.const 1656)
(get_local $20)
)
- )
- (i32.store
- (i32.const 1656)
- (get_local $20)
- )
- (i32.store
- (i32.const 1660)
- (get_local $26)
- )
- (i32.store
- (i32.const 1668)
- (i32.const 0)
- )
- (i32.store
- (i32.const 1244)
- (i32.load
- (i32.const 1680)
+ (i32.store
+ (i32.const 1660)
+ (get_local $26)
)
- )
- (i32.store
- (i32.const 1240)
- (i32.const -1)
- )
- (set_local $1
- (i32.const 0)
- )
- (loop $do-in
- (i32.store offset=12
- (tee_local $13
- (i32.add
- (i32.shl
- (get_local $1)
- (i32.const 3)
- )
- (i32.const 1248)
- )
+ (i32.store
+ (i32.const 1668)
+ (i32.const 0)
+ )
+ (i32.store
+ (i32.const 1244)
+ (i32.load
+ (i32.const 1680)
)
- (get_local $13)
)
- (i32.store offset=8
- (get_local $13)
- (get_local $13)
+ (i32.store
+ (i32.const 1240)
+ (i32.const -1)
)
- (br_if $do-in
- (i32.ne
- (tee_local $1
+ (set_local $1
+ (i32.const 0)
+ )
+ (loop $do-in
+ (i32.store offset=12
+ (tee_local $13
(i32.add
- (get_local $1)
- (i32.const 1)
+ (i32.shl
+ (get_local $1)
+ (i32.const 3)
+ )
+ (i32.const 1248)
+ )
+ )
+ (get_local $13)
+ )
+ (i32.store offset=8
+ (get_local $13)
+ (get_local $13)
+ )
+ (br_if $do-in
+ (i32.ne
+ (tee_local $1
+ (i32.add
+ (get_local $1)
+ (i32.const 1)
+ )
)
+ (i32.const 32)
)
- (i32.const 32)
)
)
- )
- (i32.store
- (i32.const 1232)
- (tee_local $1
- (i32.add
- (get_local $20)
- (tee_local $13
- (select
- (i32.and
- (i32.sub
- (i32.const 0)
- (tee_local $1
- (i32.add
- (get_local $20)
- (i32.const 8)
+ (i32.store
+ (i32.const 1232)
+ (tee_local $1
+ (i32.add
+ (get_local $20)
+ (tee_local $13
+ (select
+ (i32.and
+ (i32.sub
+ (i32.const 0)
+ (tee_local $1
+ (i32.add
+ (get_local $20)
+ (i32.const 8)
+ )
)
)
+ (i32.const 7)
+ )
+ (i32.const 0)
+ (i32.and
+ (get_local $1)
+ (i32.const 7)
)
- (i32.const 7)
- )
- (i32.const 0)
- (i32.and
- (get_local $1)
- (i32.const 7)
)
)
)
)
)
- )
- (i32.store
- (i32.const 1220)
- (tee_local $2
- (i32.sub
- (i32.add
- (get_local $26)
- (i32.const -40)
+ (i32.store
+ (i32.const 1220)
+ (tee_local $2
+ (i32.sub
+ (i32.add
+ (get_local $26)
+ (i32.const -40)
+ )
+ (get_local $13)
)
- (get_local $13)
)
)
- )
- (i32.store offset=4
- (get_local $1)
- (i32.or
- (get_local $2)
- (i32.const 1)
- )
- )
- (i32.store offset=4
- (i32.add
+ (i32.store offset=4
(get_local $1)
- (get_local $2)
+ (i32.or
+ (get_local $2)
+ (i32.const 1)
+ )
)
- (i32.const 40)
- )
- (i32.store
- (i32.const 1236)
- (i32.load
- (i32.const 1696)
+ (i32.store offset=4
+ (i32.add
+ (get_local $1)
+ (get_local $2)
+ )
+ (i32.const 40)
+ )
+ (i32.store
+ (i32.const 1236)
+ (i32.load
+ (i32.const 1696)
+ )
)
)
)
)
- )
- (if
- (i32.gt_u
- (tee_local $11
- (i32.load
- (i32.const 1220)
+ (if
+ (i32.gt_u
+ (tee_local $11
+ (i32.load
+ (i32.const 1220)
+ )
)
+ (get_local $5)
)
- (get_local $5)
- )
- (block
- (i32.store
- (i32.const 1220)
- (tee_local $31
- (i32.sub
- (get_local $11)
- (get_local $5)
+ (block
+ (i32.store
+ (i32.const 1220)
+ (tee_local $31
+ (i32.sub
+ (get_local $11)
+ (get_local $5)
+ )
)
)
- )
- (i32.store
- (i32.const 1232)
- (tee_local $7
- (i32.add
- (tee_local $11
- (i32.load
- (i32.const 1232)
+ (i32.store
+ (i32.const 1232)
+ (tee_local $7
+ (i32.add
+ (tee_local $11
+ (i32.load
+ (i32.const 1232)
+ )
)
+ (get_local $5)
)
- (get_local $5)
)
)
- )
- (i32.store offset=4
- (get_local $7)
- (i32.or
- (get_local $31)
- (i32.const 1)
- )
- )
- (i32.store offset=4
- (get_local $11)
- (i32.or
- (get_local $5)
- (i32.const 3)
+ (i32.store offset=4
+ (get_local $7)
+ (i32.or
+ (get_local $31)
+ (i32.const 1)
+ )
)
- )
- (set_global $r
- (get_local $25)
- )
- (return
- (i32.add
+ (i32.store offset=4
(get_local $11)
- (i32.const 8)
+ (i32.or
+ (get_local $5)
+ (i32.const 3)
+ )
+ )
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (i32.add
+ (get_local $11)
+ (i32.const 8)
+ )
)
)
)
)
)
- )
- (i32.store
- (call $Qa)
- (i32.const 12)
+ (i32.store
+ (call $Qa)
+ (i32.const 12)
+ )
+ (set_global $r
+ (get_local $25)
+ )
+ (return
+ (i32.const 0)
+ )
)
(set_global $r
(get_local $25)
)
- (i32.const 0)
+ (i32.add
+ (get_local $15)
+ (i32.const 8)
+ )
)
(func $fb (param $0 i32)
(local $1 i32)
diff --git a/test/passes/remove-unused-names_code-folding.txt b/test/passes/remove-unused-names_code-folding.txt
new file mode 100644
index 000000000..0ad10704f
--- /dev/null
+++ b/test/passes/remove-unused-names_code-folding.txt
@@ -0,0 +1,1681 @@
+(module
+ (type $0 (func))
+ (type $1 (func (param i32 i32) (result i32)))
+ (type $2 (func (result i32)))
+ (memory $0 0)
+ (func $ifs (type $0)
+ (if
+ (i32.const 0)
+ (nop)
+ )
+ (block
+ (drop
+ (i32.const 0)
+ )
+ (nop)
+ )
+ (if
+ (i32.const 0)
+ (nop)
+ (unreachable)
+ )
+ (drop
+ (block (result i32)
+ (drop
+ (i32.const 0)
+ )
+ (i32.add
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ (drop
+ (if (result i32)
+ (i32.const 0)
+ (i32.add
+ (i32.const 1)
+ (i32.const 2)
+ )
+ (i32.add
+ (i32.const 1)
+ (i32.const 333333333)
+ )
+ )
+ )
+ )
+ (func $ifs-blocks (type $0)
+ (block
+ (drop
+ (i32.const 0)
+ )
+ (block
+ (nop)
+ )
+ )
+ (block
+ (if
+ (i32.const 0)
+ (unreachable)
+ (block
+ )
+ )
+ (nop)
+ )
+ (block
+ (if
+ (i32.const 0)
+ (block
+ )
+ (unreachable)
+ )
+ (nop)
+ )
+ (if
+ (i32.const 0)
+ (block
+ (nop)
+ (unreachable)
+ )
+ (nop)
+ )
+ (if
+ (i32.const 0)
+ (nop)
+ (block
+ (nop)
+ (unreachable)
+ )
+ )
+ )
+ (func $ifs-blocks-big (type $0)
+ (block
+ (drop
+ (i32.const 0)
+ )
+ (block
+ (drop
+ (i32.add
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ (block
+ (if
+ (i32.const 0)
+ (unreachable)
+ (block
+ )
+ )
+ (drop
+ (i32.add
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ (block
+ (if
+ (i32.const 0)
+ (block
+ )
+ (unreachable)
+ )
+ (drop
+ (i32.add
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ (if
+ (i32.const 0)
+ (block
+ (drop
+ (i32.add
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ (unreachable)
+ )
+ (drop
+ (i32.add
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ (if
+ (i32.const 0)
+ (drop
+ (i32.add
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ (block
+ (drop
+ (i32.add
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ (unreachable)
+ )
+ )
+ )
+ (func $ifs-blocks-long (type $0)
+ (block
+ (if
+ (i32.const 1)
+ (block
+ (drop
+ (i32.const -1234)
+ )
+ (drop
+ (i32.const -1000)
+ )
+ )
+ (drop
+ (i32.const 999)
+ )
+ )
+ (drop
+ (i32.const 1)
+ )
+ (nop)
+ (unreachable)
+ )
+ (drop
+ (block (result i32)
+ (if
+ (i32.const 2)
+ (block
+ (drop
+ (i32.const -1234)
+ )
+ (drop
+ (i32.const -1000)
+ )
+ )
+ (drop
+ (i32.const 999)
+ )
+ )
+ (drop
+ (i32.const 1)
+ )
+ (nop)
+ (unreachable)
+ (i32.const 2)
+ )
+ )
+ (drop
+ (block (result i32)
+ (if
+ (i32.const 3)
+ (block
+ (drop
+ (i32.const -1234)
+ )
+ (drop
+ (i32.const -1000)
+ )
+ )
+ (drop
+ (i32.const 999)
+ )
+ )
+ (drop
+ (i32.const 1)
+ )
+ (nop)
+ (i32.const 2)
+ )
+ )
+ )
+ (func $if-worth-it-i-dunno (type $0)
+ (block $folding-inner0
+ (block
+ (if
+ (i32.const 0)
+ (if
+ (i32.const 0)
+ (block
+ (drop
+ (i32.const -1234)
+ )
+ (drop
+ (i32.const -1000)
+ )
+ (br $folding-inner0)
+ )
+ (block
+ (drop
+ (i32.const 999)
+ )
+ (drop
+ (i32.const 1)
+ )
+ (br $folding-inner0)
+ )
+ )
+ )
+ (if
+ (i32.const 0)
+ (block
+ (if
+ (i32.const 0)
+ (block
+ (drop
+ (i32.const -1234)
+ )
+ (drop
+ (i32.const -1000)
+ )
+ )
+ (block
+ (drop
+ (i32.const 999)
+ )
+ (drop
+ (i32.const 1)
+ )
+ )
+ )
+ (unreachable)
+ (br $folding-inner0)
+ )
+ )
+ (if
+ (i32.const 0)
+ (block
+ (if
+ (i32.const 0)
+ (block
+ )
+ (block
+ (drop
+ (i32.const 999)
+ )
+ (drop
+ (i32.const 1)
+ )
+ )
+ )
+ (br $folding-inner0)
+ )
+ )
+ (if
+ (i32.const 0)
+ (block
+ (if
+ (i32.const 0)
+ (block
+ (drop
+ (i32.const -1234)
+ )
+ (drop
+ (i32.const -1000)
+ )
+ )
+ (block
+ )
+ )
+ (br $folding-inner0)
+ )
+ )
+ (block
+ (block
+ (if
+ (i32.const 9999)
+ (block
+ (drop
+ (i32.const -51234)
+ )
+ (drop
+ (i32.const -51000)
+ )
+ )
+ (block
+ (drop
+ (i32.const 5999)
+ )
+ (drop
+ (i32.const 51)
+ )
+ )
+ )
+ (br $folding-inner0)
+ )
+ )
+ (drop
+ (block (result i32)
+ (block (result i32)
+ (if
+ (i32.const 9999)
+ (block
+ (drop
+ (i32.const -51234)
+ )
+ (drop
+ (i32.const -51000)
+ )
+ )
+ (block
+ (drop
+ (i32.const 5999)
+ )
+ (drop
+ (i32.const 51)
+ )
+ )
+ )
+ (unreachable)
+ (i32.const 10)
+ )
+ )
+ )
+ (block
+ (drop
+ (if (result i32)
+ (i32.const 9999)
+ (block (result i32)
+ (drop
+ (i32.const -51234)
+ )
+ (drop
+ (i32.const -51000)
+ )
+ (unreachable)
+ (i32.const 10)
+ )
+ (block (result i32)
+ (drop
+ (i32.const 5999)
+ )
+ (drop
+ (i32.const 51)
+ )
+ (unreachable)
+ (i32.const 10)
+ )
+ )
+ )
+ )
+ )
+ )
+ (unreachable)
+ (unreachable)
+ )
+ (func $no-grandparent (type $0)
+ (if
+ (i32.const 9999)
+ (block
+ (drop
+ (i32.const -51234)
+ )
+ (drop
+ (i32.const -51000)
+ )
+ (unreachable)
+ (unreachable)
+ )
+ (block
+ (drop
+ (i32.const 5999)
+ )
+ (drop
+ (i32.const 51)
+ )
+ (unreachable)
+ (unreachable)
+ )
+ )
+ )
+ (func $yes-grandparent (type $0)
+ (block
+ (if
+ (i32.const 9999)
+ (block
+ (drop
+ (i32.const -51234)
+ )
+ (drop
+ (i32.const -51000)
+ )
+ )
+ (block
+ (drop
+ (i32.const 5999)
+ )
+ (drop
+ (i32.const 51)
+ )
+ )
+ )
+ (unreachable)
+ (unreachable)
+ )
+ )
+ (func $ifs-named-block (type $1) (param $x i32) (param $y i32) (result i32)
+ (block $out
+ (block $out2
+ (block
+ (drop
+ (get_local $x)
+ )
+ (block
+ (br_if $out
+ (get_local $y)
+ )
+ (nop)
+ )
+ )
+ (block
+ (if
+ (get_local $x)
+ (br_if $out
+ (get_local $y)
+ )
+ (br_if $out2
+ (get_local $y)
+ )
+ )
+ (nop)
+ )
+ (if
+ (i32.const 1234)
+ (if
+ (get_local $x)
+ (block
+ (nop)
+ (br_if $out
+ (get_local $y)
+ )
+ (nop)
+ )
+ (block
+ (nop)
+ (br_if $out2
+ (get_local $y)
+ )
+ (nop)
+ )
+ )
+ )
+ (if
+ (get_local $x)
+ (block $left
+ (br_if $left
+ (get_local $y)
+ )
+ (nop)
+ )
+ (block
+ (br_if $out
+ (get_local $y)
+ )
+ (nop)
+ )
+ )
+ (if
+ (get_local $x)
+ (block
+ (br_if $out
+ (get_local $y)
+ )
+ (nop)
+ )
+ (block $right
+ (br_if $right
+ (get_local $y)
+ )
+ (nop)
+ )
+ )
+ )
+ (return
+ (i32.const 10)
+ )
+ )
+ (return
+ (i32.const 20)
+ )
+ )
+ (func $block (type $0)
+ (block $x
+ (if
+ (i32.const 0)
+ (br $x)
+ )
+ (if
+ (i32.const 0)
+ (br $x)
+ )
+ (br $x)
+ )
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ )
+ (func $block2 (type $0)
+ (block $x
+ (if
+ (i32.const 0)
+ (block
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 333333)
+ )
+ (br $x)
+ )
+ )
+ (if
+ (i32.const 0)
+ (block
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ (br $x)
+ )
+ )
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ (br $x)
+ )
+ )
+ (func $block3 (type $0)
+ (block $x
+ (if
+ (i32.const 0)
+ (block
+ (drop
+ (i32.const 1000)
+ )
+ (br $x)
+ )
+ )
+ (if
+ (i32.const 0)
+ (block
+ (drop
+ (i32.const 2000)
+ )
+ (drop
+ (i32.const 3000)
+ )
+ (br $x)
+ )
+ )
+ (drop
+ (i32.const 4000)
+ )
+ (drop
+ (i32.const 5000)
+ )
+ (drop
+ (i32.const 6000)
+ )
+ (br $x)
+ )
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ )
+ (func $mixture (type $0)
+ (block $out
+ (block
+ (drop
+ (i32.const 1)
+ )
+ (block
+ (drop
+ (i32.const 2)
+ )
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (br $out)
+ )
+ )
+ )
+ (block $out2
+ (block
+ (if
+ (i32.const 1)
+ (drop
+ (i32.const 3)
+ )
+ (block
+ (drop
+ (i32.const 4)
+ )
+ (drop
+ (i32.const 5)
+ )
+ )
+ )
+ (drop
+ (i32.const 2)
+ )
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (br $out2)
+ )
+ )
+ (block
+ (block $out3
+ (block
+ (drop
+ (i32.const 1)
+ )
+ (block
+ (br $out3)
+ )
+ )
+ (block
+ (drop
+ (i32.const 1)
+ )
+ (block
+ (br $out3)
+ )
+ )
+ (br $out3)
+ )
+ (drop
+ (i32.const 2)
+ )
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ )
+ )
+ (func $block-corners (type $0)
+ (block
+ (block $x
+ (if
+ (i32.const 0)
+ (br $x)
+ )
+ )
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ )
+ (drop
+ (block $y (result i32)
+ (if
+ (i32.const 0)
+ (block
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ (br $y
+ (i32.const 3)
+ )
+ )
+ )
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ (br $y
+ (i32.const 3)
+ )
+ )
+ )
+ (drop
+ (block $z (result i32)
+ (if
+ (i32.const 0)
+ (block
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ (br $z
+ (i32.const 2)
+ )
+ )
+ )
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ (i32.const 3)
+ )
+ )
+ (block $w
+ (if
+ (i32.const 0)
+ (block
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ (br_if $w
+ (i32.const 3)
+ )
+ )
+ )
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ )
+ (block $x1
+ (if
+ (i32.const 0)
+ (block
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ (br $x1)
+ (nop)
+ )
+ )
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ )
+ (block $side
+ (block $x2
+ (br_table $x2 $side
+ (i32.const 0)
+ )
+ (if
+ (i32.const 0)
+ (block
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ (br $x2)
+ )
+ )
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ )
+ (block $x3
+ (br_table $side $x3
+ (i32.const 0)
+ )
+ (if
+ (i32.const 0)
+ (block
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ (br $x3)
+ )
+ )
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ (func $terminating (type $0)
+ (block $folding-inner0
+ (block
+ (if
+ (i32.const 1)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 2)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 3)
+ (br $folding-inner0)
+ )
+ )
+ (return)
+ )
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (unreachable)
+ )
+ (func $terminating-unreachable (type $0)
+ (block $folding-inner0
+ (block
+ (if
+ (i32.const 1)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 2)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 3)
+ (br $folding-inner0)
+ )
+ (unreachable)
+ )
+ )
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (unreachable)
+ )
+ (func $terminating-value (type $2) (result i32)
+ (block $folding-inner0
+ (return
+ (block (result i32)
+ (if
+ (i32.const 1)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 2)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 3)
+ (br $folding-inner0)
+ )
+ (i32.const 4)
+ )
+ )
+ )
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (unreachable)
+ )
+ (func $terminating-just-2 (type $0)
+ (block $folding-inner0
+ (block
+ (if
+ (i32.const 1)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 2)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 3)
+ (block
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (drop
+ (i32.const 10)
+ )
+ (unreachable)
+ )
+ )
+ )
+ (return)
+ )
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (unreachable)
+ )
+ (func $terminating-shortness (type $0)
+ (block $folding-inner1
+ (block
+ (block $folding-inner0
+ (block
+ (if
+ (i32.const 1)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 2)
+ (br $folding-inner1)
+ )
+ (if
+ (i32.const 3)
+ (block
+ (drop
+ (i32.const 10)
+ )
+ (br $folding-inner0)
+ )
+ )
+ )
+ (return)
+ )
+ (nop)
+ (br $folding-inner1)
+ )
+ )
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (unreachable)
+ )
+ (func $terminating-multiple-separate (type $0)
+ (block $folding-inner1
+ (block
+ (block $folding-inner0
+ (block
+ (if
+ (i32.const 1)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 1)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 1)
+ (br $folding-inner1)
+ )
+ (if
+ (i32.const 1)
+ (br $folding-inner1)
+ )
+ )
+ (return)
+ )
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (drop
+ (i32.const 1)
+ )
+ (unreachable)
+ )
+ )
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (drop
+ (i32.const 2)
+ )
+ (unreachable)
+ )
+ (func $terminating-just-worth-it (type $0)
+ (block $folding-inner0
+ (block
+ (if
+ (i32.const 1)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 2)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 3)
+ (br $folding-inner0)
+ )
+ )
+ (return)
+ )
+ (nop)
+ (nop)
+ (nop)
+ (unreachable)
+ )
+ (func $terminating-not-worth-it (type $0)
+ (if
+ (i32.const 1)
+ (block
+ (nop)
+ (nop)
+ (unreachable)
+ )
+ )
+ (if
+ (i32.const 2)
+ (block
+ (nop)
+ (nop)
+ (unreachable)
+ )
+ )
+ (if
+ (i32.const 3)
+ (block
+ (nop)
+ (nop)
+ (unreachable)
+ )
+ )
+ )
+ (func $terminating-return (type $0)
+ (block $folding-inner0
+ (block
+ (if
+ (i32.const 1)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 2)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 3)
+ (br $folding-inner0)
+ )
+ )
+ (return)
+ )
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (nop)
+ (return)
+ )
+ (func $terminating-return-value (type $2) (result i32)
+ (block $folding-inner0
+ (block
+ (if
+ (i32.const 1)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 2)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 3)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 3)
+ (block
+ (nop)
+ (return
+ (i32.add
+ (i32.const 111111111)
+ (i32.const 2222222)
+ )
+ )
+ )
+ )
+ (return
+ (i32.const 1234)
+ )
+ )
+ )
+ (nop)
+ (return
+ (i32.add
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ (func $terminating-fallthrough-value (type $2) (result i32)
+ (block $folding-inner0
+ (return
+ (block (result i32)
+ (if
+ (i32.const 1)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 2)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 3)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 3)
+ (block
+ (nop)
+ (return
+ (i32.add
+ (i32.const 111111111)
+ (i32.const 2222222)
+ )
+ )
+ )
+ )
+ (i32.const 1234)
+ )
+ )
+ )
+ (nop)
+ (return
+ (i32.add
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ (func $big-return (type $2) (result i32)
+ (block $folding-inner0
+ (block
+ (if
+ (i32.const 1)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 2)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 3)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 4)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 5)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 6)
+ (br $folding-inner0)
+ )
+ (unreachable)
+ )
+ )
+ (return
+ (i32.add
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ (func $return-mix (type $2) (result i32)
+ (block $folding-inner0
+ (block
+ (if
+ (i32.const 1)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 2)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 3)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 4)
+ (br $folding-inner0)
+ )
+ (if
+ (i32.const 3)
+ (return
+ (i32.add
+ (i32.const 1)
+ (i32.const 234567)
+ )
+ )
+ )
+ (br $folding-inner0)
+ )
+ )
+ (return
+ (i32.add
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ (func $just-unreachable (type $0)
+ (unreachable)
+ )
+ (func $just-return (type $2) (result i32)
+ (return
+ (i32.add
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ (func $drop-if-with-value-but-unreachable (type $0)
+ (if
+ (i32.const 0)
+ (nop)
+ )
+ (block
+ (drop
+ (i32.const 0)
+ )
+ (block
+ (nop)
+ )
+ )
+ (if
+ (i32.const 0)
+ (nop)
+ (unreachable)
+ )
+ (nop)
+ (drop
+ (block (result i32)
+ (drop
+ (unreachable)
+ )
+ (block (result i32)
+ (i32.add
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ (drop
+ (if (result i32)
+ (i32.const 0)
+ (i32.add
+ (i32.const 1)
+ (i32.const 2)
+ )
+ (i32.add
+ (i32.const 1)
+ (i32.const 333333333)
+ )
+ )
+ )
+ )
+ (func $nested-control-flow (type $0)
+ (block $out
+ (block
+ (block $x
+ (if
+ (i32.const 0)
+ (br $x)
+ )
+ (if
+ (i32.const 0)
+ (br $x)
+ )
+ (br $x)
+ )
+ (if
+ (i32.const 1)
+ (br $out)
+ )
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ )
+ (drop
+ (i32.const 3)
+ )
+ )
+ )
+ (func $nested-control-flow-dangerous (type $0)
+ (block $folding-inner0
+ (block $out
+ (block
+ (if
+ (i32.const 0)
+ (block
+ (if
+ (i32.const 1)
+ (br $out)
+ )
+ (br $folding-inner0)
+ )
+ )
+ (if
+ (i32.const 0)
+ (block
+ (if
+ (i32.const 1)
+ (br $out)
+ )
+ (br $folding-inner0)
+ )
+ )
+ (if
+ (i32.const 1)
+ (br $out)
+ )
+ (br $folding-inner0)
+ )
+ (drop
+ (i32.const 3)
+ )
+ )
+ (return)
+ )
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ (return)
+ )
+ (func $nested-control-flow-dangerous-but-ok (type $0)
+ (block $folding-inner0
+ (block
+ (block $middle
+ (block
+ (if
+ (i32.const 0)
+ (block
+ (if
+ (i32.add
+ (i32.const 0)
+ (i32.const 1)
+ )
+ (br $middle)
+ )
+ (br $folding-inner0)
+ )
+ )
+ (if
+ (i32.const 0)
+ (block
+ (if
+ (i32.add
+ (i32.const 0)
+ (i32.const 1)
+ )
+ (br $middle)
+ )
+ (br $folding-inner0)
+ )
+ )
+ (if
+ (i32.add
+ (i32.const 0)
+ (i32.const 1)
+ )
+ (br $middle)
+ )
+ (br $folding-inner0)
+ )
+ )
+ (drop
+ (i32.const 3)
+ )
+ )
+ (return)
+ )
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ (return)
+ )
+ (func $nested-control-flow-dangerous-but-ok-b (type $0)
+ (block $out
+ (block $middle
+ (block
+ (if
+ (i32.const 0)
+ (block
+ (if
+ (i32.add
+ (i32.const 0)
+ (i32.const 1)
+ )
+ (br $middle)
+ )
+ (br $out)
+ )
+ )
+ (if
+ (i32.const 0)
+ (block
+ (if
+ (i32.add
+ (i32.const 0)
+ (i32.const 1)
+ )
+ (br $middle)
+ )
+ (br $out)
+ )
+ )
+ (if
+ (i32.add
+ (i32.const 0)
+ (i32.const 1)
+ )
+ (br $middle)
+ )
+ )
+ )
+ (unreachable)
+ )
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ (drop
+ (i32.const 3)
+ )
+ (drop
+ (i32.const 4)
+ )
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ (drop
+ (i32.const 3)
+ )
+ (drop
+ (i32.const 4)
+ )
+ )
+ (func $nested-control-flow-dangerous-but-ok-c (type $0)
+ (block $x
+ (block
+ (block $out
+ (block
+ (if
+ (i32.const 0)
+ (br $out)
+ )
+ (if
+ (i32.const 0)
+ (br $out)
+ )
+ (br $out)
+ )
+ (unreachable)
+ )
+ (if
+ (i32.add
+ (i32.const 0)
+ (i32.const 1)
+ )
+ (br $x)
+ )
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ )
+ (unreachable)
+ )
+ (drop
+ (i32.const 5)
+ )
+ )
+ (func $nested-control-flow-dangerous-but-ok-d (type $0)
+ (block
+ (block $out
+ (block
+ (if
+ (i32.const 0)
+ (br $out)
+ )
+ (if
+ (i32.const 0)
+ (br $out)
+ )
+ (br $out)
+ )
+ )
+ (block $x
+ (if
+ (i32.add
+ (i32.const 0)
+ (i32.const 1)
+ )
+ (br $x)
+ )
+ )
+ (drop
+ (i32.const 1)
+ )
+ (drop
+ (i32.const 2)
+ )
+ )
+ (drop
+ (i32.const 3)
+ )
+ )
+)
diff --git a/test/passes/remove-unused-names_code-folding.wast b/test/passes/remove-unused-names_code-folding.wast
new file mode 100644
index 000000000..35d95ba90
--- /dev/null
+++ b/test/passes/remove-unused-names_code-folding.wast
@@ -0,0 +1,1176 @@
+(module
+ (func $ifs
+ (if (i32.const 0) (nop))
+ (if (i32.const 0) (nop) (nop))
+ (if (i32.const 0) (nop) (unreachable))
+ (drop
+ (if (result i32) (i32.const 0)
+ (i32.add (i32.const 1) (i32.const 2))
+ (i32.add (i32.const 1) (i32.const 2))
+ )
+ )
+ (drop
+ (if (result i32) (i32.const 0)
+ (i32.add (i32.const 1) (i32.const 2))
+ (i32.add (i32.const 1) (i32.const 333333333))
+ )
+ )
+ )
+ (func $ifs-blocks
+ (if (i32.const 0)
+ (block
+ (nop)
+ )
+ (block
+ (nop)
+ )
+ )
+ (if (i32.const 0)
+ (block
+ (unreachable)
+ (nop)
+ )
+ (block
+ (nop)
+ )
+ )
+ (if (i32.const 0)
+ (block
+ (nop)
+ )
+ (block
+ (unreachable)
+ (nop)
+ )
+ )
+ (if (i32.const 0)
+ (block
+ (nop)
+ (unreachable)
+ )
+ (block
+ (nop)
+ )
+ )
+ (if (i32.const 0)
+ (block
+ (nop)
+ )
+ (block
+ (nop)
+ (unreachable)
+ )
+ )
+ )
+ (func $ifs-blocks-big
+ (if (i32.const 0)
+ (block
+ (drop (i32.add (i32.const 1) (i32.const 2)))
+ )
+ (block
+ (drop (i32.add (i32.const 1) (i32.const 2)))
+ )
+ )
+ (if (i32.const 0)
+ (block
+ (unreachable)
+ (drop (i32.add (i32.const 1) (i32.const 2)))
+ )
+ (block
+ (drop (i32.add (i32.const 1) (i32.const 2)))
+ )
+ )
+ (if (i32.const 0)
+ (block
+ (drop (i32.add (i32.const 1) (i32.const 2)))
+ )
+ (block
+ (unreachable)
+ (drop (i32.add (i32.const 1) (i32.const 2)))
+ )
+ )
+ (if (i32.const 0)
+ (block
+ (drop (i32.add (i32.const 1) (i32.const 2)))
+ (unreachable)
+ )
+ (block
+ (drop (i32.add (i32.const 1) (i32.const 2)))
+ )
+ )
+ (if (i32.const 0)
+ (block
+ (drop (i32.add (i32.const 1) (i32.const 2)))
+ )
+ (block
+ (drop (i32.add (i32.const 1) (i32.const 2)))
+ (unreachable)
+ )
+ )
+ )
+ (func $ifs-blocks-long
+ (if (i32.const 1)
+ (block
+ (drop (i32.const -1234))
+ (drop (i32.const -1000))
+ (drop (i32.const 1))
+ (nop)
+ (unreachable)
+ )
+ (block
+ (drop (i32.const 999))
+ (drop (i32.const 1))
+ (nop)
+ (unreachable)
+ )
+ )
+ (drop
+ (if (result i32) (i32.const 2)
+ (block (result i32)
+ (drop (i32.const -1234))
+ (drop (i32.const -1000))
+ (drop (i32.const 1))
+ (nop)
+ (unreachable)
+ (i32.const 2)
+ )
+ (block (result i32)
+ (drop (i32.const 999))
+ (drop (i32.const 1))
+ (nop)
+ (unreachable)
+ (i32.const 2)
+ )
+ )
+ )
+ (drop
+ (if (result i32) (i32.const 3)
+ (block (result i32)
+ (drop (i32.const -1234))
+ (drop (i32.const -1000))
+ (drop (i32.const 1))
+ (nop)
+ (i32.const 2)
+ )
+ (block (result i32)
+ (drop (i32.const 999))
+ (drop (i32.const 1))
+ (nop)
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ (func $if-worth-it-i-dunno
+ ;; just 2, so not worth it
+ (if (i32.const 0) ;; (put them in ifs, so no block outside which would make us more confident in creating a block in hopes it would vanish)
+ (if (i32.const 0)
+ (block
+ (drop (i32.const -1234))
+ (drop (i32.const -1000))
+ (unreachable)
+ (unreachable)
+ )
+ (block
+ (drop (i32.const 999))
+ (drop (i32.const 1))
+ (unreachable)
+ (unreachable)
+ )
+ )
+ )
+ ;; 3, so why not
+ (if (i32.const 0) ;; (put them in ifs, so no block outside which would make us more confident in creating a block in hopes it would vanish)
+ (if (i32.const 0)
+ (block
+ (drop (i32.const -1234))
+ (drop (i32.const -1000))
+ (unreachable)
+ (unreachable)
+ (unreachable)
+ )
+ (block
+ (drop (i32.const 999))
+ (drop (i32.const 1))
+ (unreachable)
+ (unreachable)
+ (unreachable)
+ )
+ )
+ )
+ ;; just 2, but we'll empty out a block
+ (if (i32.const 0) ;; (put them in ifs, so no block outside which would make us more confident in creating a block in hopes it would vanish)
+ (if (i32.const 0)
+ (block
+ (unreachable)
+ (unreachable)
+ )
+ (block
+ (drop (i32.const 999))
+ (drop (i32.const 1))
+ (unreachable)
+ (unreachable)
+ )
+ )
+ )
+ ;; just 2, but we'll empty out a block
+ (if (i32.const 0) ;; (put them in ifs, so no block outside which would make us more confident in creating a block in hopes it would vanish)
+ (if (i32.const 0)
+ (block
+ (drop (i32.const -1234))
+ (drop (i32.const -1000))
+ (unreachable)
+ (unreachable)
+ )
+ (block
+ (unreachable)
+ (unreachable)
+ )
+ )
+ )
+ ;; just two, but on a block, so we hope to merge, and can optimize here
+ (block $a-holding-block
+ (if (i32.const 9999)
+ (block
+ (drop (i32.const -51234))
+ (drop (i32.const -51000))
+ (unreachable)
+ (unreachable)
+ )
+ (block
+ (drop (i32.const 5999))
+ (drop (i32.const 51))
+ (unreachable)
+ (unreachable)
+ )
+ )
+ )
+ ;; with value
+ (drop
+ (block $b-holding-block (result i32)
+ (if (result i32) (i32.const 9999)
+ (block (result i32)
+ (drop (i32.const -51234))
+ (drop (i32.const -51000))
+ (unreachable)
+ (i32.const 10)
+ )
+ (block (result i32)
+ (drop (i32.const 5999))
+ (drop (i32.const 51))
+ (unreachable)
+ (i32.const 10)
+ )
+ )
+ )
+ )
+ ;; oops, something in between
+ (block $c-holding-block
+ (drop
+ (if (result i32) (i32.const 9999)
+ (block (result i32)
+ (drop (i32.const -51234))
+ (drop (i32.const -51000))
+ (unreachable)
+ (i32.const 10)
+ )
+ (block (result i32)
+ (drop (i32.const 5999))
+ (drop (i32.const 51))
+ (unreachable)
+ (i32.const 10)
+ )
+ )
+ )
+ )
+ )
+ (func $no-grandparent
+ ;; if we had a parent block, we might optimize this
+ (if (i32.const 9999)
+ (block
+ (drop (i32.const -51234))
+ (drop (i32.const -51000))
+ (unreachable)
+ (unreachable)
+ )
+ (block
+ (drop (i32.const 5999))
+ (drop (i32.const 51))
+ (unreachable)
+ (unreachable)
+ )
+ )
+ )
+ (func $yes-grandparent
+ (block
+ (if (i32.const 9999)
+ (block
+ (drop (i32.const -51234))
+ (drop (i32.const -51000))
+ (unreachable)
+ (unreachable)
+ )
+ (block
+ (drop (i32.const 5999))
+ (drop (i32.const 51))
+ (unreachable)
+ (unreachable)
+ )
+ )
+ )
+ )
+ (func $ifs-named-block (param $x i32) (param $y i32) (result i32)
+ (block $out
+ (block $out2
+ (if (get_local $x)
+ (block
+ (br_if $out (get_local $y i32))
+ (nop)
+ )
+ (block
+ (br_if $out (get_local $y i32))
+ (nop)
+ )
+ )
+ (if (get_local $x)
+ (block
+ (br_if $out (get_local $y i32))
+ (nop)
+ )
+ (block
+ (br_if $out2 (get_local $y i32))
+ (nop)
+ )
+ )
+ (if (i32.const 1234)
+ (if (get_local $x)
+ (block
+ (nop)
+ (br_if $out (get_local $y i32))
+ (nop)
+ )
+ (block
+ (nop)
+ (br_if $out2 (get_local $y i32))
+ (nop)
+ )
+ )
+ )
+ (if (get_local $x)
+ (block $left
+ (br_if $left (get_local $y i32))
+ (nop)
+ )
+ (block
+ (br_if $out (get_local $y i32))
+ (nop)
+ )
+ )
+ (if (get_local $x)
+ (block
+ (br_if $out (get_local $y i32))
+ (nop)
+ )
+ (block $right
+ (br_if $right (get_local $y i32))
+ (nop)
+ )
+ )
+ )
+ (return (i32.const 10))
+ )
+ (return (i32.const 20))
+ )
+ (func $block
+ (block $x
+ (if (i32.const 0)
+ (block
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (br $x)
+ )
+ )
+ (if (i32.const 0)
+ (block
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (br $x)
+ )
+ )
+ ;; no fallthrough, another thing to merge
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (br $x)
+ )
+ )
+ (func $block2
+ (block $x
+ (if (i32.const 0)
+ (block
+ (drop (i32.const 1))
+ (drop (i32.const 333333))
+ (br $x)
+ )
+ )
+ (if (i32.const 0)
+ (block
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (br $x)
+ )
+ )
+ ;; no fallthrough, another thing to merge
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (br $x)
+ )
+ )
+ (func $block3
+ (block $x
+ (if (i32.const 0)
+ (block
+ (drop (i32.const 1000))
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (br $x)
+ )
+ )
+ (if (i32.const 0)
+ (block
+ (drop (i32.const 2000))
+ (drop (i32.const 3000))
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (br $x)
+ )
+ )
+ (drop (i32.const 4000))
+ (drop (i32.const 5000))
+ (drop (i32.const 6000))
+ ;; no fallthrough, another thing to merge
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (br $x)
+ )
+ )
+ (func $mixture
+ (block $out ;; then we reach the block, and the tail infos are stale, should ignore
+ (if (i32.const 1) ;; then we optimize the if, pushing those brs outside!
+ (block
+ (drop (i32.const 2)) ;; first we note the block tails for $out
+ (nop) (nop) (nop) (nop) (nop) (nop) ;; totally worth it
+ (br $out)
+ )
+ (block
+ (drop (i32.const 2))
+ (nop) (nop) (nop) (nop) (nop) (nop)
+ (br $out)
+ )
+ )
+ )
+ (block $out2
+ (if (i32.const 1)
+ (block
+ (drop (i32.const 3)) ;; leave something
+ (drop (i32.const 2))
+ (nop) (nop) (nop) (nop) (nop) (nop)
+ (br $out2)
+ )
+ (block
+ (drop (i32.const 4)) ;; leave something
+ (drop (i32.const 5)) ;; leave something
+ (drop (i32.const 2))
+ (nop) (nop) (nop) (nop) (nop) (nop)
+ (br $out2)
+ )
+ )
+ )
+ ;; now a case where do **do** want to fold for the block (which we can only do in a later pass)
+ (block $out3
+ (if (i32.const 1)
+ (block
+ (drop (i32.const 2))
+ (nop) (nop) (nop) (nop) (nop) (nop)
+ (br $out3)
+ )
+ (block
+ (drop (i32.const 2))
+ (nop) (nop) (nop) (nop) (nop) (nop)
+ (br $out3)
+ )
+ )
+ (if (i32.const 1)
+ (block
+ (drop (i32.const 2))
+ (nop) (nop) (nop) (nop) (nop) (nop)
+ (br $out3)
+ )
+ (block
+ (drop (i32.const 2))
+ (nop) (nop) (nop) (nop) (nop) (nop)
+ (br $out3)
+ )
+ )
+ (drop (i32.const 2))
+ (nop) (nop) (nop) (nop) (nop) (nop)
+ (br $out3)
+ )
+ )
+ (func $block-corners
+ ;; these should be merged
+ (block $x
+ (if (i32.const 0)
+ (block
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (br $x)
+ )
+ )
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ )
+ ;; these should not
+ ;; values
+ (drop
+ (block $y (result i32)
+ (if (i32.const 0)
+ (block
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (br $y (i32.const 3))
+ )
+ )
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (br $y (i32.const 3))
+ )
+ )
+ (drop
+ (block $z (result i32)
+ (if (i32.const 0)
+ (block
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (br $z (i32.const 2))
+ )
+ )
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (i32.const 3)
+ )
+ )
+ ;; condition
+ (block $w
+ (if (i32.const 0)
+ (block
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (br_if $w (i32.const 3))
+ )
+ )
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ )
+ ;; not at the end
+ (block $x1
+ (if (i32.const 0)
+ (block
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (br $x1)
+ (nop)
+ )
+ )
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ )
+ ;; switches
+ (block $side
+ (block $x2
+ (br_table $x2 $side (i32.const 0))
+ (if (i32.const 0)
+ (block
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (br $x2)
+ )
+ )
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ )
+ (block $x3
+ (br_table $side $x3 (i32.const 0))
+ (if (i32.const 0)
+ (block
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (br $x3)
+ )
+ )
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ )
+ )
+ )
+ (func $terminating
+ (if (i32.const 1)
+ (block
+ (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop)
+ (unreachable)
+ )
+ )
+ (if (i32.const 2)
+ (block
+ (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop)
+ (unreachable)
+ )
+ )
+ (if (i32.const 3)
+ (block
+ (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop)
+ (unreachable)
+ )
+ )
+ )
+ (func $terminating-unreachable
+ (if (i32.const 1)
+ (block
+ (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop)
+ (unreachable)
+ )
+ )
+ (if (i32.const 2)
+ (block
+ (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop)
+ (unreachable)
+ )
+ )
+ (if (i32.const 3)
+ (block
+ (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop)
+ (unreachable)
+ )
+ )
+ (unreachable)
+ )
+ (func $terminating-value (result i32)
+ (if (i32.const 1)
+ (block
+ (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop)
+ (unreachable)
+ )
+ )
+ (if (i32.const 2)
+ (block
+ (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop)
+ (unreachable)
+ )
+ )
+ (if (i32.const 3)
+ (block
+ (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop)
+ (unreachable)
+ )
+ )
+ (i32.const 4)
+ )
+ (func $terminating-just-2
+ (if (i32.const 1)
+ (block
+ (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop)
+ (unreachable)
+ )
+ )
+ (if (i32.const 2)
+ (block
+ (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop)
+ (unreachable)
+ )
+ )
+ (if (i32.const 3)
+ (block
+ (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop)
+ (drop (i32.const 10))
+ (unreachable)
+ )
+ )
+ )
+ (func $terminating-shortness
+ (if (i32.const 1)
+ (block
+ (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop)
+ (unreachable)
+ )
+ )
+ (if (i32.const 2)
+ (block
+ (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) ;; shorter. we do the two long ones greedily, then the merged one and this can also be opted
+ (unreachable)
+ )
+ )
+ (if (i32.const 3)
+ (block
+ (drop (i32.const 10))
+ (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop)
+ (unreachable)
+ )
+ )
+ )
+ (func $terminating-multiple-separate
+ (if (i32.const 1)
+ (block
+ (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop)
+ (drop (i32.const 1))
+ (unreachable)
+ )
+ )
+ (if (i32.const 1)
+ (block
+ (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop)
+ (drop (i32.const 1))
+ (unreachable)
+ )
+ )
+ (if (i32.const 1)
+ (block
+ (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop)
+ (drop (i32.const 2))
+ (unreachable)
+ )
+ )
+ (if (i32.const 1)
+ (block
+ (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop)
+ (drop (i32.const 2))
+ (unreachable)
+ )
+ )
+ )
+ (func $terminating-just-worth-it
+ (if (i32.const 1)
+ (block
+ (nop) (nop) (nop)
+ (unreachable)
+ )
+ )
+ (if (i32.const 2)
+ (block
+ (nop) (nop) (nop)
+ (unreachable)
+ )
+ )
+ (if (i32.const 3)
+ (block
+ (nop) (nop) (nop)
+ (unreachable)
+ )
+ )
+ )
+ (func $terminating-not-worth-it
+ (if (i32.const 1)
+ (block
+ (nop) (nop)
+ (unreachable)
+ )
+ )
+ (if (i32.const 2)
+ (block
+ (nop) (nop)
+ (unreachable)
+ )
+ )
+ (if (i32.const 3)
+ (block
+ (nop) (nop)
+ (unreachable)
+ )
+ )
+ )
+ (func $terminating-return
+ (if (i32.const 1)
+ (block
+ (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop)
+ (return)
+ )
+ )
+ (if (i32.const 2)
+ (block
+ (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop)
+ (return)
+ )
+ )
+ (if (i32.const 3)
+ (block
+ (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop) (nop)
+ (return)
+ )
+ )
+ )
+ (func $terminating-return-value (result i32)
+ (if (i32.const 1)
+ (block
+ (nop)
+ (return (i32.add (i32.const 1) (i32.const 2)))
+ )
+ )
+ (if (i32.const 2)
+ (block
+ (nop)
+ (return (i32.add (i32.const 1) (i32.const 2)))
+ )
+ )
+ (if (i32.const 3)
+ (block
+ (nop)
+ (return (i32.add (i32.const 1) (i32.const 2)))
+ )
+ )
+ (if (i32.const 3)
+ (block
+ (nop)
+ (return (i32.add (i32.const 111111111) (i32.const 2222222)))
+ )
+ )
+ (return (i32.const 1234))
+ )
+ (func $terminating-fallthrough-value (result i32)
+ (if (i32.const 1)
+ (block
+ (nop)
+ (return (i32.add (i32.const 1) (i32.const 2)))
+ )
+ )
+ (if (i32.const 2)
+ (block
+ (nop)
+ (return (i32.add (i32.const 1) (i32.const 2)))
+ )
+ )
+ (if (i32.const 3)
+ (block
+ (nop)
+ (return (i32.add (i32.const 1) (i32.const 2)))
+ )
+ )
+ (if (i32.const 3)
+ (block
+ (nop)
+ (return (i32.add (i32.const 111111111) (i32.const 2222222)))
+ )
+ )
+ (i32.const 1234)
+ )
+ (func $big-return (result i32)
+ (if (i32.const 1) (return (i32.add (i32.const 1) (i32.const 2))))
+ (if (i32.const 2) (return (i32.add (i32.const 1) (i32.const 2))))
+ (if (i32.const 3) (return (i32.add (i32.const 1) (i32.const 2))))
+ (if (i32.const 4) (return (i32.add (i32.const 1) (i32.const 2))))
+ (if (i32.const 5) (return (i32.add (i32.const 1) (i32.const 2))))
+ (if (i32.const 6) (return (i32.add (i32.const 1) (i32.const 2))))
+ (unreachable)
+ )
+ (func $return-mix (result i32)
+ (if (i32.const 1) (return (i32.add (i32.const 1) (i32.const 2))))
+ (if (i32.const 2) (return (i32.add (i32.const 1) (i32.const 2))))
+ (if (i32.const 3) (return (i32.add (i32.const 1) (i32.const 2))))
+ (if (i32.const 4) (return (i32.add (i32.const 1) (i32.const 2))))
+ (if (i32.const 3) (return (i32.add (i32.const 1) (i32.const 234567))))
+ (return (i32.add (i32.const 1) (i32.const 2))) ;; on a block, and the toplevel in fact
+ )
+ (func $just-unreachable
+ (unreachable)
+ )
+ (func $just-return (result i32)
+ (return (i32.add (i32.const 1) (i32.const 2))) ;; on a block, and the toplevel in fact
+ )
+ (func $drop-if-with-value-but-unreachable
+ (block $label$0
+ (if
+ (i32.const 0)
+ (block $label$1
+ (nop)
+ )
+ )
+ (if
+ (i32.const 0)
+ (block $label$2
+ (nop)
+ )
+ (block $label$3
+ (nop)
+ )
+ )
+ (if
+ (i32.const 0)
+ (block $label$4
+ (nop)
+ )
+ (block $label$5
+ (unreachable)
+ )
+ )
+ (nop)
+ (drop
+ (if (result i32) ;; we replace this if, must replace with same type!
+ (unreachable)
+ (block $label$6 (result i32)
+ (i32.add
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ (block $label$7 (result i32)
+ (i32.add
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ )
+ )
+ (drop
+ (if (result i32)
+ (i32.const 0)
+ (block $label$8 (result i32)
+ (i32.add
+ (i32.const 1)
+ (i32.const 2)
+ )
+ )
+ (block $label$9 (result i32)
+ (i32.add
+ (i32.const 1)
+ (i32.const 333333333)
+ )
+ )
+ )
+ )
+ )
+ )
+ (func $nested-control-flow
+ (block $out
+ (block $x
+ (if (i32.const 0)
+ (block
+ (if (i32.const 1)
+ (br $out)
+ )
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (br $x)
+ )
+ )
+ (if (i32.const 0)
+ (block
+ (if (i32.const 1)
+ (br $out)
+ )
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (br $x)
+ )
+ )
+ ;; no fallthrough, another thing to merge
+ (if (i32.const 1)
+ (br $out)
+ )
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (br $x)
+ )
+ (drop (i32.const 3))
+ )
+ )
+ (func $nested-control-flow-dangerous
+ (block $out
+ (block $x
+ (if (i32.const 0)
+ (block
+ (if (i32.const 1)
+ (br $out) ;; this br cannot be moved out of the $out block!
+ )
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (return)
+ )
+ )
+ (if (i32.const 0)
+ (block
+ (if (i32.const 1)
+ (br $out)
+ )
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (return)
+ )
+ )
+ ;; no fallthrough, another thing to merge
+ (if (i32.const 1)
+ (br $out)
+ )
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (return)
+ )
+ (drop (i32.const 3))
+ )
+ )
+ (func $nested-control-flow-dangerous-but-ok
+ (block $out
+ (block $middle
+ (block $x
+ (if (i32.const 0)
+ (block
+ (if (i32.add (i32.const 0) (i32.const 1))
+ (br $middle)
+ )
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (return)
+ )
+ )
+ (if (i32.const 0)
+ (block
+ (if (i32.add (i32.const 0) (i32.const 1))
+ (br $middle)
+ )
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (return)
+ )
+ )
+ ;; no fallthrough, another thing to merge
+ (if (i32.add (i32.const 0) (i32.const 1))
+ (br $middle)
+ )
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (return)
+ )
+ )
+ (drop (i32.const 3))
+ )
+ )
+ (func $nested-control-flow-dangerous-but-ok-b
+ (block $out
+ (block $middle
+ (block $x
+ (if (i32.const 0)
+ (block
+ (if (i32.add (i32.const 0) (i32.const 1))
+ (br $middle) ;; this is dangerous - we branch to middle with is inside out, so we can't move this out of out
+ )
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (drop (i32.const 3))
+ (drop (i32.const 4))
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (drop (i32.const 3))
+ (drop (i32.const 4))
+ (br $out)
+ )
+ )
+ (if (i32.const 0)
+ (block
+ (if (i32.add (i32.const 0) (i32.const 1))
+ (br $middle)
+ )
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (drop (i32.const 3))
+ (drop (i32.const 4))
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (drop (i32.const 3))
+ (drop (i32.const 4))
+ (br $out)
+ )
+ )
+ ;; no fallthrough, another thing to merge
+ (if (i32.add (i32.const 0) (i32.const 1))
+ (br $middle)
+ )
+ )
+ )
+ (unreachable) ;; no fallthrough
+ )
+ )
+ (func $nested-control-flow-dangerous-but-ok-c
+ (block $x
+ (block $out
+ (block $middle
+ (if (i32.const 0)
+ (block
+ (if (i32.add (i32.const 0) (i32.const 1))
+ (br $x) ;; this is ok - we branch to x which is outside of out
+ )
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (br $out)
+ )
+ )
+ (if (i32.const 0)
+ (block
+ (if (i32.add (i32.const 0) (i32.const 1))
+ (br $x)
+ )
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (br $out)
+ )
+ )
+ ;; no fallthrough, another thing to merge
+ (if (i32.add (i32.const 0) (i32.const 1))
+ (br $x)
+ )
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (br $out)
+ )
+ (unreachable) ;; no fallthrough
+ )
+ (unreachable) ;; no fallthrough
+ )
+ (drop (i32.const 5))
+ )
+ (func $nested-control-flow-dangerous-but-ok-d
+ (block $out
+ (block $middle
+ (if (i32.const 0)
+ (block
+ (block $x
+ (if (i32.add (i32.const 0) (i32.const 1))
+ (br $x) ;; this is ok - we branch to x which is nested in us
+ )
+ )
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (br $out)
+ )
+ )
+ (if (i32.const 0)
+ (block
+ (block $x
+ (if (i32.add (i32.const 0) (i32.const 1))
+ (br $x) ;; this is ok - we branch to x which is nested in us
+ )
+ )
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (br $out)
+ )
+ )
+ ;; no fallthrough, another thing to merge
+ (block $x
+ (if (i32.add (i32.const 0) (i32.const 1))
+ (br $x) ;; this is ok - we branch to x which is nested in us
+ )
+ )
+ (drop (i32.const 1))
+ (drop (i32.const 2))
+ (br $out)
+ )
+ )
+ (drop (i32.const 3))
+ )
+)
diff --git a/test/wasm-only.fromasm b/test/wasm-only.fromasm
index f12226b1d..6ac8c0ef1 100644
--- a/test/wasm-only.fromasm
+++ b/test/wasm-only.fromasm
@@ -545,7 +545,7 @@
(get_local $0)
)
(loop $while-in
- (if
+ (br_if $__rjti$2
(i32.eq
(i32.load8_u
(get_local $2)
@@ -555,12 +555,6 @@
(i32.const 255)
)
)
- (block
- (set_local $0
- (get_local $3)
- )
- (br $__rjti$2)
- )
)
(br_if $while-in
(i32.and
@@ -603,20 +597,17 @@
)
)
)
- (if
+ (br_if $__rjti$2
(get_local $0)
- (block
- (set_local $0
- (get_local $3)
- )
- (br $__rjti$2)
- )
- (set_local $0
- (i32.const 0)
- )
+ )
+ (set_local $0
+ (i32.const 0)
)
(br $label$break$L8)
)
+ (set_local $0
+ (get_local $3)
+ )
(if
(i32.ne
(i32.load8_u
diff --git a/test/wasm-only.fromasm.clamp b/test/wasm-only.fromasm.clamp
index f12226b1d..6ac8c0ef1 100644
--- a/test/wasm-only.fromasm.clamp
+++ b/test/wasm-only.fromasm.clamp
@@ -545,7 +545,7 @@
(get_local $0)
)
(loop $while-in
- (if
+ (br_if $__rjti$2
(i32.eq
(i32.load8_u
(get_local $2)
@@ -555,12 +555,6 @@
(i32.const 255)
)
)
- (block
- (set_local $0
- (get_local $3)
- )
- (br $__rjti$2)
- )
)
(br_if $while-in
(i32.and
@@ -603,20 +597,17 @@
)
)
)
- (if
+ (br_if $__rjti$2
(get_local $0)
- (block
- (set_local $0
- (get_local $3)
- )
- (br $__rjti$2)
- )
- (set_local $0
- (i32.const 0)
- )
+ )
+ (set_local $0
+ (i32.const 0)
)
(br $label$break$L8)
)
+ (set_local $0
+ (get_local $3)
+ )
(if
(i32.ne
(i32.load8_u
diff --git a/test/wasm-only.fromasm.imprecise b/test/wasm-only.fromasm.imprecise
index e05da9799..6d013e11a 100644
--- a/test/wasm-only.fromasm.imprecise
+++ b/test/wasm-only.fromasm.imprecise
@@ -400,7 +400,7 @@
(get_local $0)
)
(loop $while-in
- (if
+ (br_if $__rjti$2
(i32.eq
(i32.load8_u
(get_local $2)
@@ -410,12 +410,6 @@
(i32.const 255)
)
)
- (block
- (set_local $0
- (get_local $3)
- )
- (br $__rjti$2)
- )
)
(br_if $while-in
(i32.and
@@ -458,20 +452,17 @@
)
)
)
- (if
+ (br_if $__rjti$2
(get_local $0)
- (block
- (set_local $0
- (get_local $3)
- )
- (br $__rjti$2)
- )
- (set_local $0
- (i32.const 0)
- )
+ )
+ (set_local $0
+ (i32.const 0)
)
(br $label$break$L8)
)
+ (set_local $0
+ (get_local $3)
+ )
(if
(i32.ne
(i32.load8_u