diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-01-29 20:32:04 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-01-29 20:32:04 -0800 |
commit | 4a182068c6f3360dbf9c27420bbb0a11f34af3dd (patch) | |
tree | 7e92a9caf48e3caf9945db93c76c48a24ad47554 | |
parent | 6d8015094f49f5403d9b9a54bab694e41014cc2a (diff) | |
parent | fece87ba4008c20978639580a8dc7264c57c489d (diff) | |
download | binaryen-4a182068c6f3360dbf9c27420bbb0a11f34af3dd.tar.gz binaryen-4a182068c6f3360dbf9c27420bbb0a11f34af3dd.tar.bz2 binaryen-4a182068c6f3360dbf9c27420bbb0a11f34af3dd.zip |
Merge pull request #153 from WebAssembly/binary-spec-tests
Binary spec tests
-rwxr-xr-x | check.py | 72 | ||||
-rw-r--r-- | src/wasm-binary.h | 167 | ||||
-rw-r--r-- | src/wasm-s-parser.h | 6 | ||||
-rw-r--r-- | src/wasm.h | 15 | ||||
-rw-r--r-- | test/emcc_O2_hello_world.wast.fromBinary | 218 | ||||
-rw-r--r-- | test/emcc_hello_world.wast.fromBinary | 574 | ||||
-rw-r--r-- | test/hello_world.wast.fromBinary | 2 | ||||
-rw-r--r-- | test/kitchen_sink.wast.fromBinary | 26 | ||||
-rw-r--r-- | test/llvm_autogenerated/i64-load-store-alignment.wast | 8 | ||||
-rw-r--r-- | test/llvm_autogenerated/immediates.wast | 8 | ||||
-rw-r--r-- | test/llvm_autogenerated/load-ext.wast | 4 | ||||
-rw-r--r-- | test/min.wast.fromBinary | 8 | ||||
-rw-r--r-- | test/s2wasm_known_binaryen_shell_test_failures.txt | 4 | ||||
-rw-r--r-- | test/unit.wast.fromBinary | 68 |
14 files changed, 615 insertions, 565 deletions
@@ -167,6 +167,8 @@ def split_wast(wast): depth += 1 elif wast[j] == ')': depth -= 1 + elif wast[j] == ';' and wast[j+1] == ';': + j = wast.find('\n', j) j += 1 return j i = 0 @@ -174,13 +176,13 @@ def split_wast(wast): start = wast.find('(', i) if start < 0: break i = to_end(start + 1) - if wast[start:].startswith('(module'): - ret += [(wast[start:i], [])] - elif wast[start:].startswith('(assert_invalid'): + chunk = wast[start:i] + if chunk.startswith('(module'): + ret += [(chunk, [])] + elif chunk.startswith('(assert_invalid'): continue - else: - if len(ret) > 0: # otherwise, comments or such before the first module - ret[-1][1].append(wast[start:i]) + elif chunk.startswith(('(assert', '(invoke')): + ret[-1][1].append(chunk) assert len(ret) > 0 return ret @@ -314,33 +316,49 @@ for t in spec_tests: if t.startswith('spec') and t.endswith('.wast'): print '..', t wast = os.path.join('test', t) - proc = subprocess.Popen([os.path.join('bin', 'binaryen-shell'), wast], stdout=subprocess.PIPE, stderr=subprocess.PIPE) - actual, err = proc.communicate() - assert proc.returncode == 0, err - expected = os.path.join('test', 'spec', 'expected-output', os.path.basename(wast) + '.log') - if os.path.exists(expected): - expected = open(expected).read() - # fix it up, our pretty (i32.const 83) must become compared to a homely 83 : i32 - def fix(x): - x = x.strip() - if not x: return x - v, t = x.split(' : ') - if v.endswith('.'): v = v[:-1] # remove trailing '.' - return '(' + t + '.const ' + v + ')' - expected = '\n'.join(map(fix, expected.split('\n'))) - print ' (using expected output)' - actual = actual.strip() - expected = expected.strip() - if actual != expected: - fail(actual, expected) + def run_spec_test(wast): + print ' run binaryen-shell on', wast + proc = subprocess.Popen([os.path.join('bin', 'binaryen-shell'), wast], stdout=subprocess.PIPE, stderr=subprocess.PIPE) + actual, err = proc.communicate() + assert proc.returncode == 0, err + return actual + + def check_expected(actual, expected): + if expected and os.path.exists(expected): + expected = open(expected).read() + # fix it up, our pretty (i32.const 83) must become compared to a homely 83 : i32 + def fix(x): + x = x.strip() + if not x: return x + v, t = x.split(' : ') + if v.endswith('.'): v = v[:-1] # remove trailing '.' + return '(' + t + '.const ' + v + ')' + expected = '\n'.join(map(fix, expected.split('\n'))) + print ' (using expected output)' + actual = actual.strip() + expected = expected.strip() + if actual != expected: + fail(actual, expected) + + actual = run_spec_test(wast) + check_expected(actual, os.path.join('test', 'spec', 'expected-output', os.path.basename(wast) + '.log')) # check binary format. here we can verify execution of the final result, no need for an output verification + split_num = 0 if os.path.basename(wast) not in ['has_feature.wast']: # avoid some tests with things still in spec tests, but likely to be taken out soon + actual = '' for module, asserts in split_wast(wast): - print ' testing split module' + print ' testing split module', split_num + split_num += 1 open('split.wast', 'w').write(module + '\n' + '\n'.join(asserts)) - result = binary_format_check('split.wast', verify_final_result=False) + run_spec_test('split.wast') # before binary stuff - just check it's still ok split out + result_wast = binary_format_check('split.wast', verify_final_result=False) + # add the asserts, and verify that the test still passes + open(result_wast, 'a').write('\n' + '\n'.join(asserts)) + actual += run_spec_test(result_wast) + # compare all the outputs to the expected output + check_expected(actual, os.path.join('test', 'spec', 'expected-output', os.path.basename(wast) + '.log')) print '\n[ checking wasm2asm testcases... ]\n' diff --git a/src/wasm-binary.h b/src/wasm-binary.h index f86a19aa8..a722f88ea 100644 --- a/src/wasm-binary.h +++ b/src/wasm-binary.h @@ -366,7 +366,9 @@ class WasmBinaryWriter : public WasmVisitor<WasmBinaryWriter, void> { void prepare() { // we need function types for all our functions for (auto* func : wasm->functions) { - func->type = ensureFunctionType(getSig(func), wasm, allocator)->name; + if (func->type.isNull()) { + func->type = ensureFunctionType(getSig(func), wasm, allocator)->name; + } } } @@ -390,9 +392,18 @@ public: void writeMemory() { if (wasm->memory.max == 0) return; if (debug) std::cerr << "== writeMemory" << std::endl; - o << int8_t(BinaryConsts::Memory) << int8_t(log2(wasm->memory.initial)) - << int8_t(log2(wasm->memory.max)) - << int8_t(1); // export memory + o << int8_t(BinaryConsts::Memory); + if (wasm->memory.initial == 0) { // XXX diverge from v8, 0 means 0, 1 and above are powers of 2 starting at 0 + o << int8_t(0); + } else { + o << int8_t(std::min(ceil(log2(wasm->memory.initial)), 31.0) + 1); // up to 31 bits, don't let ceil get us to UINT_MAX which can overflow + } + if (wasm->memory.max == 0) { + o << int8_t(0); + } else { + o << int8_t(std::min(ceil(log2(wasm->memory.max)), 31.0) + 1); + } + o << int8_t(1); // export memory } void writeSignatures() { @@ -462,6 +473,10 @@ public: if (debug) std::cerr << "== writeFunctions" << std::endl; size_t total = wasm->imports.size() + wasm->functions.size(); o << int8_t(BinaryConsts::Functions) << LEB128(total); + std::map<Name, Name> exportedFunctions; + for (auto* e : wasm->exports) { + exportedFunctions[e->value] = e->name; + } for (size_t i = 0; i < total; i++) { if (debug) std::cerr << "write one at" << o.size() << std::endl; Import* import = i < wasm->imports.size() ? wasm->imports[i] : nullptr; @@ -477,12 +492,14 @@ public: numLocalsByType.clear(); } if (debug) std::cerr << "writing" << name << std::endl; + bool export_ = exportedFunctions.count(name) > 0; o << int8_t(BinaryConsts::Named | (BinaryConsts::Import * !!import) | (BinaryConsts::Locals * (function && function->locals.size() > 0)) | - (BinaryConsts::Export * (wasm->exportsMap.count(name) > 0))); + (BinaryConsts::Export * export_)); o << getFunctionTypeIndex(type); emitString(name.str); + if (export_) emitString(exportedFunctions[name].str); // XXX addition to v8 binary format if (function) { mapLocals(function); if (function->locals.size() > 0) { @@ -491,8 +508,6 @@ public: << uint16_t(numLocalsByType[f32]) << uint16_t(numLocalsByType[f64]); } - } - if (function) { size_t sizePos = o.size(); o << (uint32_t)0; // placeholder, we fill in the size later when we have it // XXX int32, diverge from v8 format, to get more code to compile size_t start = o.size(); @@ -503,6 +518,10 @@ public: assert(size <= std::numeric_limits<uint16_t>::max()); if (debug) std::cerr << "body size: " << size << ", writing at " << sizePos << ", next starts at " << o.size() << std::endl; o.writeAt(sizePos, uint32_t(size)); // XXX int32, diverge from v8 format, to get more code to compile + } else { + // import + emitString(import->module.str); // XXX diverge + emitString(import->base.str); // from v8 } } } @@ -621,21 +640,22 @@ public: breakStack.pop_back(); breakStack.pop_back(); } - void visitBreak(Break *curr) { - if (debug) std::cerr << "zz node: Break" << std::endl; - o << int8_t(curr->condition ? BinaryConsts::BrIf : BinaryConsts::Br); - bool found = false; + + int getBreakIndex(Name name) { // -1 if not found for (int i = breakStack.size() - 1; i >= 0; i--) { - if (breakStack[i] == curr->name) { - o << int8_t(breakStack.size() - 1 - i); - found = true; - break; + if (breakStack[i] == name) { + return breakStack.size() - 1 - i; } } - if (!found) { - std::cerr << "bad break: " << curr->name << std::endl; - abort(); - } + std::cerr << "bad break: " << name << std::endl; + abort(); + } + + void visitBreak(Break *curr) { + if (debug) std::cerr << "zz node: Break" << std::endl; + o << int8_t(curr->condition ? BinaryConsts::BrIf : BinaryConsts::Br); + int offset = getBreakIndex(curr->name); + o << int8_t(offset); if (curr->condition) recurse(curr->condition); if (curr->value) { recurse(curr->value); @@ -647,23 +667,22 @@ public: if (debug) std::cerr << "zz node: Switch" << std::endl; o << int8_t(BinaryConsts::TableSwitch) << int16_t(curr->cases.size()) << int16_t(curr->targets.size() + 1); - std::map<Name, int16_t> mapping; // target name => index in cases for (size_t i = 0; i < curr->cases.size(); i++) { - mapping[curr->cases[i].name] = i; - } - if (mapping.find(curr->default_) == mapping.end()) { - mapping[curr->default_] = curr->cases.size(); + breakStack.push_back(curr->cases[i].name); } + breakStack.push_back(curr->name); for (auto target : curr->targets) { - o << mapping[target]; + o << (int16_t)getBreakIndex(target); } - o << mapping[curr->default_]; - breakStack.push_back(curr->name); + o << (int16_t)getBreakIndex(curr->default_); recurse(curr->value); for (auto& c : curr->cases) { recurse(c.body); } - breakStack.pop_back(); + breakStack.pop_back(); // name + for (size_t i = 0; i < curr->cases.size(); i++) { + breakStack.pop_back(); // case + } } void visitCall(Call *curr) { if (debug) std::cerr << "zz node: Call" << std::endl; @@ -766,9 +785,9 @@ public: if (debug) std::cerr << "zz node: Const" << std::endl; switch (curr->type) { case i32: { - int32_t value = curr->value.i32; - if (value >= -128 && value <= 127) { - o << int8_t(BinaryConsts::I8Const) << int8_t(value); + uint32_t value = curr->value.i32; + if (value <= 255) { + o << int8_t(BinaryConsts::I8Const) << uint8_t(value); break; } o << int8_t(BinaryConsts::I32Const) << value; @@ -805,14 +824,14 @@ public: case ExtendSInt32: o << int8_t(BinaryConsts::I64SConvertI32); break; case ExtendUInt32: o << int8_t(BinaryConsts::I64UConvertI32); break; case WrapInt64: o << int8_t(BinaryConsts::I32ConvertI64); break; - case TruncUFloat32: o << int8_t(curr->type == i32 ? BinaryConsts::I32UConvertF32 : BinaryConsts::I64UConvertF32); break; - case TruncSFloat32: o << int8_t(curr->type == i32 ? BinaryConsts::I32SConvertF32 : BinaryConsts::I64SConvertF32); break; - case TruncUFloat64: o << int8_t(curr->type == i32 ? BinaryConsts::I32UConvertF64 : BinaryConsts::I64UConvertF64); break; - case TruncSFloat64: o << int8_t(curr->type == i32 ? BinaryConsts::I32SConvertF64 : BinaryConsts::I64SConvertF64); break; + case TruncUFloat32: o << int8_t(curr->type == i32 ? BinaryConsts::F32UConvertI32 : BinaryConsts::F32UConvertI64); break; + case TruncSFloat32: o << int8_t(curr->type == i32 ? BinaryConsts::F32SConvertI32 : BinaryConsts::F32SConvertI64); break; + case TruncUFloat64: o << int8_t(curr->type == i32 ? BinaryConsts::F64UConvertI32 : BinaryConsts::F64UConvertI64); break; + case TruncSFloat64: o << int8_t(curr->type == i32 ? BinaryConsts::F64SConvertI32 : BinaryConsts::F64SConvertI64); break; case ConvertUInt32: o << int8_t(curr->type == f32 ? BinaryConsts::I32UConvertF32 : BinaryConsts::I32UConvertF64); break; case ConvertSInt32: o << int8_t(curr->type == f32 ? BinaryConsts::I32SConvertF32 : BinaryConsts::I32SConvertF64); break; case ConvertUInt64: o << int8_t(curr->type == f32 ? BinaryConsts::I64UConvertF32 : BinaryConsts::I64UConvertF64); break; - case ConvertSInt64: o << int8_t(curr->type == f32 ? BinaryConsts::I64UConvertF32 : BinaryConsts::I64UConvertF64); break; + case ConvertSInt64: o << int8_t(curr->type == f32 ? BinaryConsts::I64SConvertF32 : BinaryConsts::I64SConvertF64); break; case DemoteFloat64: o << int8_t(BinaryConsts::F32ConvertF64); break; case PromoteFloat32: o << int8_t(BinaryConsts::F64ConvertF32); break; case ReinterpretFloat: o << int8_t(curr->type == f32 ? BinaryConsts::F32ReinterpretI32 : BinaryConsts::F64ReinterpretI64); break; @@ -1048,8 +1067,10 @@ public: void readMemory() { if (debug) std::cerr << "== readMemory" << std::endl; - wasm.memory.initial = std::pow<size_t>(2, getInt8()); - wasm.memory.max = std::pow<size_t>(2, getInt8()); + size_t initial = getInt8(); + wasm.memory.initial = initial == 0 ? 0 : std::pow<size_t>(2, initial - 1); + size_t max = getInt8(); + wasm.memory.max = max == 0 ? 0 : std::pow<size_t>(2, max - 1); verifyInt8(1); // export memory } @@ -1091,13 +1112,20 @@ public: bool locals = data & BinaryConsts::Locals; bool export_ = data & BinaryConsts::Export; Name name = getString(); + if (export_) { // XXX addition to v8 binary format + Name exportName = getString(); + auto e = allocator.alloc<Export>(); + e->name = exportName; + e->value = name; + wasm.addExport(e); + } if (debug) std::cerr << "reading" << name << std::endl; mappedFunctions.push_back(name); if (import) { auto imp = allocator.alloc<Import>(); imp->name = name; - imp->module = ENV; - imp->base = name; + imp->module = getString(); // XXX diverge + imp->base = getString(); // from v8 imp->type = type; wasm.addImport(imp); } else { @@ -1134,12 +1162,6 @@ public: func->body = nullptr; // will be filled later. but we do have the name and the type already. wasm.addFunction(func); } - if (export_) { - auto e = allocator.alloc<Export>(); - e->name = name; - e->value = name; - wasm.addExport(e); - } } } @@ -1187,14 +1209,15 @@ public: if (debug) std::cerr << "== readDataSegments" << std::endl; auto num = getLEB128(); for (size_t i = 0; i < num; i++) { - auto curr = allocator.alloc<Memory::Segment>(); - curr->offset = getInt32(); + Memory::Segment curr; + curr.offset = getInt32(); auto start = getInt32(); auto size = getInt32(); auto buffer = malloc(size); memcpy(buffer, &input[start], size); - curr->data = (const char*)buffer; - curr->size = size; + curr.data = (const char*)buffer; + curr.size = size; + wasm.memory.segments.push_back(curr); verifyInt8(1); // load at program start } } @@ -1305,10 +1328,15 @@ public: breakStack.pop_back(); breakStack.pop_back(); } + + Name getBreakName(int offset) { + return breakStack[breakStack.size() - 1 - offset]; + } + void visitBreak(Break *curr, uint8_t code) { if (debug) std::cerr << "zz node: Break" << std::endl; auto offset = getInt8(); - curr->name = breakStack[breakStack.size() - 1 - offset]; + curr->name = getBreakName(offset); if (code == BinaryConsts::BrIf) readExpression(curr->condition); readExpression(curr->value); } @@ -1316,27 +1344,26 @@ public: if (debug) std::cerr << "zz node: Switch" << std::endl; auto numCases = getInt16(); auto numTargets = getInt16(); - std::map<size_t, Name> caseLabels; - auto getCaseLabel = [&](size_t index) { - if (caseLabels.find(index) == caseLabels.end()) { - caseLabels[index] = getNextLabel(); - } - return caseLabels[index]; - }; - for (auto i = 0; i < numTargets - 1; i++) { - curr->targets.push_back(getCaseLabel(getInt16())); + for (auto i = 0; i < numCases; i++) { + Switch::Case c; + c.name = getNextLabel(); + curr->cases.push_back(c); + breakStack.push_back(c.name); } - curr->default_ = getCaseLabel(getInt16()); curr->name = getNextLabel(); breakStack.push_back(curr->name); + for (auto i = 0; i < numTargets - 1; i++) { + curr->targets.push_back(getBreakName(getInt16())); + } + curr->default_ = getBreakName(getInt16()); readExpression(curr->value); for (auto i = 0; i < numCases; i++) { - Switch::Case c; - c.name = getCaseLabel(i); - readExpression(c.body); - curr->cases.push_back(c); + readExpression(curr->cases[i].body); + } + breakStack.pop_back(); // name + for (size_t i = 0; i < curr->cases.size(); i++) { + breakStack.pop_back(); // case } - breakStack.pop_back(); } void visitCall(Call *curr, Name target) { if (debug) std::cerr << "zz node: Call" << std::endl; @@ -1487,12 +1514,12 @@ public: case BinaryConsts::I32ConvertI64: curr->op = WrapInt64; curr->type = i32; break; case BinaryConsts::F32UConvertI32: curr->op = TruncUFloat32; curr->type = i32; break; - case BinaryConsts::F64UConvertI32: curr->op = TruncUFloat32; curr->type = i64; break; + case BinaryConsts::F64UConvertI32: curr->op = TruncUFloat64; curr->type = i32; break; case BinaryConsts::F32SConvertI32: curr->op = TruncSFloat32; curr->type = i32; break; - case BinaryConsts::F64SConvertI32: curr->op = TruncSFloat32; curr->type = i64; break; - case BinaryConsts::F32UConvertI64: curr->op = TruncUFloat64; curr->type = i32; break; + case BinaryConsts::F64SConvertI32: curr->op = TruncSFloat64; curr->type = i32; break; + case BinaryConsts::F32UConvertI64: curr->op = TruncUFloat32; curr->type = i64; break; case BinaryConsts::F64UConvertI64: curr->op = TruncUFloat64; curr->type = i64; break; - case BinaryConsts::F32SConvertI64: curr->op = TruncSFloat64; curr->type = i32; break; + case BinaryConsts::F32SConvertI64: curr->op = TruncSFloat32; curr->type = i64; break; case BinaryConsts::F64SConvertI64: curr->op = TruncSFloat64; curr->type = i64; break; case BinaryConsts::F32Trunc: curr->op = Trunc; curr->type = f32; break; diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h index 65c06ab6f..34cd168cd 100644 --- a/src/wasm-s-parser.h +++ b/src/wasm-s-parser.h @@ -265,9 +265,9 @@ private: functionTypes[name] = stringToWasmType(curr[1]->str()); return; } else if (id == TYPE) { - Name name = curr[1]->str(); - if (wasm.functionTypesMap.find(name) == wasm.functionTypesMap.end()) onError(); - FunctionType* type = wasm.functionTypesMap[name]; + Name typeName = curr[1]->str(); + if (wasm.functionTypesMap.find(typeName) == wasm.functionTypesMap.end()) onError(); + FunctionType* type = wasm.functionTypesMap[typeName]; functionTypes[name] = type->result; return; } diff --git a/src/wasm.h b/src/wasm.h index 97e0bfc12..528e9c0b0 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -193,7 +193,7 @@ struct Literal { if (isnan(f)) { const char *sign = std::signbit(f) ? "-" : ""; o << sign << "nan"; - if (uint32_t payload = ~0xffc00000u & bit_cast<uint32_t>(f)) { + if (uint32_t payload = ~0xff800000u & bit_cast<uint32_t>(f)) { o << ":0x" << std::hex << payload << std::dec; } return; @@ -209,7 +209,7 @@ struct Literal { if (isnan(d)) { const char *sign = std::signbit(d) ? "-" : ""; o << sign << "nan"; - if (uint64_t payload = ~0xfff8000000000000ull & bit_cast<uint64_t>(d)) { + if (uint64_t payload = ~0xfff0000000000000ull & bit_cast<uint64_t>(d)) { o << ":0x" << std::hex << payload << std::dec; } return; @@ -676,11 +676,13 @@ public: std::ostream& doPrint(std::ostream &o, unsigned indent) { o << '('; prepareColor(o) << printWasmType(type) << ".load"; - if (bytes < 4) { + if (bytes < 4 || (type == i64 && bytes < 8)) { if (bytes == 1) { o << '8'; } else if (bytes == 2) { o << "16"; + } else if (bytes == 4) { + o << "32"; } else { abort(); } @@ -954,6 +956,9 @@ public: std::ostream& print(std::ostream &o, unsigned indent) { printOpening(o, "func ", true) << name; + if (type.is()) { + o << " (type " << type << ')'; + } if (params.size() > 0) { for (auto& param : params) { o << ' '; @@ -1001,8 +1006,8 @@ public: class Export { public: - Name name; - Name value; + Name name; // exported name + Name value; // internal name std::ostream& print(std::ostream &o, unsigned indent) { printOpening(o, "export "); diff --git a/test/emcc_O2_hello_world.wast.fromBinary b/test/emcc_O2_hello_world.wast.fromBinary index 0039fa2d1..d69d6e577 100644 --- a/test/emcc_O2_hello_world.wast.fromBinary +++ b/test/emcc_O2_hello_world.wast.fromBinary @@ -42,7 +42,7 @@ (export "_main" $_main) (export "stackSave" $stackSave) (table $b0 $___stdio_close $b1 $b1 $___stdout_write $___stdio_seek $b1 $___stdio_write $b1 $b1 $b2 $b2 $b2 $b2 $_cleanup_418 $b2 $b2 $b2) - (func $_malloc (param $var$0 i32) (result i32) + (func $_malloc (type $1) (param $var$0 i32) (result i32) (local $var$1 i32) (local $var$2 i32) (local $var$3 i32) @@ -160,7 +160,7 @@ (get_local $var$0) (i32.const 11) ) - (i32.const 248) + (i32.const -8) ) ) ) @@ -291,7 +291,7 @@ (i32.const 1) (get_local $var$5) ) - (i32.const 255) + (i32.const -1) ) ) ) @@ -389,7 +389,7 @@ (get_local $var$6) ) ) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$6 @@ -580,7 +580,7 @@ (i32.const 1) (get_local $var$16) ) - (i32.const 255) + (i32.const -1) ) ) ) @@ -789,7 +789,7 @@ (get_local $var$3) ) ) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$3 @@ -899,7 +899,7 @@ (i32.const 4) ) ) - (i32.const 248) + (i32.const -8) ) (get_local $var$1) ) @@ -966,7 +966,7 @@ (i32.const 4) ) ) - (i32.const 248) + (i32.const -8) ) (get_local $var$1) ) @@ -1326,7 +1326,7 @@ (i32.const 1) (get_local $var$11) ) - (i32.const 255) + (i32.const -1) ) ) ) @@ -1735,7 +1735,7 @@ (get_local $var$0) (i32.const 0) ) - (i32.const 191) + (i32.const -65) ) (block $label$52 (set_local $var$6 @@ -1747,7 +1747,7 @@ (set_local $var$4 (i32.and (get_local $var$6) - (i32.const 248) + (i32.const -8) ) ) (set_local $var$14 @@ -1950,7 +1950,7 @@ (i32.const 4) ) ) - (i32.const 248) + (i32.const -8) ) ) (set_local $var$8 @@ -2159,7 +2159,7 @@ (get_local $var$13) ) ) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$13 @@ -2314,7 +2314,7 @@ (i32.const 4) ) ) - (i32.const 248) + (i32.const -8) ) (get_local $var$4) ) @@ -2756,7 +2756,7 @@ (i32.const 1) (get_local $var$6) ) - (i32.const 255) + (i32.const -1) ) ) ) @@ -3327,7 +3327,7 @@ (i32.const 4) ) ) - (i32.const 248) + (i32.const -8) ) (get_local $var$42) ) @@ -3586,7 +3586,7 @@ ) ) (set_local $var$30 - (i32.const 255) + (i32.const -1) ) ) ) @@ -3812,7 +3812,7 @@ (i32.and (i32.add (get_local $var$52) - (i32.const 255) + (i32.const -1) ) (get_local $var$52) ) @@ -3829,11 +3829,11 @@ ) (i32.store align=4 (i32.const 660) - (i32.const 255) + (i32.const -1) ) (i32.store align=4 (i32.const 664) - (i32.const 255) + (i32.const -1) ) (i32.store align=4 (i32.const 668) @@ -3850,7 +3850,7 @@ (call_import $_time (i32.const 0) ) - (i32.const 240) + (i32.const -16) ) (i32.const 1431655768) ) @@ -4117,7 +4117,7 @@ (if (i32.ne (get_local $var$44) - (i32.const 255) + (i32.const -1) ) (block $label$141 (set_local $var$57 @@ -4167,7 +4167,7 @@ ) (i32.ne (get_local $var$51) - (i32.const 255) + (i32.const -1) ) ) (i32.const 0) @@ -4184,7 +4184,7 @@ (set_local $var$44 (i32.add (get_local $var$49) - (i32.const 255) + (i32.const -1) ) ) (if_else @@ -4362,7 +4362,7 @@ ) (i32.ne (get_local $var$59) - (i32.const 255) + (i32.const -1) ) ) ) @@ -4404,7 +4404,7 @@ (call_import $_sbrk (get_local $var$4) ) - (i32.const 255) + (i32.const -1) ) (block $label$154 (call_import $_sbrk @@ -4430,7 +4430,7 @@ (if (i32.ne (get_local $var$59) - (i32.const 255) + (i32.const -1) ) (block $label$156 (set_local $var$57 @@ -4509,11 +4509,11 @@ (i32.and (i32.ne (get_local $var$62) - (i32.const 255) + (i32.const -1) ) (i32.ne (get_local $var$42) - (i32.const 255) + (i32.const -1) ) ) ) @@ -5071,7 +5071,7 @@ (set_local $var$56 (i32.and (get_local $var$61) - (i32.const 248) + (i32.const -8) ) ) (set_local $var$55 @@ -5427,7 +5427,7 @@ (i32.const 1) (get_local $var$54) ) - (i32.const 255) + (i32.const -1) ) ) ) @@ -5636,7 +5636,7 @@ (i32.const 1) (get_local $var$55) ) - (i32.const 255) + (i32.const -1) ) ) ) @@ -5741,7 +5741,7 @@ (i32.load align=4 (get_local $var$55) ) - (i32.const 254) + (i32.const -2) ) ) (i32.store align=4 @@ -6137,7 +6137,7 @@ (i32.const 4) ) ) - (i32.const 248) + (i32.const -8) ) (get_local $var$78) ) @@ -6447,7 +6447,7 @@ (set_local $var$43 (i32.add (get_local $var$85) - (i32.const 209) + (i32.const -47) ) ) (set_local $var$52 @@ -6541,7 +6541,7 @@ (i32.sub (i32.add (get_local $var$58) - (i32.const 216) + (i32.const -40) ) (get_local $var$60) ) @@ -6693,7 +6693,7 @@ (i32.load align=4 (get_local $var$49) ) - (i32.const 254) + (i32.const -2) ) ) (i32.store align=4 @@ -7066,7 +7066,7 @@ (i32.const 4) ) ) - (i32.const 248) + (i32.const -8) ) (get_local $var$62) ) @@ -7316,7 +7316,7 @@ ) (i32.store align=4 (i32.const 208) - (i32.const 255) + (i32.const -1) ) (set_local $var$4 (i32.const 0) @@ -7399,7 +7399,7 @@ (i32.sub (i32.add (get_local $var$58) - (i32.const 216) + (i32.const -40) ) (get_local $var$61) ) @@ -7526,7 +7526,7 @@ (get_local $var$12) ) ) - (func $_free (param $var$0 i32) + (func $_free (type $2) (param $var$0 i32) (local $var$1 i32) (local $var$2 i32) (local $var$3 i32) @@ -7574,7 +7574,7 @@ (set_local $var$1 (i32.add (get_local $var$0) - (i32.const 248) + (i32.const -8) ) ) (set_local $var$2 @@ -7599,7 +7599,7 @@ (i32.load align=4 (i32.add (get_local $var$0) - (i32.const 252) + (i32.const -4) ) ) ) @@ -7619,7 +7619,7 @@ (set_local $var$4 (i32.and (get_local $var$3) - (i32.const 248) + (i32.const -8) ) ) (set_local $var$5 @@ -7723,7 +7723,7 @@ (get_local $var$9) (i32.and (get_local $var$10) - (i32.const 254) + (i32.const -2) ) ) (i32.store align=4 @@ -7839,7 +7839,7 @@ (i32.const 1) (get_local $var$10) ) - (i32.const 255) + (i32.const -1) ) ) ) @@ -8202,7 +8202,7 @@ (i32.const 1) (get_local $var$9) ) - (i32.const 255) + (i32.const -1) ) ) ) @@ -8568,7 +8568,7 @@ (i32.add (i32.and (get_local $var$1) - (i32.const 248) + (i32.const -8) ) (get_local $var$12) ) @@ -8878,7 +8878,7 @@ (i32.const 1) (get_local $var$21) ) - (i32.const 255) + (i32.const -1) ) ) ) @@ -9134,7 +9134,7 @@ (i32.const 1) (get_local $var$2) ) - (i32.const 255) + (i32.const -1) ) ) ) @@ -9243,7 +9243,7 @@ (get_local $var$4) (i32.and (get_local $var$1) - (i32.const 254) + (i32.const -2) ) ) (i32.store align=4 @@ -9590,7 +9590,7 @@ (i32.const 4) ) ) - (i32.const 248) + (i32.const -8) ) (get_local $var$28) ) @@ -9831,7 +9831,7 @@ (i32.load align=4 (i32.const 208) ) - (i32.const 255) + (i32.const -1) ) ) (i32.store align=4 @@ -9873,12 +9873,12 @@ ) (i32.store align=4 (i32.const 208) - (i32.const 255) + (i32.const -1) ) (br $label$0) ) ) - (func $___stdio_write (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) + (func $___stdio_write (type $0) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) (local $var$3 i32) (local $var$4 i32) (local $var$5 i32) @@ -10219,7 +10219,7 @@ (set_local $var$21 (i32.add (get_local $var$6) - (i32.const 255) + (i32.const -1) ) ) ) @@ -10356,7 +10356,7 @@ (get_local $var$23) ) ) - (func $___fwritex (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) + (func $___fwritex (type $0) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) (local $var$3 i32) (local $var$4 i32) (local $var$5 i32) @@ -10483,7 +10483,7 @@ (i32.const 75) ) ) - (i32.const 255) + (i32.const -1) ) (block $label$7 (set_local $var$3 @@ -10515,7 +10515,7 @@ (set_local $var$13 (i32.add (get_local $var$3) - (i32.const 255) + (i32.const -1) ) ) (if_else @@ -10638,7 +10638,7 @@ (get_local $var$7) ) ) - (func $_fflush (param $var$0 i32) (result i32) + (func $_fflush (type $1) (param $var$0 i32) (result i32) (local $var$1 i32) (local $var$2 i32) (local $var$3 i32) @@ -10659,7 +10659,7 @@ (i32.const 76) ) ) - (i32.const 255) + (i32.const -1) ) (block $label$3 (set_local $var$1 @@ -10750,7 +10750,7 @@ (i32.const 76) ) ) - (i32.const 255) + (i32.const -1) ) (set_local $var$6 (call $___lockfile @@ -10840,7 +10840,7 @@ (get_local $var$1) ) ) - (func $_strlen (param $var$0 i32) (result i32) + (func $_strlen (type $1) (param $var$0 i32) (result i32) (local $var$1 i32) (local $var$2 i32) (local $var$3 i32) @@ -11045,7 +11045,7 @@ ) ) ) - (func $___overflow (param $var$0 i32) (param $var$1 i32) (result i32) + (func $___overflow (type $4) (param $var$0 i32) (param $var$1 i32) (result i32) (local $var$2 i32) (local $var$3 i32) (local $var$4 i32) @@ -11117,7 +11117,7 @@ ) ) (set_local $var$9 - (i32.const 255) + (i32.const -1) ) ) (block $label$2 @@ -11223,7 +11223,7 @@ ) ) (set_local $var$9 - (i32.const 255) + (i32.const -1) ) ) ) @@ -11236,7 +11236,7 @@ (get_local $var$9) ) ) - (func $___fflush_unlocked (param $var$0 i32) (result i32) + (func $___fflush_unlocked (type $1) (param $var$0 i32) (result i32) (local $var$1 i32) (local $var$2 i32) (local $var$3 i32) @@ -11301,7 +11301,7 @@ (i32.const 0) ) (set_local $var$3 - (i32.const 255) + (i32.const -1) ) (block $label$2 (set_local $var$4 @@ -11389,7 +11389,7 @@ (get_local $var$3) ) ) - (func $_memcpy (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) + (func $_memcpy (type $0) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) (local $var$3 i32) (block $label$0 (if @@ -11551,10 +11551,10 @@ (get_local $var$3) ) ) - (func $runPostSets + (func $runPostSets (type $5) (nop) ) - (func $_memset (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) + (func $_memset (type $0) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) (local $var$3 i32) (local $var$4 i32) (local $var$5 i32) @@ -11610,7 +11610,7 @@ (get_local $var$3) (i32.xor (i32.const 3) - (i32.const 255) + (i32.const -1) ) ) ) @@ -11711,7 +11711,7 @@ ) ) ) - (func $_puts (param $var$0 i32) (result i32) + (func $_puts (type $1) (param $var$0 i32) (result i32) (local $var$1 i32) (local $var$2 i32) (local $var$3 i32) @@ -11731,7 +11731,7 @@ (i32.const 76) ) ) - (i32.const 255) + (i32.const -1) ) (set_local $var$2 (call $___lockfile @@ -11843,7 +11843,7 @@ ) ) ) - (func $___stdio_seek (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) + (func $___stdio_seek (type $0) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) (local $var$3 i32) (local $var$4 i32) (local $var$5 i32) @@ -11922,10 +11922,10 @@ (block $label$1 (i32.store align=4 (get_local $var$5) - (i32.const 255) + (i32.const -1) ) (set_local $var$6 - (i32.const 255) + (i32.const -1) ) ) (set_local $var$6 @@ -11941,7 +11941,7 @@ (get_local $var$6) ) ) - (func $___towrite (param $var$0 i32) (result i32) + (func $___towrite (type $1) (param $var$0 i32) (result i32) (local $var$1 i32) (local $var$2 i32) (local $var$3 i32) @@ -12045,14 +12045,14 @@ ) ) (set_local $var$3 - (i32.const 255) + (i32.const -1) ) ) ) (get_local $var$3) ) ) - (func $_fwrite (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (result i32) + (func $_fwrite (type $7) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (result i32) (local $var$4 i32) (local $var$5 i32) (local $var$6 i32) @@ -12073,7 +12073,7 @@ (i32.const 76) ) ) - (i32.const 255) + (i32.const -1) ) (block $label$1 (set_local $var$5 @@ -12138,7 +12138,7 @@ (get_local $var$8) ) ) - (func $___stdout_write (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) + (func $___stdout_write (type $0) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) (local $var$3 i32) (local $var$4 i32) (block $label$0 @@ -12223,7 +12223,7 @@ (get_local $var$0) (i32.const 75) ) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$4 @@ -12240,7 +12240,7 @@ (get_local $var$4) ) ) - (func $copyTempDouble (param $var$0 i32) + (func $copyTempDouble (type $2) (param $var$0 i32) (block $label$0 (i32.store8 align=1 (i32.load align=4 @@ -12350,7 +12350,7 @@ ) ) ) - (func $___stdio_close (param $var$0 i32) (result i32) + (func $___stdio_close (type $1) (param $var$0 i32) (result i32) (local $var$1 i32) (local $var$2 i32) (block $label$0 @@ -12395,7 +12395,7 @@ (get_local $var$0) ) ) - (func $copyTempFloat (param $var$0 i32) + (func $copyTempFloat (type $2) (param $var$0 i32) (block $label$0 (i32.store8 align=1 (i32.load align=4 @@ -12449,7 +12449,7 @@ ) ) ) - (func $___syscall_ret (param $var$0 i32) (result i32) + (func $___syscall_ret (type $1) (param $var$0 i32) (result i32) (local $var$1 i32) (block $label$0 (if_else @@ -12469,7 +12469,7 @@ ) ) (set_local $var$1 - (i32.const 255) + (i32.const -1) ) ) (set_local $var$1 @@ -12479,7 +12479,7 @@ (get_local $var$1) ) ) - (func $dynCall_iiii (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (result i32) + (func $dynCall_iiii (type $7) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (result i32) (call_indirect $0 (i32.add (i32.and @@ -12493,7 +12493,7 @@ (get_local $var$3) ) ) - (func $stackAlloc (param $var$0 i32) (result i32) + (func $stackAlloc (type $1) (param $var$0 i32) (result i32) (local $var$1 i32) (block $label$0 (set_local $var$1 @@ -12519,13 +12519,13 @@ ) (i32.const 15) ) - (i32.const 240) + (i32.const -16) ) ) (get_local $var$1) ) ) - (func $___errno_location (result i32) + (func $___errno_location (type $3) (result i32) (local $var$0 i32) (block $label$0 (if_else @@ -12550,7 +12550,7 @@ (get_local $var$0) ) ) - (func $setThrew (param $var$0 i32) (param $var$1 i32) + (func $setThrew (type $6) (param $var$0 i32) (param $var$1 i32) (if (i32.eq (i32.load align=4 @@ -12570,7 +12570,7 @@ ) ) ) - (func $_fputs (param $var$0 i32) (param $var$1 i32) (result i32) + (func $_fputs (type $4) (param $var$0 i32) (param $var$1 i32) (result i32) (i32.add (call $_fwrite (get_local $var$0) @@ -12580,10 +12580,10 @@ (i32.const 1) (get_local $var$1) ) - (i32.const 255) + (i32.const -1) ) ) - (func $dynCall_ii (param $var$0 i32) (param $var$1 i32) (result i32) + (func $dynCall_ii (type $4) (param $var$0 i32) (param $var$1 i32) (result i32) (call_indirect $1 (i32.add (i32.and @@ -12595,7 +12595,7 @@ (get_local $var$1) ) ) - (func $_cleanup_418 (param $var$0 i32) + (func $_cleanup_418 (type $2) (param $var$0 i32) (block $label$0 (if (i32.eq @@ -12614,7 +12614,7 @@ (br $label$0) ) ) - (func $establishStackSpace (param $var$0 i32) (param $var$1 i32) + (func $establishStackSpace (type $6) (param $var$0 i32) (param $var$1 i32) (block $label$0 (i32.store align=4 (i32.const 8) @@ -12626,7 +12626,7 @@ ) ) ) - (func $dynCall_vi (param $var$0 i32) (param $var$1 i32) + (func $dynCall_vi (type $6) (param $var$0 i32) (param $var$1 i32) (call_indirect $2 (i32.add (i32.and @@ -12638,7 +12638,7 @@ (get_local $var$1) ) ) - (func $b1 (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) + (func $b1 (type $0) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) (block $label$0 (call_import $abort (i32.const 1) @@ -12646,19 +12646,19 @@ (i32.const 0) ) ) - (func $stackRestore (param $var$0 i32) + (func $stackRestore (type $2) (param $var$0 i32) (i32.store align=4 (i32.const 8) (get_local $var$0) ) ) - (func $setTempRet0 (param $var$0 i32) + (func $setTempRet0 (type $2) (param $var$0 i32) (i32.store align=4 (i32.const 160) (get_local $var$0) ) ) - (func $b0 (param $var$0 i32) (result i32) + (func $b0 (type $1) (param $var$0 i32) (result i32) (block $label$0 (call_import $abort (i32.const 0) @@ -12666,20 +12666,20 @@ (i32.const 0) ) ) - (func $___unlockfile (param $var$0 i32) + (func $___unlockfile (type $2) (param $var$0 i32) (block $label$0 (br $label$0) ) ) - (func $___lockfile (param $var$0 i32) (result i32) + (func $___lockfile (type $1) (param $var$0 i32) (result i32) (i32.const 0) ) - (func $getTempRet0 (result i32) + (func $getTempRet0 (type $3) (result i32) (i32.load align=4 (i32.const 160) ) ) - (func $_main (result i32) + (func $_main (type $3) (result i32) (block $label$0 (call $_puts (i32.const 672) @@ -12687,12 +12687,12 @@ (i32.const 0) ) ) - (func $stackSave (result i32) + (func $stackSave (type $3) (result i32) (i32.load align=4 (i32.const 8) ) ) - (func $b2 (param $var$0 i32) + (func $b2 (type $2) (param $var$0 i32) (call_import $abort (i32.const 2) ) diff --git a/test/emcc_hello_world.wast.fromBinary b/test/emcc_hello_world.wast.fromBinary index 36012a7ac..ff26b930f 100644 --- a/test/emcc_hello_world.wast.fromBinary +++ b/test/emcc_hello_world.wast.fromBinary @@ -31,7 +31,7 @@ (import $_pthread_cleanup_push "env" "_pthread_cleanup_push" (param i32 i32)) (import $_sysconf "env" "_sysconf" (param i32) (result i32)) (import $___syscall146 "env" "___syscall146" (param i32 i32) (result i32)) - (import $f64-to-int "env" "f64-to-int" (param f64) (result i32)) + (import $f64-to-int "asm2wasm" "f64-to-int" (param f64) (result i32)) (export "stackAlloc" $stackAlloc) (export "stackSave" $stackSave) (export "stackRestore" $stackRestore) @@ -55,7 +55,7 @@ (export "dynCall_iiii" $dynCall_iiii) (export "dynCall_vi" $dynCall_vi) (table $b0 $___stdio_close $b1 $b1 $___stdout_write $___stdio_seek $___stdio_write $b1 $b1 $b1 $b2 $b2 $b2 $b2 $b2 $_cleanup $b2 $b2) - (func $stackAlloc (param $var$0 i32) (result i32) + (func $stackAlloc (type $1) (param $var$0 i32) (result i32) (local $var$1 i32) (block $label$0 (set_local $var$1 @@ -81,7 +81,7 @@ ) (i32.const 15) ) - (i32.const 240) + (i32.const -16) ) ) (if @@ -98,18 +98,18 @@ (get_local $var$1) ) ) - (func $stackSave (result i32) + (func $stackSave (type $4) (result i32) (i32.load align=4 (i32.const 8) ) ) - (func $stackRestore (param $var$0 i32) + (func $stackRestore (type $2) (param $var$0 i32) (i32.store align=4 (i32.const 8) (get_local $var$0) ) ) - (func $establishStackSpace (param $var$0 i32) (param $var$1 i32) + (func $establishStackSpace (type $6) (param $var$0 i32) (param $var$1 i32) (block $label$0 (i32.store align=4 (i32.const 8) @@ -121,7 +121,7 @@ ) ) ) - (func $setThrew (param $var$0 i32) (param $var$1 i32) + (func $setThrew (type $6) (param $var$0 i32) (param $var$1 i32) (if (i32.eq (i32.load align=4 @@ -141,7 +141,7 @@ ) ) ) - (func $copyTempFloat (param $var$0 i32) + (func $copyTempFloat (type $2) (param $var$0 i32) (block $label$0 (i32.store8 align=1 (i32.load align=4 @@ -195,7 +195,7 @@ ) ) ) - (func $copyTempDouble (param $var$0 i32) + (func $copyTempDouble (type $2) (param $var$0 i32) (block $label$0 (i32.store8 align=1 (i32.load align=4 @@ -305,18 +305,18 @@ ) ) ) - (func $setTempRet0 (param $var$0 i32) + (func $setTempRet0 (type $2) (param $var$0 i32) (i32.store align=4 (i32.const 168) (get_local $var$0) ) ) - (func $getTempRet0 (result i32) + (func $getTempRet0 (type $4) (result i32) (i32.load align=4 (i32.const 168) ) ) - (func $_main (result i32) + (func $_main (type $4) (result i32) (local $var$0 i32) (local $var$1 i32) (local $var$2 i32) @@ -364,7 +364,7 @@ (i32.const 0) ) ) - (func $_frexp (param $var$0 f64) (param $var$1 i32) (result f64) + (func $_frexp (type $8) (param $var$0 f64) (param $var$1 i32) (result f64) (local $var$2 i32) (local $var$3 i32) (local $var$4 i32) @@ -436,7 +436,7 @@ (get_local $var$9) (i32.const 0) ) - (table (case $label$1) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$2) (case $label$3)) (case $label$2) + (table (case $label$1) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$3) (case $label$2)) (case $label$3) (case $label$1 (block $label$5 (set_local $var$13 @@ -468,7 +468,7 @@ (set_local $var$11 (i32.add (get_local $var$6) - (i32.const 192) + (i32.const -64) ) ) (set_local $var$10 @@ -497,7 +497,7 @@ (br $label$4) ) ) - (case $label$3 + (case $label$2 (block $label$8 (set_local $var$19 (get_local $var$0) @@ -505,7 +505,7 @@ (br $label$4) ) ) - (case $label$2 + (case $label$3 (block $label$9 (set_local $var$12 (i32.add @@ -560,7 +560,7 @@ (get_local $var$19) ) ) - (func $_frexpl (param $var$0 f64) (param $var$1 i32) (result f64) + (func $_frexpl (type $8) (param $var$0 f64) (param $var$1 i32) (result f64) (local $var$2 i32) (local $var$3 i32) (local $var$4 f64) @@ -579,7 +579,7 @@ (get_local $var$4) ) ) - (func $_strerror (param $var$0 i32) (result i32) + (func $_strerror (type $1) (param $var$0 i32) (result i32) (local $var$1 i32) (local $var$2 i32) (local $var$3 i32) @@ -767,7 +767,7 @@ (set_local $var$6 (i32.add (get_local $var$9) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$17 @@ -803,7 +803,7 @@ (get_local $var$13) ) ) - (func $___errno_location (result i32) + (func $___errno_location (type $4) (result i32) (local $var$0 i32) (local $var$1 i32) (local $var$2 i32) @@ -857,7 +857,7 @@ (get_local $var$4) ) ) - (func $___stdio_close (param $var$0 i32) (result i32) + (func $___stdio_close (type $1) (param $var$0 i32) (result i32) (local $var$1 i32) (local $var$2 i32) (local $var$3 i32) @@ -927,7 +927,7 @@ (get_local $var$3) ) ) - (func $___stdout_write (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) + (func $___stdout_write (type $0) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) (local $var$3 i32) (local $var$4 i32) (local $var$5 i32) @@ -1070,7 +1070,7 @@ ) (i32.store8 align=1 (get_local $var$9) - (i32.const 255) + (i32.const -1) ) ) ) @@ -1090,7 +1090,7 @@ (get_local $var$7) ) ) - (func $___stdio_seek (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) + (func $___stdio_seek (type $0) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) (local $var$3 i32) (local $var$4 i32) (local $var$5 i32) @@ -1218,10 +1218,10 @@ (block $label$1 (i32.store align=4 (get_local $var$10) - (i32.const 255) + (i32.const -1) ) (set_local $var$5 - (i32.const 255) + (i32.const -1) ) ) (block $label$2 @@ -1242,7 +1242,7 @@ (get_local $var$5) ) ) - (func $_fflush (param $var$0 i32) (result i32) + (func $_fflush (type $1) (param $var$0 i32) (result i32) (local $var$1 i32) (local $var$2 i32) (local $var$3 i32) @@ -1371,7 +1371,7 @@ (set_local $var$14 (i32.gt_s (get_local $var$4) - (i32.const 255) + (i32.const -1) ) ) (if_else @@ -1522,7 +1522,7 @@ (set_local $var$13 (i32.gt_s (get_local $var$1) - (i32.const 255) + (i32.const -1) ) ) (if @@ -1578,7 +1578,7 @@ (get_local $var$29) ) ) - (func $_printf (param $var$0 i32) (param $var$1 i32) (result i32) + (func $_printf (type $5) (param $var$0 i32) (param $var$1 i32) (result i32) (local $var$2 i32) (local $var$3 i32) (local $var$4 i32) @@ -1636,7 +1636,7 @@ (get_local $var$4) ) ) - (func $___lockfile (param $var$0 i32) (result i32) + (func $___lockfile (type $1) (param $var$0 i32) (result i32) (local $var$1 i32) (local $var$2 i32) (block $label$0 @@ -1648,7 +1648,7 @@ (i32.const 0) ) ) - (func $___unlockfile (param $var$0 i32) + (func $___unlockfile (type $2) (param $var$0 i32) (local $var$1 i32) (local $var$2 i32) (block $label$0 @@ -1660,7 +1660,7 @@ (br $label$0) ) ) - (func $___stdio_write (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) + (func $___stdio_write (type $0) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) (local $var$3 i32) (local $var$4 i32) (local $var$5 i32) @@ -2071,7 +2071,7 @@ (set_local $var$36 (i32.add (get_local $var$49) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$48 @@ -2332,7 +2332,7 @@ (get_local $var$55) ) ) - (func $_vfprintf (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) + (func $_vfprintf (type $0) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) (local $var$3 i32) (local $var$4 i32) (local $var$5 i32) @@ -2484,7 +2484,7 @@ (if_else (get_local $var$23) (set_local $var$35 - (i32.const 255) + (i32.const -1) ) (block $label$4 (set_local $var$28 @@ -2501,7 +2501,7 @@ (set_local $var$24 (i32.gt_s (get_local $var$4) - (i32.const 255) + (i32.const -1) ) ) (if_else @@ -2560,7 +2560,7 @@ (set_local $var$14 (i32.and (get_local $var$5) - (i32.const 223) + (i32.const -33) ) ) (i32.store align=4 @@ -2702,7 +2702,7 @@ (set_local $var$3 (if_else (get_local $var$38) - (i32.const 255) + (i32.const -1) (get_local $var$20) ) ) @@ -2768,7 +2768,7 @@ (if_else (get_local $var$39) (get_local $var$33) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$32 @@ -2808,7 +2808,7 @@ (get_local $var$35) ) ) - (func $___fwritex (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) + (func $___fwritex (type $0) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) (local $var$3 i32) (local $var$4 i32) (local $var$5 i32) @@ -3014,7 +3014,7 @@ ) (i32.const 24) ) - (i32.const 255) + (i32.const -1) ) ) (block $label$7 @@ -3053,7 +3053,7 @@ (set_local $var$34 (i32.add (get_local $var$27) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$19 @@ -3221,7 +3221,7 @@ (get_local $var$32) ) ) - (func $___towrite (param $var$0 i32) (result i32) + (func $___towrite (type $1) (param $var$0 i32) (result i32) (local $var$1 i32) (local $var$2 i32) (local $var$3 i32) @@ -3411,14 +3411,14 @@ (get_local $var$14) ) (set_local $var$16 - (i32.const 255) + (i32.const -1) ) ) ) (get_local $var$16) ) ) - (func $_wcrtomb (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) + (func $_wcrtomb (type $0) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) (local $var$3 i32) (local $var$4 i32) (local $var$5 i32) @@ -3854,7 +3854,7 @@ (i32.const 84) ) (set_local $var$42 - (i32.const 255) + (i32.const -1) ) (br $label$1) ) @@ -3865,7 +3865,7 @@ (get_local $var$42) ) ) - (func $_wctomb (param $var$0 i32) (param $var$1 i32) (result i32) + (func $_wctomb (type $5) (param $var$0 i32) (param $var$1 i32) (result i32) (local $var$2 i32) (local $var$3 i32) (local $var$4 i32) @@ -3904,7 +3904,7 @@ (get_local $var$3) ) ) - (func $_memchr (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) + (func $_memchr (type $0) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) (local $var$3 i32) (local $var$4 i32) (local $var$5 i32) @@ -4067,7 +4067,7 @@ (set_local $var$22 (i32.add (get_local $var$31) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$6 @@ -4310,7 +4310,7 @@ (set_local $var$46 (i32.add (get_local $var$33) - (i32.const 252) + (i32.const -4) ) ) (set_local $var$16 @@ -4448,7 +4448,7 @@ (set_local $var$23 (i32.add (get_local $var$35) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$52 @@ -4501,7 +4501,7 @@ (get_local $var$20) ) ) - (func $___syscall_ret (param $var$0 i32) (result i32) + (func $___syscall_ret (type $1) (param $var$0 i32) (result i32) (local $var$1 i32) (local $var$2 i32) (local $var$3 i32) @@ -4540,7 +4540,7 @@ (get_local $var$4) ) (set_local $var$3 - (i32.const 255) + (i32.const -1) ) ) (set_local $var$3 @@ -4550,7 +4550,7 @@ (get_local $var$3) ) ) - (func $___fflush_unlocked (param $var$0 i32) (result i32) + (func $___fflush_unlocked (type $1) (param $var$0 i32) (result i32) (local $var$1 i32) (local $var$2 i32) (local $var$3 i32) @@ -4654,7 +4654,7 @@ (if_else (get_local $var$17) (set_local $var$11 - (i32.const 255) + (i32.const -1) ) (set_local $var$22 (i32.const 3) @@ -4779,7 +4779,7 @@ (get_local $var$11) ) ) - (func $_cleanup (param $var$0 i32) + (func $_cleanup (type $2) (param $var$0 i32) (local $var$1 i32) (local $var$2 i32) (local $var$3 i32) @@ -4817,7 +4817,7 @@ (br $label$0) ) ) - (func $_printf_core (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (param $var$4 i32) (result i32) + (func $_printf_core (type $9) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (param $var$4 i32) (result i32) (local $var$5 i32) (local $var$6 i32) (local $var$7 i32) @@ -6006,7 +6006,7 @@ ) (set_local $var$886 (i32.sub - (i32.const 254) + (i32.const -2) (get_local $var$866) ) ) @@ -6054,7 +6054,7 @@ (set_local $var$431 (i32.gt_s (get_local $var$549) - (i32.const 255) + (i32.const -1) ) ) (block $label$4 @@ -6084,7 +6084,7 @@ (i32.const 75) ) (set_local $var$550 - (i32.const 255) + (i32.const -1) ) (br $label$4) ) @@ -6160,8 +6160,8 @@ ) (i32.const 0) ) - (table (case $label$13) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$14) (case $label$15)) (case $label$14) - (case $label$15 + (table (case $label$14) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$15) (case $label$13)) (case $label$15) + (case $label$13 (block $label$17 (set_local $var$687 (get_local $var$684) @@ -6176,7 +6176,7 @@ (br $label$16) ) ) - (case $label$13 + (case $label$14 (block $label$18 (set_local $var$686 (get_local $var$684) @@ -6188,7 +6188,7 @@ (br $label$16) ) ) - (case $label$14 + (case $label$15 (nop) ) ) @@ -6413,7 +6413,7 @@ (set_local $var$723 (i32.add (get_local $var$586) - (i32.const 208) + (i32.const -48) ) ) (set_local $var$716 @@ -6475,7 +6475,7 @@ (if_else (get_local $var$474) (get_local $var$723) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$15 @@ -6501,7 +6501,7 @@ (get_local $var$234) ) (set_local $var$397 - (i32.const 255) + (i32.const -1) ) (set_local $var$746 (get_local $var$743) @@ -6523,7 +6523,7 @@ (set_local $var$267 (i32.and (get_local $var$588) - (i32.const 224) + (i32.const -32) ) ) (set_local $var$509 @@ -6553,7 +6553,7 @@ (set_local $var$927 (i32.add (get_local $var$589) - (i32.const 224) + (i32.const -32) ) ) (set_local $var$837 @@ -6601,7 +6601,7 @@ (set_local $var$929 (i32.add (get_local $var$590) - (i32.const 224) + (i32.const -32) ) ) (set_local $var$839 @@ -6639,7 +6639,7 @@ (set_local $var$34 (i32.and (get_local $var$587) - (i32.const 224) + (i32.const -32) ) ) (set_local $var$508 @@ -6733,7 +6733,7 @@ (set_local $var$730 (i32.add (get_local $var$593) - (i32.const 208) + (i32.const -48) ) ) (set_local $var$722 @@ -6804,7 +6804,7 @@ (set_local $var$934 (i32.add (get_local $var$594) - (i32.const 208) + (i32.const -48) ) ) (set_local $var$657 @@ -6888,7 +6888,7 @@ ) (block $label$44 (set_local $var$821 - (i32.const 255) + (i32.const -1) ) (br $label$1) ) @@ -6961,7 +6961,7 @@ (set_local $var$632 (i32.xor (get_local $var$633) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$199 @@ -7062,7 +7062,7 @@ (set_local $var$725 (i32.add (get_local $var$565) - (i32.const 208) + (i32.const -48) ) ) (set_local $var$717 @@ -7123,7 +7123,7 @@ (set_local $var$727 (i32.add (get_local $var$568) - (i32.const 208) + (i32.const -48) ) ) (set_local $var$719 @@ -7171,7 +7171,7 @@ (get_local $var$434) (block $label$55 (set_local $var$821 - (i32.const 255) + (i32.const -1) ) (br $label$1) ) @@ -7271,7 +7271,7 @@ (set_local $var$726 (i32.add (get_local $var$566) - (i32.const 208) + (i32.const -48) ) ) (set_local $var$718 @@ -7343,7 +7343,7 @@ (set_local $var$728 (i32.add (get_local $var$569) - (i32.const 208) + (i32.const -48) ) ) (set_local $var$720 @@ -7406,7 +7406,7 @@ (set_local $var$729 (i32.add (get_local $var$575) - (i32.const 208) + (i32.const -48) ) ) (set_local $var$721 @@ -7477,7 +7477,7 @@ (set_local $var$910 (i32.add (get_local $var$577) - (i32.const 208) + (i32.const -48) ) ) (set_local $var$656 @@ -7544,7 +7544,7 @@ ) (block $label$70 (set_local $var$821 - (i32.const 255) + (i32.const -1) ) (br $label$1) ) @@ -7599,7 +7599,7 @@ (set_local $var$628 (i32.xor (get_local $var$629) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$230 @@ -7648,7 +7648,7 @@ (get_local $var$680) ) (set_local $var$790 - (i32.const 255) + (i32.const -1) ) ) ) @@ -7678,7 +7678,7 @@ (set_local $var$912 (i32.add (get_local $var$578) - (i32.const 191) + (i32.const -65) ) ) (set_local $var$441 @@ -7694,7 +7694,7 @@ (get_local $var$441) (block $label$77 (set_local $var$821 - (i32.const 255) + (i32.const -1) ) (br $label$1) ) @@ -7731,7 +7731,7 @@ (set_local $var$913 (i32.add (get_local $var$579) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$442 @@ -7791,7 +7791,7 @@ (get_local $var$964) (block $label$80 (set_local $var$821 - (i32.const 255) + (i32.const -1) ) (br $label$1) ) @@ -7811,7 +7811,7 @@ (set_local $var$445 (i32.gt_s (get_local $var$397) - (i32.const 255) + (i32.const -1) ) ) (block $label$81 @@ -7821,7 +7821,7 @@ (get_local $var$445) (block $label$82 (set_local $var$821 - (i32.const 255) + (i32.const -1) ) (br $label$1) ) @@ -8002,7 +8002,7 @@ (set_local $var$376 (i32.and (get_local $var$581) - (i32.const 223) + (i32.const -33) ) ) (set_local $var$937 @@ -8043,15 +8043,15 @@ (get_local $var$937) (i32.const 65) ) - (table (case $label$89) (case $label$90) (case $label$91) (case $label$90) (case $label$92) (case $label$93) (case $label$94) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$95) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$96) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$90) (case $label$97) (case $label$90) (case $label$98) (case $label$99) (case $label$100) (case $label$101) (case $label$102) (case $label$90) (case $label$103) (case $label$90) (case $label$90) (case $label$90) (case $label$104) (case $label$105) (case $label$106) (case $label$107) (case $label$90) (case $label$90) (case $label$108) (case $label$90) (case $label$109) (case $label$90) (case $label$90) (case $label$110)) (case $label$90) - (case $label$105 + (table (case $label$102) (case $label$110) (case $label$100) (case $label$110) (case $label$105) (case $label$104) (case $label$103) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$101) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$91) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$110) (case $label$106) (case $label$110) (case $label$97) (case $label$95) (case $label$109) (case $label$108) (case $label$107) (case $label$110) (case $label$94) (case $label$110) (case $label$110) (case $label$110) (case $label$98) (case $label$89) (case $label$93) (case $label$90) (case $label$110) (case $label$110) (case $label$99) (case $label$110) (case $label$96) (case $label$110) (case $label$110) (case $label$92)) (case $label$110) + (case $label$89 (block $label$112 (tableswitch $label$121 (i32.sub (get_local $var$844) (i32.const 0) ) - (table (case $label$113) (case $label$114) (case $label$115) (case $label$116) (case $label$117) (case $label$118) (case $label$119) (case $label$120)) (case $label$118) + (table (case $label$113) (case $label$114) (case $label$115) (case $label$116) (case $label$117) (case $label$120) (case $label$118) (case $label$119)) (case $label$120) (case $label$113 (block $label$122 (set_local $var$258 @@ -8233,7 +8233,7 @@ (br $label$121) ) ) - (case $label$119 + (case $label$118 (block $label$127 (set_local $var$270 (i32.load align=4 @@ -8260,7 +8260,7 @@ (br $label$121) ) ) - (case $label$120 + (case $label$119 (block $label$128 (set_local $var$271 (i32.lt_s @@ -8321,7 +8321,7 @@ (br $label$121) ) ) - (case $label$118 + (case $label$120 (block $label$129 (set_local $var$549 (get_local $var$550) @@ -8342,7 +8342,7 @@ (br $label$111) ) ) - (case $label$107 + (case $label$90 (block $label$130 (set_local $var$455 (i32.gt_u @@ -8381,10 +8381,10 @@ (br $label$111) ) ) - (case $label$96 + (case $label$91 (nop) ) - (case $label$110 + (case $label$92 (block $label$131 (set_local $var$639 (get_local $var$638) @@ -8401,7 +8401,7 @@ (br $label$111) ) ) - (case $label$106 + (case $label$93 (block $label$132 (set_local $var$41 (get_local $var$392) @@ -8484,7 +8484,7 @@ (set_local $var$671 (i32.add (get_local $var$828) - (i32.const 255) + (i32.const -1) ) ) (i32.store8 align=1 @@ -8632,10 +8632,10 @@ (br $label$111) ) ) - (case $label$103 + (case $label$94 (nop) ) - (case $label$99 + (case $label$95 (block $label$141 (set_local $var$62 (get_local $var$392) @@ -8796,7 +8796,7 @@ (br $label$111) ) ) - (case $label$109 + (case $label$96 (block $label$145 (set_local $var$251 (get_local $var$392) @@ -8841,7 +8841,7 @@ (br $label$111) ) ) - (case $label$98 + (case $label$97 (block $label$146 (set_local $var$91 (get_local $var$392) @@ -8899,7 +8899,7 @@ (br $label$111) ) ) - (case $label$104 + (case $label$98 (block $label$147 (set_local $var$424 (call $___errno_location) @@ -8923,7 +8923,7 @@ (br $label$111) ) ) - (case $label$108 + (case $label$99 (block $label$148 (set_local $var$99 (i32.load align=4 @@ -8952,7 +8952,7 @@ (br $label$111) ) ) - (case $label$91 + (case $label$100 (block $label$149 (set_local $var$101 (get_local $var$392) @@ -8992,7 +8992,7 @@ (get_local $var$1007) ) (set_local $var$795 - (i32.const 255) + (i32.const -1) ) (set_local $var$1034 (i32.const 86) @@ -9000,7 +9000,7 @@ (br $label$111) ) ) - (case $label$95 + (case $label$101 (block $label$150 (set_local $var$477 (i32.eq @@ -9037,28 +9037,28 @@ (br $label$111) ) ) - (case $label$89 + (case $label$102 (nop) ) - (case $label$94 + (case $label$103 (nop) ) - (case $label$93 + (case $label$104 (nop) ) - (case $label$92 + (case $label$105 (nop) ) - (case $label$97 + (case $label$106 (nop) ) - (case $label$102 + (case $label$107 (nop) ) - (case $label$101 + (case $label$108 (nop) ) - (case $label$100 + (case $label$109 (block $label$153 (set_local $var$1038 (f64.load align=8 @@ -9270,7 +9270,7 @@ (set_local $var$605 (i32.add (get_local $var$127) - (i32.const 255) + (i32.const -1) ) ) (i32.store align=4 @@ -9370,7 +9370,7 @@ (set_local $var$608 (i32.add (get_local $var$816) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$1051 @@ -9568,7 +9568,7 @@ (set_local $var$674 (i32.add (get_local $var$620) - (i32.const 255) + (i32.const -1) ) ) (i32.store8 align=1 @@ -9590,7 +9590,7 @@ (set_local $var$675 (i32.add (get_local $var$620) - (i32.const 254) + (i32.const -2) ) ) (i32.store8 align=1 @@ -10036,7 +10036,7 @@ (set_local $var$915 (i32.add (get_local $var$143) - (i32.const 228) + (i32.const -28) ) ) (i32.store align=4 @@ -10193,7 +10193,7 @@ (set_local $var$595 (i32.add (get_local $var$1023) - (i32.const 252) + (i32.const -4) ) ) (set_local $var$453 @@ -10286,7 +10286,7 @@ (set_local $var$596 (i32.add (get_local $var$597) - (i32.const 252) + (i32.const -4) ) ) (set_local $var$454 @@ -10339,7 +10339,7 @@ (set_local $var$691 (i32.add (get_local $var$292) - (i32.const 252) + (i32.const -4) ) ) (i32.store align=4 @@ -10384,7 +10384,7 @@ (set_local $var$409 (i32.add (get_local $var$1025) - (i32.const 252) + (i32.const -4) ) ) (set_local $var$157 @@ -10497,7 +10497,7 @@ (get_local $var$335) (i32.const 9) ) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$336 @@ -10567,7 +10567,7 @@ (set_local $var$918 (i32.add (get_local $var$838) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$842 @@ -11048,7 +11048,7 @@ (set_local $var$763 (i32.add (get_local $var$167) - (i32.const 247) + (i32.const -9) ) ) (set_local $var$472 @@ -11078,7 +11078,7 @@ (get_local $var$340) (i32.const 9) ) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$921 @@ -11102,7 +11102,7 @@ (get_local $var$340) (i32.const 9) ) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$733 @@ -11188,7 +11188,7 @@ (i32.const 0) ) ) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$983 @@ -11242,7 +11242,7 @@ (i32.const 0) ) ) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$388 @@ -11270,7 +11270,7 @@ (get_local $var$648) (i32.const 2) ) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$480 @@ -11457,7 +11457,7 @@ (set_local $var$701 (i32.add (get_local $var$600) - (i32.const 252) + (i32.const -4) ) ) (i32.store align=4 @@ -11482,7 +11482,7 @@ (set_local $var$702 (i32.add (get_local $var$298) - (i32.const 252) + (i32.const -4) ) ) (i32.store align=4 @@ -11755,7 +11755,7 @@ (set_local $var$413 (i32.add (get_local $var$1031) - (i32.const 252) + (i32.const -4) ) ) (set_local $var$172 @@ -11818,7 +11818,7 @@ (set_local $var$502 (i32.gt_s (get_local $var$617) - (i32.const 251) + (i32.const -5) ) ) (set_local $var$778 @@ -11833,13 +11833,13 @@ (set_local $var$606 (i32.add (get_local $var$937) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$345 (i32.add (get_local $var$10) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$924 @@ -11859,13 +11859,13 @@ (set_local $var$925 (i32.add (get_local $var$937) - (i32.const 254) + (i32.const -2) ) ) (set_local $var$607 (i32.add (get_local $var$10) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$799 @@ -11913,7 +11913,7 @@ (set_local $var$416 (i32.add (get_local $var$1032) - (i32.const 252) + (i32.const -4) ) ) (set_local $var$174 @@ -11945,7 +11945,7 @@ ) (i32.const 10) ) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$506 @@ -11997,7 +11997,7 @@ (i32.const 0) ) ) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$507 @@ -12068,7 +12068,7 @@ (set_local $var$768 (i32.add (get_local $var$175) - (i32.const 247) + (i32.const -9) ) ) (if_else @@ -12303,7 +12303,7 @@ (set_local $var$704 (i32.add (get_local $var$622) - (i32.const 255) + (i32.const -1) ) ) (i32.store8 align=1 @@ -12372,7 +12372,7 @@ (set_local $var$705 (i32.add (get_local $var$621) - (i32.const 255) + (i32.const -1) ) ) (i32.store8 align=1 @@ -12388,7 +12388,7 @@ (set_local $var$706 (i32.add (get_local $var$621) - (i32.const 254) + (i32.const -2) ) ) (i32.store8 align=1 @@ -12587,7 +12587,7 @@ (set_local $var$707 (i32.add (get_local $var$830) - (i32.const 255) + (i32.const -1) ) ) (i32.store8 align=1 @@ -12808,7 +12808,7 @@ (set_local $var$711 (i32.add (get_local $var$833) - (i32.const 255) + (i32.const -1) ) ) (i32.store8 align=1 @@ -12896,7 +12896,7 @@ (set_local $var$931 (i32.add (get_local $var$802) - (i32.const 247) + (i32.const -9) ) ) (set_local $var$529 @@ -12979,7 +12979,7 @@ (set_local $var$536 (i32.gt_s (get_local $var$800) - (i32.const 255) + (i32.const -1) ) ) (if_else @@ -13162,7 +13162,7 @@ (set_local $var$713 (i32.add (get_local $var$835) - (i32.const 255) + (i32.const -1) ) ) (i32.store8 align=1 @@ -13275,7 +13275,7 @@ (set_local $var$537 (i32.gt_s (get_local $var$933) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$203 @@ -13565,7 +13565,7 @@ (br $label$111) ) ) - (case $label$90 + (case $label$110 (block $label$345 (set_local $var$293 (get_local $var$685) @@ -13720,7 +13720,7 @@ (set_local $var$669 (i32.add (get_local $var$827) - (i32.const 255) + (i32.const -1) ) ) (i32.store8 align=1 @@ -14163,7 +14163,7 @@ (get_local $var$483) (block $label$367 (set_local $var$821 - (i32.const 255) + (i32.const -1) ) (br $label$1) ) @@ -14394,7 +14394,7 @@ (set_local $var$464 (i32.gt_s (get_local $var$792) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$385 @@ -14849,7 +14849,7 @@ ) (block $label$394 (set_local $var$821 - (i32.const 255) + (i32.const -1) ) (br $label$381) ) @@ -14897,7 +14897,7 @@ (get_local $var$821) ) ) - (func $_pop_arg_336 (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) + (func $_pop_arg_336 (type $10) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (local $var$3 i32) (local $var$4 i32) (local $var$5 i32) @@ -15162,7 +15162,7 @@ (set_local $var$139 (i32.xor (get_local $var$140) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$46 @@ -15246,7 +15246,7 @@ (set_local $var$144 (i32.xor (get_local $var$145) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$15 @@ -15364,7 +15364,7 @@ (set_local $var$149 (i32.xor (get_local $var$150) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$29 @@ -15467,7 +15467,7 @@ (set_local $var$154 (i32.xor (get_local $var$155) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$41 @@ -15590,7 +15590,7 @@ (set_local $var$159 (i32.xor (get_local $var$160) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$59 @@ -15723,7 +15723,7 @@ (set_local $var$164 (i32.xor (get_local $var$165) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$74 @@ -15832,7 +15832,7 @@ (set_local $var$169 (i32.xor (get_local $var$170) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$86 @@ -15965,7 +15965,7 @@ (set_local $var$174 (i32.xor (get_local $var$175) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$102 @@ -16074,7 +16074,7 @@ (set_local $var$179 (i32.xor (get_local $var$180) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$7 @@ -16158,7 +16158,7 @@ (set_local $var$184 (i32.xor (get_local $var$185) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$13 @@ -16202,7 +16202,7 @@ (br $label$0) ) ) - (func $_fmt_u (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) + (func $_fmt_u (type $0) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) (local $var$3 i32) (local $var$4 i32) (local $var$5 i32) @@ -16261,7 +16261,7 @@ (get_local $var$0) (i32.const 0) ) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$18 @@ -16324,7 +16324,7 @@ (set_local $var$27 (i32.add (get_local $var$32) - (i32.const 255) + (i32.const -1) ) ) (i32.store8 align=1 @@ -16359,7 +16359,7 @@ (get_local $var$21) (i32.const 0) ) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$10 @@ -16454,7 +16454,7 @@ ) (i32.const 10) ) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$24 @@ -16472,7 +16472,7 @@ (set_local $var$29 (i32.add (get_local $var$34) - (i32.const 255) + (i32.const -1) ) ) (i32.store8 align=1 @@ -16488,7 +16488,7 @@ ) (i32.const 10) ) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$14 @@ -16525,7 +16525,7 @@ (get_local $var$33) ) ) - (func $_pad (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (param $var$4 i32) + (func $_pad (type $11) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (param $var$4 i32) (local $var$5 i32) (local $var$6 i32) (local $var$7 i32) @@ -16785,7 +16785,7 @@ (br $label$0) ) ) - (func $_malloc (param $var$0 i32) (result i32) + (func $_malloc (type $1) (param $var$0 i32) (result i32) (local $var$1 i32) (local $var$2 i32) (local $var$3 i32) @@ -18012,7 +18012,7 @@ (set_local $var$366 (i32.and (get_local $var$326) - (i32.const 248) + (i32.const -8) ) ) (set_local $var$761 @@ -18131,7 +18131,7 @@ (set_local $var$864 (i32.xor (get_local $var$970) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$385 @@ -18336,7 +18336,7 @@ (set_local $var$1146 (i32.add (get_local $var$424) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$1052 @@ -18515,7 +18515,7 @@ (set_local $var$867 (i32.xor (get_local $var$1006) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$442 @@ -18871,7 +18871,7 @@ (set_local $var$1126 (i32.add (get_local $var$367) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$1014 @@ -19022,7 +19022,7 @@ (set_local $var$392 (i32.and (get_local $var$138) - (i32.const 248) + (i32.const -8) ) ) (set_local $var$1127 @@ -19113,7 +19113,7 @@ (set_local $var$408 (i32.and (get_local $var$141) - (i32.const 248) + (i32.const -8) ) ) (set_local $var$1134 @@ -19562,7 +19562,7 @@ (set_local $var$859 (i32.xor (get_local $var$962) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$155 @@ -20136,13 +20136,13 @@ (get_local $var$0) (i32.const 0) ) - (i32.const 191) + (i32.const -65) ) ) (if_else (get_local $var$613) (set_local $var$857 - (i32.const 255) + (i32.const -1) ) (block $label$57 (set_local $var$319 @@ -20154,7 +20154,7 @@ (set_local $var$386 (i32.and (get_local $var$319) - (i32.const 248) + (i32.const -8) ) ) (set_local $var$171 @@ -20452,7 +20452,7 @@ (set_local $var$410 (i32.and (get_local $var$173) - (i32.const 248) + (i32.const -8) ) ) (set_local $var$1138 @@ -20723,7 +20723,7 @@ (set_local $var$1155 (i32.add (get_local $var$436) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$1068 @@ -20925,7 +20925,7 @@ (set_local $var$375 (i32.and (get_local $var$178) - (i32.const 248) + (i32.const -8) ) ) (set_local $var$1115 @@ -21485,7 +21485,7 @@ (set_local $var$860 (i32.xor (get_local $var$975) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$196 @@ -22356,7 +22356,7 @@ (set_local $var$419 (i32.and (get_local $var$211) - (i32.const 248) + (i32.const -8) ) ) (set_local $var$703 @@ -22923,7 +22923,7 @@ (set_local $var$1104 (i32.add (get_local $var$550) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$373 @@ -22951,11 +22951,11 @@ ) (i32.store align=4 (i32.const 660) - (i32.const 255) + (i32.const -1) ) (i32.store align=4 (i32.const 664) - (i32.const 255) + (i32.const -1) ) (i32.store align=4 (i32.const 668) @@ -22973,7 +22973,7 @@ (set_local $var$1187 (i32.and (get_local $var$556) - (i32.const 240) + (i32.const -16) ) ) (set_local $var$439 @@ -23329,7 +23329,7 @@ (set_local $var$750 (i32.eq (get_local $var$558) - (i32.const 255) + (i32.const -1) ) ) (if @@ -23383,7 +23383,7 @@ (set_local $var$701 (i32.eq (get_local $var$555) - (i32.const 255) + (i32.const -1) ) ) (if @@ -23403,7 +23403,7 @@ (set_local $var$1144 (i32.add (get_local $var$27) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$423 @@ -23613,7 +23613,7 @@ (set_local $var$753 (i32.ne (get_local $var$549) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$754 @@ -23702,7 +23702,7 @@ (set_local $var$585 (i32.eq (get_local $var$551) - (i32.const 255) + (i32.const -1) ) ) (if_else @@ -23740,7 +23740,7 @@ (set_local $var$591 (i32.eq (get_local $var$549) - (i32.const 255) + (i32.const -1) ) ) (if @@ -23819,13 +23819,13 @@ (set_local $var$606 (i32.ne (get_local $var$552) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$608 (i32.ne (get_local $var$553) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$882 @@ -24024,7 +24024,7 @@ ) (i32.store align=4 (i32.const 208) - (i32.const 255) + (i32.const -1) ) (set_local $var$848 (i32.const 0) @@ -24091,7 +24091,7 @@ (set_local $var$1123 (i32.add (get_local $var$1179) - (i32.const 216) + (i32.const -40) ) ) (set_local $var$266 @@ -24900,7 +24900,7 @@ (set_local $var$418 (i32.and (get_local $var$69) - (i32.const 248) + (i32.const -8) ) ) (set_local $var$1016 @@ -25031,7 +25031,7 @@ (set_local $var$862 (i32.xor (get_local $var$1001) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$75 @@ -25493,7 +25493,7 @@ (set_local $var$865 (i32.xor (get_local $var$972) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$89 @@ -25791,7 +25791,7 @@ (set_local $var$391 (i32.and (get_local $var$97) - (i32.const 254) + (i32.const -2) ) ) (i32.store align=4 @@ -26337,7 +26337,7 @@ (set_local $var$409 (i32.and (get_local $var$104) - (i32.const 248) + (i32.const -8) ) ) (set_local $var$687 @@ -26697,7 +26697,7 @@ (set_local $var$287 (i32.add (get_local $var$273) - (i32.const 209) + (i32.const -47) ) ) (set_local $var$297 @@ -26786,7 +26786,7 @@ (set_local $var$1121 (i32.add (get_local $var$1179) - (i32.const 216) + (i32.const -40) ) ) (set_local $var$265 @@ -27033,7 +27033,7 @@ (set_local $var$411 (i32.and (get_local $var$121) - (i32.const 254) + (i32.const -2) ) ) (i32.store align=4 @@ -27558,7 +27558,7 @@ (set_local $var$380 (i32.and (get_local $var$130) - (i32.const 248) + (i32.const -8) ) ) (set_local $var$595 @@ -27922,7 +27922,7 @@ (get_local $var$949) ) ) - (func $_free (param $var$0 i32) + (func $_free (type $2) (param $var$0 i32) (local $var$1 i32) (local $var$2 i32) (local $var$3 i32) @@ -28295,7 +28295,7 @@ (set_local $var$96 (i32.add (get_local $var$0) - (i32.const 248) + (i32.const -8) ) ) (set_local $var$5 @@ -28322,7 +28322,7 @@ (set_local $var$274 (i32.add (get_local $var$0) - (i32.const 252) + (i32.const -4) ) ) (set_local $var$6 @@ -28349,7 +28349,7 @@ (set_local $var$123 (i32.and (get_local $var$6) - (i32.const 248) + (i32.const -8) ) ) (set_local $var$102 @@ -28482,7 +28482,7 @@ (set_local $var$115 (i32.and (get_local $var$25) - (i32.const 254) + (i32.const -2) ) ) (i32.store align=4 @@ -28645,7 +28645,7 @@ (set_local $var$287 (i32.xor (get_local $var$319) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$72 @@ -29117,7 +29117,7 @@ (set_local $var$288 (i32.xor (get_local $var$315) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$18 @@ -29617,7 +29617,7 @@ (set_local $var$118 (i32.and (get_local $var$26) - (i32.const 248) + (i32.const -8) ) ) (set_local $var$106 @@ -29759,7 +29759,7 @@ (set_local $var$289 (i32.xor (get_local $var$317) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$37 @@ -30228,7 +30228,7 @@ (set_local $var$290 (i32.xor (get_local $var$318) - (i32.const 255) + (i32.const -1) ) ) (set_local $var$55 @@ -30546,7 +30546,7 @@ (set_local $var$122 (i32.and (get_local $var$26) - (i32.const 254) + (i32.const -2) ) ) (i32.store align=4 @@ -31088,7 +31088,7 @@ (set_local $var$130 (i32.and (get_local $var$70) - (i32.const 248) + (i32.const -8) ) ) (set_local $var$246 @@ -31352,7 +31352,7 @@ (set_local $var$258 (i32.add (get_local $var$77) - (i32.const 255) + (i32.const -1) ) ) (i32.store align=4 @@ -31403,15 +31403,15 @@ ) (i32.store align=4 (i32.const 208) - (i32.const 255) + (i32.const -1) ) (br $label$0) ) ) - (func $runPostSets + (func $runPostSets (type $3) (nop) ) - (func $_i64Subtract (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (result i32) + (func $_i64Subtract (type $12) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (result i32) (local $var$4 i32) (local $var$5 i32) (block $label$0 @@ -31463,7 +31463,7 @@ ) ) ) - (func $_i64Add (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (result i32) + (func $_i64Add (type $12) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (result i32) (local $var$4 i32) (local $var$5 i32) (block $label$0 @@ -31506,7 +31506,7 @@ ) ) ) - (func $_memset (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) + (func $_memset (type $0) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) (local $var$3 i32) (local $var$4 i32) (local $var$5 i32) @@ -31562,7 +31562,7 @@ (get_local $var$3) (i32.xor (i32.const 3) - (i32.const 255) + (i32.const -1) ) ) ) @@ -31663,7 +31663,7 @@ ) ) ) - (func $_bitshift64Lshr (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) + (func $_bitshift64Lshr (type $0) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) (local $var$3 i32) (block $label$0 (if @@ -31721,7 +31721,7 @@ ) ) ) - (func $_bitshift64Shl (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) + (func $_bitshift64Shl (type $0) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) (local $var$3 i32) (block $label$0 (if @@ -31785,7 +31785,7 @@ (i32.const 0) ) ) - (func $_memcpy (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) + (func $_memcpy (type $0) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) (local $var$3 i32) (block $label$0 (if @@ -31947,7 +31947,7 @@ (get_local $var$3) ) ) - (func $_bitshift64Ashr (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) + (func $_bitshift64Ashr (type $0) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) (local $var$3 i32) (block $label$0 (if @@ -31999,7 +31999,7 @@ (get_local $var$1) (i32.const 0) ) - (i32.const 255) + (i32.const -1) (i32.const 0) ) ) @@ -32012,7 +32012,7 @@ ) ) ) - (func $_llvm_cttz_i32 (param $var$0 i32) (result i32) + (func $_llvm_cttz_i32 (type $1) (param $var$0 i32) (result i32) (local $var$1 i32) (block $label$0 (set_local $var$1 @@ -32109,7 +32109,7 @@ ) ) ) - (func $___muldsi3 (param $var$0 i32) (param $var$1 i32) (result i32) + (func $___muldsi3 (type $5) (param $var$0 i32) (param $var$1 i32) (result i32) (local $var$2 i32) (local $var$3 i32) (local $var$4 i32) @@ -32211,7 +32211,7 @@ ) ) ) - (func $___divdi3 (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (result i32) + (func $___divdi3 (type $12) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (result i32) (local $var$4 i32) (local $var$5 i32) (local $var$6 i32) @@ -32236,7 +32236,7 @@ (get_local $var$1) (i32.const 0) ) - (i32.const 255) + (i32.const -1) (i32.const 0) ) (i32.const 1) @@ -32251,7 +32251,7 @@ (get_local $var$1) (i32.const 0) ) - (i32.const 255) + (i32.const -1) (i32.const 0) ) (i32.const 31) @@ -32262,7 +32262,7 @@ (get_local $var$1) (i32.const 0) ) - (i32.const 255) + (i32.const -1) (i32.const 0) ) (i32.const 1) @@ -32281,7 +32281,7 @@ (get_local $var$3) (i32.const 0) ) - (i32.const 255) + (i32.const -1) (i32.const 0) ) (i32.const 1) @@ -32296,7 +32296,7 @@ (get_local $var$3) (i32.const 0) ) - (i32.const 255) + (i32.const -1) (i32.const 0) ) (i32.const 31) @@ -32307,7 +32307,7 @@ (get_local $var$3) (i32.const 0) ) - (i32.const 255) + (i32.const -1) (i32.const 0) ) (i32.const 1) @@ -32389,7 +32389,7 @@ (get_local $var$14) ) ) - (func $___remdi3 (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (result i32) + (func $___remdi3 (type $12) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (result i32) (local $var$4 i32) (local $var$5 i32) (local $var$6 i32) @@ -32431,7 +32431,7 @@ (get_local $var$1) (i32.const 0) ) - (i32.const 255) + (i32.const -1) (i32.const 0) ) (i32.const 1) @@ -32446,7 +32446,7 @@ (get_local $var$1) (i32.const 0) ) - (i32.const 255) + (i32.const -1) (i32.const 0) ) (i32.const 31) @@ -32457,7 +32457,7 @@ (get_local $var$1) (i32.const 0) ) - (i32.const 255) + (i32.const -1) (i32.const 0) ) (i32.const 1) @@ -32476,7 +32476,7 @@ (get_local $var$3) (i32.const 0) ) - (i32.const 255) + (i32.const -1) (i32.const 0) ) (i32.const 1) @@ -32491,7 +32491,7 @@ (get_local $var$3) (i32.const 0) ) - (i32.const 255) + (i32.const -1) (i32.const 0) ) (i32.const 31) @@ -32502,7 +32502,7 @@ (get_local $var$3) (i32.const 0) ) - (i32.const 255) + (i32.const -1) (i32.const 0) ) (i32.const 1) @@ -32590,7 +32590,7 @@ ) ) ) - (func $___muldi3 (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (result i32) + (func $___muldi3 (type $12) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (result i32) (local $var$4 i32) (local $var$5 i32) (local $var$6 i32) @@ -32644,13 +32644,13 @@ (i32.const 0) (i32.and (get_local $var$6) - (i32.const 255) + (i32.const -1) ) ) ) ) ) - (func $___udivdi3 (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (result i32) + (func $___udivdi3 (type $12) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (result i32) (local $var$4 i32) (block $label$0 (set_local $var$4 @@ -32665,7 +32665,7 @@ (get_local $var$4) ) ) - (func $___uremdi3 (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (result i32) + (func $___uremdi3 (type $12) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (result i32) (local $var$4 i32) (local $var$5 i32) (block $label$0 @@ -32713,7 +32713,7 @@ ) ) ) - (func $___udivmoddi4 (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (param $var$4 i32) (result i32) + (func $___udivmoddi4 (type $9) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (param $var$4 i32) (result i32) (local $var$5 i32) (local $var$6 i32) (local $var$7 i32) @@ -32896,7 +32896,7 @@ (get_local $var$4) (i32.and (get_local $var$0) - (i32.const 255) + (i32.const -1) ) ) (i32.store align=4 @@ -33091,7 +33091,7 @@ (i32.const 0) (i32.and (get_local $var$0) - (i32.const 255) + (i32.const -1) ) ) ) @@ -33240,7 +33240,7 @@ (i32.const 0) (i32.and (get_local $var$0) - (i32.const 255) + (i32.const -1) ) ) ) @@ -33397,7 +33397,7 @@ (i32.const 0) (i32.and (get_local $var$0) - (i32.const 255) + (i32.const -1) ) ) ) @@ -33630,7 +33630,7 @@ (i32.const 0) (i32.and (get_local $var$0) - (i32.const 255) + (i32.const -1) ) ) ) @@ -33725,7 +33725,7 @@ (i32.const 0) (i32.and (get_local $var$2) - (i32.const 255) + (i32.const -1) ) ) ) @@ -33742,8 +33742,8 @@ (call $_i64Add (get_local $var$37) (get_local $var$38) - (i32.const 255) - (i32.const 255) + (i32.const -1) + (i32.const -1) ) ) (set_local $var$40 @@ -33842,7 +33842,7 @@ (get_local $var$51) (i32.const 0) ) - (i32.const 255) + (i32.const -1) (i32.const 0) ) (i32.const 1) @@ -33871,7 +33871,7 @@ (get_local $var$51) (i32.const 0) ) - (i32.const 255) + (i32.const -1) (i32.const 0) ) (i32.const 31) @@ -33882,7 +33882,7 @@ (get_local $var$51) (i32.const 0) ) - (i32.const 255) + (i32.const -1) (i32.const 0) ) (i32.const 1) @@ -34036,7 +34036,7 @@ (i32.const 31) ) ) - (i32.const 254) + (i32.const -2) ) (get_local $var$58) ) @@ -34050,7 +34050,7 @@ ) ) ) - (func $dynCall_ii (param $var$0 i32) (param $var$1 i32) (result i32) + (func $dynCall_ii (type $5) (param $var$0 i32) (param $var$1 i32) (result i32) (call_indirect $1 (i32.add (i32.and @@ -34062,7 +34062,7 @@ (get_local $var$1) ) ) - (func $dynCall_iiii (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (result i32) + (func $dynCall_iiii (type $12) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (param $var$3 i32) (result i32) (call_indirect $0 (i32.add (i32.and @@ -34076,7 +34076,7 @@ (get_local $var$3) ) ) - (func $dynCall_vi (param $var$0 i32) (param $var$1 i32) + (func $dynCall_vi (type $6) (param $var$0 i32) (param $var$1 i32) (call_indirect $2 (i32.add (i32.and @@ -34088,7 +34088,7 @@ (get_local $var$1) ) ) - (func $b0 (param $var$0 i32) (result i32) + (func $b0 (type $1) (param $var$0 i32) (result i32) (block $label$0 (call_import $nullFunc_ii (i32.const 0) @@ -34096,7 +34096,7 @@ (i32.const 0) ) ) - (func $b1 (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) + (func $b1 (type $0) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) (block $label$0 (call_import $nullFunc_iiii (i32.const 1) @@ -34104,7 +34104,7 @@ (i32.const 0) ) ) - (func $b2 (param $var$0 i32) + (func $b2 (type $2) (param $var$0 i32) (call_import $nullFunc_vi (i32.const 2) ) diff --git a/test/hello_world.wast.fromBinary b/test/hello_world.wast.fromBinary index 7f2e65239..74331f60c 100644 --- a/test/hello_world.wast.fromBinary +++ b/test/hello_world.wast.fromBinary @@ -2,7 +2,7 @@ (memory 16777216 16777216) (type $0 (func (param i32 i32) (result i32))) (export "add" $add) - (func $add (param $var$0 i32) (param $var$1 i32) (result i32) + (func $add (type $0) (param $var$0 i32) (param $var$1 i32) (result i32) (i32.add (get_local $var$0) (get_local $var$1) diff --git a/test/kitchen_sink.wast.fromBinary b/test/kitchen_sink.wast.fromBinary index 1000fc759..473161af7 100644 --- a/test/kitchen_sink.wast.fromBinary +++ b/test/kitchen_sink.wast.fromBinary @@ -1,7 +1,9 @@ (module - (memory 4096 4096) + (memory 4096 4096 + (segment 1026 "\14\00") + ) (type $0 (func (result i32))) - (func $kitchensink (result i32) + (func $kitchensink (type $0) (result i32) (block $label$0 (i32.add (i32.const 10) @@ -351,31 +353,31 @@ (f64.const 10) (f64.const 10) ) - (f32.convert_s/i32 + (i32.trunc_s/f32 (f32.const 10) ) - (f64.convert_s/i32 + (i32.trunc_s/f64 (f64.const 10) ) - (f32.convert_u/i32 + (i32.trunc_u/f32 (f32.const 10) ) - (f64.convert_u/i32 + (i32.trunc_u/f64 (f64.const 10) ) (i32.wrap/i64 (i64.const 100) ) - (f32.convert_s/i64 + (i64.trunc_s/f32 (f32.const 10) ) - (f64.convert_s/i64 + (i64.trunc_s/f64 (f64.const 10) ) - (f32.convert_u/i64 + (i64.trunc_u/f32 (f32.const 10) ) - (f64.convert_u/i64 + (i64.trunc_u/f64 (f64.const 10) ) (i64.extend_s/i32 @@ -390,7 +392,7 @@ (f32.convert_u/i32 (i32.const 10) ) - (f32.convert_u/i64 + (f32.convert_s/i64 (i64.const 100) ) (f32.convert_u/i64 @@ -408,7 +410,7 @@ (f64.convert_u/i32 (i32.const 10) ) - (f64.convert_u/i64 + (f64.convert_s/i64 (i64.const 100) ) (f64.convert_u/i64 diff --git a/test/llvm_autogenerated/i64-load-store-alignment.wast b/test/llvm_autogenerated/i64-load-store-alignment.wast index 7f6903240..bd86f0512 100644 --- a/test/llvm_autogenerated/i64-load-store-alignment.wast +++ b/test/llvm_autogenerated/i64-load-store-alignment.wast @@ -155,7 +155,7 @@ (block $fake_return_waka123 (block (br $fake_return_waka123 - (i64.load align=1 + (i64.load32_u align=1 (get_local $$0) ) ) @@ -166,7 +166,7 @@ (block $fake_return_waka123 (block (br $fake_return_waka123 - (i64.load align=2 + (i64.load32_u align=2 (get_local $$0) ) ) @@ -177,7 +177,7 @@ (block $fake_return_waka123 (block (br $fake_return_waka123 - (i64.load align=4 + (i64.load32_u align=4 (get_local $$0) ) ) @@ -188,7 +188,7 @@ (block $fake_return_waka123 (block (br $fake_return_waka123 - (i64.load align=8 + (i64.load32_u align=8 (get_local $$0) ) ) diff --git a/test/llvm_autogenerated/immediates.wast b/test/llvm_autogenerated/immediates.wast index 2a74f80e7..f4c6ad255 100644 --- a/test/llvm_autogenerated/immediates.wast +++ b/test/llvm_autogenerated/immediates.wast @@ -136,7 +136,7 @@ (block $fake_return_waka123 (block (br $fake_return_waka123 - (f32.const nan) + (f32.const nan:0x400000) ) ) ) @@ -145,7 +145,7 @@ (block $fake_return_waka123 (block (br $fake_return_waka123 - (f32.const -nan) + (f32.const -nan:0x400000) ) ) ) @@ -208,7 +208,7 @@ (block $fake_return_waka123 (block (br $fake_return_waka123 - (f64.const nan) + (f64.const nan:0x8000000000000) ) ) ) @@ -217,7 +217,7 @@ (block $fake_return_waka123 (block (br $fake_return_waka123 - (f64.const -nan) + (f64.const -nan:0x8000000000000) ) ) ) diff --git a/test/llvm_autogenerated/load-ext.wast b/test/llvm_autogenerated/load-ext.wast index 7c54d6cec..100ac2001 100644 --- a/test/llvm_autogenerated/load-ext.wast +++ b/test/llvm_autogenerated/load-ext.wast @@ -102,7 +102,7 @@ (block $fake_return_waka123 (block (br $fake_return_waka123 - (i64.load align=4 + (i64.load32_s align=4 (get_local $$0) ) ) @@ -113,7 +113,7 @@ (block $fake_return_waka123 (block (br $fake_return_waka123 - (i64.load align=4 + (i64.load32_u align=4 (get_local $$0) ) ) diff --git a/test/min.wast.fromBinary b/test/min.wast.fromBinary index 65e4d234e..22aba76b3 100644 --- a/test/min.wast.fromBinary +++ b/test/min.wast.fromBinary @@ -5,14 +5,14 @@ (type $2 (func (param i32) (result i32))) (type $3 (func (param i32 i32 i32) (result i32))) (export "floats" $floats) - (func $floats (param $var$0 f32) (result f32) + (func $floats (type $0) (param $var$0 f32) (result f32) (local $var$1 f32) (f32.add (get_local $var$1) (get_local $var$0) ) ) - (func $neg (param $var$0 i32) (param $var$1 i32) + (func $neg (type $1) (param $var$0 i32) (param $var$1 i32) (local $var$2 f32) (set_local $var$2 (f32.neg @@ -28,7 +28,7 @@ ) ) ) - (func $littleswitch (param $var$0 i32) (result i32) + (func $littleswitch (type $2) (param $var$0 i32) (result i32) (block $label$0 (tableswitch $label$3 (i32.sub @@ -50,7 +50,7 @@ (i32.const 0) ) ) - (func $f1 (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) + (func $f1 (type $3) (param $var$0 i32) (param $var$1 i32) (param $var$2 i32) (result i32) (block $label$0 (get_local $var$2) ) diff --git a/test/s2wasm_known_binaryen_shell_test_failures.txt b/test/s2wasm_known_binaryen_shell_test_failures.txt index abc1aff2b..6bcafafc5 100644 --- a/test/s2wasm_known_binaryen_shell_test_failures.txt +++ b/test/s2wasm_known_binaryen_shell_test_failures.txt @@ -40,7 +40,6 @@ 20050502-2.c.s.wast 20050826-1.c.s.wast 20051113-1.c.s.wast -20060110-1.c.s.wast 20060420-1.c.s.wast 20060905-1.c.s.wast 20060930-2.c.s.wast @@ -77,7 +76,6 @@ 931110-1.c.s.wast 941014-2.c.s.wast 950710-1.c.s.wast -950915-1.c.s.wast 960215-1.c.s.wast 960327-1.c.s.wast 960405-1.c.s.wast @@ -125,7 +123,6 @@ pr23047.c.s.wast pr27073.c.s.wast pr27260.c.s.wast pr27285.c.s.wast -pr28403.c.s.wast pr28651.c.s.wast pr29006.c.s.wast pr32244-1.c.s.wast @@ -188,7 +185,6 @@ pr57124.c.s.wast pr57131.c.s.wast pr57344-3.c.s.wast pr57344-4.c.s.wast -pr57860.c.s.wast pr57877.c.s.wast pr58365.c.s.wast pr58419.c.s.wast diff --git a/test/unit.wast.fromBinary b/test/unit.wast.fromBinary index de479dea7..7c5e00b94 100644 --- a/test/unit.wast.fromBinary +++ b/test/unit.wast.fromBinary @@ -1,5 +1,7 @@ (module - (memory 4096 4096) + (memory 4096 4096 + (segment 1026 "\14\00") + ) (type $0 (func (param f32))) (type $1 (func)) (type $2 (func (param f64) (result i32))) @@ -8,11 +10,11 @@ (type $5 (func (result i32))) (type $6 (func (param i32) (result i32))) (import $_emscripten_asm_const_vi "env" "_emscripten_asm_const_vi") - (import $f64-to-int "env" "f64-to-int" (param f64) (result i32)) - (import $f64-rem "env" "f64-rem" (param f64 f64) (result f64)) + (import $f64-to-int "asm2wasm" "f64-to-int" (param f64) (result i32)) + (import $f64-rem "asm2wasm" "f64-rem" (param f64 f64) (result f64)) (export "big_negative" $big_negative) (table $z $big_negative $z $z $w $w $importedDoubles $w $z $cneg) - (func $big_negative + (func $big_negative (type $1) (local $var$0 f64) (block $label$0 (set_local $var$0 @@ -32,7 +34,7 @@ ) ) ) - (func $importedDoubles (result f64) + (func $importedDoubles (type $4) (result f64) (local $var$0 f64) (block $label$0 (set_local $var$0 @@ -84,7 +86,7 @@ (f64.const 1.2) ) ) - (func $doubleCompares (param $var$0 f64) (param $var$1 f64) (result f64) + (func $doubleCompares (type $3) (param $var$0 f64) (param $var$1 f64) (result f64) (local $var$2 i32) (local $var$3 f64) (local $var$4 f64) @@ -128,14 +130,14 @@ (get_local $var$1) ) ) - (func $intOps (result i32) + (func $intOps (type $5) (result i32) (local $var$0 i32) (i32.eq (get_local $var$0) (i32.const 0) ) ) - (func $conversions + (func $conversions (type $1) (local $var$0 i32) (local $var$1 f64) (block $label$0 @@ -159,7 +161,7 @@ ) ) ) - (func $seq + (func $seq (type $1) (local $var$0 f64) (set_local $var$0 (f64.sub @@ -174,7 +176,7 @@ ) ) ) - (func $switcher (param $var$0 i32) (result i32) + (func $switcher (type $6) (param $var$0 i32) (result i32) (block $label$0 (tableswitch $label$4 (i32.sub @@ -201,18 +203,18 @@ (get_local $var$0) (i32.const 5) ) - (table (case $label$5) (case $label$6) (case $label$6) (case $label$6) (case $label$6) (case $label$6) (case $label$6) (case $label$7)) (case $label$6) - (case $label$7 + (table (case $label$6) (case $label$7) (case $label$7) (case $label$7) (case $label$7) (case $label$7) (case $label$7) (case $label$5)) (case $label$7) + (case $label$5 (br $label$0 (i32.const 121) ) ) - (case $label$5 + (case $label$6 (br $label$0 (i32.const 51) ) ) - (case $label$6 + (case $label$7 (nop) ) ) @@ -221,11 +223,11 @@ (get_local $var$0) (i32.const 2) ) - (table (case $label$9) (case $label$10) (case $label$10) (case $label$11) (case $label$10) (case $label$10) (case $label$10) (case $label$10) (case $label$12) (case $label$10) (case $label$13)) (case $label$10) - (case $label$13 + (table (case $label$12) (case $label$13) (case $label$13) (case $label$11) (case $label$13) (case $label$13) (case $label$13) (case $label$13) (case $label$10) (case $label$13) (case $label$9)) (case $label$13) + (case $label$9 (br $label$14) ) - (case $label$12 + (case $label$10 (br $label$14) ) (case $label$11 @@ -239,7 +241,7 @@ (br $label$14) ) ) - (case $label$9 + (case $label$12 (block $label$19 (loop $label$20 $label$21 (block $label$22 @@ -250,40 +252,40 @@ (br $label$14) ) ) - (case $label$10 + (case $label$13 (nop) ) ) (i32.const 0) ) ) - (func $blocker + (func $blocker (type $1) (block $label$0 (br $label$0) ) ) - (func $frem (result f64) + (func $frem (type $4) (result f64) (call_import $f64-rem (f64.const 5.5) (f64.const 1.2) ) ) - (func $big_uint_div_u (result i32) + (func $big_uint_div_u (type $5) (result i32) (local $var$0 i32) (block $label$0 (set_local $var$0 (i32.and (i32.div_u - (i32.const 255) + (i32.const -1) (i32.const 2) ) - (i32.const 255) + (i32.const -1) ) ) (get_local $var$0) ) ) - (func $fr (param $var$0 f32) + (func $fr (type $0) (param $var$0 f32) (local $var$1 f32) (local $var$2 f64) (block $label$0 @@ -297,10 +299,10 @@ (f32.const 0) ) ) - (func $negZero (result f64) + (func $negZero (type $4) (result f64) (f64.const -0) ) - (func $abs + (func $abs (type $1) (local $var$0 i32) (local $var$1 i32) (local $var$2 f32) @@ -336,7 +338,7 @@ ) ) ) - (func $neg + (func $neg (type $1) (local $var$0 f32) (block $label$0 (set_local $var$0 @@ -356,7 +358,7 @@ ) ) ) - (func $cneg (param $var$0 f32) + (func $cneg (type $0) (param $var$0 f32) (call_indirect $0 (i32.add (i32.and @@ -368,7 +370,7 @@ (get_local $var$0) ) ) - (func $___syscall_ret + (func $___syscall_ret (type $1) (local $var$0 i32) (i32.gt_u (i32.shr_u @@ -378,13 +380,13 @@ (i32.const -4096) ) ) - (func $z + (func $z (type $1) (nop) ) - (func $w + (func $w (type $1) (nop) ) - (func $block_and_after (result i32) + (func $block_and_after (type $5) (result i32) (block $label$0 (block $label$1 (i32.const 1) |