Skip to content

Instantly share code, notes, and snippets.

@Termina1
Created April 15, 2012 09:55
Show Gist options
  • Save Termina1/2391621 to your computer and use it in GitHub Desktop.
Save Termina1/2391621 to your computer and use it in GitHub Desktop.
libsvm ported to js
This file has been truncated, but you can view the full file.
// Note: Some Emscripten settings will significantly limit the speed of the generated code.
// Note: Some Emscripten settings may limit the speed of the generated code.
// TODO: " u s e s t r i c t ";
try {
this['Module'] = Module;
} catch(e) {
this['Module'] = Module = {};
}
// The environment setup code below is customized to use Module.
// *** Environment setup code ***
var ENVIRONMENT_IS_NODE = typeof process === 'object';
var ENVIRONMENT_IS_WEB = typeof window === 'object';
var ENVIRONMENT_IS_WORKER = typeof importScripts === 'function';
var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
if (ENVIRONMENT_IS_NODE) {
// Expose functionality in the same simple way that the shells work
// Note that we pollute the global namespace here, otherwise we break in node
Module['print'] = function(x) {
process['stdout'].write(x + '\n');
};
Module['printErr'] = function(x) {
process['stderr'].write(x + '\n');
};
var nodeFS = require('fs');
var nodePath = require('path');
Module['read'] = function(filename) {
filename = nodePath['normalize'](filename);
var ret = nodeFS['readFileSync'](filename).toString();
// The path is absolute if the normalized version is the same as the resolved.
if (!ret && filename != nodePath['resolve'](filename)) {
filename = path.join(__dirname, '..', 'src', filename);
ret = nodeFS['readFileSync'](filename).toString();
}
return ret;
};
Module['load'] = function(f) {
globalEval(read(f));
};
if (!Module['arguments']) {
Module['arguments'] = process['argv'].slice(2);
}
} else if (ENVIRONMENT_IS_SHELL) {
Module['print'] = print;
Module['printErr'] = printErr;
// Polyfill over SpiderMonkey/V8 differences
if (typeof read != 'undefined') {
Module['read'] = read;
} else {
Module['read'] = function(f) { snarf(f) };
}
if (!Module['arguments']) {
if (typeof scriptArgs != 'undefined') {
Module['arguments'] = scriptArgs;
} else if (typeof arguments != 'undefined') {
Module['arguments'] = arguments;
}
}
} else if (ENVIRONMENT_IS_WEB) {
if (!Module['print']) {
Module['print'] = function(x) {
console.log(x);
};
}
if (!Module['printErr']) {
Module['printErr'] = function(x) {
console.log(x);
};
}
Module['read'] = function(url) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, false);
xhr.send(null);
return xhr.responseText;
};
if (!Module['arguments']) {
if (typeof arguments != 'undefined') {
Module['arguments'] = arguments;
}
}
} else if (ENVIRONMENT_IS_WORKER) {
// We can do very little here...
Module['load'] = importScripts;
} else {
throw 'Unknown runtime environment. Where are we?';
}
function globalEval(x) {
eval.call(null, x);
}
if (!Module['load'] == 'undefined' && Module['read']) {
Module['load'] = function(f) {
globalEval(Module['read'](f));
};
}
if (!Module['printErr']) {
Module['printErr'] = function(){};
}
if (!Module['print']) {
Module['print'] = Module['printErr'];
}
if (!Module['arguments']) {
Module['arguments'] = [];
}
// *** Environment setup code ***
// === Auto-generated preamble library stuff ===
//========================================
// Runtime code shared with compiler
//========================================
var Runtime = {
stackSave: function () {
return STACKTOP;
},
stackRestore: function (stackTop) {
STACKTOP = stackTop;
},
forceAlign: function (target, quantum) {
quantum = quantum || 4;
if (quantum == 1) return target;
if (isNumber(target) && isNumber(quantum)) {
return Math.ceil(target/quantum)*quantum;
} else if (isNumber(quantum) && isPowerOfTwo(quantum)) {
var logg = log2(quantum);
return '((((' +target + ')+' + (quantum-1) + ')>>' + logg + ')<<' + logg + ')';
}
return 'Math.ceil((' + target + ')/' + quantum + ')*' + quantum;
},
isNumberType: function (type) {
return type in Runtime.INT_TYPES || type in Runtime.FLOAT_TYPES;
},
isPointerType: function isPointerType(type) {
return type[type.length-1] == '*';
},
isStructType: function isStructType(type) {
if (isPointerType(type)) return false;
if (/^\[\d+\ x\ (.*)\]/.test(type)) return true; // [15 x ?] blocks. Like structs
if (/<?{ ?[^}]* ?}>?/.test(type)) return true; // { i32, i8 } etc. - anonymous struct types
// See comment in isStructPointerType()
return type[0] == '%';
},
INT_TYPES: {"i1":0,"i8":0,"i16":0,"i32":0,"i64":0},
FLOAT_TYPES: {"float":0,"double":0},
bitshift64: function (low, high, op, bits) {
var ander = Math.pow(2, bits)-1;
if (bits < 32) {
switch (op) {
case 'shl':
return [low << bits, (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits))];
case 'ashr':
return [(((low >>> bits ) | ((high&ander) << (32 - bits))) >> 0) >>> 0, (high >> bits) >>> 0];
case 'lshr':
return [((low >>> bits) | ((high&ander) << (32 - bits))) >>> 0, high >>> bits];
}
} else if (bits == 32) {
switch (op) {
case 'shl':
return [0, low];
case 'ashr':
return [high, (high|0) < 0 ? ander : 0];
case 'lshr':
return [high, 0];
}
} else { // bits > 32
switch (op) {
case 'shl':
return [0, low << (bits - 32)];
case 'ashr':
return [(high >> (bits - 32)) >>> 0, (high|0) < 0 ? ander : 0];
case 'lshr':
return [high >>> (bits - 32) , 0];
}
}
abort('unknown bitshift64 op: ' + [value, op, bits]);
},
or64: function (x, y) {
var l = (x | 0) | (y | 0);
var h = (Math.round(x / 4294967296) | Math.round(y / 4294967296)) * 4294967296;
return l + h;
},
and64: function (x, y) {
var l = (x | 0) & (y | 0);
var h = (Math.round(x / 4294967296) & Math.round(y / 4294967296)) * 4294967296;
return l + h;
},
xor64: function (x, y) {
var l = (x | 0) ^ (y | 0);
var h = (Math.round(x / 4294967296) ^ Math.round(y / 4294967296)) * 4294967296;
return l + h;
},
getNativeTypeSize: function (type, quantumSize) {
if (Runtime.QUANTUM_SIZE == 1) return 1;
var size = {
'%i1': 1,
'%i8': 1,
'%i16': 2,
'%i32': 4,
'%i64': 8,
"%float": 4,
"%double": 8
}['%'+type]; // add '%' since float and double confuse Closure compiler as keys, and also spidermonkey as a compiler will remove 's from '_i8' etc
if (!size) {
if (type[type.length-1] == '*') {
size = Runtime.QUANTUM_SIZE; // A pointer
} else if (type[0] == 'i') {
var bits = parseInt(type.substr(1));
assert(bits % 8 == 0);
size = bits/8;
}
}
return size;
},
getNativeFieldSize: function (type) {
return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE);
},
dedup: function dedup(items, ident) {
var seen = {};
if (ident) {
return items.filter(function(item) {
if (seen[item[ident]]) return false;
seen[item[ident]] = true;
return true;
});
} else {
return items.filter(function(item) {
if (seen[item]) return false;
seen[item] = true;
return true;
});
}
},
set: function set() {
var args = typeof arguments[0] === 'object' ? arguments[0] : arguments;
var ret = {};
for (var i = 0; i < args.length; i++) {
ret[args[i]] = 0;
}
return ret;
},
calculateStructAlignment: function calculateStructAlignment(type) {
type.flatSize = 0;
type.alignSize = 0;
var diffs = [];
var prev = -1;
type.flatIndexes = type.fields.map(function(field) {
var size, alignSize;
if (Runtime.isNumberType(field) || Runtime.isPointerType(field)) {
size = Runtime.getNativeTypeSize(field); // pack char; char; in structs, also char[X]s.
alignSize = size;
} else if (Runtime.isStructType(field)) {
size = Types.types[field].flatSize;
alignSize = Types.types[field].alignSize;
} else {
throw 'Unclear type in struct: ' + field + ', in ' + type.name_ + ' :: ' + dump(Types.types[type.name_]);
}
alignSize = type.packed ? 1 : Math.min(alignSize, Runtime.QUANTUM_SIZE);
type.alignSize = Math.max(type.alignSize, alignSize);
var curr = Runtime.alignMemory(type.flatSize, alignSize); // if necessary, place this on aligned memory
type.flatSize = curr + size;
if (prev >= 0) {
diffs.push(curr-prev);
}
prev = curr;
return curr;
});
type.flatSize = Runtime.alignMemory(type.flatSize, type.alignSize);
if (diffs.length == 0) {
type.flatFactor = type.flatSize;
} else if (Runtime.dedup(diffs).length == 1) {
type.flatFactor = diffs[0];
}
type.needsFlattening = (type.flatFactor != 1);
return type.flatIndexes;
},
generateStructInfo: function (struct, typeName, offset) {
var type, alignment;
if (typeName) {
offset = offset || 0;
type = (typeof Types === 'undefined' ? Runtime.typeInfo : Types.types)[typeName];
if (!type) return null;
assert(type.fields.length === struct.length, 'Number of named fields must match the type for ' + typeName);
alignment = type.flatIndexes;
} else {
var type = { fields: struct.map(function(item) { return item[0] }) };
alignment = Runtime.calculateStructAlignment(type);
}
var ret = {
__size__: type.flatSize
};
if (typeName) {
struct.forEach(function(item, i) {
if (typeof item === 'string') {
ret[item] = alignment[i] + offset;
} else {
// embedded struct
var key;
for (var k in item) key = k;
ret[key] = Runtime.generateStructInfo(item[key], type.fields[i], alignment[i]);
}
});
} else {
struct.forEach(function(item, i) {
ret[item[1]] = alignment[i];
});
}
return ret;
},
addFunction: function (func) {
var ret = FUNCTION_TABLE.length;
FUNCTION_TABLE.push(func);
FUNCTION_TABLE.push(0);
return ret;
},
stackAlloc: function stackAlloc(size) { var ret = STACKTOP;STACKTOP += size;STACKTOP = ((((STACKTOP)+3)>>2)<<2);assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"); return ret; },
staticAlloc: function staticAlloc(size) { var ret = STATICTOP;STATICTOP += size;STATICTOP = ((((STATICTOP)+3)>>2)<<2); if (STATICTOP >= TOTAL_MEMORY) enlargeMemory();; return ret; },
alignMemory: function alignMemory(size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 4))*(quantum ? quantum : 4); return ret; },
makeBigInt: function makeBigInt(low,high,unsigned) { var ret = (unsigned ? (((low)>>>0)+(((high)>>>0)*4294967296)) : (((low)>>>0)+(((high)|0)*4294967296))); return ret; },
QUANTUM_SIZE: 4,
__dummy__: 0
}
var CorrectionsMonitor = {
MAX_ALLOWED: 0, // XXX
corrections: 0,
sigs: {},
note: function(type, succeed, sig) {
if (!succeed) {
this.corrections++;
if (this.corrections >= this.MAX_ALLOWED) abort('\n\nToo many corrections!');
}
},
print: function() {
}
};
//========================================
// Runtime essentials
//========================================
var __THREW__ = false; // Used in checking for thrown exceptions.
var ABORT = false;
var undef = 0;
// tempInt is used for 32-bit signed values or smaller. tempBigInt is used
// for 32-bit unsigned values or more than 32 bits. TODO: audit all uses of tempInt
var tempValue, tempInt, tempBigInt, tempInt2, tempBigInt2, tempPair, tempBigIntI, tempBigIntR, tempBigIntS, tempBigIntP, tempBigIntD;
var tempI64, tempI64b;
function abort(text) {
Module.print(text + ':\n' + (new Error).stack);
ABORT = true;
throw "Assertion: " + text;
}
function assert(condition, text) {
if (!condition) {
abort('Assertion failed: ' + text);
}
}
var globalScope = this;
// C calling interface. A convenient way to call C functions (in C files, or
// defined with extern "C").
//
// Note: LLVM optimizations can inline and remove functions, after which you will not be
// able to call them. Adding
//
// __attribute__((used))
//
// to the function definition will prevent that.
//
// Note: Closure optimizations will minify function names, making
// functions no longer callable. If you run closure (on by default
// in -O2 and above), you should export the functions you will call
// by calling emcc with something like
//
// -s EXPORTED_FUNCTIONS='["_func1","_func2"]'
//
// @param ident The name of the C function (note that C++ functions will be name-mangled - use extern "C")
// @param returnType The return type of the function, one of the JS types 'number' or 'string' (use 'number' for any C pointer).
// @param argTypes An array of the types of arguments for the function (if there are no arguments, this can be ommitted). Types are as in returnType.
// @param args An array of the arguments to the function, as native JS values (as in returnType)
// Note that string arguments will be stored on the stack (the JS string will become a C string on the stack).
// @return The return value, as a native JS value (as in returnType)
function ccall(ident, returnType, argTypes, args) {
var stack = 0;
function toC(value, type) {
if (type == 'string') {
if (!stack) stack = Runtime.stackSave();
var ret = Runtime.stackAlloc(value.length+1);
writeStringToMemory(value, ret);
return ret;
}
return value;
}
function fromC(value, type) {
if (type == 'string') {
return Pointer_stringify(value);
}
return value;
}
try {
var func = eval('_' + ident);
} catch(e) {
try {
func = globalScope['Module']['_' + ident]; // closure exported function
} catch(e) {}
}
assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)');
var i = 0;
var cArgs = args ? args.map(function(arg) {
return toC(arg, argTypes[i++]);
}) : [];
var ret = fromC(func.apply(null, cArgs), returnType);
if (stack) Runtime.stackRestore(stack);
return ret;
}
Module["ccall"] = ccall;
// Returns a native JS wrapper for a C function. This is similar to ccall, but
// returns a function you can call repeatedly in a normal way. For example:
//
// var my_function = cwrap('my_c_function', 'number', ['number', 'number']);
// alert(my_function(5, 22));
// alert(my_function(99, 12));
//
function cwrap(ident, returnType, argTypes) {
// TODO: optimize this, eval the whole function once instead of going through ccall each time
return function() {
return ccall(ident, returnType, argTypes, Array.prototype.slice.call(arguments));
}
}
Module["cwrap"] = cwrap;
// Sets a value in memory in a dynamic way at run-time. Uses the
// type data. This is the same as makeSetValue, except that
// makeSetValue is done at compile-time and generates the needed
// code then, whereas this function picks the right code at
// run-time.
// Note that setValue and getValue only do *aligned* writes and reads!
// Note that ccall uses JS types as for defining types, while setValue and
// getValue need LLVM types ('i8', 'i32') - this is a lower-level operation
function setValue(ptr, value, type, noSafe) {
type = type || 'i8';
if (type[type.length-1] === '*') type = 'i32'; // pointers are 32-bit
switch(type) {
case 'i1': HEAP8[(ptr)]=value; break;
case 'i8': HEAP8[(ptr)]=value; break;
case 'i16': HEAP16[((ptr)>>1)]=value; break;
case 'i32': HEAP32[((ptr)>>2)]=value; break;
case 'i64': HEAP32[((ptr)>>2)]=value; break;
case 'float': HEAPF32[((ptr)>>2)]=value; break;
case 'double': (tempDoubleF64[0]=value,HEAP32[((ptr)>>2)]=tempDoubleI32[0],HEAP32[((ptr+4)>>2)]=tempDoubleI32[1]); break;
default: abort('invalid type for setValue: ' + type);
}
}
Module['setValue'] = setValue;
// Parallel to setValue.
function getValue(ptr, type, noSafe) {
type = type || 'i8';
if (type[type.length-1] === '*') type = 'i32'; // pointers are 32-bit
switch(type) {
case 'i1': return HEAP8[(ptr)];
case 'i8': return HEAP8[(ptr)];
case 'i16': return HEAP16[((ptr)>>1)];
case 'i32': return HEAP32[((ptr)>>2)];
case 'i64': return HEAP32[((ptr)>>2)];
case 'float': return HEAPF32[((ptr)>>2)];
case 'double': return (tempDoubleI32[0]=HEAP32[((ptr)>>2)],tempDoubleI32[1]=HEAP32[((ptr+4)>>2)],tempDoubleF64[0]);
default: abort('invalid type for setValue: ' + type);
}
return null;
}
Module['getValue'] = getValue;
// Allocates memory for some data and initializes it properly.
var ALLOC_NORMAL = 0; // Tries to use _malloc()
var ALLOC_STACK = 1; // Lives for the duration of the current function call
var ALLOC_STATIC = 2; // Cannot be freed
Module['ALLOC_NORMAL'] = ALLOC_NORMAL;
Module['ALLOC_STACK'] = ALLOC_STACK;
Module['ALLOC_STATIC'] = ALLOC_STATIC;
function allocate(slab, types, allocator) {
var zeroinit, size;
if (typeof slab === 'number') {
zeroinit = true;
size = slab;
} else {
zeroinit = false;
size = slab.length;
}
var singleType = typeof types === 'string' ? types : null;
var ret = [_malloc, Runtime.stackAlloc, Runtime.staticAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length));
if (zeroinit) {
_memset(ret, 0, size);
return ret;
}
var i = 0, type;
while (i < size) {
var curr = slab[i];
if (typeof curr === 'function') {
curr = Runtime.getFunctionIndex(curr);
}
type = singleType || types[i];
if (type === 0) {
i++;
continue;
}
assert(type, 'Must know what type to store in allocate!');
if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later
setValue(ret+i, curr, type);
i += Runtime.getNativeTypeSize(type);
}
return ret;
}
Module['allocate'] = allocate;
function Pointer_stringify(ptr, /* optional */ length) {
var nullTerminated = typeof(length) == "undefined";
var ret = "";
var i = 0;
var t;
var nullByte = String.fromCharCode(0);
while (1) {
t = String.fromCharCode(HEAPU8[(ptr+i)]);
if (nullTerminated && t == nullByte) { break; } else {}
ret += t;
i += 1;
if (!nullTerminated && i == length) { break; }
}
return ret;
}
Module['Pointer_stringify'] = Pointer_stringify;
function Array_stringify(array) {
var ret = "";
for (var i = 0; i < array.length; i++) {
ret += String.fromCharCode(array[i]);
}
return ret;
}
Module['Array_stringify'] = Array_stringify;
// Memory management
var FUNCTION_TABLE; // XXX: In theory the indexes here can be equal to pointers to stacked or malloced memory. Such comparisons should
// be false, but can turn out true. We should probably set the top bit to prevent such issues.
var PAGE_SIZE = 4096;
function alignMemoryPage(x) {
return ((x+4095)>>12)<<12;
}
var HEAP;
var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
var STACK_ROOT, STACKTOP, STACK_MAX;
var STATICTOP;
function enlargeMemory() {
// TOTAL_MEMORY is the current size of the actual array, and STATICTOP is the new top.
Module.printErr('Warning: Enlarging memory arrays, this is not fast! ' + [STATICTOP, TOTAL_MEMORY]);
assert(STATICTOP >= TOTAL_MEMORY);
assert(TOTAL_MEMORY > 4); // So the loop below will not be infinite
while (TOTAL_MEMORY <= STATICTOP) { // Simple heuristic. Override enlargeMemory() if your program has something more optimal for it
TOTAL_MEMORY = alignMemoryPage(2*TOTAL_MEMORY);
}
var oldHEAP8 = HEAP8;
var buffer = new ArrayBuffer(TOTAL_MEMORY);
HEAP8 = new Int8Array(buffer);
HEAP16 = new Int16Array(buffer);
HEAP32 = new Int32Array(buffer);
HEAPU8 = new Uint8Array(buffer);
HEAPU16 = new Uint16Array(buffer);
HEAPU32 = new Uint32Array(buffer);
HEAPF32 = new Float32Array(buffer);
HEAPF64 = new Float64Array(buffer);
HEAP8.set(oldHEAP8);
}
var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880;
var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 10485760;
var FAST_MEMORY = Module['FAST_MEMORY'] || 2097152;
// Initialize the runtime's memory
// check for full engine support (use string 'subarray' to avoid closure compiler confusion)
assert(!!Int32Array && !!Float64Array && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']),
'Cannot fallback to non-typed array case: Code is too specialized');
var buffer = new ArrayBuffer(TOTAL_MEMORY);
HEAP8 = new Int8Array(buffer);
HEAP16 = new Int16Array(buffer);
HEAP32 = new Int32Array(buffer);
HEAPU8 = new Uint8Array(buffer);
HEAPU16 = new Uint16Array(buffer);
HEAPU32 = new Uint32Array(buffer);
HEAPF32 = new Float32Array(buffer);
HEAPF64 = new Float64Array(buffer);
// Endianness check (note: assumes compiler arch was little-endian)
HEAP32[0] = 255;
assert(HEAPU8[0] === 255 && HEAPU8[3] === 0, 'Typed arrays 2 must be run on a little-endian system');
var base = intArrayFromString('(null)'); // So printing %s of NULL gives '(null)'
// Also this ensures we leave 0 as an invalid address, 'NULL'
STATICTOP = base.length;
for (var i = 0; i < base.length; i++) {
HEAP8[(i)]=base[i]
}
Module['HEAP'] = HEAP;
Module['HEAP8'] = HEAP8;
Module['HEAP16'] = HEAP16;
Module['HEAP32'] = HEAP32;
Module['HEAPU8'] = HEAPU8;
Module['HEAPU16'] = HEAPU16;
Module['HEAPU32'] = HEAPU32;
Module['HEAPF32'] = HEAPF32;
Module['HEAPF64'] = HEAPF64;
STACK_ROOT = STACKTOP = Runtime.alignMemory(STATICTOP);
STACK_MAX = STACK_ROOT + TOTAL_STACK;
var tempDoublePtr = Runtime.alignMemory(STACK_MAX, 8);
var tempDoubleI8 = HEAP8.subarray(tempDoublePtr);
var tempDoubleI32 = HEAP32.subarray(tempDoublePtr >> 2);
var tempDoubleF32 = HEAPF32.subarray(tempDoublePtr >> 2);
var tempDoubleF64 = HEAPF64.subarray(tempDoublePtr >> 3);
function copyTempFloat(ptr) { // functions, because inlining this code is increases code size too much
tempDoubleI8[0] = HEAP8[ptr];
tempDoubleI8[1] = HEAP8[ptr+1];
tempDoubleI8[2] = HEAP8[ptr+2];
tempDoubleI8[3] = HEAP8[ptr+3];
}
function copyTempDouble(ptr) {
tempDoubleI8[0] = HEAP8[ptr];
tempDoubleI8[1] = HEAP8[ptr+1];
tempDoubleI8[2] = HEAP8[ptr+2];
tempDoubleI8[3] = HEAP8[ptr+3];
tempDoubleI8[4] = HEAP8[ptr+4];
tempDoubleI8[5] = HEAP8[ptr+5];
tempDoubleI8[6] = HEAP8[ptr+6];
tempDoubleI8[7] = HEAP8[ptr+7];
}
STACK_MAX = tempDoublePtr + 8;
STATICTOP = alignMemoryPage(STACK_MAX);
function callRuntimeCallbacks(callbacks) {
while(callbacks.length > 0) {
var callback = callbacks.shift();
var func = callback.func;
if (typeof func === 'number') {
func = FUNCTION_TABLE[func];
}
func(callback.arg === undefined ? null : callback.arg);
}
}
var __ATINIT__ = []; // functions called during startup
var __ATMAIN__ = []; // functions called when main() is to be run
var __ATEXIT__ = []; // functions called during shutdown
function initRuntime() {
callRuntimeCallbacks(__ATINIT__);
}
function preMain() {
callRuntimeCallbacks(__ATMAIN__);
}
function exitRuntime() {
callRuntimeCallbacks(__ATEXIT__);
// Print summary of correction activity
CorrectionsMonitor.print();
}
// Copies a list of num items on the HEAP into a
// a normal JavaScript array of numbers
function Array_copy(ptr, num) {
return Array.prototype.slice.call(HEAP8.subarray(ptr, ptr+num)); // Make a normal array out of the typed 'view'
// Consider making a typed array here, for speed?
return HEAP.slice(ptr, ptr+num);
}
Module['Array_copy'] = Array_copy;
// Copies a list of num items on the HEAP into a
// JavaScript typed array.
function TypedArray_copy(ptr, num, offset /*optional*/) {
// TODO: optimize this!
if (offset === undefined) {
offset = 0;
}
var arr = new Uint8Array(num - offset);
for (var i = offset; i < num; ++i) {
arr[i - offset] = HEAP8[(ptr+i)];
}
return arr.buffer;
}
Module['TypedArray_copy'] = TypedArray_copy;
function String_len(ptr) {
var i = 0;
while (HEAP8[(ptr+i)]) i++; // Note: should be |!= 0|, technically. But this helps catch bugs with undefineds
return i;
}
Module['String_len'] = String_len;
// Copies a C-style string, terminated by a zero, from the HEAP into
// a normal JavaScript array of numbers
function String_copy(ptr, addZero) {
var len = String_len(ptr);
if (addZero) len++;
var ret = Array_copy(ptr, len);
if (addZero) ret[len-1] = 0;
return ret;
}
Module['String_copy'] = String_copy;
// Tools
// This processes a JS string into a C-line array of numbers, 0-terminated.
// For LLVM-originating strings, see parser.js:parseLLVMString function
function intArrayFromString(stringy, dontAddNull, length /* optional */) {
var ret = [];
var t;
var i = 0;
if (length === undefined) {
length = stringy.length;
}
while (i < length) {
var chr = stringy.charCodeAt(i);
if (chr > 0xFF) {
assert(false, 'Character code ' + chr + ' (' + stringy[i] + ') at offset ' + i + ' not in 0x00-0xFF.');
chr &= 0xFF;
}
ret.push(chr);
i = i + 1;
}
if (!dontAddNull) {
ret.push(0);
}
return ret;
}
Module['intArrayFromString'] = intArrayFromString;
function intArrayToString(array) {
var ret = [];
for (var i = 0; i < array.length; i++) {
var chr = array[i];
if (chr > 0xFF) {
assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.');
chr &= 0xFF;
}
ret.push(String.fromCharCode(chr));
}
return ret.join('');
}
Module['intArrayToString'] = intArrayToString;
// Write a Javascript array to somewhere in the heap
function writeStringToMemory(string, buffer, dontAddNull) {
var i = 0;
while (i < string.length) {
var chr = string.charCodeAt(i);
if (chr > 0xFF) {
assert(false, 'Character code ' + chr + ' (' + string[i] + ') at offset ' + i + ' not in 0x00-0xFF.');
chr &= 0xFF;
}
HEAP8[(buffer+i)]=chr
i = i + 1;
}
if (!dontAddNull) {
HEAP8[(buffer+i)]=0
}
}
Module['writeStringToMemory'] = writeStringToMemory;
var STRING_TABLE = [];
function unSign(value, bits, ignore, sig) {
if (value >= 0) {
return value;
}
return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts
: Math.pow(2, bits) + value;
// TODO: clean up previous line
}
function reSign(value, bits, ignore, sig) {
if (value <= 0) {
return value;
}
var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32
: Math.pow(2, bits-1);
if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that
// but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors
// TODO: In i64 mode 1, resign the two parts separately and safely
value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts
}
return value;
}
// A counter of dependencies for calling run(). If we need to
// do asynchronous work before running, increment this and
// decrement it. Incrementing must happen in Module.preRun
// or PRE_RUN_ADDITIONS (used by emcc to add file preloading).
var runDependencies = 0;
function addRunDependency() {
runDependencies++;
if (Module['monitorRunDependencies']) {
Module['monitorRunDependencies'](runDependencies);
}
}
function removeRunDependency() {
runDependencies--;
if (Module['monitorRunDependencies']) {
Module['monitorRunDependencies'](runDependencies);
}
if (runDependencies == 0) run();
}
// === Body ===
function __ZL4swapIiEvRT_S1_($x, $y) {
;
var __label__;
var $x_addr;
var $y_addr;
var $t;
$x_addr=$x;
$y_addr=$y;
var $0=$x_addr;
var $1=HEAP32[(($0)>>2)];
$t=$1;
var $2=$y_addr;
var $3=HEAP32[(($2)>>2)];
var $4=$x_addr;
HEAP32[(($4)>>2)]=$3;
var $5=$t;
var $6=$y_addr;
HEAP32[(($6)>>2)]=$5;
;
return;
}
function __ZL4swapIPfEvRT_S2_($x, $y) {
;
var __label__;
var $x_addr;
var $y_addr;
var $t;
$x_addr=$x;
$y_addr=$y;
var $0=$x_addr;
var $1=HEAP32[(($0)>>2)];
$t=$1;
var $2=$y_addr;
var $3=HEAP32[(($2)>>2)];
var $4=$x_addr;
HEAP32[(($4)>>2)]=$3;
var $5=$t;
var $6=$y_addr;
HEAP32[(($6)>>2)]=$5;
;
return;
}
function __ZL4swapIfEvRT_S1_($x, $y) {
;
var __label__;
var $x_addr;
var $y_addr;
var $t;
$x_addr=$x;
$y_addr=$y;
var $0=$x_addr;
var $1=HEAPF32[(($0)>>2)];
$t=$1;
var $2=$y_addr;
var $3=HEAPF32[(($2)>>2)];
var $4=$x_addr;
HEAPF32[(($4)>>2)]=$3;
var $5=$t;
var $6=$y_addr;
HEAPF32[(($6)>>2)]=$5;
;
return;
}
function __ZN7QMatrixD2Ev($this) {
;
var __label__;
var $this_addr;
$this_addr=$this;
var $this1=$this_addr;
;
return;
}
function __ZL3maxIlET_S0_S0_($x, $y) {
;
var __label__;
var $x_addr;
var $y_addr;
$x_addr=$x;
$y_addr=$y;
var $0=$x_addr;
var $1=$y_addr;
var $cmp=(($0)|0) > (($1)|0);
var $2=$x_addr;
var $3=$y_addr;
var $cond=$cmp ? $2 : $3;
;
return $cond;
}
function __ZN7QMatrixC2Ev($this) {
;
var __label__;
var $this_addr;
$this_addr=$this;
var $this1=$this_addr;
var $0=$this1;
HEAP32[(($0)>>2)]=((__ZTV7QMatrix+8)|0);
;
return;
}
function __ZN5Cache10lru_deleteEPNS_6head_tE($this, $h) {
;
var __label__;
var $this_addr;
var $h_addr;
$this_addr=$this;
$h_addr=$h;
var $this1=$this_addr;
var $0=$h_addr;
var $next=(($0+4)|0);
var $1=HEAP32[(($next)>>2)];
var $2=$h_addr;
var $prev=(($2)|0);
var $3=HEAP32[(($prev)>>2)];
var $next2=(($3+4)|0);
HEAP32[(($next2)>>2)]=$1;
var $4=$h_addr;
var $prev3=(($4)|0);
var $5=HEAP32[(($prev3)>>2)];
var $6=$h_addr;
var $next4=(($6+4)|0);
var $7=HEAP32[(($next4)>>2)];
var $prev5=(($7)|0);
HEAP32[(($prev5)>>2)]=$5;
;
return;
}
function __ZN5Cache10lru_insertEPNS_6head_tE($this, $h) {
;
var __label__;
var $this_addr;
var $h_addr;
$this_addr=$this;
$h_addr=$h;
var $this1=$this_addr;
var $lru_head=(($this1+12)|0);
var $0=$h_addr;
var $next=(($0+4)|0);
HEAP32[(($next)>>2)]=$lru_head;
var $lru_head2=(($this1+12)|0);
var $prev=(($lru_head2)|0);
var $1=HEAP32[(($prev)>>2)];
var $2=$h_addr;
var $prev3=(($2)|0);
HEAP32[(($prev3)>>2)]=$1;
var $3=$h_addr;
var $4=$h_addr;
var $prev4=(($4)|0);
var $5=HEAP32[(($prev4)>>2)];
var $next5=(($5+4)|0);
HEAP32[(($next5)>>2)]=$3;
var $6=$h_addr;
var $7=$h_addr;
var $next6=(($7+4)|0);
var $8=HEAP32[(($next6)>>2)];
var $prev7=(($8)|0);
HEAP32[(($prev7)>>2)]=$6;
;
return;
}
function __ZNK6Kernel18kernel_precomputedEii($this, $i, $j) {
;
var __label__;
var $this_addr;
var $i_addr;
var $j_addr;
$this_addr=$this;
$i_addr=$i;
$j_addr=$j;
var $this1=$this_addr;
var $0=$j_addr;
var $x=(($this1+12)|0);
var $1=HEAP32[(($x)>>2)];
var $arrayidx=(($1+($0<<2))|0);
var $2=HEAP32[(($arrayidx)>>2)];
var $arrayidx2=(($2)|0);
var $value=(($arrayidx2+4)|0);
var $3=(tempDoubleI32[0]=HEAP32[(($value)>>2)],tempDoubleI32[1]=HEAP32[(($value+4)>>2)],tempDoubleF64[0]);
var $conv=(($3)&-1);
var $4=$i_addr;
var $x3=(($this1+12)|0);
var $5=HEAP32[(($x3)>>2)];
var $arrayidx4=(($5+($4<<2))|0);
var $6=HEAP32[(($arrayidx4)>>2)];
var $arrayidx5=(($6+$conv*12)|0);
var $value6=(($arrayidx5+4)|0);
var $7=(tempDoubleI32[0]=HEAP32[(($value6)>>2)],tempDoubleI32[1]=HEAP32[(($value6+4)>>2)],tempDoubleF64[0]);
;
return $7;
}
function __ZN6Kernel3dotEPK8svm_nodeS2_($px, $py) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $px_addr;
var $py_addr;
var $sum;
$px_addr=$px;
$py_addr=$py;
$sum=0;
__label__ = 2; break;
case 2:
var $0=$px_addr;
var $index=(($0)|0);
var $1=HEAP32[(($index)>>2)];
var $cmp=(($1)|0)!=-1;
if ($cmp) { __label__ = 3; break; } else { var $4 = 0;__label__ = 4; break; }
case 3:
var $2=$py_addr;
var $index1=(($2)|0);
var $3=HEAP32[(($index1)>>2)];
var $cmp2=(($3)|0)!=-1;
var $4 = $cmp2;__label__ = 4; break;
case 4:
var $4;
if ($4) { __label__ = 5; break; } else { __label__ = 12; break; }
case 5:
var $5=$px_addr;
var $index3=(($5)|0);
var $6=HEAP32[(($index3)>>2)];
var $7=$py_addr;
var $index4=(($7)|0);
var $8=HEAP32[(($index4)>>2)];
var $cmp5=(($6)|0)==(($8)|0);
if ($cmp5) { __label__ = 6; break; } else { __label__ = 7; break; }
case 6:
var $9=$px_addr;
var $value=(($9+4)|0);
var $10=(tempDoubleI32[0]=HEAP32[(($value)>>2)],tempDoubleI32[1]=HEAP32[(($value+4)>>2)],tempDoubleF64[0]);
var $11=$py_addr;
var $value6=(($11+4)|0);
var $12=(tempDoubleI32[0]=HEAP32[(($value6)>>2)],tempDoubleI32[1]=HEAP32[(($value6+4)>>2)],tempDoubleF64[0]);
var $mul=$10*$12;
var $13=$sum;
var $add=$13+$mul;
$sum=$add;
var $14=$px_addr;
var $incdec_ptr=(($14+12)|0);
$px_addr=$incdec_ptr;
var $15=$py_addr;
var $incdec_ptr7=(($15+12)|0);
$py_addr=$incdec_ptr7;
__label__ = 11; break;
case 7:
var $16=$px_addr;
var $index8=(($16)|0);
var $17=HEAP32[(($index8)>>2)];
var $18=$py_addr;
var $index9=(($18)|0);
var $19=HEAP32[(($index9)>>2)];
var $cmp10=(($17)|0) > (($19)|0);
if ($cmp10) { __label__ = 8; break; } else { __label__ = 9; break; }
case 8:
var $20=$py_addr;
var $incdec_ptr12=(($20+12)|0);
$py_addr=$incdec_ptr12;
__label__ = 10; break;
case 9:
var $21=$px_addr;
var $incdec_ptr14=(($21+12)|0);
$px_addr=$incdec_ptr14;
__label__ = 10; break;
case 10:
__label__ = 11; break;
case 11:
__label__ = 2; break;
case 12:
var $22=$sum;
;
return $22;
default: assert(0, "bad label: " + __label__);
}
}
__ZN6Kernel3dotEPK8svm_nodeS2_["X"]=1;
function __ZN5CacheC2Eil($this, $l_, $size_) {
;
var __label__;
var $this_addr;
var $l__addr;
var $size__addr;
$this_addr=$this;
$l__addr=$l_;
$size__addr=$size_;
var $this1=$this_addr;
var $l=(($this1)|0);
var $0=$l__addr;
HEAP32[(($l)>>2)]=$0;
var $size=(($this1+4)|0);
var $1=$size__addr;
HEAP32[(($size)>>2)]=$1;
var $lru_head=(($this1+12)|0);
var $l2=(($this1)|0);
var $2=HEAP32[(($l2)>>2)];
var $call=_calloc($2, 16);
var $3=$call;
var $head=(($this1+8)|0);
HEAP32[(($head)>>2)]=$3;
var $size3=(($this1+4)|0);
var $4=HEAPU32[(($size3)>>2)];
var $div=Math.floor((($4)>>>0)/4);
HEAP32[(($size3)>>2)]=$div;
var $l4=(($this1)|0);
var $5=HEAP32[(($l4)>>2)];
var $mul=((($5<<4))|0);
var $div5=Math.floor((($mul)>>>0)/4);
var $size6=(($this1+4)|0);
var $6=HEAP32[(($size6)>>2)];
var $sub=(($6-$div5)|0);
HEAP32[(($size6)>>2)]=$sub;
var $size7=(($this1+4)|0);
var $7=HEAP32[(($size7)>>2)];
var $l8=(($this1)|0);
var $8=HEAP32[(($l8)>>2)];
var $mul9=((($8<<1))|0);
var $call10=__ZL3maxIlET_S0_S0_($7, $mul9);
var $size11=(($this1+4)|0);
HEAP32[(($size11)>>2)]=$call10;
var $lru_head12=(($this1+12)|0);
var $lru_head13=(($this1+12)|0);
var $prev=(($lru_head13)|0);
HEAP32[(($prev)>>2)]=$lru_head12;
var $lru_head14=(($this1+12)|0);
var $next=(($lru_head14+4)|0);
HEAP32[(($next)>>2)]=$lru_head12;
;
return;
}
function __ZN5CacheD2Ev($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $h;
$this_addr=$this;
var $this1=$this_addr;
var $lru_head=(($this1+12)|0);
var $next=(($lru_head+4)|0);
var $0=HEAP32[(($next)>>2)];
$h=$0;
__label__ = 2; break;
case 2:
var $1=$h;
var $lru_head2=(($this1+12)|0);
var $cmp=(($1)|0)!=(($lru_head2)|0);
if ($cmp) { __label__ = 3; break; } else { __label__ = 5; break; }
case 3:
var $2=$h;
var $data=(($2+8)|0);
var $3=HEAP32[(($data)>>2)];
var $4=$3;
_free($4);
__label__ = 4; break;
case 4:
var $5=$h;
var $next3=(($5+4)|0);
var $6=HEAP32[(($next3)>>2)];
$h=$6;
__label__ = 2; break;
case 5:
var $head=(($this1+8)|0);
var $7=HEAP32[(($head)>>2)];
var $8=$7;
_free($8);
;
return;
default: assert(0, "bad label: " + __label__);
}
}
function __ZN5Cache8get_dataEiPPfi($this, $index, $data, $len) {
var __stackBase__ = STACKTOP; STACKTOP += 4; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $index_addr;
var $data_addr;
var $len_addr=__stackBase__;
var $h;
var $more;
var $old;
$this_addr=$this;
$index_addr=$index;
$data_addr=$data;
HEAP32[(($len_addr)>>2)]=$len;
var $this1=$this_addr;
var $0=$index_addr;
var $head=(($this1+8)|0);
var $1=HEAP32[(($head)>>2)];
var $arrayidx=(($1+($0<<4))|0);
$h=$arrayidx;
var $2=$h;
var $len2=(($2+12)|0);
var $3=HEAP32[(($len2)>>2)];
var $tobool=(($3)|0)!=0;
if ($tobool) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $4=$h;
__ZN5Cache10lru_deleteEPNS_6head_tE($this1, $4);
__label__ = 3; break;
case 3:
var $5=HEAP32[(($len_addr)>>2)];
var $6=$h;
var $len3=(($6+12)|0);
var $7=HEAP32[(($len3)>>2)];
var $sub=(($5-$7)|0);
$more=$sub;
var $8=$more;
var $cmp=(($8)|0) > 0;
if ($cmp) { __label__ = 4; break; } else { __label__ = 8; break; }
case 4:
__label__ = 5; break;
case 5:
var $size=(($this1+4)|0);
var $9=HEAP32[(($size)>>2)];
var $10=$more;
var $cmp5=(($9)|0) < (($10)|0);
if ($cmp5) { __label__ = 6; break; } else { __label__ = 7; break; }
case 6:
var $lru_head=(($this1+12)|0);
var $next=(($lru_head+4)|0);
var $11=HEAP32[(($next)>>2)];
$old=$11;
var $12=$old;
__ZN5Cache10lru_deleteEPNS_6head_tE($this1, $12);
var $13=$old;
var $data6=(($13+8)|0);
var $14=HEAP32[(($data6)>>2)];
var $15=$14;
_free($15);
var $16=$old;
var $len7=(($16+12)|0);
var $17=HEAP32[(($len7)>>2)];
var $size8=(($this1+4)|0);
var $18=HEAP32[(($size8)>>2)];
var $add=(($18+$17)|0);
HEAP32[(($size8)>>2)]=$add;
var $19=$old;
var $data9=(($19+8)|0);
HEAP32[(($data9)>>2)]=0;
var $20=$old;
var $len10=(($20+12)|0);
HEAP32[(($len10)>>2)]=0;
__label__ = 5; break;
case 7:
var $21=$h;
var $data11=(($21+8)|0);
var $22=HEAP32[(($data11)>>2)];
var $23=$22;
var $24=HEAP32[(($len_addr)>>2)];
var $mul=((($24<<2))|0);
var $call=_realloc($23, $mul);
var $25=$call;
var $26=$h;
var $data12=(($26+8)|0);
HEAP32[(($data12)>>2)]=$25;
var $27=$more;
var $size13=(($this1+4)|0);
var $28=HEAP32[(($size13)>>2)];
var $sub14=(($28-$27)|0);
HEAP32[(($size13)>>2)]=$sub14;
var $29=$h;
var $len15=(($29+12)|0);
__ZL4swapIiEvRT_S1_($len15, $len_addr);
__label__ = 8; break;
case 8:
var $30=$h;
__ZN5Cache10lru_insertEPNS_6head_tE($this1, $30);
var $31=$h;
var $data17=(($31+8)|0);
var $32=HEAP32[(($data17)>>2)];
var $33=$data_addr;
HEAP32[(($33)>>2)]=$32;
var $34=HEAP32[(($len_addr)>>2)];
STACKTOP = __stackBase__;
return $34;
default: assert(0, "bad label: " + __label__);
}
}
__ZN5Cache8get_dataEiPPfi["X"]=1;
function __ZN5Cache10swap_indexEii($this, $i, $j) {
var __stackBase__ = STACKTOP; STACKTOP += 8; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $i_addr=__stackBase__;
var $j_addr=__stackBase__+4;
var $h;
$this_addr=$this;
HEAP32[(($i_addr)>>2)]=$i;
HEAP32[(($j_addr)>>2)]=$j;
var $this1=$this_addr;
var $0=HEAP32[(($i_addr)>>2)];
var $1=HEAP32[(($j_addr)>>2)];
var $cmp=(($0)|0)==(($1)|0);
if ($cmp) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
__label__ = 22; break;
case 3:
var $2=HEAP32[(($i_addr)>>2)];
var $head=(($this1+8)|0);
var $3=HEAP32[(($head)>>2)];
var $arrayidx=(($3+($2<<4))|0);
var $len=(($arrayidx+12)|0);
var $4=HEAP32[(($len)>>2)];
var $tobool=(($4)|0)!=0;
if ($tobool) { __label__ = 4; break; } else { __label__ = 5; break; }
case 4:
var $5=HEAP32[(($i_addr)>>2)];
var $head3=(($this1+8)|0);
var $6=HEAP32[(($head3)>>2)];
var $arrayidx4=(($6+($5<<4))|0);
__ZN5Cache10lru_deleteEPNS_6head_tE($this1, $arrayidx4);
__label__ = 5; break;
case 5:
var $7=HEAP32[(($j_addr)>>2)];
var $head6=(($this1+8)|0);
var $8=HEAP32[(($head6)>>2)];
var $arrayidx7=(($8+($7<<4))|0);
var $len8=(($arrayidx7+12)|0);
var $9=HEAP32[(($len8)>>2)];
var $tobool9=(($9)|0)!=0;
if ($tobool9) { __label__ = 6; break; } else { __label__ = 7; break; }
case 6:
var $10=HEAP32[(($j_addr)>>2)];
var $head11=(($this1+8)|0);
var $11=HEAP32[(($head11)>>2)];
var $arrayidx12=(($11+($10<<4))|0);
__ZN5Cache10lru_deleteEPNS_6head_tE($this1, $arrayidx12);
__label__ = 7; break;
case 7:
var $12=HEAP32[(($i_addr)>>2)];
var $head14=(($this1+8)|0);
var $13=HEAP32[(($head14)>>2)];
var $arrayidx15=(($13+($12<<4))|0);
var $data=(($arrayidx15+8)|0);
var $14=HEAP32[(($j_addr)>>2)];
var $head16=(($this1+8)|0);
var $15=HEAP32[(($head16)>>2)];
var $arrayidx17=(($15+($14<<4))|0);
var $data18=(($arrayidx17+8)|0);
__ZL4swapIPfEvRT_S2_($data, $data18);
var $16=HEAP32[(($i_addr)>>2)];
var $head19=(($this1+8)|0);
var $17=HEAP32[(($head19)>>2)];
var $arrayidx20=(($17+($16<<4))|0);
var $len21=(($arrayidx20+12)|0);
var $18=HEAP32[(($j_addr)>>2)];
var $head22=(($this1+8)|0);
var $19=HEAP32[(($head22)>>2)];
var $arrayidx23=(($19+($18<<4))|0);
var $len24=(($arrayidx23+12)|0);
__ZL4swapIiEvRT_S1_($len21, $len24);
var $20=HEAP32[(($i_addr)>>2)];
var $head25=(($this1+8)|0);
var $21=HEAP32[(($head25)>>2)];
var $arrayidx26=(($21+($20<<4))|0);
var $len27=(($arrayidx26+12)|0);
var $22=HEAP32[(($len27)>>2)];
var $tobool28=(($22)|0)!=0;
if ($tobool28) { __label__ = 8; break; } else { __label__ = 9; break; }
case 8:
var $23=HEAP32[(($i_addr)>>2)];
var $head30=(($this1+8)|0);
var $24=HEAP32[(($head30)>>2)];
var $arrayidx31=(($24+($23<<4))|0);
__ZN5Cache10lru_insertEPNS_6head_tE($this1, $arrayidx31);
__label__ = 9; break;
case 9:
var $25=HEAP32[(($j_addr)>>2)];
var $head33=(($this1+8)|0);
var $26=HEAP32[(($head33)>>2)];
var $arrayidx34=(($26+($25<<4))|0);
var $len35=(($arrayidx34+12)|0);
var $27=HEAP32[(($len35)>>2)];
var $tobool36=(($27)|0)!=0;
if ($tobool36) { __label__ = 10; break; } else { __label__ = 11; break; }
case 10:
var $28=HEAP32[(($j_addr)>>2)];
var $head38=(($this1+8)|0);
var $29=HEAP32[(($head38)>>2)];
var $arrayidx39=(($29+($28<<4))|0);
__ZN5Cache10lru_insertEPNS_6head_tE($this1, $arrayidx39);
__label__ = 11; break;
case 11:
var $30=HEAP32[(($i_addr)>>2)];
var $31=HEAP32[(($j_addr)>>2)];
var $cmp41=(($30)|0) > (($31)|0);
if ($cmp41) { __label__ = 12; break; } else { __label__ = 13; break; }
case 12:
__ZL4swapIiEvRT_S1_($i_addr, $j_addr);
__label__ = 13; break;
case 13:
var $lru_head=(($this1+12)|0);
var $next=(($lru_head+4)|0);
var $32=HEAP32[(($next)>>2)];
$h=$32;
__label__ = 14; break;
case 14:
var $33=$h;
var $lru_head44=(($this1+12)|0);
var $cmp45=(($33)|0)!=(($lru_head44)|0);
if ($cmp45) { __label__ = 15; break; } else { __label__ = 22; break; }
case 15:
var $34=$h;
var $len46=(($34+12)|0);
var $35=HEAP32[(($len46)>>2)];
var $36=HEAP32[(($i_addr)>>2)];
var $cmp47=(($35)|0) > (($36)|0);
if ($cmp47) { __label__ = 16; break; } else { __label__ = 20; break; }
case 16:
var $37=$h;
var $len49=(($37+12)|0);
var $38=HEAP32[(($len49)>>2)];
var $39=HEAP32[(($j_addr)>>2)];
var $cmp50=(($38)|0) > (($39)|0);
if ($cmp50) { __label__ = 17; break; } else { __label__ = 18; break; }
case 17:
var $40=HEAP32[(($i_addr)>>2)];
var $41=$h;
var $data52=(($41+8)|0);
var $42=HEAP32[(($data52)>>2)];
var $arrayidx53=(($42+($40<<2))|0);
var $43=HEAP32[(($j_addr)>>2)];
var $44=$h;
var $data54=(($44+8)|0);
var $45=HEAP32[(($data54)>>2)];
var $arrayidx55=(($45+($43<<2))|0);
__ZL4swapIfEvRT_S1_($arrayidx53, $arrayidx55);
__label__ = 19; break;
case 18:
var $46=$h;
__ZN5Cache10lru_deleteEPNS_6head_tE($this1, $46);
var $47=$h;
var $data56=(($47+8)|0);
var $48=HEAP32[(($data56)>>2)];
var $49=$48;
_free($49);
var $50=$h;
var $len57=(($50+12)|0);
var $51=HEAP32[(($len57)>>2)];
var $size=(($this1+4)|0);
var $52=HEAP32[(($size)>>2)];
var $add=(($52+$51)|0);
HEAP32[(($size)>>2)]=$add;
var $53=$h;
var $data58=(($53+8)|0);
HEAP32[(($data58)>>2)]=0;
var $54=$h;
var $len59=(($54+12)|0);
HEAP32[(($len59)>>2)]=0;
__label__ = 19; break;
case 19:
__label__ = 20; break;
case 20:
__label__ = 21; break;
case 21:
var $55=$h;
var $next62=(($55+4)|0);
var $56=HEAP32[(($next62)>>2)];
$h=$56;
__label__ = 14; break;
case 22:
STACKTOP = __stackBase__;
return;
default: assert(0, "bad label: " + __label__);
}
}
__ZN5Cache10swap_indexEii["X"]=1;
function __ZNK6Kernel13kernel_linearEii($this, $i, $j) {
;
var __label__;
var $this_addr;
var $i_addr;
var $j_addr;
$this_addr=$this;
$i_addr=$i;
$j_addr=$j;
var $this1=$this_addr;
var $0=$i_addr;
var $x=(($this1+12)|0);
var $1=HEAP32[(($x)>>2)];
var $arrayidx=(($1+($0<<2))|0);
var $2=HEAP32[(($arrayidx)>>2)];
var $3=$j_addr;
var $x2=(($this1+12)|0);
var $4=HEAP32[(($x2)>>2)];
var $arrayidx3=(($4+($3<<2))|0);
var $5=HEAP32[(($arrayidx3)>>2)];
var $call=__ZN6Kernel3dotEPK8svm_nodeS2_($2, $5);
;
return $call;
}
function __ZNK6Kernel11kernel_polyEii($this, $i, $j) {
;
var __label__;
var $this_addr;
var $i_addr;
var $j_addr;
$this_addr=$this;
$i_addr=$i;
$j_addr=$j;
var $this1=$this_addr;
var $gamma=(($this1+28)|0);
var $0=(tempDoubleI32[0]=HEAP32[(($gamma)>>2)],tempDoubleI32[1]=HEAP32[(($gamma+4)>>2)],tempDoubleF64[0]);
var $1=$i_addr;
var $x=(($this1+12)|0);
var $2=HEAP32[(($x)>>2)];
var $arrayidx=(($2+($1<<2))|0);
var $3=HEAP32[(($arrayidx)>>2)];
var $4=$j_addr;
var $x2=(($this1+12)|0);
var $5=HEAP32[(($x2)>>2)];
var $arrayidx3=(($5+($4<<2))|0);
var $6=HEAP32[(($arrayidx3)>>2)];
var $call=__ZN6Kernel3dotEPK8svm_nodeS2_($3, $6);
var $mul=$0*$call;
var $coef0=(($this1+36)|0);
var $7=(tempDoubleI32[0]=HEAP32[(($coef0)>>2)],tempDoubleI32[1]=HEAP32[(($coef0+4)>>2)],tempDoubleF64[0]);
var $add=$mul+$7;
var $degree=(($this1+24)|0);
var $8=HEAP32[(($degree)>>2)];
var $call4=__ZL4powidi($add, $8);
;
return $call4;
}
function __ZNK6Kernel10kernel_rbfEii($this, $i, $j) {
;
var __label__;
var $this_addr;
var $i_addr;
var $j_addr;
$this_addr=$this;
$i_addr=$i;
$j_addr=$j;
var $this1=$this_addr;
var $gamma=(($this1+28)|0);
var $0=(tempDoubleI32[0]=HEAP32[(($gamma)>>2)],tempDoubleI32[1]=HEAP32[(($gamma+4)>>2)],tempDoubleF64[0]);
var $sub=(-$0);
var $1=$i_addr;
var $x_square=(($this1+16)|0);
var $2=HEAP32[(($x_square)>>2)];
var $arrayidx=(($2+($1<<3))|0);
var $3=(tempDoubleI32[0]=HEAP32[(($arrayidx)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx+4)>>2)],tempDoubleF64[0]);
var $4=$j_addr;
var $x_square2=(($this1+16)|0);
var $5=HEAP32[(($x_square2)>>2)];
var $arrayidx3=(($5+($4<<3))|0);
var $6=(tempDoubleI32[0]=HEAP32[(($arrayidx3)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx3+4)>>2)],tempDoubleF64[0]);
var $add=$3+$6;
var $7=$i_addr;
var $x=(($this1+12)|0);
var $8=HEAP32[(($x)>>2)];
var $arrayidx4=(($8+($7<<2))|0);
var $9=HEAP32[(($arrayidx4)>>2)];
var $10=$j_addr;
var $x5=(($this1+12)|0);
var $11=HEAP32[(($x5)>>2)];
var $arrayidx6=(($11+($10<<2))|0);
var $12=HEAP32[(($arrayidx6)>>2)];
var $call=__ZN6Kernel3dotEPK8svm_nodeS2_($9, $12);
var $mul=$call*2;
var $sub7=$add-$mul;
var $mul8=$sub*$sub7;
var $call9=_exp($mul8);
;
return $call9;
}
function __ZNK6Kernel14kernel_sigmoidEii($this, $i, $j) {
;
var __label__;
var $this_addr;
var $i_addr;
var $j_addr;
$this_addr=$this;
$i_addr=$i;
$j_addr=$j;
var $this1=$this_addr;
var $gamma=(($this1+28)|0);
var $0=(tempDoubleI32[0]=HEAP32[(($gamma)>>2)],tempDoubleI32[1]=HEAP32[(($gamma+4)>>2)],tempDoubleF64[0]);
var $1=$i_addr;
var $x=(($this1+12)|0);
var $2=HEAP32[(($x)>>2)];
var $arrayidx=(($2+($1<<2))|0);
var $3=HEAP32[(($arrayidx)>>2)];
var $4=$j_addr;
var $x2=(($this1+12)|0);
var $5=HEAP32[(($x2)>>2)];
var $arrayidx3=(($5+($4<<2))|0);
var $6=HEAP32[(($arrayidx3)>>2)];
var $call=__ZN6Kernel3dotEPK8svm_nodeS2_($3, $6);
var $mul=$0*$call;
var $coef0=(($this1+36)|0);
var $7=(tempDoubleI32[0]=HEAP32[(($coef0)>>2)],tempDoubleI32[1]=HEAP32[(($coef0+4)>>2)],tempDoubleF64[0]);
var $add=$mul+$7;
var $call4=_tanh($add);
;
return $call4;
}
function __ZL5cloneIKP8svm_nodePKS0_EvRPT0_PT_i($dst, $src, $n) {
;
var __label__;
var $dst_addr;
var $src_addr;
var $n_addr;
$dst_addr=$dst;
$src_addr=$src;
$n_addr=$n;
var $0=$n_addr;
var $1=_llvm_umul_with_overflow_i32($0, 4);
var $2=$1.f1;
var $3=$1.f0;
var $4=$2 ? -1 : $3;
var $call=__Znaj($4);
var $5=$call;
var $6=$dst_addr;
HEAP32[(($6)>>2)]=$5;
var $7=$dst_addr;
var $8=HEAP32[(($7)>>2)];
var $9=$8;
var $10=$src_addr;
var $11=$10;
var $12=$n_addr;
var $mul=((($12<<2))|0);
assert($mul % 1 === 0, 'memcpy given ' + $mul + ' bytes to copy. Problem with quantum=1 corrections perhaps?');_memcpy($9, $11, $mul, 1);
;
return;
}
function __ZN6KernelC2EiPKP8svm_nodeRK13svm_parameter($this, $l, $x_, $param) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $l_addr;
var $x__addr;
var $param_addr;
var $exn_slot;
var $ehselector_slot;
var $i;
$this_addr=$this;
$l_addr=$l;
$x__addr=$x_;
$param_addr=$param;
var $this1=$this_addr;
var $0=$this1;
__ZN7QMatrixC2Ev($0);
var $1=$this1;
HEAP32[(($1)>>2)]=((__ZTV6Kernel+8)|0);
var $kernel_type=(($this1+20)|0);
var $2=$param_addr;
var $kernel_type2=(($2+4)|0);
var $3=HEAP32[(($kernel_type2)>>2)];
HEAP32[(($kernel_type)>>2)]=$3;
var $degree=(($this1+24)|0);
var $4=$param_addr;
var $degree3=(($4+8)|0);
var $5=HEAP32[(($degree3)>>2)];
HEAP32[(($degree)>>2)]=$5;
var $gamma=(($this1+28)|0);
var $6=$param_addr;
var $gamma4=(($6+12)|0);
var $7=(tempDoubleI32[0]=HEAP32[(($gamma4)>>2)],tempDoubleI32[1]=HEAP32[(($gamma4+4)>>2)],tempDoubleF64[0]);
(tempDoubleF64[0]=$7,HEAP32[(($gamma)>>2)]=tempDoubleI32[0],HEAP32[(($gamma+4)>>2)]=tempDoubleI32[1]);
var $coef0=(($this1+36)|0);
var $8=$param_addr;
var $coef05=(($8+20)|0);
var $9=(tempDoubleI32[0]=HEAP32[(($coef05)>>2)],tempDoubleI32[1]=HEAP32[(($coef05+4)>>2)],tempDoubleF64[0]);
(tempDoubleF64[0]=$9,HEAP32[(($coef0)>>2)]=tempDoubleI32[0],HEAP32[(($coef0+4)>>2)]=tempDoubleI32[1]);
var $kernel_type6=(($this1+20)|0);
var $10=HEAP32[(($kernel_type6)>>2)];
if ((($10)|0) == 0) {
__label__ = 2; break;
}
else if ((($10)|0) == 1) {
__label__ = 3; break;
}
else if ((($10)|0) == 2) {
__label__ = 4; break;
}
else if ((($10)|0) == 3) {
__label__ = 5; break;
}
else if ((($10)|0) == 4) {
__label__ = 6; break;
}
else {
__label__ = 7; break;
}
case 2:
var $kernel_function=(($this1+4)|0);
HEAP32[(($kernel_function)>>2)]={ f0: 2, f1: 0 }.f0; HEAP32[(($kernel_function+4)>>2)]={ f0: 2, f1: 0 }.f1;
__label__ = 7; break;
case 3:
var $kernel_function8=(($this1+4)|0);
HEAP32[(($kernel_function8)>>2)]={ f0: 4, f1: 0 }.f0; HEAP32[(($kernel_function8+4)>>2)]={ f0: 4, f1: 0 }.f1;
__label__ = 7; break;
case 4:
var $kernel_function10=(($this1+4)|0);
HEAP32[(($kernel_function10)>>2)]={ f0: 6, f1: 0 }.f0; HEAP32[(($kernel_function10+4)>>2)]={ f0: 6, f1: 0 }.f1;
__label__ = 7; break;
case 5:
var $kernel_function12=(($this1+4)|0);
HEAP32[(($kernel_function12)>>2)]={ f0: 8, f1: 0 }.f0; HEAP32[(($kernel_function12+4)>>2)]={ f0: 8, f1: 0 }.f1;
__label__ = 7; break;
case 6:
var $kernel_function14=(($this1+4)|0);
HEAP32[(($kernel_function14)>>2)]={ f0: 10, f1: 0 }.f0; HEAP32[(($kernel_function14+4)>>2)]={ f0: 10, f1: 0 }.f1;
__label__ = 7; break;
case 7:
var $x=(($this1+12)|0);
var $11=$x__addr;
var $12=$l_addr;
(function() { try { __THREW__ = false; return __ZL5cloneIKP8svm_nodePKS0_EvRPT0_PT_i($x, $11, $12) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 8; break; } else { __label__ = 15; break; }
case 8:
var $kernel_type15=(($this1+20)|0);
var $13=HEAP32[(($kernel_type15)>>2)];
var $cmp=(($13)|0)==2;
if ($cmp) { __label__ = 9; break; } else { __label__ = 17; break; }
case 9:
var $14=$l_addr;
var $15=_llvm_umul_with_overflow_i32($14, 8);
var $16=$15.f1;
var $17=$15.f0;
var $18=$16 ? -1 : $17;
var $call = (function() { try { __THREW__ = false; return __Znaj($18) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 10; break; } else { __label__ = 15; break; }
case 10:
var $19=$call;
var $x_square=(($this1+16)|0);
HEAP32[(($x_square)>>2)]=$19;
$i=0;
__label__ = 11; break;
case 11:
var $20=$i;
var $21=$l_addr;
var $cmp17=(($20)|0) < (($21)|0);
if ($cmp17) { __label__ = 12; break; } else { __label__ = 16; break; }
case 12:
var $22=$i;
var $x18=(($this1+12)|0);
var $23=HEAP32[(($x18)>>2)];
var $arrayidx=(($23+($22<<2))|0);
var $24=HEAP32[(($arrayidx)>>2)];
var $25=$i;
var $x19=(($this1+12)|0);
var $26=HEAP32[(($x19)>>2)];
var $arrayidx20=(($26+($25<<2))|0);
var $27=HEAP32[(($arrayidx20)>>2)];
var $call22 = (function() { try { __THREW__ = false; return __ZN6Kernel3dotEPK8svm_nodeS2_($24, $27) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 13; break; } else { __label__ = 15; break; }
case 13:
var $28=$i;
var $x_square23=(($this1+16)|0);
var $29=HEAP32[(($x_square23)>>2)];
var $arrayidx24=(($29+($28<<3))|0);
(tempDoubleF64[0]=$call22,HEAP32[(($arrayidx24)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx24+4)>>2)]=tempDoubleI32[1]);
__label__ = 14; break;
case 14:
var $30=$i;
var $inc=(($30+1)|0);
$i=$inc;
__label__ = 11; break;
case 15:
var $31=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $32=$31.f0;
$exn_slot=$32;
var $33=$31.f1;
$ehselector_slot=$33;
var $34=$this1;
(function() { try { __THREW__ = false; return __ZN7QMatrixD2Ev($34) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 19; break; } else { __label__ = 21; break; }
case 16:
__label__ = 18; break;
case 17:
var $x_square25=(($this1+16)|0);
HEAP32[(($x_square25)>>2)]=0;
__label__ = 18; break;
case 18:
;
return;
case 19:
__label__ = 20; break;
case 20:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val27=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
case 21:
var $35=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[0]);
__ZSt9terminatev();
throw "Reached an unreachable!"
default: assert(0, "bad label: " + __label__);
}
}
__ZN6KernelC2EiPKP8svm_nodeRK13svm_parameter["X"]=1;
function __ZL4swapIaEvRT_S1_($x, $y) {
;
var __label__;
var $x_addr;
var $y_addr;
var $t;
$x_addr=$x;
$y_addr=$y;
var $0=$x_addr;
var $1=HEAP8[($0)];
$t=$1;
var $2=$y_addr;
var $3=HEAP8[($2)];
var $4=$x_addr;
HEAP8[($4)]=$3;
var $5=$t;
var $6=$y_addr;
HEAP8[($6)]=$5;
;
return;
}
function __ZL4swapIdEvRT_S1_($x, $y) {
;
var __label__;
var $x_addr;
var $y_addr;
var $t;
$x_addr=$x;
$y_addr=$y;
var $0=$x_addr;
var $1=(tempDoubleI32[0]=HEAP32[(($0)>>2)],tempDoubleI32[1]=HEAP32[(($0+4)>>2)],tempDoubleF64[0]);
$t=$1;
var $2=$y_addr;
var $3=(tempDoubleI32[0]=HEAP32[(($2)>>2)],tempDoubleI32[1]=HEAP32[(($2+4)>>2)],tempDoubleF64[0]);
var $4=$x_addr;
(tempDoubleF64[0]=$3,HEAP32[(($4)>>2)]=tempDoubleI32[0],HEAP32[(($4+4)>>2)]=tempDoubleI32[1]);
var $5=$t;
var $6=$y_addr;
(tempDoubleF64[0]=$5,HEAP32[(($6)>>2)]=tempDoubleI32[0],HEAP32[(($6+4)>>2)]=tempDoubleI32[1]);
;
return;
}
function __ZL4swapIcEvRT_S1_($x, $y) {
;
var __label__;
var $x_addr;
var $y_addr;
var $t;
$x_addr=$x;
$y_addr=$y;
var $0=$x_addr;
var $1=HEAP8[($0)];
$t=$1;
var $2=$y_addr;
var $3=HEAP8[($2)];
var $4=$x_addr;
HEAP8[($4)]=$3;
var $5=$t;
var $6=$y_addr;
HEAP8[($6)]=$5;
;
return;
}
function __ZL4powidi($base, $times) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $base_addr;
var $times_addr;
var $tmp;
var $ret;
var $t;
$base_addr=$base;
$times_addr=$times;
var $0=$base_addr;
$tmp=$0;
$ret=1;
var $1=$times_addr;
$t=$1;
__label__ = 2; break;
case 2:
var $2=$t;
var $cmp=(($2)|0) > 0;
if ($cmp) { __label__ = 3; break; } else { __label__ = 7; break; }
case 3:
var $3=$t;
var $rem=(($3)|0)%2;
var $cmp3=(($rem)|0)==1;
if ($cmp3) { __label__ = 4; break; } else { __label__ = 5; break; }
case 4:
var $4=$tmp;
var $5=$ret;
var $mul=$5*$4;
$ret=$mul;
__label__ = 5; break;
case 5:
var $6=$tmp;
var $7=$tmp;
var $mul4=$6*$7;
$tmp=$mul4;
__label__ = 6; break;
case 6:
var $8=$t;
var $div=(((($8)|0)/2)&-1);
$t=$div;
__label__ = 2; break;
case 7:
var $9=$ret;
;
return $9;
default: assert(0, "bad label: " + __label__);
}
}
function __ZN6Solver7is_freeEi($this, $i) {
;
var __label__;
var $this_addr;
var $i_addr;
$this_addr=$this;
$i_addr=$i;
var $this1=$this_addr;
var $0=$i_addr;
var $alpha_status=(($this1+16)|0);
var $1=HEAP32[(($alpha_status)>>2)];
var $arrayidx=(($1+$0)|0);
var $2=HEAP8[($arrayidx)];
var $conv=(($2 << 24) >> 24);
var $cmp=(($conv)|0)==2;
;
return $cmp;
}
function __ZN6KernelD0Ev($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $exn_slot;
var $ehselector_slot;
$this_addr=$this;
var $this1=$this_addr;
(function() { try { __THREW__ = false; return FUNCTION_TABLE[__ZN6KernelD1Ev]($this1) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $0=$this1;
__ZdlPv($0);
;
return;
case 3:
var $1=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $2=$1.f0;
$exn_slot=$2;
var $3=$1.f1;
$ehselector_slot=$3;
var $4=$this1;
__ZdlPv($4);
__label__ = 4; break;
case 4:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val2=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
default: assert(0, "bad label: " + __label__);
}
}
function __ZN6KernelD2Ev($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
$this_addr=$this;
var $this1=$this_addr;
var $0=$this1;
HEAP32[(($0)>>2)]=((__ZTV6Kernel+8)|0);
var $x=(($this1+12)|0);
var $1=HEAP32[(($x)>>2)];
var $isnull=(($1)|0)==0;
if ($isnull) { __label__ = 3; break; } else { __label__ = 2; break; }
case 2:
var $2=$1;
__ZdaPv($2);
__label__ = 3; break;
case 3:
var $x_square=(($this1+16)|0);
var $3=HEAP32[(($x_square)>>2)];
var $isnull2=(($3)|0)==0;
if ($isnull2) { __label__ = 5; break; } else { __label__ = 4; break; }
case 4:
var $4=$3;
__ZdaPv($4);
__label__ = 5; break;
case 5:
var $5=$this1;
__ZN7QMatrixD2Ev($5);
;
return;
default: assert(0, "bad label: " + __label__);
}
}
function __ZN6Kernel10k_functionEPK8svm_nodeS2_RK13svm_parameter($x, $y, $param) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $retval;
var $x_addr;
var $y_addr;
var $param_addr;
var $sum;
var $d;
$x_addr=$x;
$y_addr=$y;
$param_addr=$param;
var $0=$param_addr;
var $kernel_type=(($0+4)|0);
var $1=HEAP32[(($kernel_type)>>2)];
if ((($1)|0) == 0) {
__label__ = 2; break;
}
else if ((($1)|0) == 1) {
__label__ = 3; break;
}
else if ((($1)|0) == 2) {
__label__ = 4; break;
}
else if ((($1)|0) == 3) {
__label__ = 22; break;
}
else if ((($1)|0) == 4) {
__label__ = 23; break;
}
else {
__label__ = 24; break;
}
case 2:
var $2=$x_addr;
var $3=$y_addr;
var $call=__ZN6Kernel3dotEPK8svm_nodeS2_($2, $3);
$retval=$call;
__label__ = 25; break;
case 3:
var $4=$param_addr;
var $gamma=(($4+12)|0);
var $5=(tempDoubleI32[0]=HEAP32[(($gamma)>>2)],tempDoubleI32[1]=HEAP32[(($gamma+4)>>2)],tempDoubleF64[0]);
var $6=$x_addr;
var $7=$y_addr;
var $call2=__ZN6Kernel3dotEPK8svm_nodeS2_($6, $7);
var $mul=$5*$call2;
var $8=$param_addr;
var $coef0=(($8+20)|0);
var $9=(tempDoubleI32[0]=HEAP32[(($coef0)>>2)],tempDoubleI32[1]=HEAP32[(($coef0+4)>>2)],tempDoubleF64[0]);
var $add=$mul+$9;
var $10=$param_addr;
var $degree=(($10+8)|0);
var $11=HEAP32[(($degree)>>2)];
var $call3=__ZL4powidi($add, $11);
$retval=$call3;
__label__ = 25; break;
case 4:
$sum=0;
__label__ = 5; break;
case 5:
var $12=$x_addr;
var $index=(($12)|0);
var $13=HEAP32[(($index)>>2)];
var $cmp=(($13)|0)!=-1;
if ($cmp) { __label__ = 6; break; } else { var $16 = 0;__label__ = 7; break; }
case 6:
var $14=$y_addr;
var $index5=(($14)|0);
var $15=HEAP32[(($index5)>>2)];
var $cmp6=(($15)|0)!=-1;
var $16 = $cmp6;__label__ = 7; break;
case 7:
var $16;
if ($16) { __label__ = 8; break; } else { __label__ = 15; break; }
case 8:
var $17=$x_addr;
var $index7=(($17)|0);
var $18=HEAP32[(($index7)>>2)];
var $19=$y_addr;
var $index8=(($19)|0);
var $20=HEAP32[(($index8)>>2)];
var $cmp9=(($18)|0)==(($20)|0);
if ($cmp9) { __label__ = 9; break; } else { __label__ = 10; break; }
case 9:
var $21=$x_addr;
var $value=(($21+4)|0);
var $22=(tempDoubleI32[0]=HEAP32[(($value)>>2)],tempDoubleI32[1]=HEAP32[(($value+4)>>2)],tempDoubleF64[0]);
var $23=$y_addr;
var $value10=(($23+4)|0);
var $24=(tempDoubleI32[0]=HEAP32[(($value10)>>2)],tempDoubleI32[1]=HEAP32[(($value10+4)>>2)],tempDoubleF64[0]);
var $sub=$22-$24;
$d=$sub;
var $25=$d;
var $26=$d;
var $mul11=$25*$26;
var $27=$sum;
var $add12=$27+$mul11;
$sum=$add12;
var $28=$x_addr;
var $incdec_ptr=(($28+12)|0);
$x_addr=$incdec_ptr;
var $29=$y_addr;
var $incdec_ptr13=(($29+12)|0);
$y_addr=$incdec_ptr13;
__label__ = 14; break;
case 10:
var $30=$x_addr;
var $index14=(($30)|0);
var $31=HEAP32[(($index14)>>2)];
var $32=$y_addr;
var $index15=(($32)|0);
var $33=HEAP32[(($index15)>>2)];
var $cmp16=(($31)|0) > (($33)|0);
if ($cmp16) { __label__ = 11; break; } else { __label__ = 12; break; }
case 11:
var $34=$y_addr;
var $value18=(($34+4)|0);
var $35=(tempDoubleI32[0]=HEAP32[(($value18)>>2)],tempDoubleI32[1]=HEAP32[(($value18+4)>>2)],tempDoubleF64[0]);
var $36=$y_addr;
var $value19=(($36+4)|0);
var $37=(tempDoubleI32[0]=HEAP32[(($value19)>>2)],tempDoubleI32[1]=HEAP32[(($value19+4)>>2)],tempDoubleF64[0]);
var $mul20=$35*$37;
var $38=$sum;
var $add21=$38+$mul20;
$sum=$add21;
var $39=$y_addr;
var $incdec_ptr22=(($39+12)|0);
$y_addr=$incdec_ptr22;
__label__ = 13; break;
case 12:
var $40=$x_addr;
var $value24=(($40+4)|0);
var $41=(tempDoubleI32[0]=HEAP32[(($value24)>>2)],tempDoubleI32[1]=HEAP32[(($value24+4)>>2)],tempDoubleF64[0]);
var $42=$x_addr;
var $value25=(($42+4)|0);
var $43=(tempDoubleI32[0]=HEAP32[(($value25)>>2)],tempDoubleI32[1]=HEAP32[(($value25+4)>>2)],tempDoubleF64[0]);
var $mul26=$41*$43;
var $44=$sum;
var $add27=$44+$mul26;
$sum=$add27;
var $45=$x_addr;
var $incdec_ptr28=(($45+12)|0);
$x_addr=$incdec_ptr28;
__label__ = 13; break;
case 13:
__label__ = 14; break;
case 14:
__label__ = 5; break;
case 15:
__label__ = 16; break;
case 16:
var $46=$x_addr;
var $index31=(($46)|0);
var $47=HEAP32[(($index31)>>2)];
var $cmp32=(($47)|0)!=-1;
if ($cmp32) { __label__ = 17; break; } else { __label__ = 18; break; }
case 17:
var $48=$x_addr;
var $value34=(($48+4)|0);
var $49=(tempDoubleI32[0]=HEAP32[(($value34)>>2)],tempDoubleI32[1]=HEAP32[(($value34+4)>>2)],tempDoubleF64[0]);
var $50=$x_addr;
var $value35=(($50+4)|0);
var $51=(tempDoubleI32[0]=HEAP32[(($value35)>>2)],tempDoubleI32[1]=HEAP32[(($value35+4)>>2)],tempDoubleF64[0]);
var $mul36=$49*$51;
var $52=$sum;
var $add37=$52+$mul36;
$sum=$add37;
var $53=$x_addr;
var $incdec_ptr38=(($53+12)|0);
$x_addr=$incdec_ptr38;
__label__ = 16; break;
case 18:
__label__ = 19; break;
case 19:
var $54=$y_addr;
var $index41=(($54)|0);
var $55=HEAP32[(($index41)>>2)];
var $cmp42=(($55)|0)!=-1;
if ($cmp42) { __label__ = 20; break; } else { __label__ = 21; break; }
case 20:
var $56=$y_addr;
var $value44=(($56+4)|0);
var $57=(tempDoubleI32[0]=HEAP32[(($value44)>>2)],tempDoubleI32[1]=HEAP32[(($value44+4)>>2)],tempDoubleF64[0]);
var $58=$y_addr;
var $value45=(($58+4)|0);
var $59=(tempDoubleI32[0]=HEAP32[(($value45)>>2)],tempDoubleI32[1]=HEAP32[(($value45+4)>>2)],tempDoubleF64[0]);
var $mul46=$57*$59;
var $60=$sum;
var $add47=$60+$mul46;
$sum=$add47;
var $61=$y_addr;
var $incdec_ptr48=(($61+12)|0);
$y_addr=$incdec_ptr48;
__label__ = 19; break;
case 21:
var $62=$param_addr;
var $gamma50=(($62+12)|0);
var $63=(tempDoubleI32[0]=HEAP32[(($gamma50)>>2)],tempDoubleI32[1]=HEAP32[(($gamma50+4)>>2)],tempDoubleF64[0]);
var $sub51=(-$63);
var $64=$sum;
var $mul52=$sub51*$64;
var $call53=_exp($mul52);
$retval=$call53;
__label__ = 25; break;
case 22:
var $65=$param_addr;
var $gamma55=(($65+12)|0);
var $66=(tempDoubleI32[0]=HEAP32[(($gamma55)>>2)],tempDoubleI32[1]=HEAP32[(($gamma55+4)>>2)],tempDoubleF64[0]);
var $67=$x_addr;
var $68=$y_addr;
var $call56=__ZN6Kernel3dotEPK8svm_nodeS2_($67, $68);
var $mul57=$66*$call56;
var $69=$param_addr;
var $coef058=(($69+20)|0);
var $70=(tempDoubleI32[0]=HEAP32[(($coef058)>>2)],tempDoubleI32[1]=HEAP32[(($coef058+4)>>2)],tempDoubleF64[0]);
var $add59=$mul57+$70;
var $call60=_tanh($add59);
$retval=$call60;
__label__ = 25; break;
case 23:
var $71=$y_addr;
var $value62=(($71+4)|0);
var $72=(tempDoubleI32[0]=HEAP32[(($value62)>>2)],tempDoubleI32[1]=HEAP32[(($value62+4)>>2)],tempDoubleF64[0]);
var $conv=(($72)&-1);
var $73=$x_addr;
var $arrayidx=(($73+$conv*12)|0);
var $value63=(($arrayidx+4)|0);
var $74=(tempDoubleI32[0]=HEAP32[(($value63)>>2)],tempDoubleI32[1]=HEAP32[(($value63+4)>>2)],tempDoubleF64[0]);
$retval=$74;
__label__ = 25; break;
case 24:
$retval=0;
__label__ = 25; break;
case 25:
var $75=$retval;
;
return $75;
default: assert(0, "bad label: " + __label__);
}
}
__ZN6Kernel10k_functionEPK8svm_nodeS2_RK13svm_parameter["X"]=1;
function __ZN6Solver10swap_indexEii($this, $i, $j) {
;
var __label__;
var $this_addr;
var $i_addr;
var $j_addr;
$this_addr=$this;
$i_addr=$i;
$j_addr=$j;
var $this1=$this_addr;
var $Q=(($this1+24)|0);
var $0=HEAP32[(($Q)>>2)];
var $1=$0;
var $vtable=HEAP32[(($1)>>2)];
var $vfn=(($vtable+8)|0);
var $2=HEAP32[(($vfn)>>2)];
var $3=$i_addr;
var $4=$j_addr;
FUNCTION_TABLE[$2]($0, $3, $4);
var $5=$i_addr;
var $y=(($this1+8)|0);
var $6=HEAP32[(($y)>>2)];
var $arrayidx=(($6+$5)|0);
var $7=$j_addr;
var $y2=(($this1+8)|0);
var $8=HEAP32[(($y2)>>2)];
var $arrayidx3=(($8+$7)|0);
__ZL4swapIaEvRT_S1_($arrayidx, $arrayidx3);
var $9=$i_addr;
var $G=(($this1+12)|0);
var $10=HEAP32[(($G)>>2)];
var $arrayidx4=(($10+($9<<3))|0);
var $11=$j_addr;
var $G5=(($this1+12)|0);
var $12=HEAP32[(($G5)>>2)];
var $arrayidx6=(($12+($11<<3))|0);
__ZL4swapIdEvRT_S1_($arrayidx4, $arrayidx6);
var $13=$i_addr;
var $alpha_status=(($this1+16)|0);
var $14=HEAP32[(($alpha_status)>>2)];
var $arrayidx7=(($14+$13)|0);
var $15=$j_addr;
var $alpha_status8=(($this1+16)|0);
var $16=HEAP32[(($alpha_status8)>>2)];
var $arrayidx9=(($16+$15)|0);
__ZL4swapIcEvRT_S1_($arrayidx7, $arrayidx9);
var $17=$i_addr;
var $alpha=(($this1+20)|0);
var $18=HEAP32[(($alpha)>>2)];
var $arrayidx10=(($18+($17<<3))|0);
var $19=$j_addr;
var $alpha11=(($this1+20)|0);
var $20=HEAP32[(($alpha11)>>2)];
var $arrayidx12=(($20+($19<<3))|0);
__ZL4swapIdEvRT_S1_($arrayidx10, $arrayidx12);
var $21=$i_addr;
var $p=(($this1+56)|0);
var $22=HEAP32[(($p)>>2)];
var $arrayidx13=(($22+($21<<3))|0);
var $23=$j_addr;
var $p14=(($this1+56)|0);
var $24=HEAP32[(($p14)>>2)];
var $arrayidx15=(($24+($23<<3))|0);
__ZL4swapIdEvRT_S1_($arrayidx13, $arrayidx15);
var $25=$i_addr;
var $active_set=(($this1+60)|0);
var $26=HEAP32[(($active_set)>>2)];
var $arrayidx16=(($26+($25<<2))|0);
var $27=$j_addr;
var $active_set17=(($this1+60)|0);
var $28=HEAP32[(($active_set17)>>2)];
var $arrayidx18=(($28+($27<<2))|0);
__ZL4swapIiEvRT_S1_($arrayidx16, $arrayidx18);
var $29=$i_addr;
var $G_bar=(($this1+64)|0);
var $30=HEAP32[(($G_bar)>>2)];
var $arrayidx19=(($30+($29<<3))|0);
var $31=$j_addr;
var $G_bar20=(($this1+64)|0);
var $32=HEAP32[(($G_bar20)>>2)];
var $arrayidx21=(($32+($31<<3))|0);
__ZL4swapIdEvRT_S1_($arrayidx19, $arrayidx21);
;
return;
}
__ZN6Solver10swap_indexEii["X"]=1;
function __ZN6Solver20reconstruct_gradientEv($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $i;
var $j;
var $nr_free;
var $Q_i;
var $Q_i62;
var $alpha_i;
$this_addr=$this;
var $this1=$this_addr;
var $active_size=(($this1+4)|0);
var $0=HEAP32[(($active_size)>>2)];
var $l=(($this1+68)|0);
var $1=HEAP32[(($l)>>2)];
var $cmp=(($0)|0)==(($1)|0);
if ($cmp) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
__label__ = 38; break;
case 3:
$nr_free=0;
var $active_size2=(($this1+4)|0);
var $2=HEAP32[(($active_size2)>>2)];
$j=$2;
__label__ = 4; break;
case 4:
var $3=$j;
var $l3=(($this1+68)|0);
var $4=HEAP32[(($l3)>>2)];
var $cmp4=(($3)|0) < (($4)|0);
if ($cmp4) { __label__ = 5; break; } else { __label__ = 7; break; }
case 5:
var $5=$j;
var $G_bar=(($this1+64)|0);
var $6=HEAP32[(($G_bar)>>2)];
var $arrayidx=(($6+($5<<3))|0);
var $7=(tempDoubleI32[0]=HEAP32[(($arrayidx)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx+4)>>2)],tempDoubleF64[0]);
var $8=$j;
var $p=(($this1+56)|0);
var $9=HEAP32[(($p)>>2)];
var $arrayidx5=(($9+($8<<3))|0);
var $10=(tempDoubleI32[0]=HEAP32[(($arrayidx5)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx5+4)>>2)],tempDoubleF64[0]);
var $add=$7+$10;
var $11=$j;
var $G=(($this1+12)|0);
var $12=HEAP32[(($G)>>2)];
var $arrayidx6=(($12+($11<<3))|0);
(tempDoubleF64[0]=$add,HEAP32[(($arrayidx6)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx6+4)>>2)]=tempDoubleI32[1]);
__label__ = 6; break;
case 6:
var $13=$j;
var $inc=(($13+1)|0);
$j=$inc;
__label__ = 4; break;
case 7:
$j=0;
__label__ = 8; break;
case 8:
var $14=$j;
var $active_size8=(($this1+4)|0);
var $15=HEAP32[(($active_size8)>>2)];
var $cmp9=(($14)|0) < (($15)|0);
if ($cmp9) { __label__ = 9; break; } else { __label__ = 13; break; }
case 9:
var $16=$j;
var $call=__ZN6Solver7is_freeEi($this1, $16);
if ($call) { __label__ = 10; break; } else { __label__ = 11; break; }
case 10:
var $17=$nr_free;
var $inc12=(($17+1)|0);
$nr_free=$inc12;
__label__ = 11; break;
case 11:
__label__ = 12; break;
case 12:
var $18=$j;
var $inc15=(($18+1)|0);
$j=$inc15;
__label__ = 8; break;
case 13:
var $19=$nr_free;
var $mul=((($19<<1))|0);
var $active_size17=(($this1+4)|0);
var $20=HEAP32[(($active_size17)>>2)];
var $cmp18=(($mul)|0) < (($20)|0);
if ($cmp18) { __label__ = 14; break; } else { __label__ = 15; break; }
case 14:
__ZL4infoPKcz(((STRING_TABLE.__str)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
__label__ = 15; break;
case 15:
var $21=$nr_free;
var $l21=(($this1+68)|0);
var $22=HEAP32[(($l21)>>2)];
var $mul22=(($21*$22)|0);
var $active_size23=(($this1+4)|0);
var $23=HEAP32[(($active_size23)>>2)];
var $mul24=((($23<<1))|0);
var $l25=(($this1+68)|0);
var $24=HEAP32[(($l25)>>2)];
var $active_size26=(($this1+4)|0);
var $25=HEAP32[(($active_size26)>>2)];
var $sub=(($24-$25)|0);
var $mul27=(($mul24*$sub)|0);
var $cmp28=(($mul22)|0) > (($mul27)|0);
if ($cmp28) { __label__ = 16; break; } else { __label__ = 27; break; }
case 16:
var $active_size30=(($this1+4)|0);
var $26=HEAP32[(($active_size30)>>2)];
$i=$26;
__label__ = 17; break;
case 17:
var $27=$i;
var $l32=(($this1+68)|0);
var $28=HEAP32[(($l32)>>2)];
var $cmp33=(($27)|0) < (($28)|0);
if ($cmp33) { __label__ = 18; break; } else { __label__ = 26; break; }
case 18:
var $Q=(($this1+24)|0);
var $29=HEAP32[(($Q)>>2)];
var $30=$29;
var $vtable=HEAP32[(($30)>>2)];
var $vfn=(($vtable)|0);
var $31=HEAP32[(($vfn)>>2)];
var $32=$i;
var $active_size35=(($this1+4)|0);
var $33=HEAP32[(($active_size35)>>2)];
var $call36=FUNCTION_TABLE[$31]($29, $32, $33);
$Q_i=$call36;
$j=0;
__label__ = 19; break;
case 19:
var $34=$j;
var $active_size38=(($this1+4)|0);
var $35=HEAP32[(($active_size38)>>2)];
var $cmp39=(($34)|0) < (($35)|0);
if ($cmp39) { __label__ = 20; break; } else { __label__ = 24; break; }
case 20:
var $36=$j;
var $call41=__ZN6Solver7is_freeEi($this1, $36);
if ($call41) { __label__ = 21; break; } else { __label__ = 22; break; }
case 21:
var $37=$j;
var $alpha=(($this1+20)|0);
var $38=HEAP32[(($alpha)>>2)];
var $arrayidx43=(($38+($37<<3))|0);
var $39=(tempDoubleI32[0]=HEAP32[(($arrayidx43)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx43+4)>>2)],tempDoubleF64[0]);
var $40=$j;
var $41=$Q_i;
var $arrayidx44=(($41+($40<<2))|0);
var $42=HEAPF32[(($arrayidx44)>>2)];
var $conv=$42;
var $mul45=$39*$conv;
var $43=$i;
var $G46=(($this1+12)|0);
var $44=HEAP32[(($G46)>>2)];
var $arrayidx47=(($44+($43<<3))|0);
var $45=(tempDoubleI32[0]=HEAP32[(($arrayidx47)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx47+4)>>2)],tempDoubleF64[0]);
var $add48=$45+$mul45;
(tempDoubleF64[0]=$add48,HEAP32[(($arrayidx47)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx47+4)>>2)]=tempDoubleI32[1]);
__label__ = 22; break;
case 22:
__label__ = 23; break;
case 23:
var $46=$j;
var $inc51=(($46+1)|0);
$j=$inc51;
__label__ = 19; break;
case 24:
__label__ = 25; break;
case 25:
var $47=$i;
var $inc54=(($47+1)|0);
$i=$inc54;
__label__ = 17; break;
case 26:
__label__ = 38; break;
case 27:
$i=0;
__label__ = 28; break;
case 28:
var $48=$i;
var $active_size57=(($this1+4)|0);
var $49=HEAP32[(($active_size57)>>2)];
var $cmp58=(($48)|0) < (($49)|0);
if ($cmp58) { __label__ = 29; break; } else { __label__ = 37; break; }
case 29:
var $50=$i;
var $call60=__ZN6Solver7is_freeEi($this1, $50);
if ($call60) { __label__ = 30; break; } else { __label__ = 35; break; }
case 30:
var $Q63=(($this1+24)|0);
var $51=HEAP32[(($Q63)>>2)];
var $52=$51;
var $vtable64=HEAP32[(($52)>>2)];
var $vfn65=(($vtable64)|0);
var $53=HEAP32[(($vfn65)>>2)];
var $54=$i;
var $l66=(($this1+68)|0);
var $55=HEAP32[(($l66)>>2)];
var $call67=FUNCTION_TABLE[$53]($51, $54, $55);
$Q_i62=$call67;
var $56=$i;
var $alpha68=(($this1+20)|0);
var $57=HEAP32[(($alpha68)>>2)];
var $arrayidx69=(($57+($56<<3))|0);
var $58=(tempDoubleI32[0]=HEAP32[(($arrayidx69)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx69+4)>>2)],tempDoubleF64[0]);
$alpha_i=$58;
var $active_size70=(($this1+4)|0);
var $59=HEAP32[(($active_size70)>>2)];
$j=$59;
__label__ = 31; break;
case 31:
var $60=$j;
var $l72=(($this1+68)|0);
var $61=HEAP32[(($l72)>>2)];
var $cmp73=(($60)|0) < (($61)|0);
if ($cmp73) { __label__ = 32; break; } else { __label__ = 34; break; }
case 32:
var $62=$alpha_i;
var $63=$j;
var $64=$Q_i62;
var $arrayidx75=(($64+($63<<2))|0);
var $65=HEAPF32[(($arrayidx75)>>2)];
var $conv76=$65;
var $mul77=$62*$conv76;
var $66=$j;
var $G78=(($this1+12)|0);
var $67=HEAP32[(($G78)>>2)];
var $arrayidx79=(($67+($66<<3))|0);
var $68=(tempDoubleI32[0]=HEAP32[(($arrayidx79)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx79+4)>>2)],tempDoubleF64[0]);
var $add80=$68+$mul77;
(tempDoubleF64[0]=$add80,HEAP32[(($arrayidx79)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx79+4)>>2)]=tempDoubleI32[1]);
__label__ = 33; break;
case 33:
var $69=$j;
var $inc82=(($69+1)|0);
$j=$inc82;
__label__ = 31; break;
case 34:
__label__ = 35; break;
case 35:
__label__ = 36; break;
case 36:
var $70=$i;
var $inc86=(($70+1)|0);
$i=$inc86;
__label__ = 28; break;
case 37:
__label__ = 38; break;
case 38:
;
return;
default: assert(0, "bad label: " + __label__);
}
}
__ZN6Solver20reconstruct_gradientEv["X"]=1;
function __ZL4infoPKcz($fmt) {
var __stackBase__ = STACKTOP; STACKTOP += 1028; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
var __label__;
var $fmt_addr;
var $buf=__stackBase__;
var $ap=__stackBase__+1024;
$fmt_addr=$fmt;
var $ap1=$ap;
HEAP32[(($ap1)>>2)]=arguments[__ZL4infoPKcz.length];
var $arraydecay=(($buf)|0);
var $0=$fmt_addr;
var $1=HEAP32[(($ap)>>2)];
var $call=_vsprintf($arraydecay, $0, $1);
var $ap2=$ap;
;
var $2=HEAP32[((__ZL16svm_print_string)>>2)];
var $arraydecay3=(($buf)|0);
FUNCTION_TABLE[$2]($arraydecay3);
STACKTOP = __stackBase__;
return;
}
function __ZN6Solver5SolveEiRK7QMatrixPKdPKaPddddPNS_12SolutionInfoEi($this, $l, $Q, $p_, $y_, $alpha_, $Cp, $Cn, $eps, $si, $shrinking) {
var __stackBase__ = STACKTOP; STACKTOP += 8; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $l_addr;
var $Q_addr;
var $p__addr;
var $y__addr;
var $alpha__addr;
var $Cp_addr;
var $Cn_addr;
var $eps_addr;
var $si_addr;
var $shrinking_addr;
var $i;
var $i9;
var $i19;
var $Q_i;
var $alpha_i;
var $j;
var $iter;
var $max_iter;
var $counter;
var $i83=__stackBase__;
var $j84=__stackBase__+4;
var $Q_i99;
var $Q_j;
var $C_i;
var $C_j;
var $old_alpha_i;
var $old_alpha_j;
var $quad_coef;
var $delta;
var $diff;
var $quad_coef199;
var $delta212;
var $sum;
var $delta_alpha_i;
var $delta_alpha_j;
var $k;
var $ui;
var $uj;
var $k303;
var $v;
var $i391;
var $i408;
$this_addr=$this;
$l_addr=$l;
$Q_addr=$Q;
$p__addr=$p_;
$y__addr=$y_;
$alpha__addr=$alpha_;
$Cp_addr=$Cp;
$Cn_addr=$Cn;
$eps_addr=$eps;
$si_addr=$si;
$shrinking_addr=$shrinking;
var $this1=$this_addr;
var $0=$l_addr;
var $l2=(($this1+68)|0);
HEAP32[(($l2)>>2)]=$0;
var $1=$Q_addr;
var $Q3=(($this1+24)|0);
HEAP32[(($Q3)>>2)]=$1;
var $2=$Q_addr;
var $3=$2;
var $vtable=HEAP32[(($3)>>2)];
var $vfn=(($vtable+4)|0);
var $4=HEAP32[(($vfn)>>2)];
var $call=FUNCTION_TABLE[$4]($2);
var $QD=(($this1+28)|0);
HEAP32[(($QD)>>2)]=$call;
var $p=(($this1+56)|0);
var $5=$p__addr;
var $6=$l_addr;
__ZL5cloneIKddEvRPT0_PT_i($p, $5, $6);
var $y=(($this1+8)|0);
var $7=$y__addr;
var $8=$l_addr;
__ZL5cloneIKaaEvRPT0_PT_i($y, $7, $8);
var $alpha=(($this1+20)|0);
var $9=$alpha__addr;
var $10=$l_addr;
__ZL5cloneIddEvRPT0_PT_i($alpha, $9, $10);
var $11=$Cp_addr;
var $Cp4=(($this1+40)|0);
(tempDoubleF64[0]=$11,HEAP32[(($Cp4)>>2)]=tempDoubleI32[0],HEAP32[(($Cp4+4)>>2)]=tempDoubleI32[1]);
var $12=$Cn_addr;
var $Cn5=(($this1+48)|0);
(tempDoubleF64[0]=$12,HEAP32[(($Cn5)>>2)]=tempDoubleI32[0],HEAP32[(($Cn5+4)>>2)]=tempDoubleI32[1]);
var $13=$eps_addr;
var $eps6=(($this1+32)|0);
(tempDoubleF64[0]=$13,HEAP32[(($eps6)>>2)]=tempDoubleI32[0],HEAP32[(($eps6+4)>>2)]=tempDoubleI32[1]);
var $unshrink=(($this1+72)|0);
HEAP8[($unshrink)]=0;
var $14=$l_addr;
var $15=(($14)|0) < 0;
var $16=$15 ? -1 : $14;
var $call7=__Znaj($16);
var $alpha_status=(($this1+16)|0);
HEAP32[(($alpha_status)>>2)]=$call7;
$i=0;
__label__ = 2; break;
case 2:
var $17=$i;
var $18=$l_addr;
var $cmp=(($17)|0) < (($18)|0);
if ($cmp) { __label__ = 3; break; } else { __label__ = 5; break; }
case 3:
var $19=$i;
__ZN6Solver19update_alpha_statusEi($this1, $19);
__label__ = 4; break;
case 4:
var $20=$i;
var $inc=(($20+1)|0);
$i=$inc;
__label__ = 2; break;
case 5:
var $21=$l_addr;
var $22=_llvm_umul_with_overflow_i32($21, 4);
var $23=$22.f1;
var $24=$22.f0;
var $25=$23 ? -1 : $24;
var $call8=__Znaj($25);
var $26=$call8;
var $active_set=(($this1+60)|0);
HEAP32[(($active_set)>>2)]=$26;
$i9=0;
__label__ = 6; break;
case 6:
var $27=$i9;
var $28=$l_addr;
var $cmp11=(($27)|0) < (($28)|0);
if ($cmp11) { __label__ = 7; break; } else { __label__ = 9; break; }
case 7:
var $29=$i9;
var $30=$i9;
var $active_set13=(($this1+60)|0);
var $31=HEAP32[(($active_set13)>>2)];
var $arrayidx=(($31+($30<<2))|0);
HEAP32[(($arrayidx)>>2)]=$29;
__label__ = 8; break;
case 8:
var $32=$i9;
var $inc15=(($32+1)|0);
$i9=$inc15;
__label__ = 6; break;
case 9:
var $33=$l_addr;
var $active_size=(($this1+4)|0);
HEAP32[(($active_size)>>2)]=$33;
var $34=$l_addr;
var $35=_llvm_umul_with_overflow_i32($34, 8);
var $36=$35.f1;
var $37=$35.f0;
var $38=$36 ? -1 : $37;
var $call17=__Znaj($38);
var $39=$call17;
var $G=(($this1+12)|0);
HEAP32[(($G)>>2)]=$39;
var $40=$l_addr;
var $41=_llvm_umul_with_overflow_i32($40, 8);
var $42=$41.f1;
var $43=$41.f0;
var $44=$42 ? -1 : $43;
var $call18=__Znaj($44);
var $45=$call18;
var $G_bar=(($this1+64)|0);
HEAP32[(($G_bar)>>2)]=$45;
$i19=0;
__label__ = 10; break;
case 10:
var $46=$i19;
var $47=$l_addr;
var $cmp21=(($46)|0) < (($47)|0);
if ($cmp21) { __label__ = 11; break; } else { __label__ = 13; break; }
case 11:
var $48=$i19;
var $p23=(($this1+56)|0);
var $49=HEAP32[(($p23)>>2)];
var $arrayidx24=(($49+($48<<3))|0);
var $50=(tempDoubleI32[0]=HEAP32[(($arrayidx24)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx24+4)>>2)],tempDoubleF64[0]);
var $51=$i19;
var $G25=(($this1+12)|0);
var $52=HEAP32[(($G25)>>2)];
var $arrayidx26=(($52+($51<<3))|0);
(tempDoubleF64[0]=$50,HEAP32[(($arrayidx26)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx26+4)>>2)]=tempDoubleI32[1]);
var $53=$i19;
var $G_bar27=(($this1+64)|0);
var $54=HEAP32[(($G_bar27)>>2)];
var $arrayidx28=(($54+($53<<3))|0);
(tempDoubleF64[0]=0,HEAP32[(($arrayidx28)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx28+4)>>2)]=tempDoubleI32[1]);
__label__ = 12; break;
case 12:
var $55=$i19;
var $inc30=(($55+1)|0);
$i19=$inc30;
__label__ = 10; break;
case 13:
$i19=0;
__label__ = 14; break;
case 14:
var $56=$i19;
var $57=$l_addr;
var $cmp33=(($56)|0) < (($57)|0);
if ($cmp33) { __label__ = 15; break; } else { __label__ = 29; break; }
case 15:
var $58=$i19;
var $call35=__ZN6Solver14is_lower_boundEi($this1, $58);
if ($call35) { __label__ = 27; break; } else { __label__ = 16; break; }
case 16:
var $59=$Q_addr;
var $60=$59;
var $vtable36=HEAP32[(($60)>>2)];
var $vfn37=(($vtable36)|0);
var $61=HEAP32[(($vfn37)>>2)];
var $62=$i19;
var $63=$l_addr;
var $call38=FUNCTION_TABLE[$61]($59, $62, $63);
$Q_i=$call38;
var $64=$i19;
var $alpha39=(($this1+20)|0);
var $65=HEAP32[(($alpha39)>>2)];
var $arrayidx40=(($65+($64<<3))|0);
var $66=(tempDoubleI32[0]=HEAP32[(($arrayidx40)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx40+4)>>2)],tempDoubleF64[0]);
$alpha_i=$66;
$j=0;
__label__ = 17; break;
case 17:
var $67=$j;
var $68=$l_addr;
var $cmp42=(($67)|0) < (($68)|0);
if ($cmp42) { __label__ = 18; break; } else { __label__ = 20; break; }
case 18:
var $69=$alpha_i;
var $70=$j;
var $71=$Q_i;
var $arrayidx44=(($71+($70<<2))|0);
var $72=HEAPF32[(($arrayidx44)>>2)];
var $conv=$72;
var $mul=$69*$conv;
var $73=$j;
var $G45=(($this1+12)|0);
var $74=HEAP32[(($G45)>>2)];
var $arrayidx46=(($74+($73<<3))|0);
var $75=(tempDoubleI32[0]=HEAP32[(($arrayidx46)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx46+4)>>2)],tempDoubleF64[0]);
var $add=$75+$mul;
(tempDoubleF64[0]=$add,HEAP32[(($arrayidx46)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx46+4)>>2)]=tempDoubleI32[1]);
__label__ = 19; break;
case 19:
var $76=$j;
var $inc48=(($76+1)|0);
$j=$inc48;
__label__ = 17; break;
case 20:
var $77=$i19;
var $call50=__ZN6Solver14is_upper_boundEi($this1, $77);
if ($call50) { __label__ = 21; break; } else { __label__ = 26; break; }
case 21:
$j=0;
__label__ = 22; break;
case 22:
var $78=$j;
var $79=$l_addr;
var $cmp53=(($78)|0) < (($79)|0);
if ($cmp53) { __label__ = 23; break; } else { __label__ = 25; break; }
case 23:
var $80=$i19;
var $call55=__ZN6Solver5get_CEi($this1, $80);
var $81=$j;
var $82=$Q_i;
var $arrayidx56=(($82+($81<<2))|0);
var $83=HEAPF32[(($arrayidx56)>>2)];
var $conv57=$83;
var $mul58=$call55*$conv57;
var $84=$j;
var $G_bar59=(($this1+64)|0);
var $85=HEAP32[(($G_bar59)>>2)];
var $arrayidx60=(($85+($84<<3))|0);
var $86=(tempDoubleI32[0]=HEAP32[(($arrayidx60)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx60+4)>>2)],tempDoubleF64[0]);
var $add61=$86+$mul58;
(tempDoubleF64[0]=$add61,HEAP32[(($arrayidx60)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx60+4)>>2)]=tempDoubleI32[1]);
__label__ = 24; break;
case 24:
var $87=$j;
var $inc63=(($87+1)|0);
$j=$inc63;
__label__ = 22; break;
case 25:
__label__ = 26; break;
case 26:
__label__ = 27; break;
case 27:
__label__ = 28; break;
case 28:
var $88=$i19;
var $inc67=(($88+1)|0);
$i19=$inc67;
__label__ = 14; break;
case 29:
$iter=0;
var $89=$l_addr;
var $cmp69=(($89)|0) > 21474836;
if ($cmp69) { __label__ = 30; break; } else { __label__ = 31; break; }
case 30:
var $cond = 2147483647;__label__ = 32; break;
case 31:
var $90=$l_addr;
var $mul70=(($90*100)|0);
var $cond = $mul70;__label__ = 32; break;
case 32:
var $cond;
var $call71=__ZL3maxIiET_S0_S0_(10000000, $cond);
$max_iter=$call71;
var $91=$l_addr;
var $call72=__ZL3minIiET_S0_S0_($91, 1000);
var $add73=(($call72+1)|0);
$counter=$add73;
__label__ = 33; break;
case 33:
var $92=$iter;
var $93=$max_iter;
var $cmp74=(($92)|0) < (($93)|0);
if ($cmp74) { __label__ = 34; break; } else { __label__ = 109; break; }
case 34:
var $94=$counter;
var $dec=(($94-1)|0);
$counter=$dec;
var $cmp75=(($dec)|0)==0;
if ($cmp75) { __label__ = 35; break; } else { __label__ = 38; break; }
case 35:
var $95=$l_addr;
var $call77=__ZL3minIiET_S0_S0_($95, 1000);
$counter=$call77;
var $96=$shrinking_addr;
var $tobool=(($96)|0)!=0;
if ($tobool) { __label__ = 36; break; } else { __label__ = 37; break; }
case 36:
var $97=$this1;
var $vtable79=HEAP32[(($97)>>2)];
var $vfn80=(($vtable79+16)|0);
var $98=HEAP32[(($vfn80)>>2)];
FUNCTION_TABLE[$98]($this1);
__label__ = 37; break;
case 37:
__ZL4infoPKcz(((STRING_TABLE.__str1)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
__label__ = 38; break;
case 38:
var $99=$this1;
var $vtable85=HEAP32[(($99)>>2)];
var $vfn86=(($vtable85+8)|0);
var $100=HEAP32[(($vfn86)>>2)];
var $call87=FUNCTION_TABLE[$100]($this1, $i83, $j84);
var $cmp88=(($call87)|0)!=0;
if ($cmp88) { __label__ = 39; break; } else { __label__ = 43; break; }
case 39:
__ZN6Solver20reconstruct_gradientEv($this1);
var $101=$l_addr;
var $active_size90=(($this1+4)|0);
HEAP32[(($active_size90)>>2)]=$101;
__ZL4infoPKcz(((STRING_TABLE.__str2)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
var $102=$this1;
var $vtable91=HEAP32[(($102)>>2)];
var $vfn92=(($vtable91+8)|0);
var $103=HEAP32[(($vfn92)>>2)];
var $call93=FUNCTION_TABLE[$103]($this1, $i83, $j84);
var $cmp94=(($call93)|0)!=0;
if ($cmp94) { __label__ = 40; break; } else { __label__ = 41; break; }
case 40:
__label__ = 109; break;
case 41:
$counter=1;
__label__ = 42; break;
case 42:
__label__ = 43; break;
case 43:
var $104=$iter;
var $inc98=(($104+1)|0);
$iter=$inc98;
var $105=$Q_addr;
var $106=$105;
var $vtable100=HEAP32[(($106)>>2)];
var $vfn101=(($vtable100)|0);
var $107=HEAP32[(($vfn101)>>2)];
var $108=HEAP32[(($i83)>>2)];
var $active_size102=(($this1+4)|0);
var $109=HEAP32[(($active_size102)>>2)];
var $call103=FUNCTION_TABLE[$107]($105, $108, $109);
$Q_i99=$call103;
var $110=$Q_addr;
var $111=$110;
var $vtable104=HEAP32[(($111)>>2)];
var $vfn105=(($vtable104)|0);
var $112=HEAP32[(($vfn105)>>2)];
var $113=HEAP32[(($j84)>>2)];
var $active_size106=(($this1+4)|0);
var $114=HEAP32[(($active_size106)>>2)];
var $call107=FUNCTION_TABLE[$112]($110, $113, $114);
$Q_j=$call107;
var $115=HEAP32[(($i83)>>2)];
var $call108=__ZN6Solver5get_CEi($this1, $115);
$C_i=$call108;
var $116=HEAP32[(($j84)>>2)];
var $call109=__ZN6Solver5get_CEi($this1, $116);
$C_j=$call109;
var $117=HEAP32[(($i83)>>2)];
var $alpha110=(($this1+20)|0);
var $118=HEAP32[(($alpha110)>>2)];
var $arrayidx111=(($118+($117<<3))|0);
var $119=(tempDoubleI32[0]=HEAP32[(($arrayidx111)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx111+4)>>2)],tempDoubleF64[0]);
$old_alpha_i=$119;
var $120=HEAP32[(($j84)>>2)];
var $alpha112=(($this1+20)|0);
var $121=HEAP32[(($alpha112)>>2)];
var $arrayidx113=(($121+($120<<3))|0);
var $122=(tempDoubleI32[0]=HEAP32[(($arrayidx113)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx113+4)>>2)],tempDoubleF64[0]);
$old_alpha_j=$122;
var $123=HEAP32[(($i83)>>2)];
var $y114=(($this1+8)|0);
var $124=HEAP32[(($y114)>>2)];
var $arrayidx115=(($124+$123)|0);
var $125=HEAP8[($arrayidx115)];
var $conv116=(($125 << 24) >> 24);
var $126=HEAP32[(($j84)>>2)];
var $y117=(($this1+8)|0);
var $127=HEAP32[(($y117)>>2)];
var $arrayidx118=(($127+$126)|0);
var $128=HEAP8[($arrayidx118)];
var $conv119=(($128 << 24) >> 24);
var $cmp120=(($conv116)|0)!=(($conv119)|0);
if ($cmp120) { __label__ = 44; break; } else { __label__ = 61; break; }
case 44:
var $129=HEAP32[(($i83)>>2)];
var $QD122=(($this1+28)|0);
var $130=HEAP32[(($QD122)>>2)];
var $arrayidx123=(($130+($129<<3))|0);
var $131=(tempDoubleI32[0]=HEAP32[(($arrayidx123)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx123+4)>>2)],tempDoubleF64[0]);
var $132=HEAP32[(($j84)>>2)];
var $QD124=(($this1+28)|0);
var $133=HEAP32[(($QD124)>>2)];
var $arrayidx125=(($133+($132<<3))|0);
var $134=(tempDoubleI32[0]=HEAP32[(($arrayidx125)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx125+4)>>2)],tempDoubleF64[0]);
var $add126=$131+$134;
var $135=HEAP32[(($j84)>>2)];
var $136=$Q_i99;
var $arrayidx127=(($136+($135<<2))|0);
var $137=HEAPF32[(($arrayidx127)>>2)];
var $mul128=$137*2;
var $conv129=$mul128;
var $add130=$add126+$conv129;
$quad_coef=$add130;
var $138=$quad_coef;
var $cmp131=$138 <= 0;
if ($cmp131) { __label__ = 45; break; } else { __label__ = 46; break; }
case 45:
$quad_coef=1e-12;
__label__ = 46; break;
case 46:
var $139=HEAP32[(($i83)>>2)];
var $G134=(($this1+12)|0);
var $140=HEAP32[(($G134)>>2)];
var $arrayidx135=(($140+($139<<3))|0);
var $141=(tempDoubleI32[0]=HEAP32[(($arrayidx135)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx135+4)>>2)],tempDoubleF64[0]);
var $sub=(-$141);
var $142=HEAP32[(($j84)>>2)];
var $G136=(($this1+12)|0);
var $143=HEAP32[(($G136)>>2)];
var $arrayidx137=(($143+($142<<3))|0);
var $144=(tempDoubleI32[0]=HEAP32[(($arrayidx137)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx137+4)>>2)],tempDoubleF64[0]);
var $sub138=$sub-$144;
var $145=$quad_coef;
var $div=$sub138/$145;
$delta=$div;
var $146=HEAP32[(($i83)>>2)];
var $alpha139=(($this1+20)|0);
var $147=HEAP32[(($alpha139)>>2)];
var $arrayidx140=(($147+($146<<3))|0);
var $148=(tempDoubleI32[0]=HEAP32[(($arrayidx140)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx140+4)>>2)],tempDoubleF64[0]);
var $149=HEAP32[(($j84)>>2)];
var $alpha141=(($this1+20)|0);
var $150=HEAP32[(($alpha141)>>2)];
var $arrayidx142=(($150+($149<<3))|0);
var $151=(tempDoubleI32[0]=HEAP32[(($arrayidx142)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx142+4)>>2)],tempDoubleF64[0]);
var $sub143=$148-$151;
$diff=$sub143;
var $152=$delta;
var $153=HEAP32[(($i83)>>2)];
var $alpha144=(($this1+20)|0);
var $154=HEAP32[(($alpha144)>>2)];
var $arrayidx145=(($154+($153<<3))|0);
var $155=(tempDoubleI32[0]=HEAP32[(($arrayidx145)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx145+4)>>2)],tempDoubleF64[0]);
var $add146=$155+$152;
(tempDoubleF64[0]=$add146,HEAP32[(($arrayidx145)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx145+4)>>2)]=tempDoubleI32[1]);
var $156=$delta;
var $157=HEAP32[(($j84)>>2)];
var $alpha147=(($this1+20)|0);
var $158=HEAP32[(($alpha147)>>2)];
var $arrayidx148=(($158+($157<<3))|0);
var $159=(tempDoubleI32[0]=HEAP32[(($arrayidx148)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx148+4)>>2)],tempDoubleF64[0]);
var $add149=$159+$156;
(tempDoubleF64[0]=$add149,HEAP32[(($arrayidx148)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx148+4)>>2)]=tempDoubleI32[1]);
var $160=$diff;
var $cmp150=$160 > 0;
if ($cmp150) { __label__ = 47; break; } else { __label__ = 50; break; }
case 47:
var $161=HEAP32[(($j84)>>2)];
var $alpha152=(($this1+20)|0);
var $162=HEAP32[(($alpha152)>>2)];
var $arrayidx153=(($162+($161<<3))|0);
var $163=(tempDoubleI32[0]=HEAP32[(($arrayidx153)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx153+4)>>2)],tempDoubleF64[0]);
var $cmp154=$163 < 0;
if ($cmp154) { __label__ = 48; break; } else { __label__ = 49; break; }
case 48:
var $164=HEAP32[(($j84)>>2)];
var $alpha156=(($this1+20)|0);
var $165=HEAP32[(($alpha156)>>2)];
var $arrayidx157=(($165+($164<<3))|0);
(tempDoubleF64[0]=0,HEAP32[(($arrayidx157)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx157+4)>>2)]=tempDoubleI32[1]);
var $166=$diff;
var $167=HEAP32[(($i83)>>2)];
var $alpha158=(($this1+20)|0);
var $168=HEAP32[(($alpha158)>>2)];
var $arrayidx159=(($168+($167<<3))|0);
(tempDoubleF64[0]=$166,HEAP32[(($arrayidx159)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx159+4)>>2)]=tempDoubleI32[1]);
__label__ = 49; break;
case 49:
__label__ = 53; break;
case 50:
var $169=HEAP32[(($i83)>>2)];
var $alpha162=(($this1+20)|0);
var $170=HEAP32[(($alpha162)>>2)];
var $arrayidx163=(($170+($169<<3))|0);
var $171=(tempDoubleI32[0]=HEAP32[(($arrayidx163)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx163+4)>>2)],tempDoubleF64[0]);
var $cmp164=$171 < 0;
if ($cmp164) { __label__ = 51; break; } else { __label__ = 52; break; }
case 51:
var $172=HEAP32[(($i83)>>2)];
var $alpha166=(($this1+20)|0);
var $173=HEAP32[(($alpha166)>>2)];
var $arrayidx167=(($173+($172<<3))|0);
(tempDoubleF64[0]=0,HEAP32[(($arrayidx167)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx167+4)>>2)]=tempDoubleI32[1]);
var $174=$diff;
var $sub168=(-$174);
var $175=HEAP32[(($j84)>>2)];
var $alpha169=(($this1+20)|0);
var $176=HEAP32[(($alpha169)>>2)];
var $arrayidx170=(($176+($175<<3))|0);
(tempDoubleF64[0]=$sub168,HEAP32[(($arrayidx170)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx170+4)>>2)]=tempDoubleI32[1]);
__label__ = 52; break;
case 52:
__label__ = 53; break;
case 53:
var $177=$diff;
var $178=$C_i;
var $179=$C_j;
var $sub173=$178-$179;
var $cmp174=$177 > $sub173;
if ($cmp174) { __label__ = 54; break; } else { __label__ = 57; break; }
case 54:
var $180=HEAP32[(($i83)>>2)];
var $alpha176=(($this1+20)|0);
var $181=HEAP32[(($alpha176)>>2)];
var $arrayidx177=(($181+($180<<3))|0);
var $182=(tempDoubleI32[0]=HEAP32[(($arrayidx177)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx177+4)>>2)],tempDoubleF64[0]);
var $183=$C_i;
var $cmp178=$182 > $183;
if ($cmp178) { __label__ = 55; break; } else { __label__ = 56; break; }
case 55:
var $184=$C_i;
var $185=HEAP32[(($i83)>>2)];
var $alpha180=(($this1+20)|0);
var $186=HEAP32[(($alpha180)>>2)];
var $arrayidx181=(($186+($185<<3))|0);
(tempDoubleF64[0]=$184,HEAP32[(($arrayidx181)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx181+4)>>2)]=tempDoubleI32[1]);
var $187=$C_i;
var $188=$diff;
var $sub182=$187-$188;
var $189=HEAP32[(($j84)>>2)];
var $alpha183=(($this1+20)|0);
var $190=HEAP32[(($alpha183)>>2)];
var $arrayidx184=(($190+($189<<3))|0);
(tempDoubleF64[0]=$sub182,HEAP32[(($arrayidx184)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx184+4)>>2)]=tempDoubleI32[1]);
__label__ = 56; break;
case 56:
__label__ = 60; break;
case 57:
var $191=HEAP32[(($j84)>>2)];
var $alpha187=(($this1+20)|0);
var $192=HEAP32[(($alpha187)>>2)];
var $arrayidx188=(($192+($191<<3))|0);
var $193=(tempDoubleI32[0]=HEAP32[(($arrayidx188)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx188+4)>>2)],tempDoubleF64[0]);
var $194=$C_j;
var $cmp189=$193 > $194;
if ($cmp189) { __label__ = 58; break; } else { __label__ = 59; break; }
case 58:
var $195=$C_j;
var $196=HEAP32[(($j84)>>2)];
var $alpha191=(($this1+20)|0);
var $197=HEAP32[(($alpha191)>>2)];
var $arrayidx192=(($197+($196<<3))|0);
(tempDoubleF64[0]=$195,HEAP32[(($arrayidx192)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx192+4)>>2)]=tempDoubleI32[1]);
var $198=$C_j;
var $199=$diff;
var $add193=$198+$199;
var $200=HEAP32[(($i83)>>2)];
var $alpha194=(($this1+20)|0);
var $201=HEAP32[(($alpha194)>>2)];
var $arrayidx195=(($201+($200<<3))|0);
(tempDoubleF64[0]=$add193,HEAP32[(($arrayidx195)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx195+4)>>2)]=tempDoubleI32[1]);
__label__ = 59; break;
case 59:
__label__ = 60; break;
case 60:
__label__ = 78; break;
case 61:
var $202=HEAP32[(($i83)>>2)];
var $QD200=(($this1+28)|0);
var $203=HEAP32[(($QD200)>>2)];
var $arrayidx201=(($203+($202<<3))|0);
var $204=(tempDoubleI32[0]=HEAP32[(($arrayidx201)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx201+4)>>2)],tempDoubleF64[0]);
var $205=HEAP32[(($j84)>>2)];
var $QD202=(($this1+28)|0);
var $206=HEAP32[(($QD202)>>2)];
var $arrayidx203=(($206+($205<<3))|0);
var $207=(tempDoubleI32[0]=HEAP32[(($arrayidx203)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx203+4)>>2)],tempDoubleF64[0]);
var $add204=$204+$207;
var $208=HEAP32[(($j84)>>2)];
var $209=$Q_i99;
var $arrayidx205=(($209+($208<<2))|0);
var $210=HEAPF32[(($arrayidx205)>>2)];
var $mul206=$210*2;
var $conv207=$mul206;
var $sub208=$add204-$conv207;
$quad_coef199=$sub208;
var $211=$quad_coef199;
var $cmp209=$211 <= 0;
if ($cmp209) { __label__ = 62; break; } else { __label__ = 63; break; }
case 62:
$quad_coef199=1e-12;
__label__ = 63; break;
case 63:
var $212=HEAP32[(($i83)>>2)];
var $G213=(($this1+12)|0);
var $213=HEAP32[(($G213)>>2)];
var $arrayidx214=(($213+($212<<3))|0);
var $214=(tempDoubleI32[0]=HEAP32[(($arrayidx214)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx214+4)>>2)],tempDoubleF64[0]);
var $215=HEAP32[(($j84)>>2)];
var $G215=(($this1+12)|0);
var $216=HEAP32[(($G215)>>2)];
var $arrayidx216=(($216+($215<<3))|0);
var $217=(tempDoubleI32[0]=HEAP32[(($arrayidx216)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx216+4)>>2)],tempDoubleF64[0]);
var $sub217=$214-$217;
var $218=$quad_coef199;
var $div218=$sub217/$218;
$delta212=$div218;
var $219=HEAP32[(($i83)>>2)];
var $alpha219=(($this1+20)|0);
var $220=HEAP32[(($alpha219)>>2)];
var $arrayidx220=(($220+($219<<3))|0);
var $221=(tempDoubleI32[0]=HEAP32[(($arrayidx220)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx220+4)>>2)],tempDoubleF64[0]);
var $222=HEAP32[(($j84)>>2)];
var $alpha221=(($this1+20)|0);
var $223=HEAP32[(($alpha221)>>2)];
var $arrayidx222=(($223+($222<<3))|0);
var $224=(tempDoubleI32[0]=HEAP32[(($arrayidx222)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx222+4)>>2)],tempDoubleF64[0]);
var $add223=$221+$224;
$sum=$add223;
var $225=$delta212;
var $226=HEAP32[(($i83)>>2)];
var $alpha224=(($this1+20)|0);
var $227=HEAP32[(($alpha224)>>2)];
var $arrayidx225=(($227+($226<<3))|0);
var $228=(tempDoubleI32[0]=HEAP32[(($arrayidx225)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx225+4)>>2)],tempDoubleF64[0]);
var $sub226=$228-$225;
(tempDoubleF64[0]=$sub226,HEAP32[(($arrayidx225)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx225+4)>>2)]=tempDoubleI32[1]);
var $229=$delta212;
var $230=HEAP32[(($j84)>>2)];
var $alpha227=(($this1+20)|0);
var $231=HEAP32[(($alpha227)>>2)];
var $arrayidx228=(($231+($230<<3))|0);
var $232=(tempDoubleI32[0]=HEAP32[(($arrayidx228)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx228+4)>>2)],tempDoubleF64[0]);
var $add229=$232+$229;
(tempDoubleF64[0]=$add229,HEAP32[(($arrayidx228)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx228+4)>>2)]=tempDoubleI32[1]);
var $233=$sum;
var $234=$C_i;
var $cmp230=$233 > $234;
if ($cmp230) { __label__ = 64; break; } else { __label__ = 67; break; }
case 64:
var $235=HEAP32[(($i83)>>2)];
var $alpha232=(($this1+20)|0);
var $236=HEAP32[(($alpha232)>>2)];
var $arrayidx233=(($236+($235<<3))|0);
var $237=(tempDoubleI32[0]=HEAP32[(($arrayidx233)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx233+4)>>2)],tempDoubleF64[0]);
var $238=$C_i;
var $cmp234=$237 > $238;
if ($cmp234) { __label__ = 65; break; } else { __label__ = 66; break; }
case 65:
var $239=$C_i;
var $240=HEAP32[(($i83)>>2)];
var $alpha236=(($this1+20)|0);
var $241=HEAP32[(($alpha236)>>2)];
var $arrayidx237=(($241+($240<<3))|0);
(tempDoubleF64[0]=$239,HEAP32[(($arrayidx237)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx237+4)>>2)]=tempDoubleI32[1]);
var $242=$sum;
var $243=$C_i;
var $sub238=$242-$243;
var $244=HEAP32[(($j84)>>2)];
var $alpha239=(($this1+20)|0);
var $245=HEAP32[(($alpha239)>>2)];
var $arrayidx240=(($245+($244<<3))|0);
(tempDoubleF64[0]=$sub238,HEAP32[(($arrayidx240)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx240+4)>>2)]=tempDoubleI32[1]);
__label__ = 66; break;
case 66:
__label__ = 70; break;
case 67:
var $246=HEAP32[(($j84)>>2)];
var $alpha243=(($this1+20)|0);
var $247=HEAP32[(($alpha243)>>2)];
var $arrayidx244=(($247+($246<<3))|0);
var $248=(tempDoubleI32[0]=HEAP32[(($arrayidx244)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx244+4)>>2)],tempDoubleF64[0]);
var $cmp245=$248 < 0;
if ($cmp245) { __label__ = 68; break; } else { __label__ = 69; break; }
case 68:
var $249=HEAP32[(($j84)>>2)];
var $alpha247=(($this1+20)|0);
var $250=HEAP32[(($alpha247)>>2)];
var $arrayidx248=(($250+($249<<3))|0);
(tempDoubleF64[0]=0,HEAP32[(($arrayidx248)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx248+4)>>2)]=tempDoubleI32[1]);
var $251=$sum;
var $252=HEAP32[(($i83)>>2)];
var $alpha249=(($this1+20)|0);
var $253=HEAP32[(($alpha249)>>2)];
var $arrayidx250=(($253+($252<<3))|0);
(tempDoubleF64[0]=$251,HEAP32[(($arrayidx250)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx250+4)>>2)]=tempDoubleI32[1]);
__label__ = 69; break;
case 69:
__label__ = 70; break;
case 70:
var $254=$sum;
var $255=$C_j;
var $cmp253=$254 > $255;
if ($cmp253) { __label__ = 71; break; } else { __label__ = 74; break; }
case 71:
var $256=HEAP32[(($j84)>>2)];
var $alpha255=(($this1+20)|0);
var $257=HEAP32[(($alpha255)>>2)];
var $arrayidx256=(($257+($256<<3))|0);
var $258=(tempDoubleI32[0]=HEAP32[(($arrayidx256)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx256+4)>>2)],tempDoubleF64[0]);
var $259=$C_j;
var $cmp257=$258 > $259;
if ($cmp257) { __label__ = 72; break; } else { __label__ = 73; break; }
case 72:
var $260=$C_j;
var $261=HEAP32[(($j84)>>2)];
var $alpha259=(($this1+20)|0);
var $262=HEAP32[(($alpha259)>>2)];
var $arrayidx260=(($262+($261<<3))|0);
(tempDoubleF64[0]=$260,HEAP32[(($arrayidx260)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx260+4)>>2)]=tempDoubleI32[1]);
var $263=$sum;
var $264=$C_j;
var $sub261=$263-$264;
var $265=HEAP32[(($i83)>>2)];
var $alpha262=(($this1+20)|0);
var $266=HEAP32[(($alpha262)>>2)];
var $arrayidx263=(($266+($265<<3))|0);
(tempDoubleF64[0]=$sub261,HEAP32[(($arrayidx263)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx263+4)>>2)]=tempDoubleI32[1]);
__label__ = 73; break;
case 73:
__label__ = 77; break;
case 74:
var $267=HEAP32[(($i83)>>2)];
var $alpha266=(($this1+20)|0);
var $268=HEAP32[(($alpha266)>>2)];
var $arrayidx267=(($268+($267<<3))|0);
var $269=(tempDoubleI32[0]=HEAP32[(($arrayidx267)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx267+4)>>2)],tempDoubleF64[0]);
var $cmp268=$269 < 0;
if ($cmp268) { __label__ = 75; break; } else { __label__ = 76; break; }
case 75:
var $270=HEAP32[(($i83)>>2)];
var $alpha270=(($this1+20)|0);
var $271=HEAP32[(($alpha270)>>2)];
var $arrayidx271=(($271+($270<<3))|0);
(tempDoubleF64[0]=0,HEAP32[(($arrayidx271)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx271+4)>>2)]=tempDoubleI32[1]);
var $272=$sum;
var $273=HEAP32[(($j84)>>2)];
var $alpha272=(($this1+20)|0);
var $274=HEAP32[(($alpha272)>>2)];
var $arrayidx273=(($274+($273<<3))|0);
(tempDoubleF64[0]=$272,HEAP32[(($arrayidx273)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx273+4)>>2)]=tempDoubleI32[1]);
__label__ = 76; break;
case 76:
__label__ = 77; break;
case 77:
__label__ = 78; break;
case 78:
var $275=HEAP32[(($i83)>>2)];
var $alpha277=(($this1+20)|0);
var $276=HEAP32[(($alpha277)>>2)];
var $arrayidx278=(($276+($275<<3))|0);
var $277=(tempDoubleI32[0]=HEAP32[(($arrayidx278)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx278+4)>>2)],tempDoubleF64[0]);
var $278=$old_alpha_i;
var $sub279=$277-$278;
$delta_alpha_i=$sub279;
var $279=HEAP32[(($j84)>>2)];
var $alpha280=(($this1+20)|0);
var $280=HEAP32[(($alpha280)>>2)];
var $arrayidx281=(($280+($279<<3))|0);
var $281=(tempDoubleI32[0]=HEAP32[(($arrayidx281)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx281+4)>>2)],tempDoubleF64[0]);
var $282=$old_alpha_j;
var $sub282=$281-$282;
$delta_alpha_j=$sub282;
$k=0;
__label__ = 79; break;
case 79:
var $283=$k;
var $active_size284=(($this1+4)|0);
var $284=HEAP32[(($active_size284)>>2)];
var $cmp285=(($283)|0) < (($284)|0);
if ($cmp285) { __label__ = 80; break; } else { __label__ = 82; break; }
case 80:
var $285=$k;
var $286=$Q_i99;
var $arrayidx287=(($286+($285<<2))|0);
var $287=HEAPF32[(($arrayidx287)>>2)];
var $conv288=$287;
var $288=$delta_alpha_i;
var $mul289=$conv288*$288;
var $289=$k;
var $290=$Q_j;
var $arrayidx290=(($290+($289<<2))|0);
var $291=HEAPF32[(($arrayidx290)>>2)];
var $conv291=$291;
var $292=$delta_alpha_j;
var $mul292=$conv291*$292;
var $add293=$mul289+$mul292;
var $293=$k;
var $G294=(($this1+12)|0);
var $294=HEAP32[(($G294)>>2)];
var $arrayidx295=(($294+($293<<3))|0);
var $295=(tempDoubleI32[0]=HEAP32[(($arrayidx295)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx295+4)>>2)],tempDoubleF64[0]);
var $add296=$295+$add293;
(tempDoubleF64[0]=$add296,HEAP32[(($arrayidx295)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx295+4)>>2)]=tempDoubleI32[1]);
__label__ = 81; break;
case 81:
var $296=$k;
var $inc298=(($296+1)|0);
$k=$inc298;
__label__ = 79; break;
case 82:
var $297=HEAP32[(($i83)>>2)];
var $call300=__ZN6Solver14is_upper_boundEi($this1, $297);
var $frombool=(($call300)&1);
$ui=$frombool;
var $298=HEAP32[(($j84)>>2)];
var $call301=__ZN6Solver14is_upper_boundEi($this1, $298);
var $frombool302=(($call301)&1);
$uj=$frombool302;
var $299=HEAP32[(($i83)>>2)];
__ZN6Solver19update_alpha_statusEi($this1, $299);
var $300=HEAP32[(($j84)>>2)];
__ZN6Solver19update_alpha_statusEi($this1, $300);
var $301=$ui;
var $tobool304=(($301) & 1);
var $conv305=(($tobool304)&1);
var $302=HEAP32[(($i83)>>2)];
var $call306=__ZN6Solver14is_upper_boundEi($this1, $302);
var $conv307=(($call306)&1);
var $cmp308=(($conv305)|0)!=(($conv307)|0);
if ($cmp308) { __label__ = 83; break; } else { __label__ = 95; break; }
case 83:
var $303=$Q_addr;
var $304=$303;
var $vtable310=HEAP32[(($304)>>2)];
var $vfn311=(($vtable310)|0);
var $305=HEAP32[(($vfn311)>>2)];
var $306=HEAP32[(($i83)>>2)];
var $307=$l_addr;
var $call312=FUNCTION_TABLE[$305]($303, $306, $307);
$Q_i99=$call312;
var $308=$ui;
var $tobool313=(($308) & 1);
if ($tobool313) { __label__ = 84; break; } else { __label__ = 89; break; }
case 84:
$k303=0;
__label__ = 85; break;
case 85:
var $309=$k303;
var $310=$l_addr;
var $cmp316=(($309)|0) < (($310)|0);
if ($cmp316) { __label__ = 86; break; } else { __label__ = 88; break; }
case 86:
var $311=$C_i;
var $312=$k303;
var $313=$Q_i99;
var $arrayidx318=(($313+($312<<2))|0);
var $314=HEAPF32[(($arrayidx318)>>2)];
var $conv319=$314;
var $mul320=$311*$conv319;
var $315=$k303;
var $G_bar321=(($this1+64)|0);
var $316=HEAP32[(($G_bar321)>>2)];
var $arrayidx322=(($316+($315<<3))|0);
var $317=(tempDoubleI32[0]=HEAP32[(($arrayidx322)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx322+4)>>2)],tempDoubleF64[0]);
var $sub323=$317-$mul320;
(tempDoubleF64[0]=$sub323,HEAP32[(($arrayidx322)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx322+4)>>2)]=tempDoubleI32[1]);
__label__ = 87; break;
case 87:
var $318=$k303;
var $inc325=(($318+1)|0);
$k303=$inc325;
__label__ = 85; break;
case 88:
__label__ = 94; break;
case 89:
$k303=0;
__label__ = 90; break;
case 90:
var $319=$k303;
var $320=$l_addr;
var $cmp329=(($319)|0) < (($320)|0);
if ($cmp329) { __label__ = 91; break; } else { __label__ = 93; break; }
case 91:
var $321=$C_i;
var $322=$k303;
var $323=$Q_i99;
var $arrayidx331=(($323+($322<<2))|0);
var $324=HEAPF32[(($arrayidx331)>>2)];
var $conv332=$324;
var $mul333=$321*$conv332;
var $325=$k303;
var $G_bar334=(($this1+64)|0);
var $326=HEAP32[(($G_bar334)>>2)];
var $arrayidx335=(($326+($325<<3))|0);
var $327=(tempDoubleI32[0]=HEAP32[(($arrayidx335)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx335+4)>>2)],tempDoubleF64[0]);
var $add336=$327+$mul333;
(tempDoubleF64[0]=$add336,HEAP32[(($arrayidx335)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx335+4)>>2)]=tempDoubleI32[1]);
__label__ = 92; break;
case 92:
var $328=$k303;
var $inc338=(($328+1)|0);
$k303=$inc338;
__label__ = 90; break;
case 93:
__label__ = 94; break;
case 94:
__label__ = 95; break;
case 95:
var $329=$uj;
var $tobool342=(($329) & 1);
var $conv343=(($tobool342)&1);
var $330=HEAP32[(($j84)>>2)];
var $call344=__ZN6Solver14is_upper_boundEi($this1, $330);
var $conv345=(($call344)&1);
var $cmp346=(($conv343)|0)!=(($conv345)|0);
if ($cmp346) { __label__ = 96; break; } else { __label__ = 108; break; }
case 96:
var $331=$Q_addr;
var $332=$331;
var $vtable348=HEAP32[(($332)>>2)];
var $vfn349=(($vtable348)|0);
var $333=HEAP32[(($vfn349)>>2)];
var $334=HEAP32[(($j84)>>2)];
var $335=$l_addr;
var $call350=FUNCTION_TABLE[$333]($331, $334, $335);
$Q_j=$call350;
var $336=$uj;
var $tobool351=(($336) & 1);
if ($tobool351) { __label__ = 97; break; } else { __label__ = 102; break; }
case 97:
$k303=0;
__label__ = 98; break;
case 98:
var $337=$k303;
var $338=$l_addr;
var $cmp354=(($337)|0) < (($338)|0);
if ($cmp354) { __label__ = 99; break; } else { __label__ = 101; break; }
case 99:
var $339=$C_j;
var $340=$k303;
var $341=$Q_j;
var $arrayidx356=(($341+($340<<2))|0);
var $342=HEAPF32[(($arrayidx356)>>2)];
var $conv357=$342;
var $mul358=$339*$conv357;
var $343=$k303;
var $G_bar359=(($this1+64)|0);
var $344=HEAP32[(($G_bar359)>>2)];
var $arrayidx360=(($344+($343<<3))|0);
var $345=(tempDoubleI32[0]=HEAP32[(($arrayidx360)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx360+4)>>2)],tempDoubleF64[0]);
var $sub361=$345-$mul358;
(tempDoubleF64[0]=$sub361,HEAP32[(($arrayidx360)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx360+4)>>2)]=tempDoubleI32[1]);
__label__ = 100; break;
case 100:
var $346=$k303;
var $inc363=(($346+1)|0);
$k303=$inc363;
__label__ = 98; break;
case 101:
__label__ = 107; break;
case 102:
$k303=0;
__label__ = 103; break;
case 103:
var $347=$k303;
var $348=$l_addr;
var $cmp367=(($347)|0) < (($348)|0);
if ($cmp367) { __label__ = 104; break; } else { __label__ = 106; break; }
case 104:
var $349=$C_j;
var $350=$k303;
var $351=$Q_j;
var $arrayidx369=(($351+($350<<2))|0);
var $352=HEAPF32[(($arrayidx369)>>2)];
var $conv370=$352;
var $mul371=$349*$conv370;
var $353=$k303;
var $G_bar372=(($this1+64)|0);
var $354=HEAP32[(($G_bar372)>>2)];
var $arrayidx373=(($354+($353<<3))|0);
var $355=(tempDoubleI32[0]=HEAP32[(($arrayidx373)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx373+4)>>2)],tempDoubleF64[0]);
var $add374=$355+$mul371;
(tempDoubleF64[0]=$add374,HEAP32[(($arrayidx373)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx373+4)>>2)]=tempDoubleI32[1]);
__label__ = 105; break;
case 105:
var $356=$k303;
var $inc376=(($356+1)|0);
$k303=$inc376;
__label__ = 103; break;
case 106:
__label__ = 107; break;
case 107:
__label__ = 108; break;
case 108:
__label__ = 33; break;
case 109:
var $357=$iter;
var $358=$max_iter;
var $cmp380=(($357)|0) >= (($358)|0);
if ($cmp380) { __label__ = 110; break; } else { __label__ = 113; break; }
case 110:
var $active_size382=(($this1+4)|0);
var $359=HEAP32[(($active_size382)>>2)];
var $360=$l_addr;
var $cmp383=(($359)|0) < (($360)|0);
if ($cmp383) { __label__ = 111; break; } else { __label__ = 112; break; }
case 111:
__ZN6Solver20reconstruct_gradientEv($this1);
var $361=$l_addr;
var $active_size385=(($this1+4)|0);
HEAP32[(($active_size385)>>2)]=$361;
__ZL4infoPKcz(((STRING_TABLE.__str2)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
__label__ = 112; break;
case 112:
__ZL4infoPKcz(((STRING_TABLE.__str3)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
__label__ = 113; break;
case 113:
var $362=$this1;
var $vtable388=HEAP32[(($362)>>2)];
var $vfn389=(($vtable388+12)|0);
var $363=HEAP32[(($vfn389)>>2)];
var $call390=FUNCTION_TABLE[$363]($this1);
var $364=$si_addr;
var $rho=(($364+8)|0);
(tempDoubleF64[0]=$call390,HEAP32[(($rho)>>2)]=tempDoubleI32[0],HEAP32[(($rho+4)>>2)]=tempDoubleI32[1]);
$v=0;
$i391=0;
__label__ = 114; break;
case 114:
var $365=$i391;
var $366=$l_addr;
var $cmp393=(($365)|0) < (($366)|0);
if ($cmp393) { __label__ = 115; break; } else { __label__ = 117; break; }
case 115:
var $367=$i391;
var $alpha395=(($this1+20)|0);
var $368=HEAP32[(($alpha395)>>2)];
var $arrayidx396=(($368+($367<<3))|0);
var $369=(tempDoubleI32[0]=HEAP32[(($arrayidx396)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx396+4)>>2)],tempDoubleF64[0]);
var $370=$i391;
var $G397=(($this1+12)|0);
var $371=HEAP32[(($G397)>>2)];
var $arrayidx398=(($371+($370<<3))|0);
var $372=(tempDoubleI32[0]=HEAP32[(($arrayidx398)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx398+4)>>2)],tempDoubleF64[0]);
var $373=$i391;
var $p399=(($this1+56)|0);
var $374=HEAP32[(($p399)>>2)];
var $arrayidx400=(($374+($373<<3))|0);
var $375=(tempDoubleI32[0]=HEAP32[(($arrayidx400)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx400+4)>>2)],tempDoubleF64[0]);
var $add401=$372+$375;
var $mul402=$369*$add401;
var $376=$v;
var $add403=$376+$mul402;
$v=$add403;
__label__ = 116; break;
case 116:
var $377=$i391;
var $inc405=(($377+1)|0);
$i391=$inc405;
__label__ = 114; break;
case 117:
var $378=$v;
var $div407=$378/2;
var $379=$si_addr;
var $obj=(($379)|0);
(tempDoubleF64[0]=$div407,HEAP32[(($obj)>>2)]=tempDoubleI32[0],HEAP32[(($obj+4)>>2)]=tempDoubleI32[1]);
$i408=0;
__label__ = 118; break;
case 118:
var $380=$i408;
var $381=$l_addr;
var $cmp410=(($380)|0) < (($381)|0);
if ($cmp410) { __label__ = 119; break; } else { __label__ = 121; break; }
case 119:
var $382=$i408;
var $alpha412=(($this1+20)|0);
var $383=HEAP32[(($alpha412)>>2)];
var $arrayidx413=(($383+($382<<3))|0);
var $384=(tempDoubleI32[0]=HEAP32[(($arrayidx413)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx413+4)>>2)],tempDoubleF64[0]);
var $385=$i408;
var $active_set414=(($this1+60)|0);
var $386=HEAP32[(($active_set414)>>2)];
var $arrayidx415=(($386+($385<<2))|0);
var $387=HEAP32[(($arrayidx415)>>2)];
var $388=$alpha__addr;
var $arrayidx416=(($388+($387<<3))|0);
(tempDoubleF64[0]=$384,HEAP32[(($arrayidx416)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx416+4)>>2)]=tempDoubleI32[1]);
__label__ = 120; break;
case 120:
var $389=$i408;
var $inc418=(($389+1)|0);
$i408=$inc418;
__label__ = 118; break;
case 121:
var $390=$Cp_addr;
var $391=$si_addr;
var $upper_bound_p=(($391+16)|0);
(tempDoubleF64[0]=$390,HEAP32[(($upper_bound_p)>>2)]=tempDoubleI32[0],HEAP32[(($upper_bound_p+4)>>2)]=tempDoubleI32[1]);
var $392=$Cn_addr;
var $393=$si_addr;
var $upper_bound_n=(($393+24)|0);
(tempDoubleF64[0]=$392,HEAP32[(($upper_bound_n)>>2)]=tempDoubleI32[0],HEAP32[(($upper_bound_n+4)>>2)]=tempDoubleI32[1]);
var $394=$iter;
__ZL4infoPKcz(((STRING_TABLE.__str4)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$394,tempInt));
var $p420=(($this1+56)|0);
var $395=HEAP32[(($p420)>>2)];
var $isnull=(($395)|0)==0;
if ($isnull) { __label__ = 123; break; } else { __label__ = 122; break; }
case 122:
var $396=$395;
__ZdaPv($396);
__label__ = 123; break;
case 123:
var $y421=(($this1+8)|0);
var $397=HEAP32[(($y421)>>2)];
var $isnull422=(($397)|0)==0;
if ($isnull422) { __label__ = 125; break; } else { __label__ = 124; break; }
case 124:
__ZdaPv($397);
__label__ = 125; break;
case 125:
var $alpha425=(($this1+20)|0);
var $398=HEAP32[(($alpha425)>>2)];
var $isnull426=(($398)|0)==0;
if ($isnull426) { __label__ = 127; break; } else { __label__ = 126; break; }
case 126:
var $399=$398;
__ZdaPv($399);
__label__ = 127; break;
case 127:
var $alpha_status429=(($this1+16)|0);
var $400=HEAP32[(($alpha_status429)>>2)];
var $isnull430=(($400)|0)==0;
if ($isnull430) { __label__ = 129; break; } else { __label__ = 128; break; }
case 128:
__ZdaPv($400);
__label__ = 129; break;
case 129:
var $active_set433=(($this1+60)|0);
var $401=HEAP32[(($active_set433)>>2)];
var $isnull434=(($401)|0)==0;
if ($isnull434) { __label__ = 131; break; } else { __label__ = 130; break; }
case 130:
var $402=$401;
__ZdaPv($402);
__label__ = 131; break;
case 131:
var $G437=(($this1+12)|0);
var $403=HEAP32[(($G437)>>2)];
var $isnull438=(($403)|0)==0;
if ($isnull438) { __label__ = 133; break; } else { __label__ = 132; break; }
case 132:
var $404=$403;
__ZdaPv($404);
__label__ = 133; break;
case 133:
var $G_bar441=(($this1+64)|0);
var $405=HEAP32[(($G_bar441)>>2)];
var $isnull442=(($405)|0)==0;
if ($isnull442) { __label__ = 135; break; } else { __label__ = 134; break; }
case 134:
var $406=$405;
__ZdaPv($406);
__label__ = 135; break;
case 135:
STACKTOP = __stackBase__;
return;
default: assert(0, "bad label: " + __label__);
}
}
__ZN6Solver5SolveEiRK7QMatrixPKdPKaPddddPNS_12SolutionInfoEi["X"]=1;
function __ZL3maxIiET_S0_S0_($x, $y) {
;
var __label__;
var $x_addr;
var $y_addr;
$x_addr=$x;
$y_addr=$y;
var $0=$x_addr;
var $1=$y_addr;
var $cmp=(($0)|0) > (($1)|0);
var $2=$x_addr;
var $3=$y_addr;
var $cond=$cmp ? $2 : $3;
;
return $cond;
}
function __ZL3minIiET_S0_S0_($x, $y) {
;
var __label__;
var $x_addr;
var $y_addr;
$x_addr=$x;
$y_addr=$y;
var $0=$x_addr;
var $1=$y_addr;
var $cmp=(($0)|0) < (($1)|0);
var $2=$x_addr;
var $3=$y_addr;
var $cond=$cmp ? $2 : $3;
;
return $cond;
}
function __ZN6Solver14is_lower_boundEi($this, $i) {
;
var __label__;
var $this_addr;
var $i_addr;
$this_addr=$this;
$i_addr=$i;
var $this1=$this_addr;
var $0=$i_addr;
var $alpha_status=(($this1+16)|0);
var $1=HEAP32[(($alpha_status)>>2)];
var $arrayidx=(($1+$0)|0);
var $2=HEAP8[($arrayidx)];
var $conv=(($2 << 24) >> 24);
var $cmp=(($conv)|0)==0;
;
return $cmp;
}
function __ZN6Solver14is_upper_boundEi($this, $i) {
;
var __label__;
var $this_addr;
var $i_addr;
$this_addr=$this;
$i_addr=$i;
var $this1=$this_addr;
var $0=$i_addr;
var $alpha_status=(($this1+16)|0);
var $1=HEAP32[(($alpha_status)>>2)];
var $arrayidx=(($1+$0)|0);
var $2=HEAP8[($arrayidx)];
var $conv=(($2 << 24) >> 24);
var $cmp=(($conv)|0)==1;
;
return $cmp;
}
function __ZN6Solver5get_CEi($this, $i) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $i_addr;
$this_addr=$this;
$i_addr=$i;
var $this1=$this_addr;
var $0=$i_addr;
var $y=(($this1+8)|0);
var $1=HEAP32[(($y)>>2)];
var $arrayidx=(($1+$0)|0);
var $2=HEAP8[($arrayidx)];
var $conv=(($2 << 24) >> 24);
var $cmp=(($conv)|0) > 0;
if ($cmp) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $Cp=(($this1+40)|0);
var $3=(tempDoubleI32[0]=HEAP32[(($Cp)>>2)],tempDoubleI32[1]=HEAP32[(($Cp+4)>>2)],tempDoubleF64[0]);
var $cond = $3;__label__ = 4; break;
case 3:
var $Cn=(($this1+48)|0);
var $4=(tempDoubleI32[0]=HEAP32[(($Cn)>>2)],tempDoubleI32[1]=HEAP32[(($Cn+4)>>2)],tempDoubleF64[0]);
var $cond = $4;__label__ = 4; break;
case 4:
var $cond;
;
return $cond;
default: assert(0, "bad label: " + __label__);
}
}
function __ZL5cloneIKddEvRPT0_PT_i($dst, $src, $n) {
;
var __label__;
var $dst_addr;
var $src_addr;
var $n_addr;
$dst_addr=$dst;
$src_addr=$src;
$n_addr=$n;
var $0=$n_addr;
var $1=_llvm_umul_with_overflow_i32($0, 8);
var $2=$1.f1;
var $3=$1.f0;
var $4=$2 ? -1 : $3;
var $call=__Znaj($4);
var $5=$call;
var $6=$dst_addr;
HEAP32[(($6)>>2)]=$5;
var $7=$dst_addr;
var $8=HEAP32[(($7)>>2)];
var $9=$8;
var $10=$src_addr;
var $11=$10;
var $12=$n_addr;
var $mul=((($12<<3))|0);
assert($mul % 1 === 0, 'memcpy given ' + $mul + ' bytes to copy. Problem with quantum=1 corrections perhaps?');_memcpy($9, $11, $mul, 1);
;
return;
}
function __ZL5cloneIKaaEvRPT0_PT_i($dst, $src, $n) {
;
var __label__;
var $dst_addr;
var $src_addr;
var $n_addr;
$dst_addr=$dst;
$src_addr=$src;
$n_addr=$n;
var $0=$n_addr;
var $1=(($0)|0) < 0;
var $2=$1 ? -1 : $0;
var $call=__Znaj($2);
var $3=$dst_addr;
HEAP32[(($3)>>2)]=$call;
var $4=$dst_addr;
var $5=HEAP32[(($4)>>2)];
var $6=$src_addr;
var $7=$n_addr;
var $mul=(($7)|0);
assert($mul % 1 === 0, 'memcpy given ' + $mul + ' bytes to copy. Problem with quantum=1 corrections perhaps?');_memcpy($5, $6, $mul, 1);
;
return;
}
function __ZL5cloneIddEvRPT0_PT_i($dst, $src, $n) {
;
var __label__;
var $dst_addr;
var $src_addr;
var $n_addr;
$dst_addr=$dst;
$src_addr=$src;
$n_addr=$n;
var $0=$n_addr;
var $1=_llvm_umul_with_overflow_i32($0, 8);
var $2=$1.f1;
var $3=$1.f0;
var $4=$2 ? -1 : $3;
var $call=__Znaj($4);
var $5=$call;
var $6=$dst_addr;
HEAP32[(($6)>>2)]=$5;
var $7=$dst_addr;
var $8=HEAP32[(($7)>>2)];
var $9=$8;
var $10=$src_addr;
var $11=$10;
var $12=$n_addr;
var $mul=((($12<<3))|0);
assert($mul % 1 === 0, 'memcpy given ' + $mul + ' bytes to copy. Problem with quantum=1 corrections perhaps?');_memcpy($9, $11, $mul, 1);
;
return;
}
function __ZN6Solver19update_alpha_statusEi($this, $i) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $i_addr;
$this_addr=$this;
$i_addr=$i;
var $this1=$this_addr;
var $0=$i_addr;
var $alpha=(($this1+20)|0);
var $1=HEAP32[(($alpha)>>2)];
var $arrayidx=(($1+($0<<3))|0);
var $2=(tempDoubleI32[0]=HEAP32[(($arrayidx)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx+4)>>2)],tempDoubleF64[0]);
var $3=$i_addr;
var $call=__ZN6Solver5get_CEi($this1, $3);
var $cmp=$2 >= $call;
if ($cmp) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $4=$i_addr;
var $alpha_status=(($this1+16)|0);
var $5=HEAP32[(($alpha_status)>>2)];
var $arrayidx2=(($5+$4)|0);
HEAP8[($arrayidx2)]=1;
__label__ = 7; break;
case 3:
var $6=$i_addr;
var $alpha3=(($this1+20)|0);
var $7=HEAP32[(($alpha3)>>2)];
var $arrayidx4=(($7+($6<<3))|0);
var $8=(tempDoubleI32[0]=HEAP32[(($arrayidx4)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx4+4)>>2)],tempDoubleF64[0]);
var $cmp5=$8 <= 0;
if ($cmp5) { __label__ = 4; break; } else { __label__ = 5; break; }
case 4:
var $9=$i_addr;
var $alpha_status7=(($this1+16)|0);
var $10=HEAP32[(($alpha_status7)>>2)];
var $arrayidx8=(($10+$9)|0);
HEAP8[($arrayidx8)]=0;
__label__ = 6; break;
case 5:
var $11=$i_addr;
var $alpha_status10=(($this1+16)|0);
var $12=HEAP32[(($alpha_status10)>>2)];
var $arrayidx11=(($12+$11)|0);
HEAP8[($arrayidx11)]=2;
__label__ = 6; break;
case 6:
__label__ = 7; break;
case 7:
;
return;
default: assert(0, "bad label: " + __label__);
}
}
function __ZN6Solver18select_working_setERiS0_($this, $out_i, $out_j) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $retval;
var $this_addr;
var $out_i_addr;
var $out_j_addr;
var $Gmax;
var $Gmax2;
var $Gmax_idx;
var $Gmin_idx;
var $obj_diff_min;
var $t;
var $i;
var $Q_i;
var $j;
var $grad_diff;
var $obj_diff;
var $quad_coef;
var $grad_diff78;
var $obj_diff93;
var $quad_coef94;
$this_addr=$this;
$out_i_addr=$out_i;
$out_j_addr=$out_j;
var $this1=$this_addr;
$Gmax=-Infinity;
$Gmax2=-Infinity;
$Gmax_idx=-1;
$Gmin_idx=-1;
$obj_diff_min=Infinity;
$t=0;
__label__ = 2; break;
case 2:
var $0=$t;
var $active_size=(($this1+4)|0);
var $1=HEAP32[(($active_size)>>2)];
var $cmp=(($0)|0) < (($1)|0);
if ($cmp) { __label__ = 3; break; } else { __label__ = 16; break; }
case 3:
var $2=$t;
var $y=(($this1+8)|0);
var $3=HEAP32[(($y)>>2)];
var $arrayidx=(($3+$2)|0);
var $4=HEAP8[($arrayidx)];
var $conv=(($4 << 24) >> 24);
var $cmp2=(($conv)|0)==1;
if ($cmp2) { __label__ = 4; break; } else { __label__ = 9; break; }
case 4:
var $5=$t;
var $call=__ZN6Solver14is_upper_boundEi($this1, $5);
if ($call) { __label__ = 8; break; } else { __label__ = 5; break; }
case 5:
var $6=$t;
var $G=(($this1+12)|0);
var $7=HEAP32[(($G)>>2)];
var $arrayidx4=(($7+($6<<3))|0);
var $8=(tempDoubleI32[0]=HEAP32[(($arrayidx4)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx4+4)>>2)],tempDoubleF64[0]);
var $sub=(-$8);
var $9=$Gmax;
var $cmp5=$sub >= $9;
if ($cmp5) { __label__ = 6; break; } else { __label__ = 7; break; }
case 6:
var $10=$t;
var $G7=(($this1+12)|0);
var $11=HEAP32[(($G7)>>2)];
var $arrayidx8=(($11+($10<<3))|0);
var $12=(tempDoubleI32[0]=HEAP32[(($arrayidx8)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx8+4)>>2)],tempDoubleF64[0]);
var $sub9=(-$12);
$Gmax=$sub9;
var $13=$t;
$Gmax_idx=$13;
__label__ = 7; break;
case 7:
__label__ = 8; break;
case 8:
__label__ = 14; break;
case 9:
var $14=$t;
var $call11=__ZN6Solver14is_lower_boundEi($this1, $14);
if ($call11) { __label__ = 13; break; } else { __label__ = 10; break; }
case 10:
var $15=$t;
var $G13=(($this1+12)|0);
var $16=HEAP32[(($G13)>>2)];
var $arrayidx14=(($16+($15<<3))|0);
var $17=(tempDoubleI32[0]=HEAP32[(($arrayidx14)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx14+4)>>2)],tempDoubleF64[0]);
var $18=$Gmax;
var $cmp15=$17 >= $18;
if ($cmp15) { __label__ = 11; break; } else { __label__ = 12; break; }
case 11:
var $19=$t;
var $G17=(($this1+12)|0);
var $20=HEAP32[(($G17)>>2)];
var $arrayidx18=(($20+($19<<3))|0);
var $21=(tempDoubleI32[0]=HEAP32[(($arrayidx18)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx18+4)>>2)],tempDoubleF64[0]);
$Gmax=$21;
var $22=$t;
$Gmax_idx=$22;
__label__ = 12; break;
case 12:
__label__ = 13; break;
case 13:
__label__ = 14; break;
case 14:
__label__ = 15; break;
case 15:
var $23=$t;
var $inc=(($23+1)|0);
$t=$inc;
__label__ = 2; break;
case 16:
var $24=$Gmax_idx;
$i=$24;
$Q_i=0;
var $25=$i;
var $cmp22=(($25)|0)!=-1;
if ($cmp22) { __label__ = 17; break; } else { __label__ = 18; break; }
case 17:
var $Q=(($this1+24)|0);
var $26=HEAP32[(($Q)>>2)];
var $27=$26;
var $vtable=HEAP32[(($27)>>2)];
var $vfn=(($vtable)|0);
var $28=HEAP32[(($vfn)>>2)];
var $29=$i;
var $active_size24=(($this1+4)|0);
var $30=HEAP32[(($active_size24)>>2)];
var $call25=FUNCTION_TABLE[$28]($26, $29, $30);
$Q_i=$call25;
__label__ = 18; break;
case 18:
$j=0;
__label__ = 19; break;
case 19:
var $31=$j;
var $active_size28=(($this1+4)|0);
var $32=HEAP32[(($active_size28)>>2)];
var $cmp29=(($31)|0) < (($32)|0);
if ($cmp29) { __label__ = 20; break; } else { __label__ = 47; break; }
case 20:
var $33=$j;
var $y31=(($this1+8)|0);
var $34=HEAP32[(($y31)>>2)];
var $arrayidx32=(($34+$33)|0);
var $35=HEAP8[($arrayidx32)];
var $conv33=(($35 << 24) >> 24);
var $cmp34=(($conv33)|0)==1;
if ($cmp34) { __label__ = 21; break; } else { __label__ = 33; break; }
case 21:
var $36=$j;
var $call36=__ZN6Solver14is_lower_boundEi($this1, $36);
if ($call36) { __label__ = 32; break; } else { __label__ = 22; break; }
case 22:
var $37=$Gmax;
var $38=$j;
var $G38=(($this1+12)|0);
var $39=HEAP32[(($G38)>>2)];
var $arrayidx39=(($39+($38<<3))|0);
var $40=(tempDoubleI32[0]=HEAP32[(($arrayidx39)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx39+4)>>2)],tempDoubleF64[0]);
var $add=$37+$40;
$grad_diff=$add;
var $41=$j;
var $G40=(($this1+12)|0);
var $42=HEAP32[(($G40)>>2)];
var $arrayidx41=(($42+($41<<3))|0);
var $43=(tempDoubleI32[0]=HEAP32[(($arrayidx41)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx41+4)>>2)],tempDoubleF64[0]);
var $44=$Gmax2;
var $cmp42=$43 >= $44;
if ($cmp42) { __label__ = 23; break; } else { __label__ = 24; break; }
case 23:
var $45=$j;
var $G44=(($this1+12)|0);
var $46=HEAP32[(($G44)>>2)];
var $arrayidx45=(($46+($45<<3))|0);
var $47=(tempDoubleI32[0]=HEAP32[(($arrayidx45)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx45+4)>>2)],tempDoubleF64[0]);
$Gmax2=$47;
__label__ = 24; break;
case 24:
var $48=$grad_diff;
var $cmp47=$48 > 0;
if ($cmp47) { __label__ = 25; break; } else { __label__ = 31; break; }
case 25:
var $49=$i;
var $QD=(($this1+28)|0);
var $50=HEAP32[(($QD)>>2)];
var $arrayidx49=(($50+($49<<3))|0);
var $51=(tempDoubleI32[0]=HEAP32[(($arrayidx49)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx49+4)>>2)],tempDoubleF64[0]);
var $52=$j;
var $QD50=(($this1+28)|0);
var $53=HEAP32[(($QD50)>>2)];
var $arrayidx51=(($53+($52<<3))|0);
var $54=(tempDoubleI32[0]=HEAP32[(($arrayidx51)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx51+4)>>2)],tempDoubleF64[0]);
var $add52=$51+$54;
var $55=$i;
var $y53=(($this1+8)|0);
var $56=HEAP32[(($y53)>>2)];
var $arrayidx54=(($56+$55)|0);
var $57=HEAP8[($arrayidx54)];
var $conv55=(($57 << 24) >> 24);
var $conv56=(($conv55)|0);
var $mul=$conv56*2;
var $58=$j;
var $59=$Q_i;
var $arrayidx57=(($59+($58<<2))|0);
var $60=HEAPF32[(($arrayidx57)>>2)];
var $conv58=$60;
var $mul59=$mul*$conv58;
var $sub60=$add52-$mul59;
$quad_coef=$sub60;
var $61=$quad_coef;
var $cmp61=$61 > 0;
if ($cmp61) { __label__ = 26; break; } else { __label__ = 27; break; }
case 26:
var $62=$grad_diff;
var $63=$grad_diff;
var $mul63=$62*$63;
var $sub64=(-$mul63);
var $64=$quad_coef;
var $div=$sub64/$64;
$obj_diff=$div;
__label__ = 28; break;
case 27:
var $65=$grad_diff;
var $66=$grad_diff;
var $mul66=$65*$66;
var $sub67=(-$mul66);
var $div68=$sub67/1e-12;
$obj_diff=$div68;
__label__ = 28; break;
case 28:
var $67=$obj_diff;
var $68=$obj_diff_min;
var $cmp70=$67 <= $68;
if ($cmp70) { __label__ = 29; break; } else { __label__ = 30; break; }
case 29:
var $69=$j;
$Gmin_idx=$69;
var $70=$obj_diff;
$obj_diff_min=$70;
__label__ = 30; break;
case 30:
__label__ = 31; break;
case 31:
__label__ = 32; break;
case 32:
__label__ = 45; break;
case 33:
var $71=$j;
var $call76=__ZN6Solver14is_upper_boundEi($this1, $71);
if ($call76) { __label__ = 44; break; } else { __label__ = 34; break; }
case 34:
var $72=$Gmax;
var $73=$j;
var $G79=(($this1+12)|0);
var $74=HEAP32[(($G79)>>2)];
var $arrayidx80=(($74+($73<<3))|0);
var $75=(tempDoubleI32[0]=HEAP32[(($arrayidx80)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx80+4)>>2)],tempDoubleF64[0]);
var $sub81=$72-$75;
$grad_diff78=$sub81;
var $76=$j;
var $G82=(($this1+12)|0);
var $77=HEAP32[(($G82)>>2)];
var $arrayidx83=(($77+($76<<3))|0);
var $78=(tempDoubleI32[0]=HEAP32[(($arrayidx83)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx83+4)>>2)],tempDoubleF64[0]);
var $sub84=(-$78);
var $79=$Gmax2;
var $cmp85=$sub84 >= $79;
if ($cmp85) { __label__ = 35; break; } else { __label__ = 36; break; }
case 35:
var $80=$j;
var $G87=(($this1+12)|0);
var $81=HEAP32[(($G87)>>2)];
var $arrayidx88=(($81+($80<<3))|0);
var $82=(tempDoubleI32[0]=HEAP32[(($arrayidx88)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx88+4)>>2)],tempDoubleF64[0]);
var $sub89=(-$82);
$Gmax2=$sub89;
__label__ = 36; break;
case 36:
var $83=$grad_diff78;
var $cmp91=$83 > 0;
if ($cmp91) { __label__ = 37; break; } else { __label__ = 43; break; }
case 37:
var $84=$i;
var $QD95=(($this1+28)|0);
var $85=HEAP32[(($QD95)>>2)];
var $arrayidx96=(($85+($84<<3))|0);
var $86=(tempDoubleI32[0]=HEAP32[(($arrayidx96)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx96+4)>>2)],tempDoubleF64[0]);
var $87=$j;
var $QD97=(($this1+28)|0);
var $88=HEAP32[(($QD97)>>2)];
var $arrayidx98=(($88+($87<<3))|0);
var $89=(tempDoubleI32[0]=HEAP32[(($arrayidx98)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx98+4)>>2)],tempDoubleF64[0]);
var $add99=$86+$89;
var $90=$i;
var $y100=(($this1+8)|0);
var $91=HEAP32[(($y100)>>2)];
var $arrayidx101=(($91+$90)|0);
var $92=HEAP8[($arrayidx101)];
var $conv102=(($92 << 24) >> 24);
var $conv103=(($conv102)|0);
var $mul104=$conv103*2;
var $93=$j;
var $94=$Q_i;
var $arrayidx105=(($94+($93<<2))|0);
var $95=HEAPF32[(($arrayidx105)>>2)];
var $conv106=$95;
var $mul107=$mul104*$conv106;
var $add108=$add99+$mul107;
$quad_coef94=$add108;
var $96=$quad_coef94;
var $cmp109=$96 > 0;
if ($cmp109) { __label__ = 38; break; } else { __label__ = 39; break; }
case 38:
var $97=$grad_diff78;
var $98=$grad_diff78;
var $mul111=$97*$98;
var $sub112=(-$mul111);
var $99=$quad_coef94;
var $div113=$sub112/$99;
$obj_diff93=$div113;
__label__ = 40; break;
case 39:
var $100=$grad_diff78;
var $101=$grad_diff78;
var $mul115=$100*$101;
var $sub116=(-$mul115);
var $div117=$sub116/1e-12;
$obj_diff93=$div117;
__label__ = 40; break;
case 40:
var $102=$obj_diff93;
var $103=$obj_diff_min;
var $cmp119=$102 <= $103;
if ($cmp119) { __label__ = 41; break; } else { __label__ = 42; break; }
case 41:
var $104=$j;
$Gmin_idx=$104;
var $105=$obj_diff93;
$obj_diff_min=$105;
__label__ = 42; break;
case 42:
__label__ = 43; break;
case 43:
__label__ = 44; break;
case 44:
__label__ = 45; break;
case 45:
__label__ = 46; break;
case 46:
var $106=$j;
var $inc126=(($106+1)|0);
$j=$inc126;
__label__ = 19; break;
case 47:
var $107=$Gmax;
var $108=$Gmax2;
var $add128=$107+$108;
var $eps=(($this1+32)|0);
var $109=(tempDoubleI32[0]=HEAP32[(($eps)>>2)],tempDoubleI32[1]=HEAP32[(($eps+4)>>2)],tempDoubleF64[0]);
var $cmp129=$add128 < $109;
if ($cmp129) { __label__ = 48; break; } else { __label__ = 49; break; }
case 48:
$retval=1;
__label__ = 50; break;
case 49:
var $110=$Gmax_idx;
var $111=$out_i_addr;
HEAP32[(($111)>>2)]=$110;
var $112=$Gmin_idx;
var $113=$out_j_addr;
HEAP32[(($113)>>2)]=$112;
$retval=0;
__label__ = 50; break;
case 50:
var $114=$retval;
;
return $114;
default: assert(0, "bad label: " + __label__);
}
}
__ZN6Solver18select_working_setERiS0_["X"]=1;
function __ZN6Solver9be_shrunkEidd($this, $i, $Gmax1, $Gmax2) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $retval;
var $this_addr;
var $i_addr;
var $Gmax1_addr;
var $Gmax2_addr;
$this_addr=$this;
$i_addr=$i;
$Gmax1_addr=$Gmax1;
$Gmax2_addr=$Gmax2;
var $this1=$this_addr;
var $0=$i_addr;
var $call=__ZN6Solver14is_upper_boundEi($this1, $0);
if ($call) { __label__ = 2; break; } else { __label__ = 5; break; }
case 2:
var $1=$i_addr;
var $y=(($this1+8)|0);
var $2=HEAP32[(($y)>>2)];
var $arrayidx=(($2+$1)|0);
var $3=HEAP8[($arrayidx)];
var $conv=(($3 << 24) >> 24);
var $cmp=(($conv)|0)==1;
if ($cmp) { __label__ = 3; break; } else { __label__ = 4; break; }
case 3:
var $4=$i_addr;
var $G=(($this1+12)|0);
var $5=HEAP32[(($G)>>2)];
var $arrayidx3=(($5+($4<<3))|0);
var $6=(tempDoubleI32[0]=HEAP32[(($arrayidx3)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx3+4)>>2)],tempDoubleF64[0]);
var $sub=(-$6);
var $7=$Gmax1_addr;
var $cmp4=$sub > $7;
$retval=$cmp4;
__label__ = 10; break;
case 4:
var $8=$i_addr;
var $G5=(($this1+12)|0);
var $9=HEAP32[(($G5)>>2)];
var $arrayidx6=(($9+($8<<3))|0);
var $10=(tempDoubleI32[0]=HEAP32[(($arrayidx6)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx6+4)>>2)],tempDoubleF64[0]);
var $sub7=(-$10);
var $11=$Gmax2_addr;
var $cmp8=$sub7 > $11;
$retval=$cmp8;
__label__ = 10; break;
case 5:
var $12=$i_addr;
var $call10=__ZN6Solver14is_lower_boundEi($this1, $12);
if ($call10) { __label__ = 6; break; } else { __label__ = 9; break; }
case 6:
var $13=$i_addr;
var $y12=(($this1+8)|0);
var $14=HEAP32[(($y12)>>2)];
var $arrayidx13=(($14+$13)|0);
var $15=HEAP8[($arrayidx13)];
var $conv14=(($15 << 24) >> 24);
var $cmp15=(($conv14)|0)==1;
if ($cmp15) { __label__ = 7; break; } else { __label__ = 8; break; }
case 7:
var $16=$i_addr;
var $G17=(($this1+12)|0);
var $17=HEAP32[(($G17)>>2)];
var $arrayidx18=(($17+($16<<3))|0);
var $18=(tempDoubleI32[0]=HEAP32[(($arrayidx18)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx18+4)>>2)],tempDoubleF64[0]);
var $19=$Gmax2_addr;
var $cmp19=$18 > $19;
$retval=$cmp19;
__label__ = 10; break;
case 8:
var $20=$i_addr;
var $G21=(($this1+12)|0);
var $21=HEAP32[(($G21)>>2)];
var $arrayidx22=(($21+($20<<3))|0);
var $22=(tempDoubleI32[0]=HEAP32[(($arrayidx22)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx22+4)>>2)],tempDoubleF64[0]);
var $23=$Gmax1_addr;
var $cmp23=$22 > $23;
$retval=$cmp23;
__label__ = 10; break;
case 9:
$retval=0;
__label__ = 10; break;
case 10:
var $24=$retval;
;
return $24;
default: assert(0, "bad label: " + __label__);
}
}
__ZN6Solver9be_shrunkEidd["X"]=1;
function __ZN6Solver12do_shrinkingEv($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $i;
var $Gmax1;
var $Gmax2;
$this_addr=$this;
var $this1=$this_addr;
$Gmax1=-Infinity;
$Gmax2=-Infinity;
$i=0;
__label__ = 2; break;
case 2:
var $0=$i;
var $active_size=(($this1+4)|0);
var $1=HEAP32[(($active_size)>>2)];
var $cmp=(($0)|0) < (($1)|0);
if ($cmp) { __label__ = 3; break; } else { __label__ = 24; break; }
case 3:
var $2=$i;
var $y=(($this1+8)|0);
var $3=HEAP32[(($y)>>2)];
var $arrayidx=(($3+$2)|0);
var $4=HEAP8[($arrayidx)];
var $conv=(($4 << 24) >> 24);
var $cmp2=(($conv)|0)==1;
if ($cmp2) { __label__ = 4; break; } else { __label__ = 13; break; }
case 4:
var $5=$i;
var $call=__ZN6Solver14is_upper_boundEi($this1, $5);
if ($call) { __label__ = 8; break; } else { __label__ = 5; break; }
case 5:
var $6=$i;
var $G=(($this1+12)|0);
var $7=HEAP32[(($G)>>2)];
var $arrayidx4=(($7+($6<<3))|0);
var $8=(tempDoubleI32[0]=HEAP32[(($arrayidx4)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx4+4)>>2)],tempDoubleF64[0]);
var $sub=(-$8);
var $9=$Gmax1;
var $cmp5=$sub >= $9;
if ($cmp5) { __label__ = 6; break; } else { __label__ = 7; break; }
case 6:
var $10=$i;
var $G7=(($this1+12)|0);
var $11=HEAP32[(($G7)>>2)];
var $arrayidx8=(($11+($10<<3))|0);
var $12=(tempDoubleI32[0]=HEAP32[(($arrayidx8)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx8+4)>>2)],tempDoubleF64[0]);
var $sub9=(-$12);
$Gmax1=$sub9;
__label__ = 7; break;
case 7:
__label__ = 8; break;
case 8:
var $13=$i;
var $call11=__ZN6Solver14is_lower_boundEi($this1, $13);
if ($call11) { __label__ = 12; break; } else { __label__ = 9; break; }
case 9:
var $14=$i;
var $G13=(($this1+12)|0);
var $15=HEAP32[(($G13)>>2)];
var $arrayidx14=(($15+($14<<3))|0);
var $16=(tempDoubleI32[0]=HEAP32[(($arrayidx14)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx14+4)>>2)],tempDoubleF64[0]);
var $17=$Gmax2;
var $cmp15=$16 >= $17;
if ($cmp15) { __label__ = 10; break; } else { __label__ = 11; break; }
case 10:
var $18=$i;
var $G17=(($this1+12)|0);
var $19=HEAP32[(($G17)>>2)];
var $arrayidx18=(($19+($18<<3))|0);
var $20=(tempDoubleI32[0]=HEAP32[(($arrayidx18)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx18+4)>>2)],tempDoubleF64[0]);
$Gmax2=$20;
__label__ = 11; break;
case 11:
__label__ = 12; break;
case 12:
__label__ = 22; break;
case 13:
var $21=$i;
var $call21=__ZN6Solver14is_upper_boundEi($this1, $21);
if ($call21) { __label__ = 17; break; } else { __label__ = 14; break; }
case 14:
var $22=$i;
var $G23=(($this1+12)|0);
var $23=HEAP32[(($G23)>>2)];
var $arrayidx24=(($23+($22<<3))|0);
var $24=(tempDoubleI32[0]=HEAP32[(($arrayidx24)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx24+4)>>2)],tempDoubleF64[0]);
var $sub25=(-$24);
var $25=$Gmax2;
var $cmp26=$sub25 >= $25;
if ($cmp26) { __label__ = 15; break; } else { __label__ = 16; break; }
case 15:
var $26=$i;
var $G28=(($this1+12)|0);
var $27=HEAP32[(($G28)>>2)];
var $arrayidx29=(($27+($26<<3))|0);
var $28=(tempDoubleI32[0]=HEAP32[(($arrayidx29)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx29+4)>>2)],tempDoubleF64[0]);
var $sub30=(-$28);
$Gmax2=$sub30;
__label__ = 16; break;
case 16:
__label__ = 17; break;
case 17:
var $29=$i;
var $call33=__ZN6Solver14is_lower_boundEi($this1, $29);
if ($call33) { __label__ = 21; break; } else { __label__ = 18; break; }
case 18:
var $30=$i;
var $G35=(($this1+12)|0);
var $31=HEAP32[(($G35)>>2)];
var $arrayidx36=(($31+($30<<3))|0);
var $32=(tempDoubleI32[0]=HEAP32[(($arrayidx36)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx36+4)>>2)],tempDoubleF64[0]);
var $33=$Gmax1;
var $cmp37=$32 >= $33;
if ($cmp37) { __label__ = 19; break; } else { __label__ = 20; break; }
case 19:
var $34=$i;
var $G39=(($this1+12)|0);
var $35=HEAP32[(($G39)>>2)];
var $arrayidx40=(($35+($34<<3))|0);
var $36=(tempDoubleI32[0]=HEAP32[(($arrayidx40)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx40+4)>>2)],tempDoubleF64[0]);
$Gmax1=$36;
__label__ = 20; break;
case 20:
__label__ = 21; break;
case 21:
__label__ = 22; break;
case 22:
__label__ = 23; break;
case 23:
var $37=$i;
var $inc=(($37+1)|0);
$i=$inc;
__label__ = 2; break;
case 24:
var $unshrink=(($this1+72)|0);
var $38=HEAP8[($unshrink)];
var $tobool=(($38) & 1);
var $conv44=(($tobool)&1);
var $cmp45=(($conv44)|0)==0;
if ($cmp45) { __label__ = 25; break; } else { __label__ = 27; break; }
case 25:
var $39=$Gmax1;
var $40=$Gmax2;
var $add=$39+$40;
var $eps=(($this1+32)|0);
var $41=(tempDoubleI32[0]=HEAP32[(($eps)>>2)],tempDoubleI32[1]=HEAP32[(($eps+4)>>2)],tempDoubleF64[0]);
var $mul=$41*10;
var $cmp46=$add <= $mul;
if ($cmp46) { __label__ = 26; break; } else { __label__ = 27; break; }
case 26:
var $unshrink48=(($this1+72)|0);
HEAP8[($unshrink48)]=1;
__ZN6Solver20reconstruct_gradientEv($this1);
var $l=(($this1+68)|0);
var $42=HEAP32[(($l)>>2)];
var $active_size49=(($this1+4)|0);
HEAP32[(($active_size49)>>2)]=$42;
__ZL4infoPKcz(((STRING_TABLE.__str2)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
__label__ = 27; break;
case 27:
$i=0;
__label__ = 28; break;
case 28:
var $43=$i;
var $active_size52=(($this1+4)|0);
var $44=HEAP32[(($active_size52)>>2)];
var $cmp53=(($43)|0) < (($44)|0);
if ($cmp53) { __label__ = 29; break; } else { __label__ = 38; break; }
case 29:
var $45=$i;
var $46=$Gmax1;
var $47=$Gmax2;
var $call55=__ZN6Solver9be_shrunkEidd($this1, $45, $46, $47);
if ($call55) { __label__ = 30; break; } else { __label__ = 36; break; }
case 30:
var $active_size57=(($this1+4)|0);
var $48=HEAP32[(($active_size57)>>2)];
var $dec=(($48-1)|0);
HEAP32[(($active_size57)>>2)]=$dec;
__label__ = 31; break;
case 31:
var $active_size58=(($this1+4)|0);
var $49=HEAP32[(($active_size58)>>2)];
var $50=$i;
var $cmp59=(($49)|0) > (($50)|0);
if ($cmp59) { __label__ = 32; break; } else { __label__ = 35; break; }
case 32:
var $active_size60=(($this1+4)|0);
var $51=HEAP32[(($active_size60)>>2)];
var $52=$Gmax1;
var $53=$Gmax2;
var $call61=__ZN6Solver9be_shrunkEidd($this1, $51, $52, $53);
if ($call61) { __label__ = 34; break; } else { __label__ = 33; break; }
case 33:
var $54=$i;
var $active_size63=(($this1+4)|0);
var $55=HEAP32[(($active_size63)>>2)];
__ZN6Solver10swap_indexEii($this1, $54, $55);
__label__ = 35; break;
case 34:
var $active_size65=(($this1+4)|0);
var $56=HEAP32[(($active_size65)>>2)];
var $dec66=(($56-1)|0);
HEAP32[(($active_size65)>>2)]=$dec66;
__label__ = 31; break;
case 35:
__label__ = 36; break;
case 36:
__label__ = 37; break;
case 37:
var $57=$i;
var $inc69=(($57+1)|0);
$i=$inc69;
__label__ = 28; break;
case 38:
;
return;
default: assert(0, "bad label: " + __label__);
}
}
__ZN6Solver12do_shrinkingEv["X"]=1;
function __ZL3minIdET_S0_S0_($x, $y) {
;
var __label__;
var $x_addr;
var $y_addr;
$x_addr=$x;
$y_addr=$y;
var $0=$x_addr;
var $1=$y_addr;
var $cmp=$0 < $1;
var $2=$x_addr;
var $3=$y_addr;
var $cond=$cmp ? $2 : $3;
;
return $cond;
}
function __ZL3maxIdET_S0_S0_($x, $y) {
;
var __label__;
var $x_addr;
var $y_addr;
$x_addr=$x;
$y_addr=$y;
var $0=$x_addr;
var $1=$y_addr;
var $cmp=$0 > $1;
var $2=$x_addr;
var $3=$y_addr;
var $cond=$cmp ? $2 : $3;
;
return $cond;
}
function __ZN6Solver13calculate_rhoEv($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $r;
var $nr_free;
var $ub;
var $lb;
var $sum_free;
var $i;
var $yG;
$this_addr=$this;
var $this1=$this_addr;
$nr_free=0;
$ub=Infinity;
$lb=-Infinity;
$sum_free=0;
$i=0;
__label__ = 2; break;
case 2:
var $0=$i;
var $active_size=(($this1+4)|0);
var $1=HEAP32[(($active_size)>>2)];
var $cmp=(($0)|0) < (($1)|0);
if ($cmp) { __label__ = 3; break; } else { __label__ = 17; break; }
case 3:
var $2=$i;
var $y=(($this1+8)|0);
var $3=HEAP32[(($y)>>2)];
var $arrayidx=(($3+$2)|0);
var $4=HEAP8[($arrayidx)];
var $conv=(($4 << 24) >> 24);
var $conv2=(($conv)|0);
var $5=$i;
var $G=(($this1+12)|0);
var $6=HEAP32[(($G)>>2)];
var $arrayidx3=(($6+($5<<3))|0);
var $7=(tempDoubleI32[0]=HEAP32[(($arrayidx3)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx3+4)>>2)],tempDoubleF64[0]);
var $mul=$conv2*$7;
$yG=$mul;
var $8=$i;
var $call=__ZN6Solver14is_upper_boundEi($this1, $8);
if ($call) { __label__ = 4; break; } else { __label__ = 8; break; }
case 4:
var $9=$i;
var $y4=(($this1+8)|0);
var $10=HEAP32[(($y4)>>2)];
var $arrayidx5=(($10+$9)|0);
var $11=HEAP8[($arrayidx5)];
var $conv6=(($11 << 24) >> 24);
var $cmp7=(($conv6)|0)==-1;
if ($cmp7) { __label__ = 5; break; } else { __label__ = 6; break; }
case 5:
var $12=$ub;
var $13=$yG;
var $call9=__ZL3minIdET_S0_S0_($12, $13);
$ub=$call9;
__label__ = 7; break;
case 6:
var $14=$lb;
var $15=$yG;
var $call10=__ZL3maxIdET_S0_S0_($14, $15);
$lb=$call10;
__label__ = 7; break;
case 7:
__label__ = 15; break;
case 8:
var $16=$i;
var $call12=__ZN6Solver14is_lower_boundEi($this1, $16);
if ($call12) { __label__ = 9; break; } else { __label__ = 13; break; }
case 9:
var $17=$i;
var $y14=(($this1+8)|0);
var $18=HEAP32[(($y14)>>2)];
var $arrayidx15=(($18+$17)|0);
var $19=HEAP8[($arrayidx15)];
var $conv16=(($19 << 24) >> 24);
var $cmp17=(($conv16)|0)==1;
if ($cmp17) { __label__ = 10; break; } else { __label__ = 11; break; }
case 10:
var $20=$ub;
var $21=$yG;
var $call19=__ZL3minIdET_S0_S0_($20, $21);
$ub=$call19;
__label__ = 12; break;
case 11:
var $22=$lb;
var $23=$yG;
var $call21=__ZL3maxIdET_S0_S0_($22, $23);
$lb=$call21;
__label__ = 12; break;
case 12:
__label__ = 14; break;
case 13:
var $24=$nr_free;
var $inc=(($24+1)|0);
$nr_free=$inc;
var $25=$yG;
var $26=$sum_free;
var $add=$26+$25;
$sum_free=$add;
__label__ = 14; break;
case 14:
__label__ = 15; break;
case 15:
__label__ = 16; break;
case 16:
var $27=$i;
var $inc26=(($27+1)|0);
$i=$inc26;
__label__ = 2; break;
case 17:
var $28=$nr_free;
var $cmp27=(($28)|0) > 0;
if ($cmp27) { __label__ = 18; break; } else { __label__ = 19; break; }
case 18:
var $29=$sum_free;
var $30=$nr_free;
var $conv29=(($30)|0);
var $div=$29/$conv29;
$r=$div;
__label__ = 20; break;
case 19:
var $31=$ub;
var $32=$lb;
var $add31=$31+$32;
var $div32=$add31/2;
$r=$div32;
__label__ = 20; break;
case 20:
var $33=$r;
;
return $33;
default: assert(0, "bad label: " + __label__);
}
}
__ZN6Solver13calculate_rhoEv["X"]=1;
function __ZN9Solver_NU18select_working_setERiS0_($this, $out_i, $out_j) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $retval;
var $this_addr;
var $out_i_addr;
var $out_j_addr;
var $Gmaxp;
var $Gmaxp2;
var $Gmaxp_idx;
var $Gmaxn;
var $Gmaxn2;
var $Gmaxn_idx;
var $Gmin_idx;
var $obj_diff_min;
var $t;
var $ip;
var $in;
var $Q_ip;
var $Q_in;
var $j;
var $grad_diff;
var $obj_diff;
var $quad_coef;
var $grad_diff81;
var $obj_diff96;
var $quad_coef97;
$this_addr=$this;
$out_i_addr=$out_i;
$out_j_addr=$out_j;
var $this1=$this_addr;
$Gmaxp=-Infinity;
$Gmaxp2=-Infinity;
$Gmaxp_idx=-1;
$Gmaxn=-Infinity;
$Gmaxn2=-Infinity;
$Gmaxn_idx=-1;
$Gmin_idx=-1;
$obj_diff_min=Infinity;
$t=0;
__label__ = 2; break;
case 2:
var $0=$t;
var $1=$this1;
var $active_size=(($1+4)|0);
var $2=HEAP32[(($active_size)>>2)];
var $cmp=(($0)|0) < (($2)|0);
if ($cmp) { __label__ = 3; break; } else { __label__ = 16; break; }
case 3:
var $3=$t;
var $4=$this1;
var $y=(($4+8)|0);
var $5=HEAP32[(($y)>>2)];
var $arrayidx=(($5+$3)|0);
var $6=HEAP8[($arrayidx)];
var $conv=(($6 << 24) >> 24);
var $cmp2=(($conv)|0)==1;
if ($cmp2) { __label__ = 4; break; } else { __label__ = 9; break; }
case 4:
var $7=$this1;
var $8=$t;
var $call=__ZN6Solver14is_upper_boundEi($7, $8);
if ($call) { __label__ = 8; break; } else { __label__ = 5; break; }
case 5:
var $9=$t;
var $10=$this1;
var $G=(($10+12)|0);
var $11=HEAP32[(($G)>>2)];
var $arrayidx4=(($11+($9<<3))|0);
var $12=(tempDoubleI32[0]=HEAP32[(($arrayidx4)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx4+4)>>2)],tempDoubleF64[0]);
var $sub=(-$12);
var $13=$Gmaxp;
var $cmp5=$sub >= $13;
if ($cmp5) { __label__ = 6; break; } else { __label__ = 7; break; }
case 6:
var $14=$t;
var $15=$this1;
var $G7=(($15+12)|0);
var $16=HEAP32[(($G7)>>2)];
var $arrayidx8=(($16+($14<<3))|0);
var $17=(tempDoubleI32[0]=HEAP32[(($arrayidx8)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx8+4)>>2)],tempDoubleF64[0]);
var $sub9=(-$17);
$Gmaxp=$sub9;
var $18=$t;
$Gmaxp_idx=$18;
__label__ = 7; break;
case 7:
__label__ = 8; break;
case 8:
__label__ = 14; break;
case 9:
var $19=$this1;
var $20=$t;
var $call11=__ZN6Solver14is_lower_boundEi($19, $20);
if ($call11) { __label__ = 13; break; } else { __label__ = 10; break; }
case 10:
var $21=$t;
var $22=$this1;
var $G13=(($22+12)|0);
var $23=HEAP32[(($G13)>>2)];
var $arrayidx14=(($23+($21<<3))|0);
var $24=(tempDoubleI32[0]=HEAP32[(($arrayidx14)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx14+4)>>2)],tempDoubleF64[0]);
var $25=$Gmaxn;
var $cmp15=$24 >= $25;
if ($cmp15) { __label__ = 11; break; } else { __label__ = 12; break; }
case 11:
var $26=$t;
var $27=$this1;
var $G17=(($27+12)|0);
var $28=HEAP32[(($G17)>>2)];
var $arrayidx18=(($28+($26<<3))|0);
var $29=(tempDoubleI32[0]=HEAP32[(($arrayidx18)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx18+4)>>2)],tempDoubleF64[0]);
$Gmaxn=$29;
var $30=$t;
$Gmaxn_idx=$30;
__label__ = 12; break;
case 12:
__label__ = 13; break;
case 13:
__label__ = 14; break;
case 14:
__label__ = 15; break;
case 15:
var $31=$t;
var $inc=(($31+1)|0);
$t=$inc;
__label__ = 2; break;
case 16:
var $32=$Gmaxp_idx;
$ip=$32;
var $33=$Gmaxn_idx;
$in=$33;
$Q_ip=0;
$Q_in=0;
var $34=$ip;
var $cmp22=(($34)|0)!=-1;
if ($cmp22) { __label__ = 17; break; } else { __label__ = 18; break; }
case 17:
var $35=$this1;
var $Q=(($35+24)|0);
var $36=HEAP32[(($Q)>>2)];
var $37=$36;
var $vtable=HEAP32[(($37)>>2)];
var $vfn=(($vtable)|0);
var $38=HEAP32[(($vfn)>>2)];
var $39=$ip;
var $40=$this1;
var $active_size24=(($40+4)|0);
var $41=HEAP32[(($active_size24)>>2)];
var $call25=FUNCTION_TABLE[$38]($36, $39, $41);
$Q_ip=$call25;
__label__ = 18; break;
case 18:
var $42=$in;
var $cmp27=(($42)|0)!=-1;
if ($cmp27) { __label__ = 19; break; } else { __label__ = 20; break; }
case 19:
var $43=$this1;
var $Q29=(($43+24)|0);
var $44=HEAP32[(($Q29)>>2)];
var $45=$44;
var $vtable30=HEAP32[(($45)>>2)];
var $vfn31=(($vtable30)|0);
var $46=HEAP32[(($vfn31)>>2)];
var $47=$in;
var $48=$this1;
var $active_size32=(($48+4)|0);
var $49=HEAP32[(($active_size32)>>2)];
var $call33=FUNCTION_TABLE[$46]($44, $47, $49);
$Q_in=$call33;
__label__ = 20; break;
case 20:
$j=0;
__label__ = 21; break;
case 21:
var $50=$j;
var $51=$this1;
var $active_size36=(($51+4)|0);
var $52=HEAP32[(($active_size36)>>2)];
var $cmp37=(($50)|0) < (($52)|0);
if ($cmp37) { __label__ = 22; break; } else { __label__ = 49; break; }
case 22:
var $53=$j;
var $54=$this1;
var $y39=(($54+8)|0);
var $55=HEAP32[(($y39)>>2)];
var $arrayidx40=(($55+$53)|0);
var $56=HEAP8[($arrayidx40)];
var $conv41=(($56 << 24) >> 24);
var $cmp42=(($conv41)|0)==1;
if ($cmp42) { __label__ = 23; break; } else { __label__ = 35; break; }
case 23:
var $57=$this1;
var $58=$j;
var $call44=__ZN6Solver14is_lower_boundEi($57, $58);
if ($call44) { __label__ = 34; break; } else { __label__ = 24; break; }
case 24:
var $59=$Gmaxp;
var $60=$j;
var $61=$this1;
var $G46=(($61+12)|0);
var $62=HEAP32[(($G46)>>2)];
var $arrayidx47=(($62+($60<<3))|0);
var $63=(tempDoubleI32[0]=HEAP32[(($arrayidx47)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx47+4)>>2)],tempDoubleF64[0]);
var $add=$59+$63;
$grad_diff=$add;
var $64=$j;
var $65=$this1;
var $G48=(($65+12)|0);
var $66=HEAP32[(($G48)>>2)];
var $arrayidx49=(($66+($64<<3))|0);
var $67=(tempDoubleI32[0]=HEAP32[(($arrayidx49)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx49+4)>>2)],tempDoubleF64[0]);
var $68=$Gmaxp2;
var $cmp50=$67 >= $68;
if ($cmp50) { __label__ = 25; break; } else { __label__ = 26; break; }
case 25:
var $69=$j;
var $70=$this1;
var $G52=(($70+12)|0);
var $71=HEAP32[(($G52)>>2)];
var $arrayidx53=(($71+($69<<3))|0);
var $72=(tempDoubleI32[0]=HEAP32[(($arrayidx53)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx53+4)>>2)],tempDoubleF64[0]);
$Gmaxp2=$72;
__label__ = 26; break;
case 26:
var $73=$grad_diff;
var $cmp55=$73 > 0;
if ($cmp55) { __label__ = 27; break; } else { __label__ = 33; break; }
case 27:
var $74=$ip;
var $75=$this1;
var $QD=(($75+28)|0);
var $76=HEAP32[(($QD)>>2)];
var $arrayidx57=(($76+($74<<3))|0);
var $77=(tempDoubleI32[0]=HEAP32[(($arrayidx57)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx57+4)>>2)],tempDoubleF64[0]);
var $78=$j;
var $79=$this1;
var $QD58=(($79+28)|0);
var $80=HEAP32[(($QD58)>>2)];
var $arrayidx59=(($80+($78<<3))|0);
var $81=(tempDoubleI32[0]=HEAP32[(($arrayidx59)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx59+4)>>2)],tempDoubleF64[0]);
var $add60=$77+$81;
var $82=$j;
var $83=$Q_ip;
var $arrayidx61=(($83+($82<<2))|0);
var $84=HEAPF32[(($arrayidx61)>>2)];
var $mul=$84*2;
var $conv62=$mul;
var $sub63=$add60-$conv62;
$quad_coef=$sub63;
var $85=$quad_coef;
var $cmp64=$85 > 0;
if ($cmp64) { __label__ = 28; break; } else { __label__ = 29; break; }
case 28:
var $86=$grad_diff;
var $87=$grad_diff;
var $mul66=$86*$87;
var $sub67=(-$mul66);
var $88=$quad_coef;
var $div=$sub67/$88;
$obj_diff=$div;
__label__ = 30; break;
case 29:
var $89=$grad_diff;
var $90=$grad_diff;
var $mul69=$89*$90;
var $sub70=(-$mul69);
var $div71=$sub70/1e-12;
$obj_diff=$div71;
__label__ = 30; break;
case 30:
var $91=$obj_diff;
var $92=$obj_diff_min;
var $cmp73=$91 <= $92;
if ($cmp73) { __label__ = 31; break; } else { __label__ = 32; break; }
case 31:
var $93=$j;
$Gmin_idx=$93;
var $94=$obj_diff;
$obj_diff_min=$94;
__label__ = 32; break;
case 32:
__label__ = 33; break;
case 33:
__label__ = 34; break;
case 34:
__label__ = 47; break;
case 35:
var $95=$this1;
var $96=$j;
var $call79=__ZN6Solver14is_upper_boundEi($95, $96);
if ($call79) { __label__ = 46; break; } else { __label__ = 36; break; }
case 36:
var $97=$Gmaxn;
var $98=$j;
var $99=$this1;
var $G82=(($99+12)|0);
var $100=HEAP32[(($G82)>>2)];
var $arrayidx83=(($100+($98<<3))|0);
var $101=(tempDoubleI32[0]=HEAP32[(($arrayidx83)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx83+4)>>2)],tempDoubleF64[0]);
var $sub84=$97-$101;
$grad_diff81=$sub84;
var $102=$j;
var $103=$this1;
var $G85=(($103+12)|0);
var $104=HEAP32[(($G85)>>2)];
var $arrayidx86=(($104+($102<<3))|0);
var $105=(tempDoubleI32[0]=HEAP32[(($arrayidx86)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx86+4)>>2)],tempDoubleF64[0]);
var $sub87=(-$105);
var $106=$Gmaxn2;
var $cmp88=$sub87 >= $106;
if ($cmp88) { __label__ = 37; break; } else { __label__ = 38; break; }
case 37:
var $107=$j;
var $108=$this1;
var $G90=(($108+12)|0);
var $109=HEAP32[(($G90)>>2)];
var $arrayidx91=(($109+($107<<3))|0);
var $110=(tempDoubleI32[0]=HEAP32[(($arrayidx91)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx91+4)>>2)],tempDoubleF64[0]);
var $sub92=(-$110);
$Gmaxn2=$sub92;
__label__ = 38; break;
case 38:
var $111=$grad_diff81;
var $cmp94=$111 > 0;
if ($cmp94) { __label__ = 39; break; } else { __label__ = 45; break; }
case 39:
var $112=$in;
var $113=$this1;
var $QD98=(($113+28)|0);
var $114=HEAP32[(($QD98)>>2)];
var $arrayidx99=(($114+($112<<3))|0);
var $115=(tempDoubleI32[0]=HEAP32[(($arrayidx99)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx99+4)>>2)],tempDoubleF64[0]);
var $116=$j;
var $117=$this1;
var $QD100=(($117+28)|0);
var $118=HEAP32[(($QD100)>>2)];
var $arrayidx101=(($118+($116<<3))|0);
var $119=(tempDoubleI32[0]=HEAP32[(($arrayidx101)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx101+4)>>2)],tempDoubleF64[0]);
var $add102=$115+$119;
var $120=$j;
var $121=$Q_in;
var $arrayidx103=(($121+($120<<2))|0);
var $122=HEAPF32[(($arrayidx103)>>2)];
var $mul104=$122*2;
var $conv105=$mul104;
var $sub106=$add102-$conv105;
$quad_coef97=$sub106;
var $123=$quad_coef97;
var $cmp107=$123 > 0;
if ($cmp107) { __label__ = 40; break; } else { __label__ = 41; break; }
case 40:
var $124=$grad_diff81;
var $125=$grad_diff81;
var $mul109=$124*$125;
var $sub110=(-$mul109);
var $126=$quad_coef97;
var $div111=$sub110/$126;
$obj_diff96=$div111;
__label__ = 42; break;
case 41:
var $127=$grad_diff81;
var $128=$grad_diff81;
var $mul113=$127*$128;
var $sub114=(-$mul113);
var $div115=$sub114/1e-12;
$obj_diff96=$div115;
__label__ = 42; break;
case 42:
var $129=$obj_diff96;
var $130=$obj_diff_min;
var $cmp117=$129 <= $130;
if ($cmp117) { __label__ = 43; break; } else { __label__ = 44; break; }
case 43:
var $131=$j;
$Gmin_idx=$131;
var $132=$obj_diff96;
$obj_diff_min=$132;
__label__ = 44; break;
case 44:
__label__ = 45; break;
case 45:
__label__ = 46; break;
case 46:
__label__ = 47; break;
case 47:
__label__ = 48; break;
case 48:
var $133=$j;
var $inc124=(($133+1)|0);
$j=$inc124;
__label__ = 21; break;
case 49:
var $134=$Gmaxp;
var $135=$Gmaxp2;
var $add126=$134+$135;
var $136=$Gmaxn;
var $137=$Gmaxn2;
var $add127=$136+$137;
var $call128=__ZL3maxIdET_S0_S0_($add126, $add127);
var $138=$this1;
var $eps=(($138+32)|0);
var $139=(tempDoubleI32[0]=HEAP32[(($eps)>>2)],tempDoubleI32[1]=HEAP32[(($eps+4)>>2)],tempDoubleF64[0]);
var $cmp129=$call128 < $139;
if ($cmp129) { __label__ = 50; break; } else { __label__ = 51; break; }
case 50:
$retval=1;
__label__ = 55; break;
case 51:
var $140=$Gmin_idx;
var $141=$this1;
var $y132=(($141+8)|0);
var $142=HEAP32[(($y132)>>2)];
var $arrayidx133=(($142+$140)|0);
var $143=HEAP8[($arrayidx133)];
var $conv134=(($143 << 24) >> 24);
var $cmp135=(($conv134)|0)==1;
if ($cmp135) { __label__ = 52; break; } else { __label__ = 53; break; }
case 52:
var $144=$Gmaxp_idx;
var $145=$out_i_addr;
HEAP32[(($145)>>2)]=$144;
__label__ = 54; break;
case 53:
var $146=$Gmaxn_idx;
var $147=$out_i_addr;
HEAP32[(($147)>>2)]=$146;
__label__ = 54; break;
case 54:
var $148=$Gmin_idx;
var $149=$out_j_addr;
HEAP32[(($149)>>2)]=$148;
$retval=0;
__label__ = 55; break;
case 55:
var $150=$retval;
;
return $150;
default: assert(0, "bad label: " + __label__);
}
}
__ZN9Solver_NU18select_working_setERiS0_["X"]=1;
function __ZN9Solver_NU9be_shrunkEidddd($this, $i, $Gmax1, $Gmax2, $Gmax3, $Gmax4) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $retval;
var $this_addr;
var $i_addr;
var $Gmax1_addr;
var $Gmax2_addr;
var $Gmax3_addr;
var $Gmax4_addr;
$this_addr=$this;
$i_addr=$i;
$Gmax1_addr=$Gmax1;
$Gmax2_addr=$Gmax2;
$Gmax3_addr=$Gmax3;
$Gmax4_addr=$Gmax4;
var $this1=$this_addr;
var $0=$this1;
var $1=$i_addr;
var $call=__ZN6Solver14is_upper_boundEi($0, $1);
if ($call) { __label__ = 2; break; } else { __label__ = 5; break; }
case 2:
var $2=$i_addr;
var $3=$this1;
var $y=(($3+8)|0);
var $4=HEAP32[(($y)>>2)];
var $arrayidx=(($4+$2)|0);
var $5=HEAP8[($arrayidx)];
var $conv=(($5 << 24) >> 24);
var $cmp=(($conv)|0)==1;
if ($cmp) { __label__ = 3; break; } else { __label__ = 4; break; }
case 3:
var $6=$i_addr;
var $7=$this1;
var $G=(($7+12)|0);
var $8=HEAP32[(($G)>>2)];
var $arrayidx3=(($8+($6<<3))|0);
var $9=(tempDoubleI32[0]=HEAP32[(($arrayidx3)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx3+4)>>2)],tempDoubleF64[0]);
var $sub=(-$9);
var $10=$Gmax1_addr;
var $cmp4=$sub > $10;
$retval=$cmp4;
__label__ = 10; break;
case 4:
var $11=$i_addr;
var $12=$this1;
var $G5=(($12+12)|0);
var $13=HEAP32[(($G5)>>2)];
var $arrayidx6=(($13+($11<<3))|0);
var $14=(tempDoubleI32[0]=HEAP32[(($arrayidx6)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx6+4)>>2)],tempDoubleF64[0]);
var $sub7=(-$14);
var $15=$Gmax4_addr;
var $cmp8=$sub7 > $15;
$retval=$cmp8;
__label__ = 10; break;
case 5:
var $16=$this1;
var $17=$i_addr;
var $call10=__ZN6Solver14is_lower_boundEi($16, $17);
if ($call10) { __label__ = 6; break; } else { __label__ = 9; break; }
case 6:
var $18=$i_addr;
var $19=$this1;
var $y12=(($19+8)|0);
var $20=HEAP32[(($y12)>>2)];
var $arrayidx13=(($20+$18)|0);
var $21=HEAP8[($arrayidx13)];
var $conv14=(($21 << 24) >> 24);
var $cmp15=(($conv14)|0)==1;
if ($cmp15) { __label__ = 7; break; } else { __label__ = 8; break; }
case 7:
var $22=$i_addr;
var $23=$this1;
var $G17=(($23+12)|0);
var $24=HEAP32[(($G17)>>2)];
var $arrayidx18=(($24+($22<<3))|0);
var $25=(tempDoubleI32[0]=HEAP32[(($arrayidx18)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx18+4)>>2)],tempDoubleF64[0]);
var $26=$Gmax2_addr;
var $cmp19=$25 > $26;
$retval=$cmp19;
__label__ = 10; break;
case 8:
var $27=$i_addr;
var $28=$this1;
var $G21=(($28+12)|0);
var $29=HEAP32[(($G21)>>2)];
var $arrayidx22=(($29+($27<<3))|0);
var $30=(tempDoubleI32[0]=HEAP32[(($arrayidx22)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx22+4)>>2)],tempDoubleF64[0]);
var $31=$Gmax3_addr;
var $cmp23=$30 > $31;
$retval=$cmp23;
__label__ = 10; break;
case 9:
$retval=0;
__label__ = 10; break;
case 10:
var $32=$retval;
;
return $32;
default: assert(0, "bad label: " + __label__);
}
}
__ZN9Solver_NU9be_shrunkEidddd["X"]=1;
function __ZN9Solver_NU12do_shrinkingEv($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $Gmax1;
var $Gmax2;
var $Gmax3;
var $Gmax4;
var $i;
$this_addr=$this;
var $this1=$this_addr;
$Gmax1=-Infinity;
$Gmax2=-Infinity;
$Gmax3=-Infinity;
$Gmax4=-Infinity;
$i=0;
__label__ = 2; break;
case 2:
var $0=$i;
var $1=$this1;
var $active_size=(($1+4)|0);
var $2=HEAP32[(($active_size)>>2)];
var $cmp=(($0)|0) < (($2)|0);
if ($cmp) { __label__ = 3; break; } else { __label__ = 23; break; }
case 3:
var $3=$this1;
var $4=$i;
var $call=__ZN6Solver14is_upper_boundEi($3, $4);
if ($call) { __label__ = 12; break; } else { __label__ = 4; break; }
case 4:
var $5=$i;
var $6=$this1;
var $y=(($6+8)|0);
var $7=HEAP32[(($y)>>2)];
var $arrayidx=(($7+$5)|0);
var $8=HEAP8[($arrayidx)];
var $conv=(($8 << 24) >> 24);
var $cmp2=(($conv)|0)==1;
if ($cmp2) { __label__ = 5; break; } else { __label__ = 8; break; }
case 5:
var $9=$i;
var $10=$this1;
var $G=(($10+12)|0);
var $11=HEAP32[(($G)>>2)];
var $arrayidx4=(($11+($9<<3))|0);
var $12=(tempDoubleI32[0]=HEAP32[(($arrayidx4)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx4+4)>>2)],tempDoubleF64[0]);
var $sub=(-$12);
var $13=$Gmax1;
var $cmp5=$sub > $13;
if ($cmp5) { __label__ = 6; break; } else { __label__ = 7; break; }
case 6:
var $14=$i;
var $15=$this1;
var $G7=(($15+12)|0);
var $16=HEAP32[(($G7)>>2)];
var $arrayidx8=(($16+($14<<3))|0);
var $17=(tempDoubleI32[0]=HEAP32[(($arrayidx8)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx8+4)>>2)],tempDoubleF64[0]);
var $sub9=(-$17);
$Gmax1=$sub9;
__label__ = 7; break;
case 7:
__label__ = 11; break;
case 8:
var $18=$i;
var $19=$this1;
var $G10=(($19+12)|0);
var $20=HEAP32[(($G10)>>2)];
var $arrayidx11=(($20+($18<<3))|0);
var $21=(tempDoubleI32[0]=HEAP32[(($arrayidx11)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx11+4)>>2)],tempDoubleF64[0]);
var $sub12=(-$21);
var $22=$Gmax4;
var $cmp13=$sub12 > $22;
if ($cmp13) { __label__ = 9; break; } else { __label__ = 10; break; }
case 9:
var $23=$i;
var $24=$this1;
var $G15=(($24+12)|0);
var $25=HEAP32[(($G15)>>2)];
var $arrayidx16=(($25+($23<<3))|0);
var $26=(tempDoubleI32[0]=HEAP32[(($arrayidx16)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx16+4)>>2)],tempDoubleF64[0]);
var $sub17=(-$26);
$Gmax4=$sub17;
__label__ = 10; break;
case 10:
__label__ = 11; break;
case 11:
__label__ = 12; break;
case 12:
var $27=$this1;
var $28=$i;
var $call21=__ZN6Solver14is_lower_boundEi($27, $28);
if ($call21) { __label__ = 21; break; } else { __label__ = 13; break; }
case 13:
var $29=$i;
var $30=$this1;
var $y23=(($30+8)|0);
var $31=HEAP32[(($y23)>>2)];
var $arrayidx24=(($31+$29)|0);
var $32=HEAP8[($arrayidx24)];
var $conv25=(($32 << 24) >> 24);
var $cmp26=(($conv25)|0)==1;
if ($cmp26) { __label__ = 14; break; } else { __label__ = 17; break; }
case 14:
var $33=$i;
var $34=$this1;
var $G28=(($34+12)|0);
var $35=HEAP32[(($G28)>>2)];
var $arrayidx29=(($35+($33<<3))|0);
var $36=(tempDoubleI32[0]=HEAP32[(($arrayidx29)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx29+4)>>2)],tempDoubleF64[0]);
var $37=$Gmax2;
var $cmp30=$36 > $37;
if ($cmp30) { __label__ = 15; break; } else { __label__ = 16; break; }
case 15:
var $38=$i;
var $39=$this1;
var $G32=(($39+12)|0);
var $40=HEAP32[(($G32)>>2)];
var $arrayidx33=(($40+($38<<3))|0);
var $41=(tempDoubleI32[0]=HEAP32[(($arrayidx33)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx33+4)>>2)],tempDoubleF64[0]);
$Gmax2=$41;
__label__ = 16; break;
case 16:
__label__ = 20; break;
case 17:
var $42=$i;
var $43=$this1;
var $G36=(($43+12)|0);
var $44=HEAP32[(($G36)>>2)];
var $arrayidx37=(($44+($42<<3))|0);
var $45=(tempDoubleI32[0]=HEAP32[(($arrayidx37)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx37+4)>>2)],tempDoubleF64[0]);
var $46=$Gmax3;
var $cmp38=$45 > $46;
if ($cmp38) { __label__ = 18; break; } else { __label__ = 19; break; }
case 18:
var $47=$i;
var $48=$this1;
var $G40=(($48+12)|0);
var $49=HEAP32[(($G40)>>2)];
var $arrayidx41=(($49+($47<<3))|0);
var $50=(tempDoubleI32[0]=HEAP32[(($arrayidx41)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx41+4)>>2)],tempDoubleF64[0]);
$Gmax3=$50;
__label__ = 19; break;
case 19:
__label__ = 20; break;
case 20:
__label__ = 21; break;
case 21:
__label__ = 22; break;
case 22:
var $51=$i;
var $inc=(($51+1)|0);
$i=$inc;
__label__ = 2; break;
case 23:
var $52=$this1;
var $unshrink=(($52+72)|0);
var $53=HEAP8[($unshrink)];
var $tobool=(($53) & 1);
var $conv45=(($tobool)&1);
var $cmp46=(($conv45)|0)==0;
if ($cmp46) { __label__ = 24; break; } else { __label__ = 26; break; }
case 24:
var $54=$Gmax1;
var $55=$Gmax2;
var $add=$54+$55;
var $56=$Gmax3;
var $57=$Gmax4;
var $add47=$56+$57;
var $call48=__ZL3maxIdET_S0_S0_($add, $add47);
var $58=$this1;
var $eps=(($58+32)|0);
var $59=(tempDoubleI32[0]=HEAP32[(($eps)>>2)],tempDoubleI32[1]=HEAP32[(($eps+4)>>2)],tempDoubleF64[0]);
var $mul=$59*10;
var $cmp49=$call48 <= $mul;
if ($cmp49) { __label__ = 25; break; } else { __label__ = 26; break; }
case 25:
var $60=$this1;
var $unshrink51=(($60+72)|0);
HEAP8[($unshrink51)]=1;
var $61=$this1;
__ZN6Solver20reconstruct_gradientEv($61);
var $62=$this1;
var $l=(($62+68)|0);
var $63=HEAP32[(($l)>>2)];
var $64=$this1;
var $active_size52=(($64+4)|0);
HEAP32[(($active_size52)>>2)]=$63;
__label__ = 26; break;
case 26:
$i=0;
__label__ = 27; break;
case 27:
var $65=$i;
var $66=$this1;
var $active_size55=(($66+4)|0);
var $67=HEAP32[(($active_size55)>>2)];
var $cmp56=(($65)|0) < (($67)|0);
if ($cmp56) { __label__ = 28; break; } else { __label__ = 37; break; }
case 28:
var $68=$i;
var $69=$Gmax1;
var $70=$Gmax2;
var $71=$Gmax3;
var $72=$Gmax4;
var $call58=__ZN9Solver_NU9be_shrunkEidddd($this1, $68, $69, $70, $71, $72);
if ($call58) { __label__ = 29; break; } else { __label__ = 35; break; }
case 29:
var $73=$this1;
var $active_size60=(($73+4)|0);
var $74=HEAP32[(($active_size60)>>2)];
var $dec=(($74-1)|0);
HEAP32[(($active_size60)>>2)]=$dec;
__label__ = 30; break;
case 30:
var $75=$this1;
var $active_size61=(($75+4)|0);
var $76=HEAP32[(($active_size61)>>2)];
var $77=$i;
var $cmp62=(($76)|0) > (($77)|0);
if ($cmp62) { __label__ = 31; break; } else { __label__ = 34; break; }
case 31:
var $78=$this1;
var $active_size63=(($78+4)|0);
var $79=HEAP32[(($active_size63)>>2)];
var $80=$Gmax1;
var $81=$Gmax2;
var $82=$Gmax3;
var $83=$Gmax4;
var $call64=__ZN9Solver_NU9be_shrunkEidddd($this1, $79, $80, $81, $82, $83);
if ($call64) { __label__ = 33; break; } else { __label__ = 32; break; }
case 32:
var $84=$this1;
var $85=$i;
var $86=$this1;
var $active_size66=(($86+4)|0);
var $87=HEAP32[(($active_size66)>>2)];
__ZN6Solver10swap_indexEii($84, $85, $87);
__label__ = 34; break;
case 33:
var $88=$this1;
var $active_size68=(($88+4)|0);
var $89=HEAP32[(($active_size68)>>2)];
var $dec69=(($89-1)|0);
HEAP32[(($active_size68)>>2)]=$dec69;
__label__ = 30; break;
case 34:
__label__ = 35; break;
case 35:
__label__ = 36; break;
case 36:
var $90=$i;
var $inc72=(($90+1)|0);
$i=$inc72;
__label__ = 27; break;
case 37:
;
return;
default: assert(0, "bad label: " + __label__);
}
}
__ZN9Solver_NU12do_shrinkingEv["X"]=1;
function __ZN9Solver_NU13calculate_rhoEv($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $nr_free1;
var $nr_free2;
var $ub1;
var $ub2;
var $lb1;
var $lb2;
var $sum_free1;
var $sum_free2;
var $i;
var $r1;
var $r2;
$this_addr=$this;
var $this1=$this_addr;
$nr_free1=0;
$nr_free2=0;
$ub1=Infinity;
$ub2=Infinity;
$lb1=-Infinity;
$lb2=-Infinity;
$sum_free1=0;
$sum_free2=0;
$i=0;
__label__ = 2; break;
case 2:
var $0=$i;
var $1=$this1;
var $active_size=(($1+4)|0);
var $2=HEAP32[(($active_size)>>2)];
var $cmp=(($0)|0) < (($2)|0);
if ($cmp) { __label__ = 3; break; } else { __label__ = 20; break; }
case 3:
var $3=$i;
var $4=$this1;
var $y=(($4+8)|0);
var $5=HEAP32[(($y)>>2)];
var $arrayidx=(($5+$3)|0);
var $6=HEAP8[($arrayidx)];
var $conv=(($6 << 24) >> 24);
var $cmp2=(($conv)|0)==1;
if ($cmp2) { __label__ = 4; break; } else { __label__ = 11; break; }
case 4:
var $7=$this1;
var $8=$i;
var $call=__ZN6Solver14is_upper_boundEi($7, $8);
if ($call) { __label__ = 5; break; } else { __label__ = 6; break; }
case 5:
var $9=$lb1;
var $10=$i;
var $11=$this1;
var $G=(($11+12)|0);
var $12=HEAP32[(($G)>>2)];
var $arrayidx4=(($12+($10<<3))|0);
var $13=(tempDoubleI32[0]=HEAP32[(($arrayidx4)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx4+4)>>2)],tempDoubleF64[0]);
var $call5=__ZL3maxIdET_S0_S0_($9, $13);
$lb1=$call5;
__label__ = 10; break;
case 6:
var $14=$this1;
var $15=$i;
var $call6=__ZN6Solver14is_lower_boundEi($14, $15);
if ($call6) { __label__ = 7; break; } else { __label__ = 8; break; }
case 7:
var $16=$ub1;
var $17=$i;
var $18=$this1;
var $G8=(($18+12)|0);
var $19=HEAP32[(($G8)>>2)];
var $arrayidx9=(($19+($17<<3))|0);
var $20=(tempDoubleI32[0]=HEAP32[(($arrayidx9)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx9+4)>>2)],tempDoubleF64[0]);
var $call10=__ZL3minIdET_S0_S0_($16, $20);
$ub1=$call10;
__label__ = 9; break;
case 8:
var $21=$nr_free1;
var $inc=(($21+1)|0);
$nr_free1=$inc;
var $22=$i;
var $23=$this1;
var $G12=(($23+12)|0);
var $24=HEAP32[(($G12)>>2)];
var $arrayidx13=(($24+($22<<3))|0);
var $25=(tempDoubleI32[0]=HEAP32[(($arrayidx13)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx13+4)>>2)],tempDoubleF64[0]);
var $26=$sum_free1;
var $add=$26+$25;
$sum_free1=$add;
__label__ = 9; break;
case 9:
__label__ = 10; break;
case 10:
__label__ = 18; break;
case 11:
var $27=$this1;
var $28=$i;
var $call16=__ZN6Solver14is_upper_boundEi($27, $28);
if ($call16) { __label__ = 12; break; } else { __label__ = 13; break; }
case 12:
var $29=$lb2;
var $30=$i;
var $31=$this1;
var $G18=(($31+12)|0);
var $32=HEAP32[(($G18)>>2)];
var $arrayidx19=(($32+($30<<3))|0);
var $33=(tempDoubleI32[0]=HEAP32[(($arrayidx19)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx19+4)>>2)],tempDoubleF64[0]);
var $call20=__ZL3maxIdET_S0_S0_($29, $33);
$lb2=$call20;
__label__ = 17; break;
case 13:
var $34=$this1;
var $35=$i;
var $call22=__ZN6Solver14is_lower_boundEi($34, $35);
if ($call22) { __label__ = 14; break; } else { __label__ = 15; break; }
case 14:
var $36=$ub2;
var $37=$i;
var $38=$this1;
var $G24=(($38+12)|0);
var $39=HEAP32[(($G24)>>2)];
var $arrayidx25=(($39+($37<<3))|0);
var $40=(tempDoubleI32[0]=HEAP32[(($arrayidx25)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx25+4)>>2)],tempDoubleF64[0]);
var $call26=__ZL3minIdET_S0_S0_($36, $40);
$ub2=$call26;
__label__ = 16; break;
case 15:
var $41=$nr_free2;
var $inc28=(($41+1)|0);
$nr_free2=$inc28;
var $42=$i;
var $43=$this1;
var $G29=(($43+12)|0);
var $44=HEAP32[(($G29)>>2)];
var $arrayidx30=(($44+($42<<3))|0);
var $45=(tempDoubleI32[0]=HEAP32[(($arrayidx30)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx30+4)>>2)],tempDoubleF64[0]);
var $46=$sum_free2;
var $add31=$46+$45;
$sum_free2=$add31;
__label__ = 16; break;
case 16:
__label__ = 17; break;
case 17:
__label__ = 18; break;
case 18:
__label__ = 19; break;
case 19:
var $47=$i;
var $inc35=(($47+1)|0);
$i=$inc35;
__label__ = 2; break;
case 20:
var $48=$nr_free1;
var $cmp36=(($48)|0) > 0;
if ($cmp36) { __label__ = 21; break; } else { __label__ = 22; break; }
case 21:
var $49=$sum_free1;
var $50=$nr_free1;
var $conv38=(($50)|0);
var $div=$49/$conv38;
$r1=$div;
__label__ = 23; break;
case 22:
var $51=$ub1;
var $52=$lb1;
var $add40=$51+$52;
var $div41=$add40/2;
$r1=$div41;
__label__ = 23; break;
case 23:
var $53=$nr_free2;
var $cmp43=(($53)|0) > 0;
if ($cmp43) { __label__ = 24; break; } else { __label__ = 25; break; }
case 24:
var $54=$sum_free2;
var $55=$nr_free2;
var $conv45=(($55)|0);
var $div46=$54/$conv45;
$r2=$div46;
__label__ = 26; break;
case 25:
var $56=$ub2;
var $57=$lb2;
var $add48=$56+$57;
var $div49=$add48/2;
$r2=$div49;
__label__ = 26; break;
case 26:
var $58=$r1;
var $59=$r2;
var $add51=$58+$59;
var $div52=$add51/2;
var $si=(($this1+76)|0);
var $60=HEAP32[(($si)>>2)];
var $r=(($60+32)|0);
(tempDoubleF64[0]=$div52,HEAP32[(($r)>>2)]=tempDoubleI32[0],HEAP32[(($r+4)>>2)]=tempDoubleI32[1]);
var $61=$r1;
var $62=$r2;
var $sub=$61-$62;
var $div53=$sub/2;
;
return $div53;
default: assert(0, "bad label: " + __label__);
}
}
__ZN9Solver_NU13calculate_rhoEv["X"]=1;
function _svm_train($prob, $param) {
var __stackBase__ = STACKTOP; STACKTOP += 52; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $prob_addr;
var $param_addr;
var $model;
var $f=__stackBase__;
var $nSV22;
var $i;
var $j;
var $l59;
var $nr_class61=__stackBase__+12;
var $label62=__stackBase__+16;
var $start=__stackBase__+20;
var $count=__stackBase__+24;
var $perm;
var $x68;
var $i71;
var $weighted_C;
var $j94;
var $nonzero;
var $f128;
var $probA132;
var $probB133;
var $p;
var $j151;
var $sub_prob=__stackBase__+28;
var $si;
var $sj;
var $ci;
var $cj;
var $k;
var $ref_tmp=__stackBase__+40;
var $total_sv;
var $nz_count;
var $nSV327;
var $j328;
var $nz_start;
var $j401;
var $si406;
var $sj408;
var $ci410;
var $cj412;
var $q;
var $k415;
$prob_addr=$prob;
$param_addr=$param;
var $call=_malloc(128);
var $0=$call;
$model=$0;
var $1=$model;
var $param1=(($1)|0);
var $2=$param_addr;
var $3=$param1;
var $4=$2;
assert(88 % 1 === 0, 'memcpy given ' + 88 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');for (var $$src = $4>>2, $$dest = $3>>2, $$stop = $$src + 22; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src]
};
var $5=$model;
var $free_sv=(($5+124)|0);
HEAP32[(($free_sv)>>2)]=0;
var $6=$param_addr;
var $svm_type=(($6)|0);
var $7=HEAP32[(($svm_type)>>2)];
var $cmp=(($7)|0)==2;
if ($cmp) { __label__ = 4; break; } else { __label__ = 2; break; }
case 2:
var $8=$param_addr;
var $svm_type2=(($8)|0);
var $9=HEAP32[(($svm_type2)>>2)];
var $cmp3=(($9)|0)==3;
if ($cmp3) { __label__ = 4; break; } else { __label__ = 3; break; }
case 3:
var $10=$param_addr;
var $svm_type5=(($10)|0);
var $11=HEAP32[(($svm_type5)>>2)];
var $cmp6=(($11)|0)==4;
if ($cmp6) { __label__ = 4; break; } else { __label__ = 21; break; }
case 4:
var $12=$model;
var $nr_class=(($12+88)|0);
HEAP32[(($nr_class)>>2)]=2;
var $13=$model;
var $label=(($13+116)|0);
HEAP32[(($label)>>2)]=0;
var $14=$model;
var $nSV=(($14+120)|0);
HEAP32[(($nSV)>>2)]=0;
var $15=$model;
var $probA=(($15+108)|0);
HEAP32[(($probA)>>2)]=0;
var $16=$model;
var $probB=(($16+112)|0);
HEAP32[(($probB)>>2)]=0;
var $call7=_malloc(4);
var $17=$call7;
var $18=$model;
var $sv_coef=(($18+100)|0);
HEAP32[(($sv_coef)>>2)]=$17;
var $19=$param_addr;
var $probability=(($19+84)|0);
var $20=HEAP32[(($probability)>>2)];
var $tobool=(($20)|0)!=0;
if ($tobool) { __label__ = 5; break; } else { __label__ = 8; break; }
case 5:
var $21=$param_addr;
var $svm_type8=(($21)|0);
var $22=HEAP32[(($svm_type8)>>2)];
var $cmp9=(($22)|0)==3;
if ($cmp9) { __label__ = 7; break; } else { __label__ = 6; break; }
case 6:
var $23=$param_addr;
var $svm_type11=(($23)|0);
var $24=HEAP32[(($svm_type11)>>2)];
var $cmp12=(($24)|0)==4;
if ($cmp12) { __label__ = 7; break; } else { __label__ = 8; break; }
case 7:
var $call14=_malloc(8);
var $25=$call14;
var $26=$model;
var $probA15=(($26+108)|0);
HEAP32[(($probA15)>>2)]=$25;
var $27=$prob_addr;
var $28=$param_addr;
var $call16=__ZL19svm_svr_probabilityPK11svm_problemPK13svm_parameter($27, $28);
var $29=$model;
var $probA17=(($29+108)|0);
var $30=HEAP32[(($probA17)>>2)];
var $arrayidx=(($30)|0);
(tempDoubleF64[0]=$call16,HEAP32[(($arrayidx)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx+4)>>2)]=tempDoubleI32[1]);
__label__ = 8; break;
case 8:
var $31=$prob_addr;
var $32=$param_addr;
__ZL13svm_train_onePK11svm_problemPK13svm_parameterdd($f, $31, $32, 0, 0);
var $call18=_malloc(8);
var $33=$call18;
var $34=$model;
var $rho=(($34+104)|0);
HEAP32[(($rho)>>2)]=$33;
var $rho19=(($f+4)|0);
var $35=(tempDoubleI32[0]=HEAP32[(($rho19)>>2)],tempDoubleI32[1]=HEAP32[(($rho19+4)>>2)],tempDoubleF64[0]);
var $36=$model;
var $rho20=(($36+104)|0);
var $37=HEAP32[(($rho20)>>2)];
var $arrayidx21=(($37)|0);
(tempDoubleF64[0]=$35,HEAP32[(($arrayidx21)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx21+4)>>2)]=tempDoubleI32[1]);
$nSV22=0;
$i=0;
__label__ = 9; break;
case 9:
var $38=$i;
var $39=$prob_addr;
var $l=(($39)|0);
var $40=HEAP32[(($l)>>2)];
var $cmp23=(($38)|0) < (($40)|0);
if ($cmp23) { __label__ = 10; break; } else { __label__ = 14; break; }
case 10:
var $41=$i;
var $alpha=(($f)|0);
var $42=HEAP32[(($alpha)>>2)];
var $arrayidx24=(($42+($41<<3))|0);
var $43=(tempDoubleI32[0]=HEAP32[(($arrayidx24)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx24+4)>>2)],tempDoubleF64[0]);
var $call25=_fabs($43);
var $cmp26=$call25 > 0;
if ($cmp26) { __label__ = 11; break; } else { __label__ = 12; break; }
case 11:
var $44=$nSV22;
var $inc=(($44+1)|0);
$nSV22=$inc;
__label__ = 12; break;
case 12:
__label__ = 13; break;
case 13:
var $45=$i;
var $inc29=(($45+1)|0);
$i=$inc29;
__label__ = 9; break;
case 14:
var $46=$nSV22;
var $47=$model;
var $l30=(($47+92)|0);
HEAP32[(($l30)>>2)]=$46;
var $48=$nSV22;
var $mul=((($48<<2))|0);
var $call31=_malloc($mul);
var $49=$call31;
var $50=$model;
var $SV=(($50+96)|0);
HEAP32[(($SV)>>2)]=$49;
var $51=$nSV22;
var $mul32=((($51<<3))|0);
var $call33=_malloc($mul32);
var $52=$call33;
var $53=$model;
var $sv_coef34=(($53+100)|0);
var $54=HEAP32[(($sv_coef34)>>2)];
var $arrayidx35=(($54)|0);
HEAP32[(($arrayidx35)>>2)]=$52;
$j=0;
$i=0;
__label__ = 15; break;
case 15:
var $55=$i;
var $56=$prob_addr;
var $l37=(($56)|0);
var $57=HEAP32[(($l37)>>2)];
var $cmp38=(($55)|0) < (($57)|0);
if ($cmp38) { __label__ = 16; break; } else { __label__ = 20; break; }
case 16:
var $58=$i;
var $alpha40=(($f)|0);
var $59=HEAP32[(($alpha40)>>2)];
var $arrayidx41=(($59+($58<<3))|0);
var $60=(tempDoubleI32[0]=HEAP32[(($arrayidx41)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx41+4)>>2)],tempDoubleF64[0]);
var $call42=_fabs($60);
var $cmp43=$call42 > 0;
if ($cmp43) { __label__ = 17; break; } else { __label__ = 18; break; }
case 17:
var $61=$i;
var $62=$prob_addr;
var $x=(($62+8)|0);
var $63=HEAP32[(($x)>>2)];
var $arrayidx45=(($63+($61<<2))|0);
var $64=HEAP32[(($arrayidx45)>>2)];
var $65=$j;
var $66=$model;
var $SV46=(($66+96)|0);
var $67=HEAP32[(($SV46)>>2)];
var $arrayidx47=(($67+($65<<2))|0);
HEAP32[(($arrayidx47)>>2)]=$64;
var $68=$i;
var $alpha48=(($f)|0);
var $69=HEAP32[(($alpha48)>>2)];
var $arrayidx49=(($69+($68<<3))|0);
var $70=(tempDoubleI32[0]=HEAP32[(($arrayidx49)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx49+4)>>2)],tempDoubleF64[0]);
var $71=$j;
var $72=$model;
var $sv_coef50=(($72+100)|0);
var $73=HEAP32[(($sv_coef50)>>2)];
var $arrayidx51=(($73)|0);
var $74=HEAP32[(($arrayidx51)>>2)];
var $arrayidx52=(($74+($71<<3))|0);
(tempDoubleF64[0]=$70,HEAP32[(($arrayidx52)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx52+4)>>2)]=tempDoubleI32[1]);
var $75=$j;
var $inc53=(($75+1)|0);
$j=$inc53;
__label__ = 18; break;
case 18:
__label__ = 19; break;
case 19:
var $76=$i;
var $inc56=(($76+1)|0);
$i=$inc56;
__label__ = 15; break;
case 20:
var $alpha58=(($f)|0);
var $77=HEAP32[(($alpha58)>>2)];
var $78=$77;
_free($78);
__label__ = 146; break;
case 21:
var $79=$prob_addr;
var $l60=(($79)|0);
var $80=HEAP32[(($l60)>>2)];
$l59=$80;
HEAP32[(($label62)>>2)]=0;
HEAP32[(($start)>>2)]=0;
HEAP32[(($count)>>2)]=0;
var $81=$l59;
var $mul63=((($81<<2))|0);
var $call64=_malloc($mul63);
var $82=$call64;
$perm=$82;
var $83=$prob_addr;
var $84=$perm;
__ZL17svm_group_classesPK11svm_problemPiPS2_S3_S3_S2_($83, $nr_class61, $label62, $start, $count, $84);
var $85=HEAP32[(($nr_class61)>>2)];
var $cmp65=(($85)|0)==1;
if ($cmp65) { __label__ = 22; break; } else { __label__ = 23; break; }
case 22:
__ZL4infoPKcz(((STRING_TABLE.__str5)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
__label__ = 23; break;
case 23:
var $86=$l59;
var $mul69=((($86<<2))|0);
var $call70=_malloc($mul69);
var $87=$call70;
$x68=$87;
$i71=0;
__label__ = 24; break;
case 24:
var $88=$i71;
var $89=$l59;
var $cmp73=(($88)|0) < (($89)|0);
if ($cmp73) { __label__ = 25; break; } else { __label__ = 27; break; }
case 25:
var $90=$i71;
var $91=$perm;
var $arrayidx75=(($91+($90<<2))|0);
var $92=HEAP32[(($arrayidx75)>>2)];
var $93=$prob_addr;
var $x76=(($93+8)|0);
var $94=HEAP32[(($x76)>>2)];
var $arrayidx77=(($94+($92<<2))|0);
var $95=HEAP32[(($arrayidx77)>>2)];
var $96=$i71;
var $97=$x68;
var $arrayidx78=(($97+($96<<2))|0);
HEAP32[(($arrayidx78)>>2)]=$95;
__label__ = 26; break;
case 26:
var $98=$i71;
var $inc80=(($98+1)|0);
$i71=$inc80;
__label__ = 24; break;
case 27:
var $99=HEAP32[(($nr_class61)>>2)];
var $mul82=((($99<<3))|0);
var $call83=_malloc($mul82);
var $100=$call83;
$weighted_C=$100;
$i71=0;
__label__ = 28; break;
case 28:
var $101=$i71;
var $102=HEAP32[(($nr_class61)>>2)];
var $cmp85=(($101)|0) < (($102)|0);
if ($cmp85) { __label__ = 29; break; } else { __label__ = 31; break; }
case 29:
var $103=$param_addr;
var $C=(($103+44)|0);
var $104=(tempDoubleI32[0]=HEAP32[(($C)>>2)],tempDoubleI32[1]=HEAP32[(($C+4)>>2)],tempDoubleF64[0]);
var $105=$i71;
var $106=$weighted_C;
var $arrayidx87=(($106+($105<<3))|0);
(tempDoubleF64[0]=$104,HEAP32[(($arrayidx87)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx87+4)>>2)]=tempDoubleI32[1]);
__label__ = 30; break;
case 30:
var $107=$i71;
var $inc89=(($107+1)|0);
$i71=$inc89;
__label__ = 28; break;
case 31:
$i71=0;
__label__ = 32; break;
case 32:
var $108=$i71;
var $109=$param_addr;
var $nr_weight=(($109+52)|0);
var $110=HEAP32[(($nr_weight)>>2)];
var $cmp92=(($108)|0) < (($110)|0);
if ($cmp92) { __label__ = 33; break; } else { __label__ = 44; break; }
case 33:
$j94=0;
__label__ = 34; break;
case 34:
var $111=$j94;
var $112=HEAP32[(($nr_class61)>>2)];
var $cmp96=(($111)|0) < (($112)|0);
if ($cmp96) { __label__ = 35; break; } else { __label__ = 39; break; }
case 35:
var $113=$i71;
var $114=$param_addr;
var $weight_label=(($114+56)|0);
var $115=HEAP32[(($weight_label)>>2)];
var $arrayidx98=(($115+($113<<2))|0);
var $116=HEAP32[(($arrayidx98)>>2)];
var $117=$j94;
var $118=HEAP32[(($label62)>>2)];
var $arrayidx99=(($118+($117<<2))|0);
var $119=HEAP32[(($arrayidx99)>>2)];
var $cmp100=(($116)|0)==(($119)|0);
if ($cmp100) { __label__ = 36; break; } else { __label__ = 37; break; }
case 36:
__label__ = 39; break;
case 37:
__label__ = 38; break;
case 38:
var $120=$j94;
var $inc104=(($120+1)|0);
$j94=$inc104;
__label__ = 34; break;
case 39:
var $121=$j94;
var $122=HEAP32[(($nr_class61)>>2)];
var $cmp106=(($121)|0)==(($122)|0);
if ($cmp106) { __label__ = 40; break; } else { __label__ = 41; break; }
case 40:
var $123=HEAP32[((_stderr)>>2)];
var $124=$i71;
var $125=$param_addr;
var $weight_label108=(($125+56)|0);
var $126=HEAP32[(($weight_label108)>>2)];
var $arrayidx109=(($126+($124<<2))|0);
var $127=HEAP32[(($arrayidx109)>>2)];
var $call110=_fprintf($123, ((STRING_TABLE.__str6)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$127,tempInt));
__label__ = 42; break;
case 41:
var $128=$i71;
var $129=$param_addr;
var $weight=(($129+60)|0);
var $130=HEAP32[(($weight)>>2)];
var $arrayidx112=(($130+($128<<3))|0);
var $131=(tempDoubleI32[0]=HEAP32[(($arrayidx112)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx112+4)>>2)],tempDoubleF64[0]);
var $132=$j94;
var $133=$weighted_C;
var $arrayidx113=(($133+($132<<3))|0);
var $134=(tempDoubleI32[0]=HEAP32[(($arrayidx113)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx113+4)>>2)],tempDoubleF64[0]);
var $mul114=$134*$131;
(tempDoubleF64[0]=$mul114,HEAP32[(($arrayidx113)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx113+4)>>2)]=tempDoubleI32[1]);
__label__ = 42; break;
case 42:
__label__ = 43; break;
case 43:
var $135=$i71;
var $inc117=(($135+1)|0);
$i71=$inc117;
__label__ = 32; break;
case 44:
var $136=$l59;
var $mul119=(($136)|0);
var $call120=_malloc($mul119);
$nonzero=$call120;
$i71=0;
__label__ = 45; break;
case 45:
var $137=$i71;
var $138=$l59;
var $cmp122=(($137)|0) < (($138)|0);
if ($cmp122) { __label__ = 46; break; } else { __label__ = 48; break; }
case 46:
var $139=$i71;
var $140=$nonzero;
var $arrayidx124=(($140+$139)|0);
HEAP8[($arrayidx124)]=0;
__label__ = 47; break;
case 47:
var $141=$i71;
var $inc126=(($141+1)|0);
$i71=$inc126;
__label__ = 45; break;
case 48:
var $142=HEAP32[(($nr_class61)>>2)];
var $143=HEAP32[(($nr_class61)>>2)];
var $sub=(($143-1)|0);
var $mul129=(($142*$sub)|0);
var $div=(((($mul129)|0)/2)&-1);
var $mul130=(($div*12)|0);
var $call131=_malloc($mul130);
var $144=$call131;
$f128=$144;
$probA132=0;
$probB133=0;
var $145=$param_addr;
var $probability134=(($145+84)|0);
var $146=HEAP32[(($probability134)>>2)];
var $tobool135=(($146)|0)!=0;
if ($tobool135) { __label__ = 49; break; } else { __label__ = 50; break; }
case 49:
var $147=HEAP32[(($nr_class61)>>2)];
var $148=HEAP32[(($nr_class61)>>2)];
var $sub137=(($148-1)|0);
var $mul138=(($147*$sub137)|0);
var $div139=(((($mul138)|0)/2)&-1);
var $mul140=((($div139<<3))|0);
var $call141=_malloc($mul140);
var $149=$call141;
$probA132=$149;
var $150=HEAP32[(($nr_class61)>>2)];
var $151=HEAP32[(($nr_class61)>>2)];
var $sub142=(($151-1)|0);
var $mul143=(($150*$sub142)|0);
var $div144=(((($mul143)|0)/2)&-1);
var $mul145=((($div144<<3))|0);
var $call146=_malloc($mul145);
var $152=$call146;
$probB133=$152;
__label__ = 50; break;
case 50:
$p=0;
$i71=0;
__label__ = 51; break;
case 51:
var $153=$i71;
var $154=HEAP32[(($nr_class61)>>2)];
var $cmp149=(($153)|0) < (($154)|0);
if ($cmp149) { __label__ = 52; break; } else { __label__ = 82; break; }
case 52:
var $155=$i71;
var $add=(($155+1)|0);
$j151=$add;
__label__ = 53; break;
case 53:
var $156=$j151;
var $157=HEAP32[(($nr_class61)>>2)];
var $cmp153=(($156)|0) < (($157)|0);
if ($cmp153) { __label__ = 54; break; } else { __label__ = 80; break; }
case 54:
var $158=$i71;
var $159=HEAP32[(($start)>>2)];
var $arrayidx155=(($159+($158<<2))|0);
var $160=HEAP32[(($arrayidx155)>>2)];
$si=$160;
var $161=$j151;
var $162=HEAP32[(($start)>>2)];
var $arrayidx156=(($162+($161<<2))|0);
var $163=HEAP32[(($arrayidx156)>>2)];
$sj=$163;
var $164=$i71;
var $165=HEAP32[(($count)>>2)];
var $arrayidx157=(($165+($164<<2))|0);
var $166=HEAP32[(($arrayidx157)>>2)];
$ci=$166;
var $167=$j151;
var $168=HEAP32[(($count)>>2)];
var $arrayidx158=(($168+($167<<2))|0);
var $169=HEAP32[(($arrayidx158)>>2)];
$cj=$169;
var $170=$ci;
var $171=$cj;
var $add159=(($170+$171)|0);
var $l160=(($sub_prob)|0);
HEAP32[(($l160)>>2)]=$add159;
var $l161=(($sub_prob)|0);
var $172=HEAP32[(($l161)>>2)];
var $mul162=((($172<<2))|0);
var $call163=_malloc($mul162);
var $173=$call163;
var $x164=(($sub_prob+8)|0);
HEAP32[(($x164)>>2)]=$173;
var $l165=(($sub_prob)|0);
var $174=HEAP32[(($l165)>>2)];
var $mul166=((($174<<3))|0);
var $call167=_malloc($mul166);
var $175=$call167;
var $y=(($sub_prob+4)|0);
HEAP32[(($y)>>2)]=$175;
$k=0;
__label__ = 55; break;
case 55:
var $176=$k;
var $177=$ci;
var $cmp169=(($176)|0) < (($177)|0);
if ($cmp169) { __label__ = 56; break; } else { __label__ = 58; break; }
case 56:
var $178=$si;
var $179=$k;
var $add171=(($178+$179)|0);
var $180=$x68;
var $arrayidx172=(($180+($add171<<2))|0);
var $181=HEAP32[(($arrayidx172)>>2)];
var $182=$k;
var $x173=(($sub_prob+8)|0);
var $183=HEAP32[(($x173)>>2)];
var $arrayidx174=(($183+($182<<2))|0);
HEAP32[(($arrayidx174)>>2)]=$181;
var $184=$k;
var $y175=(($sub_prob+4)|0);
var $185=HEAP32[(($y175)>>2)];
var $arrayidx176=(($185+($184<<3))|0);
(tempDoubleF64[0]=1,HEAP32[(($arrayidx176)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx176+4)>>2)]=tempDoubleI32[1]);
__label__ = 57; break;
case 57:
var $186=$k;
var $inc178=(($186+1)|0);
$k=$inc178;
__label__ = 55; break;
case 58:
$k=0;
__label__ = 59; break;
case 59:
var $187=$k;
var $188=$cj;
var $cmp181=(($187)|0) < (($188)|0);
if ($cmp181) { __label__ = 60; break; } else { __label__ = 62; break; }
case 60:
var $189=$sj;
var $190=$k;
var $add183=(($189+$190)|0);
var $191=$x68;
var $arrayidx184=(($191+($add183<<2))|0);
var $192=HEAP32[(($arrayidx184)>>2)];
var $193=$ci;
var $194=$k;
var $add185=(($193+$194)|0);
var $x186=(($sub_prob+8)|0);
var $195=HEAP32[(($x186)>>2)];
var $arrayidx187=(($195+($add185<<2))|0);
HEAP32[(($arrayidx187)>>2)]=$192;
var $196=$ci;
var $197=$k;
var $add188=(($196+$197)|0);
var $y189=(($sub_prob+4)|0);
var $198=HEAP32[(($y189)>>2)];
var $arrayidx190=(($198+($add188<<3))|0);
(tempDoubleF64[0]=-1,HEAP32[(($arrayidx190)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx190+4)>>2)]=tempDoubleI32[1]);
__label__ = 61; break;
case 61:
var $199=$k;
var $inc192=(($199+1)|0);
$k=$inc192;
__label__ = 59; break;
case 62:
var $200=$param_addr;
var $probability194=(($200+84)|0);
var $201=HEAP32[(($probability194)>>2)];
var $tobool195=(($201)|0)!=0;
if ($tobool195) { __label__ = 63; break; } else { __label__ = 64; break; }
case 63:
var $202=$param_addr;
var $203=$i71;
var $204=$weighted_C;
var $arrayidx197=(($204+($203<<3))|0);
var $205=(tempDoubleI32[0]=HEAP32[(($arrayidx197)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx197+4)>>2)],tempDoubleF64[0]);
var $206=$j151;
var $207=$weighted_C;
var $arrayidx198=(($207+($206<<3))|0);
var $208=(tempDoubleI32[0]=HEAP32[(($arrayidx198)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx198+4)>>2)],tempDoubleF64[0]);
var $209=$p;
var $210=$probA132;
var $arrayidx199=(($210+($209<<3))|0);
var $211=$p;
var $212=$probB133;
var $arrayidx200=(($212+($211<<3))|0);
__ZL26svm_binary_svc_probabilityPK11svm_problemPK13svm_parameterddRdS5_($sub_prob, $202, $205, $208, $arrayidx199, $arrayidx200);
__label__ = 64; break;
case 64:
var $213=$p;
var $214=$f128;
var $arrayidx202=(($214+$213*12)|0);
var $215=$param_addr;
var $216=$i71;
var $217=$weighted_C;
var $arrayidx203=(($217+($216<<3))|0);
var $218=(tempDoubleI32[0]=HEAP32[(($arrayidx203)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx203+4)>>2)],tempDoubleF64[0]);
var $219=$j151;
var $220=$weighted_C;
var $arrayidx204=(($220+($219<<3))|0);
var $221=(tempDoubleI32[0]=HEAP32[(($arrayidx204)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx204+4)>>2)],tempDoubleF64[0]);
__ZL13svm_train_onePK11svm_problemPK13svm_parameterdd($ref_tmp, $sub_prob, $215, $218, $221);
var $222=$arrayidx202;
var $223=$ref_tmp;
assert(12 % 1 === 0, 'memcpy given ' + 12 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');HEAP32[(($222)>>2)]=HEAP32[(($223)>>2)];HEAP32[(($222+4)>>2)]=HEAP32[(($223+4)>>2)];HEAP32[(($222+8)>>2)]=HEAP32[(($223+8)>>2)];
$k=0;
__label__ = 65; break;
case 65:
var $224=$k;
var $225=$ci;
var $cmp206=(($224)|0) < (($225)|0);
if ($cmp206) { __label__ = 66; break; } else { __label__ = 71; break; }
case 66:
var $226=$si;
var $227=$k;
var $add208=(($226+$227)|0);
var $228=$nonzero;
var $arrayidx209=(($228+$add208)|0);
var $229=HEAP8[($arrayidx209)];
var $tobool210=(($229) & 1);
if ($tobool210) { __label__ = 69; break; } else { __label__ = 67; break; }
case 67:
var $230=$k;
var $231=$p;
var $232=$f128;
var $arrayidx212=(($232+$231*12)|0);
var $alpha213=(($arrayidx212)|0);
var $233=HEAP32[(($alpha213)>>2)];
var $arrayidx214=(($233+($230<<3))|0);
var $234=(tempDoubleI32[0]=HEAP32[(($arrayidx214)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx214+4)>>2)],tempDoubleF64[0]);
var $call215=_fabs($234);
var $cmp216=$call215 > 0;
if ($cmp216) { __label__ = 68; break; } else { __label__ = 69; break; }
case 68:
var $235=$si;
var $236=$k;
var $add218=(($235+$236)|0);
var $237=$nonzero;
var $arrayidx219=(($237+$add218)|0);
HEAP8[($arrayidx219)]=1;
__label__ = 69; break;
case 69:
__label__ = 70; break;
case 70:
var $238=$k;
var $inc222=(($238+1)|0);
$k=$inc222;
__label__ = 65; break;
case 71:
$k=0;
__label__ = 72; break;
case 72:
var $239=$k;
var $240=$cj;
var $cmp225=(($239)|0) < (($240)|0);
if ($cmp225) { __label__ = 73; break; } else { __label__ = 78; break; }
case 73:
var $241=$sj;
var $242=$k;
var $add227=(($241+$242)|0);
var $243=$nonzero;
var $arrayidx228=(($243+$add227)|0);
var $244=HEAP8[($arrayidx228)];
var $tobool229=(($244) & 1);
if ($tobool229) { __label__ = 76; break; } else { __label__ = 74; break; }
case 74:
var $245=$ci;
var $246=$k;
var $add231=(($245+$246)|0);
var $247=$p;
var $248=$f128;
var $arrayidx232=(($248+$247*12)|0);
var $alpha233=(($arrayidx232)|0);
var $249=HEAP32[(($alpha233)>>2)];
var $arrayidx234=(($249+($add231<<3))|0);
var $250=(tempDoubleI32[0]=HEAP32[(($arrayidx234)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx234+4)>>2)],tempDoubleF64[0]);
var $call235=_fabs($250);
var $cmp236=$call235 > 0;
if ($cmp236) { __label__ = 75; break; } else { __label__ = 76; break; }
case 75:
var $251=$sj;
var $252=$k;
var $add238=(($251+$252)|0);
var $253=$nonzero;
var $arrayidx239=(($253+$add238)|0);
HEAP8[($arrayidx239)]=1;
__label__ = 76; break;
case 76:
__label__ = 77; break;
case 77:
var $254=$k;
var $inc242=(($254+1)|0);
$k=$inc242;
__label__ = 72; break;
case 78:
var $x244=(($sub_prob+8)|0);
var $255=HEAP32[(($x244)>>2)];
var $256=$255;
_free($256);
var $y245=(($sub_prob+4)|0);
var $257=HEAP32[(($y245)>>2)];
var $258=$257;
_free($258);
var $259=$p;
var $inc246=(($259+1)|0);
$p=$inc246;
__label__ = 79; break;
case 79:
var $260=$j151;
var $inc248=(($260+1)|0);
$j151=$inc248;
__label__ = 53; break;
case 80:
__label__ = 81; break;
case 81:
var $261=$i71;
var $inc251=(($261+1)|0);
$i71=$inc251;
__label__ = 51; break;
case 82:
var $262=HEAP32[(($nr_class61)>>2)];
var $263=$model;
var $nr_class253=(($263+88)|0);
HEAP32[(($nr_class253)>>2)]=$262;
var $264=HEAP32[(($nr_class61)>>2)];
var $mul254=((($264<<2))|0);
var $call255=_malloc($mul254);
var $265=$call255;
var $266=$model;
var $label256=(($266+116)|0);
HEAP32[(($label256)>>2)]=$265;
$i71=0;
__label__ = 83; break;
case 83:
var $267=$i71;
var $268=HEAP32[(($nr_class61)>>2)];
var $cmp258=(($267)|0) < (($268)|0);
if ($cmp258) { __label__ = 84; break; } else { __label__ = 86; break; }
case 84:
var $269=$i71;
var $270=HEAP32[(($label62)>>2)];
var $arrayidx260=(($270+($269<<2))|0);
var $271=HEAP32[(($arrayidx260)>>2)];
var $272=$i71;
var $273=$model;
var $label261=(($273+116)|0);
var $274=HEAP32[(($label261)>>2)];
var $arrayidx262=(($274+($272<<2))|0);
HEAP32[(($arrayidx262)>>2)]=$271;
__label__ = 85; break;
case 85:
var $275=$i71;
var $inc264=(($275+1)|0);
$i71=$inc264;
__label__ = 83; break;
case 86:
var $276=HEAP32[(($nr_class61)>>2)];
var $277=HEAP32[(($nr_class61)>>2)];
var $sub266=(($277-1)|0);
var $mul267=(($276*$sub266)|0);
var $div268=(((($mul267)|0)/2)&-1);
var $mul269=((($div268<<3))|0);
var $call270=_malloc($mul269);
var $278=$call270;
var $279=$model;
var $rho271=(($279+104)|0);
HEAP32[(($rho271)>>2)]=$278;
$i71=0;
__label__ = 87; break;
case 87:
var $280=$i71;
var $281=HEAP32[(($nr_class61)>>2)];
var $282=HEAP32[(($nr_class61)>>2)];
var $sub273=(($282-1)|0);
var $mul274=(($281*$sub273)|0);
var $div275=(((($mul274)|0)/2)&-1);
var $cmp276=(($280)|0) < (($div275)|0);
if ($cmp276) { __label__ = 88; break; } else { __label__ = 90; break; }
case 88:
var $283=$i71;
var $284=$f128;
var $arrayidx278=(($284+$283*12)|0);
var $rho279=(($arrayidx278+4)|0);
var $285=(tempDoubleI32[0]=HEAP32[(($rho279)>>2)],tempDoubleI32[1]=HEAP32[(($rho279+4)>>2)],tempDoubleF64[0]);
var $286=$i71;
var $287=$model;
var $rho280=(($287+104)|0);
var $288=HEAP32[(($rho280)>>2)];
var $arrayidx281=(($288+($286<<3))|0);
(tempDoubleF64[0]=$285,HEAP32[(($arrayidx281)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx281+4)>>2)]=tempDoubleI32[1]);
__label__ = 89; break;
case 89:
var $289=$i71;
var $inc283=(($289+1)|0);
$i71=$inc283;
__label__ = 87; break;
case 90:
var $290=$param_addr;
var $probability285=(($290+84)|0);
var $291=HEAP32[(($probability285)>>2)];
var $tobool286=(($291)|0)!=0;
if ($tobool286) { __label__ = 91; break; } else { __label__ = 96; break; }
case 91:
var $292=HEAP32[(($nr_class61)>>2)];
var $293=HEAP32[(($nr_class61)>>2)];
var $sub288=(($293-1)|0);
var $mul289=(($292*$sub288)|0);
var $div290=(((($mul289)|0)/2)&-1);
var $mul291=((($div290<<3))|0);
var $call292=_malloc($mul291);
var $294=$call292;
var $295=$model;
var $probA293=(($295+108)|0);
HEAP32[(($probA293)>>2)]=$294;
var $296=HEAP32[(($nr_class61)>>2)];
var $297=HEAP32[(($nr_class61)>>2)];
var $sub294=(($297-1)|0);
var $mul295=(($296*$sub294)|0);
var $div296=(((($mul295)|0)/2)&-1);
var $mul297=((($div296<<3))|0);
var $call298=_malloc($mul297);
var $298=$call298;
var $299=$model;
var $probB299=(($299+112)|0);
HEAP32[(($probB299)>>2)]=$298;
$i71=0;
__label__ = 92; break;
case 92:
var $300=$i71;
var $301=HEAP32[(($nr_class61)>>2)];
var $302=HEAP32[(($nr_class61)>>2)];
var $sub301=(($302-1)|0);
var $mul302=(($301*$sub301)|0);
var $div303=(((($mul302)|0)/2)&-1);
var $cmp304=(($300)|0) < (($div303)|0);
if ($cmp304) { __label__ = 93; break; } else { __label__ = 95; break; }
case 93:
var $303=$i71;
var $304=$probA132;
var $arrayidx306=(($304+($303<<3))|0);
var $305=(tempDoubleI32[0]=HEAP32[(($arrayidx306)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx306+4)>>2)],tempDoubleF64[0]);
var $306=$i71;
var $307=$model;
var $probA307=(($307+108)|0);
var $308=HEAP32[(($probA307)>>2)];
var $arrayidx308=(($308+($306<<3))|0);
(tempDoubleF64[0]=$305,HEAP32[(($arrayidx308)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx308+4)>>2)]=tempDoubleI32[1]);
var $309=$i71;
var $310=$probB133;
var $arrayidx309=(($310+($309<<3))|0);
var $311=(tempDoubleI32[0]=HEAP32[(($arrayidx309)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx309+4)>>2)],tempDoubleF64[0]);
var $312=$i71;
var $313=$model;
var $probB310=(($313+112)|0);
var $314=HEAP32[(($probB310)>>2)];
var $arrayidx311=(($314+($312<<3))|0);
(tempDoubleF64[0]=$311,HEAP32[(($arrayidx311)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx311+4)>>2)]=tempDoubleI32[1]);
__label__ = 94; break;
case 94:
var $315=$i71;
var $inc313=(($315+1)|0);
$i71=$inc313;
__label__ = 92; break;
case 95:
__label__ = 97; break;
case 96:
var $316=$model;
var $probA316=(($316+108)|0);
HEAP32[(($probA316)>>2)]=0;
var $317=$model;
var $probB317=(($317+112)|0);
HEAP32[(($probB317)>>2)]=0;
__label__ = 97; break;
case 97:
$total_sv=0;
var $318=HEAP32[(($nr_class61)>>2)];
var $mul319=((($318<<2))|0);
var $call320=_malloc($mul319);
var $319=$call320;
$nz_count=$319;
var $320=HEAP32[(($nr_class61)>>2)];
var $mul321=((($320<<2))|0);
var $call322=_malloc($mul321);
var $321=$call322;
var $322=$model;
var $nSV323=(($322+120)|0);
HEAP32[(($nSV323)>>2)]=$321;
$i71=0;
__label__ = 98; break;
case 98:
var $323=$i71;
var $324=HEAP32[(($nr_class61)>>2)];
var $cmp325=(($323)|0) < (($324)|0);
if ($cmp325) { __label__ = 99; break; } else { __label__ = 107; break; }
case 99:
$nSV327=0;
$j328=0;
__label__ = 100; break;
case 100:
var $325=$j328;
var $326=$i71;
var $327=HEAP32[(($count)>>2)];
var $arrayidx330=(($327+($326<<2))|0);
var $328=HEAP32[(($arrayidx330)>>2)];
var $cmp331=(($325)|0) < (($328)|0);
if ($cmp331) { __label__ = 101; break; } else { __label__ = 105; break; }
case 101:
var $329=$i71;
var $330=HEAP32[(($start)>>2)];
var $arrayidx333=(($330+($329<<2))|0);
var $331=HEAP32[(($arrayidx333)>>2)];
var $332=$j328;
var $add334=(($331+$332)|0);
var $333=$nonzero;
var $arrayidx335=(($333+$add334)|0);
var $334=HEAP8[($arrayidx335)];
var $tobool336=(($334) & 1);
if ($tobool336) { __label__ = 102; break; } else { __label__ = 103; break; }
case 102:
var $335=$nSV327;
var $inc338=(($335+1)|0);
$nSV327=$inc338;
var $336=$total_sv;
var $inc339=(($336+1)|0);
$total_sv=$inc339;
__label__ = 103; break;
case 103:
__label__ = 104; break;
case 104:
var $337=$j328;
var $inc342=(($337+1)|0);
$j328=$inc342;
__label__ = 100; break;
case 105:
var $338=$nSV327;
var $339=$i71;
var $340=$model;
var $nSV344=(($340+120)|0);
var $341=HEAP32[(($nSV344)>>2)];
var $arrayidx345=(($341+($339<<2))|0);
HEAP32[(($arrayidx345)>>2)]=$338;
var $342=$nSV327;
var $343=$i71;
var $344=$nz_count;
var $arrayidx346=(($344+($343<<2))|0);
HEAP32[(($arrayidx346)>>2)]=$342;
__label__ = 106; break;
case 106:
var $345=$i71;
var $inc348=(($345+1)|0);
$i71=$inc348;
__label__ = 98; break;
case 107:
var $346=$total_sv;
__ZL4infoPKcz(((STRING_TABLE.__str7)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$346,tempInt));
var $347=$total_sv;
var $348=$model;
var $l350=(($348+92)|0);
HEAP32[(($l350)>>2)]=$347;
var $349=$total_sv;
var $mul351=((($349<<2))|0);
var $call352=_malloc($mul351);
var $350=$call352;
var $351=$model;
var $SV353=(($351+96)|0);
HEAP32[(($SV353)>>2)]=$350;
$p=0;
$i71=0;
__label__ = 108; break;
case 108:
var $352=$i71;
var $353=$l59;
var $cmp355=(($352)|0) < (($353)|0);
if ($cmp355) { __label__ = 109; break; } else { __label__ = 113; break; }
case 109:
var $354=$i71;
var $355=$nonzero;
var $arrayidx357=(($355+$354)|0);
var $356=HEAP8[($arrayidx357)];
var $tobool358=(($356) & 1);
if ($tobool358) { __label__ = 110; break; } else { __label__ = 111; break; }
case 110:
var $357=$i71;
var $358=$x68;
var $arrayidx360=(($358+($357<<2))|0);
var $359=HEAP32[(($arrayidx360)>>2)];
var $360=$p;
var $inc361=(($360+1)|0);
$p=$inc361;
var $361=$model;
var $SV362=(($361+96)|0);
var $362=HEAP32[(($SV362)>>2)];
var $arrayidx363=(($362+($360<<2))|0);
HEAP32[(($arrayidx363)>>2)]=$359;
__label__ = 111; break;
case 111:
__label__ = 112; break;
case 112:
var $363=$i71;
var $inc366=(($363+1)|0);
$i71=$inc366;
__label__ = 108; break;
case 113:
var $364=HEAP32[(($nr_class61)>>2)];
var $mul368=((($364<<2))|0);
var $call369=_malloc($mul368);
var $365=$call369;
$nz_start=$365;
var $366=$nz_start;
var $arrayidx370=(($366)|0);
HEAP32[(($arrayidx370)>>2)]=0;
$i71=1;
__label__ = 114; break;
case 114:
var $367=$i71;
var $368=HEAP32[(($nr_class61)>>2)];
var $cmp372=(($367)|0) < (($368)|0);
if ($cmp372) { __label__ = 115; break; } else { __label__ = 117; break; }
case 115:
var $369=$i71;
var $sub374=(($369-1)|0);
var $370=$nz_start;
var $arrayidx375=(($370+($sub374<<2))|0);
var $371=HEAP32[(($arrayidx375)>>2)];
var $372=$i71;
var $sub376=(($372-1)|0);
var $373=$nz_count;
var $arrayidx377=(($373+($sub376<<2))|0);
var $374=HEAP32[(($arrayidx377)>>2)];
var $add378=(($371+$374)|0);
var $375=$i71;
var $376=$nz_start;
var $arrayidx379=(($376+($375<<2))|0);
HEAP32[(($arrayidx379)>>2)]=$add378;
__label__ = 116; break;
case 116:
var $377=$i71;
var $inc381=(($377+1)|0);
$i71=$inc381;
__label__ = 114; break;
case 117:
var $378=HEAP32[(($nr_class61)>>2)];
var $sub383=(($378-1)|0);
var $mul384=((($sub383<<2))|0);
var $call385=_malloc($mul384);
var $379=$call385;
var $380=$model;
var $sv_coef386=(($380+100)|0);
HEAP32[(($sv_coef386)>>2)]=$379;
$i71=0;
__label__ = 118; break;
case 118:
var $381=$i71;
var $382=HEAP32[(($nr_class61)>>2)];
var $sub388=(($382-1)|0);
var $cmp389=(($381)|0) < (($sub388)|0);
if ($cmp389) { __label__ = 119; break; } else { __label__ = 121; break; }
case 119:
var $383=$total_sv;
var $mul391=((($383<<3))|0);
var $call392=_malloc($mul391);
var $384=$call392;
var $385=$i71;
var $386=$model;
var $sv_coef393=(($386+100)|0);
var $387=HEAP32[(($sv_coef393)>>2)];
var $arrayidx394=(($387+($385<<2))|0);
HEAP32[(($arrayidx394)>>2)]=$384;
__label__ = 120; break;
case 120:
var $388=$i71;
var $inc396=(($388+1)|0);
$i71=$inc396;
__label__ = 118; break;
case 121:
$p=0;
$i71=0;
__label__ = 122; break;
case 122:
var $389=$i71;
var $390=HEAP32[(($nr_class61)>>2)];
var $cmp399=(($389)|0) < (($390)|0);
if ($cmp399) { __label__ = 123; break; } else { __label__ = 141; break; }
case 123:
var $391=$i71;
var $add402=(($391+1)|0);
$j401=$add402;
__label__ = 124; break;
case 124:
var $392=$j401;
var $393=HEAP32[(($nr_class61)>>2)];
var $cmp404=(($392)|0) < (($393)|0);
if ($cmp404) { __label__ = 125; break; } else { __label__ = 139; break; }
case 125:
var $394=$i71;
var $395=HEAP32[(($start)>>2)];
var $arrayidx407=(($395+($394<<2))|0);
var $396=HEAP32[(($arrayidx407)>>2)];
$si406=$396;
var $397=$j401;
var $398=HEAP32[(($start)>>2)];
var $arrayidx409=(($398+($397<<2))|0);
var $399=HEAP32[(($arrayidx409)>>2)];
$sj408=$399;
var $400=$i71;
var $401=HEAP32[(($count)>>2)];
var $arrayidx411=(($401+($400<<2))|0);
var $402=HEAP32[(($arrayidx411)>>2)];
$ci410=$402;
var $403=$j401;
var $404=HEAP32[(($count)>>2)];
var $arrayidx413=(($404+($403<<2))|0);
var $405=HEAP32[(($arrayidx413)>>2)];
$cj412=$405;
var $406=$i71;
var $407=$nz_start;
var $arrayidx414=(($407+($406<<2))|0);
var $408=HEAP32[(($arrayidx414)>>2)];
$q=$408;
$k415=0;
__label__ = 126; break;
case 126:
var $409=$k415;
var $410=$ci410;
var $cmp417=(($409)|0) < (($410)|0);
if ($cmp417) { __label__ = 127; break; } else { __label__ = 131; break; }
case 127:
var $411=$si406;
var $412=$k415;
var $add419=(($411+$412)|0);
var $413=$nonzero;
var $arrayidx420=(($413+$add419)|0);
var $414=HEAP8[($arrayidx420)];
var $tobool421=(($414) & 1);
if ($tobool421) { __label__ = 128; break; } else { __label__ = 129; break; }
case 128:
var $415=$k415;
var $416=$p;
var $417=$f128;
var $arrayidx423=(($417+$416*12)|0);
var $alpha424=(($arrayidx423)|0);
var $418=HEAP32[(($alpha424)>>2)];
var $arrayidx425=(($418+($415<<3))|0);
var $419=(tempDoubleI32[0]=HEAP32[(($arrayidx425)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx425+4)>>2)],tempDoubleF64[0]);
var $420=$q;
var $inc426=(($420+1)|0);
$q=$inc426;
var $421=$j401;
var $sub427=(($421-1)|0);
var $422=$model;
var $sv_coef428=(($422+100)|0);
var $423=HEAP32[(($sv_coef428)>>2)];
var $arrayidx429=(($423+($sub427<<2))|0);
var $424=HEAP32[(($arrayidx429)>>2)];
var $arrayidx430=(($424+($420<<3))|0);
(tempDoubleF64[0]=$419,HEAP32[(($arrayidx430)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx430+4)>>2)]=tempDoubleI32[1]);
__label__ = 129; break;
case 129:
__label__ = 130; break;
case 130:
var $425=$k415;
var $inc433=(($425+1)|0);
$k415=$inc433;
__label__ = 126; break;
case 131:
var $426=$j401;
var $427=$nz_start;
var $arrayidx435=(($427+($426<<2))|0);
var $428=HEAP32[(($arrayidx435)>>2)];
$q=$428;
$k415=0;
__label__ = 132; break;
case 132:
var $429=$k415;
var $430=$cj412;
var $cmp437=(($429)|0) < (($430)|0);
if ($cmp437) { __label__ = 133; break; } else { __label__ = 137; break; }
case 133:
var $431=$sj408;
var $432=$k415;
var $add439=(($431+$432)|0);
var $433=$nonzero;
var $arrayidx440=(($433+$add439)|0);
var $434=HEAP8[($arrayidx440)];
var $tobool441=(($434) & 1);
if ($tobool441) { __label__ = 134; break; } else { __label__ = 135; break; }
case 134:
var $435=$ci410;
var $436=$k415;
var $add443=(($435+$436)|0);
var $437=$p;
var $438=$f128;
var $arrayidx444=(($438+$437*12)|0);
var $alpha445=(($arrayidx444)|0);
var $439=HEAP32[(($alpha445)>>2)];
var $arrayidx446=(($439+($add443<<3))|0);
var $440=(tempDoubleI32[0]=HEAP32[(($arrayidx446)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx446+4)>>2)],tempDoubleF64[0]);
var $441=$q;
var $inc447=(($441+1)|0);
$q=$inc447;
var $442=$i71;
var $443=$model;
var $sv_coef448=(($443+100)|0);
var $444=HEAP32[(($sv_coef448)>>2)];
var $arrayidx449=(($444+($442<<2))|0);
var $445=HEAP32[(($arrayidx449)>>2)];
var $arrayidx450=(($445+($441<<3))|0);
(tempDoubleF64[0]=$440,HEAP32[(($arrayidx450)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx450+4)>>2)]=tempDoubleI32[1]);
__label__ = 135; break;
case 135:
__label__ = 136; break;
case 136:
var $446=$k415;
var $inc453=(($446+1)|0);
$k415=$inc453;
__label__ = 132; break;
case 137:
var $447=$p;
var $inc455=(($447+1)|0);
$p=$inc455;
__label__ = 138; break;
case 138:
var $448=$j401;
var $inc457=(($448+1)|0);
$j401=$inc457;
__label__ = 124; break;
case 139:
__label__ = 140; break;
case 140:
var $449=$i71;
var $inc460=(($449+1)|0);
$i71=$inc460;
__label__ = 122; break;
case 141:
var $450=HEAP32[(($label62)>>2)];
var $451=$450;
_free($451);
var $452=$probA132;
var $453=$452;
_free($453);
var $454=$probB133;
var $455=$454;
_free($455);
var $456=HEAP32[(($count)>>2)];
var $457=$456;
_free($457);
var $458=$perm;
var $459=$458;
_free($459);
var $460=HEAP32[(($start)>>2)];
var $461=$460;
_free($461);
var $462=$x68;
var $463=$462;
_free($463);
var $464=$weighted_C;
var $465=$464;
_free($465);
var $466=$nonzero;
_free($466);
$i71=0;
__label__ = 142; break;
case 142:
var $467=$i71;
var $468=HEAP32[(($nr_class61)>>2)];
var $469=HEAP32[(($nr_class61)>>2)];
var $sub463=(($469-1)|0);
var $mul464=(($468*$sub463)|0);
var $div465=(((($mul464)|0)/2)&-1);
var $cmp466=(($467)|0) < (($div465)|0);
if ($cmp466) { __label__ = 143; break; } else { __label__ = 145; break; }
case 143:
var $470=$i71;
var $471=$f128;
var $arrayidx468=(($471+$470*12)|0);
var $alpha469=(($arrayidx468)|0);
var $472=HEAP32[(($alpha469)>>2)];
var $473=$472;
_free($473);
__label__ = 144; break;
case 144:
var $474=$i71;
var $inc471=(($474+1)|0);
$i71=$inc471;
__label__ = 142; break;
case 145:
var $475=$f128;
var $476=$475;
_free($476);
var $477=$nz_count;
var $478=$477;
_free($478);
var $479=$nz_start;
var $480=$479;
_free($480);
__label__ = 146; break;
case 146:
var $481=$model;
STACKTOP = __stackBase__;
return $481;
default: assert(0, "bad label: " + __label__);
}
}
_svm_train["X"]=1;
function __ZL19svm_svr_probabilityPK11svm_problemPK13svm_parameter($prob, $param) {
var __stackBase__ = STACKTOP; STACKTOP += 88; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $prob_addr;
var $param_addr;
var $i;
var $nr_fold;
var $ymv;
var $mae;
var $newparam=__stackBase__;
var $std;
var $count;
$prob_addr=$prob;
$param_addr=$param;
$nr_fold=5;
var $0=$prob_addr;
var $l=(($0)|0);
var $1=HEAP32[(($l)>>2)];
var $mul=((($1<<3))|0);
var $call=_malloc($mul);
var $2=$call;
$ymv=$2;
$mae=0;
var $3=$param_addr;
var $4=$newparam;
var $5=$3;
assert(88 % 1 === 0, 'memcpy given ' + 88 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');for (var $$src = $5>>2, $$dest = $4>>2, $$stop = $$src + 22; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src]
};
var $probability=(($newparam+84)|0);
HEAP32[(($probability)>>2)]=0;
var $6=$prob_addr;
var $7=$nr_fold;
var $8=$ymv;
_svm_cross_validation($6, $newparam, $7, $8);
$i=0;
__label__ = 2; break;
case 2:
var $9=$i;
var $10=$prob_addr;
var $l1=(($10)|0);
var $11=HEAP32[(($l1)>>2)];
var $cmp=(($9)|0) < (($11)|0);
if ($cmp) { __label__ = 3; break; } else { __label__ = 5; break; }
case 3:
var $12=$i;
var $13=$prob_addr;
var $y=(($13+4)|0);
var $14=HEAP32[(($y)>>2)];
var $arrayidx=(($14+($12<<3))|0);
var $15=(tempDoubleI32[0]=HEAP32[(($arrayidx)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx+4)>>2)],tempDoubleF64[0]);
var $16=$i;
var $17=$ymv;
var $arrayidx2=(($17+($16<<3))|0);
var $18=(tempDoubleI32[0]=HEAP32[(($arrayidx2)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx2+4)>>2)],tempDoubleF64[0]);
var $sub=$15-$18;
var $19=$i;
var $20=$ymv;
var $arrayidx3=(($20+($19<<3))|0);
(tempDoubleF64[0]=$sub,HEAP32[(($arrayidx3)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx3+4)>>2)]=tempDoubleI32[1]);
var $21=$i;
var $22=$ymv;
var $arrayidx4=(($22+($21<<3))|0);
var $23=(tempDoubleI32[0]=HEAP32[(($arrayidx4)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx4+4)>>2)],tempDoubleF64[0]);
var $call5=_fabs($23);
var $24=$mae;
var $add=$24+$call5;
$mae=$add;
__label__ = 4; break;
case 4:
var $25=$i;
var $inc=(($25+1)|0);
$i=$inc;
__label__ = 2; break;
case 5:
var $26=$prob_addr;
var $l6=(($26)|0);
var $27=HEAP32[(($l6)>>2)];
var $conv=(($27)|0);
var $28=$mae;
var $div=$28/$conv;
$mae=$div;
var $29=$mae;
var $mul7=$29*2;
var $30=$mae;
var $mul8=$mul7*$30;
var $call9=_sqrt($mul8);
$std=$call9;
$count=0;
$mae=0;
$i=0;
__label__ = 6; break;
case 6:
var $31=$i;
var $32=$prob_addr;
var $l11=(($32)|0);
var $33=HEAP32[(($l11)>>2)];
var $cmp12=(($31)|0) < (($33)|0);
if ($cmp12) { __label__ = 7; break; } else { __label__ = 12; break; }
case 7:
var $34=$i;
var $35=$ymv;
var $arrayidx14=(($35+($34<<3))|0);
var $36=(tempDoubleI32[0]=HEAP32[(($arrayidx14)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx14+4)>>2)],tempDoubleF64[0]);
var $call15=_fabs($36);
var $37=$std;
var $mul16=$37*5;
var $cmp17=$call15 > $mul16;
if ($cmp17) { __label__ = 8; break; } else { __label__ = 9; break; }
case 8:
var $38=$count;
var $add18=(($38+1)|0);
$count=$add18;
__label__ = 10; break;
case 9:
var $39=$i;
var $40=$ymv;
var $arrayidx19=(($40+($39<<3))|0);
var $41=(tempDoubleI32[0]=HEAP32[(($arrayidx19)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx19+4)>>2)],tempDoubleF64[0]);
var $call20=_fabs($41);
var $42=$mae;
var $add21=$42+$call20;
$mae=$add21;
__label__ = 10; break;
case 10:
__label__ = 11; break;
case 11:
var $43=$i;
var $inc23=(($43+1)|0);
$i=$inc23;
__label__ = 6; break;
case 12:
var $44=$prob_addr;
var $l25=(($44)|0);
var $45=HEAP32[(($l25)>>2)];
var $46=$count;
var $sub26=(($45-$46)|0);
var $conv27=(($sub26)|0);
var $47=$mae;
var $div28=$47/$conv27;
$mae=$div28;
var $48=$mae;
__ZL4infoPKcz(((STRING_TABLE.__str78)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),(tempDoubleF64[0]=$48,HEAP32[((tempInt)>>2)]=tempDoubleI32[0],HEAP32[((tempInt+4)>>2)]=tempDoubleI32[1]),tempInt));
var $49=$ymv;
var $50=$49;
_free($50);
var $51=$mae;
STACKTOP = __stackBase__;
return $51;
default: assert(0, "bad label: " + __label__);
}
}
__ZL19svm_svr_probabilityPK11svm_problemPK13svm_parameter["X"]=1;
function __ZL13svm_train_onePK11svm_problemPK13svm_parameterdd($agg_result, $prob, $param, $Cp, $Cn) {
var __stackBase__ = STACKTOP; STACKTOP += 40; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $prob_addr;
var $param_addr;
var $Cp_addr;
var $Cn_addr;
var $alpha;
var $si=__stackBase__;
var $nSV;
var $nBSV;
var $i;
$prob_addr=$prob;
$param_addr=$param;
$Cp_addr=$Cp;
$Cn_addr=$Cn;
var $0=$prob_addr;
var $l=(($0)|0);
var $1=HEAP32[(($l)>>2)];
var $mul=((($1<<3))|0);
var $call=_malloc($mul);
var $2=$call;
$alpha=$2;
var $3=$param_addr;
var $svm_type=(($3)|0);
var $4=HEAP32[(($svm_type)>>2)];
if ((($4)|0) == 0) {
__label__ = 2; break;
}
else if ((($4)|0) == 1) {
__label__ = 3; break;
}
else if ((($4)|0) == 2) {
__label__ = 4; break;
}
else if ((($4)|0) == 3) {
__label__ = 5; break;
}
else if ((($4)|0) == 4) {
__label__ = 6; break;
}
else {
__label__ = 7; break;
}
case 2:
var $5=$prob_addr;
var $6=$param_addr;
var $7=$alpha;
var $8=$Cp_addr;
var $9=$Cn_addr;
__ZL11solve_c_svcPK11svm_problemPK13svm_parameterPdPN6Solver12SolutionInfoEdd($5, $6, $7, $si, $8, $9);
__label__ = 7; break;
case 3:
var $10=$prob_addr;
var $11=$param_addr;
var $12=$alpha;
__ZL12solve_nu_svcPK11svm_problemPK13svm_parameterPdPN6Solver12SolutionInfoE($10, $11, $12, $si);
__label__ = 7; break;
case 4:
var $13=$prob_addr;
var $14=$param_addr;
var $15=$alpha;
__ZL15solve_one_classPK11svm_problemPK13svm_parameterPdPN6Solver12SolutionInfoE($13, $14, $15, $si);
__label__ = 7; break;
case 5:
var $16=$prob_addr;
var $17=$param_addr;
var $18=$alpha;
__ZL17solve_epsilon_svrPK11svm_problemPK13svm_parameterPdPN6Solver12SolutionInfoE($16, $17, $18, $si);
__label__ = 7; break;
case 6:
var $19=$prob_addr;
var $20=$param_addr;
var $21=$alpha;
__ZL12solve_nu_svrPK11svm_problemPK13svm_parameterPdPN6Solver12SolutionInfoE($19, $20, $21, $si);
__label__ = 7; break;
case 7:
var $obj=(($si)|0);
var $22=(tempDoubleI32[0]=HEAP32[(($obj)>>2)],tempDoubleI32[1]=HEAP32[(($obj+4)>>2)],tempDoubleF64[0]);
var $rho=(($si+8)|0);
var $23=(tempDoubleI32[0]=HEAP32[(($rho)>>2)],tempDoubleI32[1]=HEAP32[(($rho+4)>>2)],tempDoubleF64[0]);
__ZL4infoPKcz(((STRING_TABLE.__str73)|0), (tempInt=STACKTOP,STACKTOP += 16,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),(tempDoubleF64[0]=$22,HEAP32[((tempInt)>>2)]=tempDoubleI32[0],HEAP32[((tempInt+4)>>2)]=tempDoubleI32[1]),(tempDoubleF64[0]=$23,HEAP32[((tempInt+8)>>2)]=tempDoubleI32[0],HEAP32[((tempInt+8+4)>>2)]=tempDoubleI32[1]),tempInt));
$nSV=0;
$nBSV=0;
$i=0;
__label__ = 8; break;
case 8:
var $24=$i;
var $25=$prob_addr;
var $l5=(($25)|0);
var $26=HEAP32[(($l5)>>2)];
var $cmp=(($24)|0) < (($26)|0);
if ($cmp) { __label__ = 9; break; } else { __label__ = 20; break; }
case 9:
var $27=$i;
var $28=$alpha;
var $arrayidx=(($28+($27<<3))|0);
var $29=(tempDoubleI32[0]=HEAP32[(($arrayidx)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx+4)>>2)],tempDoubleF64[0]);
var $call6=_fabs($29);
var $cmp7=$call6 > 0;
if ($cmp7) { __label__ = 10; break; } else { __label__ = 18; break; }
case 10:
var $30=$nSV;
var $inc=(($30+1)|0);
$nSV=$inc;
var $31=$i;
var $32=$prob_addr;
var $y=(($32+4)|0);
var $33=HEAP32[(($y)>>2)];
var $arrayidx8=(($33+($31<<3))|0);
var $34=(tempDoubleI32[0]=HEAP32[(($arrayidx8)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx8+4)>>2)],tempDoubleF64[0]);
var $cmp9=$34 > 0;
if ($cmp9) { __label__ = 11; break; } else { __label__ = 14; break; }
case 11:
var $35=$i;
var $36=$alpha;
var $arrayidx11=(($36+($35<<3))|0);
var $37=(tempDoubleI32[0]=HEAP32[(($arrayidx11)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx11+4)>>2)],tempDoubleF64[0]);
var $call12=_fabs($37);
var $upper_bound_p=(($si+16)|0);
var $38=(tempDoubleI32[0]=HEAP32[(($upper_bound_p)>>2)],tempDoubleI32[1]=HEAP32[(($upper_bound_p+4)>>2)],tempDoubleF64[0]);
var $cmp13=$call12 >= $38;
if ($cmp13) { __label__ = 12; break; } else { __label__ = 13; break; }
case 12:
var $39=$nBSV;
var $inc15=(($39+1)|0);
$nBSV=$inc15;
__label__ = 13; break;
case 13:
__label__ = 17; break;
case 14:
var $40=$i;
var $41=$alpha;
var $arrayidx16=(($41+($40<<3))|0);
var $42=(tempDoubleI32[0]=HEAP32[(($arrayidx16)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx16+4)>>2)],tempDoubleF64[0]);
var $call17=_fabs($42);
var $upper_bound_n=(($si+24)|0);
var $43=(tempDoubleI32[0]=HEAP32[(($upper_bound_n)>>2)],tempDoubleI32[1]=HEAP32[(($upper_bound_n+4)>>2)],tempDoubleF64[0]);
var $cmp18=$call17 >= $43;
if ($cmp18) { __label__ = 15; break; } else { __label__ = 16; break; }
case 15:
var $44=$nBSV;
var $inc20=(($44+1)|0);
$nBSV=$inc20;
__label__ = 16; break;
case 16:
__label__ = 17; break;
case 17:
__label__ = 18; break;
case 18:
__label__ = 19; break;
case 19:
var $45=$i;
var $inc24=(($45+1)|0);
$i=$inc24;
__label__ = 8; break;
case 20:
var $46=$nSV;
var $47=$nBSV;
__ZL4infoPKcz(((STRING_TABLE.__str74)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$46,HEAP32[((tempInt+4)>>2)]=$47,tempInt));
var $48=$alpha;
var $alpha25=(($agg_result)|0);
HEAP32[(($alpha25)>>2)]=$48;
var $rho26=(($si+8)|0);
var $49=(tempDoubleI32[0]=HEAP32[(($rho26)>>2)],tempDoubleI32[1]=HEAP32[(($rho26+4)>>2)],tempDoubleF64[0]);
var $rho27=(($agg_result+4)|0);
(tempDoubleF64[0]=$49,HEAP32[(($rho27)>>2)]=tempDoubleI32[0],HEAP32[(($rho27+4)>>2)]=tempDoubleI32[1]);
STACKTOP = __stackBase__;
return;
default: assert(0, "bad label: " + __label__);
}
}
__ZL13svm_train_onePK11svm_problemPK13svm_parameterdd["X"]=1;
function __ZL17svm_group_classesPK11svm_problemPiPS2_S3_S3_S2_($prob, $nr_class_ret, $label_ret, $start_ret, $count_ret, $perm) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $prob_addr;
var $nr_class_ret_addr;
var $label_ret_addr;
var $start_ret_addr;
var $count_ret_addr;
var $perm_addr;
var $l;
var $max_nr_class;
var $nr_class;
var $label;
var $count;
var $data_label;
var $i;
var $this_label;
var $j;
var $start;
$prob_addr=$prob;
$nr_class_ret_addr=$nr_class_ret;
$label_ret_addr=$label_ret;
$start_ret_addr=$start_ret;
$count_ret_addr=$count_ret;
$perm_addr=$perm;
var $0=$prob_addr;
var $l1=(($0)|0);
var $1=HEAP32[(($l1)>>2)];
$l=$1;
$max_nr_class=16;
$nr_class=0;
var $2=$max_nr_class;
var $mul=((($2<<2))|0);
var $call=_malloc($mul);
var $3=$call;
$label=$3;
var $4=$max_nr_class;
var $mul2=((($4<<2))|0);
var $call3=_malloc($mul2);
var $5=$call3;
$count=$5;
var $6=$l;
var $mul4=((($6<<2))|0);
var $call5=_malloc($mul4);
var $7=$call5;
$data_label=$7;
$i=0;
__label__ = 2; break;
case 2:
var $8=$i;
var $9=$l;
var $cmp=(($8)|0) < (($9)|0);
if ($cmp) { __label__ = 3; break; } else { __label__ = 15; break; }
case 3:
var $10=$i;
var $11=$prob_addr;
var $y=(($11+4)|0);
var $12=HEAP32[(($y)>>2)];
var $arrayidx=(($12+($10<<3))|0);
var $13=(tempDoubleI32[0]=HEAP32[(($arrayidx)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx+4)>>2)],tempDoubleF64[0]);
var $conv=(($13)&-1);
$this_label=$conv;
$j=0;
__label__ = 4; break;
case 4:
var $14=$j;
var $15=$nr_class;
var $cmp7=(($14)|0) < (($15)|0);
if ($cmp7) { __label__ = 5; break; } else { __label__ = 9; break; }
case 5:
var $16=$this_label;
var $17=$j;
var $18=$label;
var $arrayidx9=(($18+($17<<2))|0);
var $19=HEAP32[(($arrayidx9)>>2)];
var $cmp10=(($16)|0)==(($19)|0);
if ($cmp10) { __label__ = 6; break; } else { __label__ = 7; break; }
case 6:
var $20=$j;
var $21=$count;
var $arrayidx11=(($21+($20<<2))|0);
var $22=HEAP32[(($arrayidx11)>>2)];
var $inc=(($22+1)|0);
HEAP32[(($arrayidx11)>>2)]=$inc;
__label__ = 9; break;
case 7:
__label__ = 8; break;
case 8:
var $23=$j;
var $inc12=(($23+1)|0);
$j=$inc12;
__label__ = 4; break;
case 9:
var $24=$j;
var $25=$i;
var $26=$data_label;
var $arrayidx13=(($26+($25<<2))|0);
HEAP32[(($arrayidx13)>>2)]=$24;
var $27=$j;
var $28=$nr_class;
var $cmp14=(($27)|0)==(($28)|0);
if ($cmp14) { __label__ = 10; break; } else { __label__ = 13; break; }
case 10:
var $29=$nr_class;
var $30=$max_nr_class;
var $cmp16=(($29)|0)==(($30)|0);
if ($cmp16) { __label__ = 11; break; } else { __label__ = 12; break; }
case 11:
var $31=$max_nr_class;
var $mul18=((($31<<1))|0);
$max_nr_class=$mul18;
var $32=$label;
var $33=$32;
var $34=$max_nr_class;
var $mul19=((($34<<2))|0);
var $call20=_realloc($33, $mul19);
var $35=$call20;
$label=$35;
var $36=$count;
var $37=$36;
var $38=$max_nr_class;
var $mul21=((($38<<2))|0);
var $call22=_realloc($37, $mul21);
var $39=$call22;
$count=$39;
__label__ = 12; break;
case 12:
var $40=$this_label;
var $41=$nr_class;
var $42=$label;
var $arrayidx24=(($42+($41<<2))|0);
HEAP32[(($arrayidx24)>>2)]=$40;
var $43=$nr_class;
var $44=$count;
var $arrayidx25=(($44+($43<<2))|0);
HEAP32[(($arrayidx25)>>2)]=1;
var $45=$nr_class;
var $inc26=(($45+1)|0);
$nr_class=$inc26;
__label__ = 13; break;
case 13:
__label__ = 14; break;
case 14:
var $46=$i;
var $inc29=(($46+1)|0);
$i=$inc29;
__label__ = 2; break;
case 15:
var $47=$nr_class;
var $mul31=((($47<<2))|0);
var $call32=_malloc($mul31);
var $48=$call32;
$start=$48;
var $49=$start;
var $arrayidx33=(($49)|0);
HEAP32[(($arrayidx33)>>2)]=0;
$i=1;
__label__ = 16; break;
case 16:
var $50=$i;
var $51=$nr_class;
var $cmp35=(($50)|0) < (($51)|0);
if ($cmp35) { __label__ = 17; break; } else { __label__ = 19; break; }
case 17:
var $52=$i;
var $sub=(($52-1)|0);
var $53=$start;
var $arrayidx37=(($53+($sub<<2))|0);
var $54=HEAP32[(($arrayidx37)>>2)];
var $55=$i;
var $sub38=(($55-1)|0);
var $56=$count;
var $arrayidx39=(($56+($sub38<<2))|0);
var $57=HEAP32[(($arrayidx39)>>2)];
var $add=(($54+$57)|0);
var $58=$i;
var $59=$start;
var $arrayidx40=(($59+($58<<2))|0);
HEAP32[(($arrayidx40)>>2)]=$add;
__label__ = 18; break;
case 18:
var $60=$i;
var $inc42=(($60+1)|0);
$i=$inc42;
__label__ = 16; break;
case 19:
$i=0;
__label__ = 20; break;
case 20:
var $61=$i;
var $62=$l;
var $cmp45=(($61)|0) < (($62)|0);
if ($cmp45) { __label__ = 21; break; } else { __label__ = 23; break; }
case 21:
var $63=$i;
var $64=$i;
var $65=$data_label;
var $arrayidx47=(($65+($64<<2))|0);
var $66=HEAP32[(($arrayidx47)>>2)];
var $67=$start;
var $arrayidx48=(($67+($66<<2))|0);
var $68=HEAP32[(($arrayidx48)>>2)];
var $69=$perm_addr;
var $arrayidx49=(($69+($68<<2))|0);
HEAP32[(($arrayidx49)>>2)]=$63;
var $70=$i;
var $71=$data_label;
var $arrayidx50=(($71+($70<<2))|0);
var $72=HEAP32[(($arrayidx50)>>2)];
var $73=$start;
var $arrayidx51=(($73+($72<<2))|0);
var $74=HEAP32[(($arrayidx51)>>2)];
var $inc52=(($74+1)|0);
HEAP32[(($arrayidx51)>>2)]=$inc52;
__label__ = 22; break;
case 22:
var $75=$i;
var $inc54=(($75+1)|0);
$i=$inc54;
__label__ = 20; break;
case 23:
var $76=$start;
var $arrayidx56=(($76)|0);
HEAP32[(($arrayidx56)>>2)]=0;
$i=1;
__label__ = 24; break;
case 24:
var $77=$i;
var $78=$nr_class;
var $cmp58=(($77)|0) < (($78)|0);
if ($cmp58) { __label__ = 25; break; } else { __label__ = 27; break; }
case 25:
var $79=$i;
var $sub60=(($79-1)|0);
var $80=$start;
var $arrayidx61=(($80+($sub60<<2))|0);
var $81=HEAP32[(($arrayidx61)>>2)];
var $82=$i;
var $sub62=(($82-1)|0);
var $83=$count;
var $arrayidx63=(($83+($sub62<<2))|0);
var $84=HEAP32[(($arrayidx63)>>2)];
var $add64=(($81+$84)|0);
var $85=$i;
var $86=$start;
var $arrayidx65=(($86+($85<<2))|0);
HEAP32[(($arrayidx65)>>2)]=$add64;
__label__ = 26; break;
case 26:
var $87=$i;
var $inc67=(($87+1)|0);
$i=$inc67;
__label__ = 24; break;
case 27:
var $88=$nr_class;
var $89=$nr_class_ret_addr;
HEAP32[(($89)>>2)]=$88;
var $90=$label;
var $91=$label_ret_addr;
HEAP32[(($91)>>2)]=$90;
var $92=$start;
var $93=$start_ret_addr;
HEAP32[(($93)>>2)]=$92;
var $94=$count;
var $95=$count_ret_addr;
HEAP32[(($95)>>2)]=$94;
var $96=$data_label;
var $97=$96;
_free($97);
;
return;
default: assert(0, "bad label: " + __label__);
}
}
__ZL17svm_group_classesPK11svm_problemPiPS2_S3_S3_S2_["X"]=1;
function __ZL26svm_binary_svc_probabilityPK11svm_problemPK13svm_parameterddRdS5_($prob, $param, $Cp, $Cn, $probA, $probB) {
var __stackBase__ = STACKTOP; STACKTOP += 104; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $prob_addr;
var $param_addr;
var $Cp_addr;
var $Cn_addr;
var $probA_addr;
var $probB_addr;
var $i;
var $nr_fold;
var $perm;
var $dec_values;
var $j;
var $begin;
var $end;
var $j25;
var $k;
var $subprob=__stackBase__;
var $p_count;
var $n_count;
var $subparam=__stackBase__+12;
var $submodel=__stackBase__+100;
$prob_addr=$prob;
$param_addr=$param;
$Cp_addr=$Cp;
$Cn_addr=$Cn;
$probA_addr=$probA;
$probB_addr=$probB;
$nr_fold=5;
var $0=$prob_addr;
var $l=(($0)|0);
var $1=HEAP32[(($l)>>2)];
var $mul=((($1<<2))|0);
var $call=_malloc($mul);
var $2=$call;
$perm=$2;
var $3=$prob_addr;
var $l1=(($3)|0);
var $4=HEAP32[(($l1)>>2)];
var $mul2=((($4<<3))|0);
var $call3=_malloc($mul2);
var $5=$call3;
$dec_values=$5;
$i=0;
__label__ = 2; break;
case 2:
var $6=$i;
var $7=$prob_addr;
var $l4=(($7)|0);
var $8=HEAP32[(($l4)>>2)];
var $cmp=(($6)|0) < (($8)|0);
if ($cmp) { __label__ = 3; break; } else { __label__ = 5; break; }
case 3:
var $9=$i;
var $10=$i;
var $11=$perm;
var $arrayidx=(($11+($10<<2))|0);
HEAP32[(($arrayidx)>>2)]=$9;
__label__ = 4; break;
case 4:
var $12=$i;
var $inc=(($12+1)|0);
$i=$inc;
__label__ = 2; break;
case 5:
$i=0;
__label__ = 6; break;
case 6:
var $13=$i;
var $14=$prob_addr;
var $l6=(($14)|0);
var $15=HEAP32[(($l6)>>2)];
var $cmp7=(($13)|0) < (($15)|0);
if ($cmp7) { __label__ = 7; break; } else { __label__ = 9; break; }
case 7:
var $16=$i;
var $call9=_rand();
var $17=$prob_addr;
var $l10=(($17)|0);
var $18=HEAP32[(($l10)>>2)];
var $19=$i;
var $sub=(($18-$19)|0);
var $rem=(($call9)|0)%(($sub)|0);
var $add=(($16+$rem)|0);
$j=$add;
var $20=$i;
var $21=$perm;
var $arrayidx11=(($21+($20<<2))|0);
var $22=$j;
var $23=$perm;
var $arrayidx12=(($23+($22<<2))|0);
__ZL4swapIiEvRT_S1_($arrayidx11, $arrayidx12);
__label__ = 8; break;
case 8:
var $24=$i;
var $inc14=(($24+1)|0);
$i=$inc14;
__label__ = 6; break;
case 9:
$i=0;
__label__ = 10; break;
case 10:
var $25=$i;
var $26=$nr_fold;
var $cmp17=(($25)|0) < (($26)|0);
if ($cmp17) { __label__ = 11; break; } else { __label__ = 56; break; }
case 11:
var $27=$i;
var $28=$prob_addr;
var $l19=(($28)|0);
var $29=HEAP32[(($l19)>>2)];
var $mul20=(($27*$29)|0);
var $30=$nr_fold;
var $div=(((($mul20)|0)/(($30)|0))&-1);
$begin=$div;
var $31=$i;
var $add21=(($31+1)|0);
var $32=$prob_addr;
var $l22=(($32)|0);
var $33=HEAP32[(($l22)>>2)];
var $mul23=(($add21*$33)|0);
var $34=$nr_fold;
var $div24=(((($mul23)|0)/(($34)|0))&-1);
$end=$div24;
var $35=$prob_addr;
var $l26=(($35)|0);
var $36=HEAP32[(($l26)>>2)];
var $37=$end;
var $38=$begin;
var $sub27=(($37-$38)|0);
var $sub28=(($36-$sub27)|0);
var $l29=(($subprob)|0);
HEAP32[(($l29)>>2)]=$sub28;
var $l30=(($subprob)|0);
var $39=HEAP32[(($l30)>>2)];
var $mul31=((($39<<2))|0);
var $call32=_malloc($mul31);
var $40=$call32;
var $x=(($subprob+8)|0);
HEAP32[(($x)>>2)]=$40;
var $l33=(($subprob)|0);
var $41=HEAP32[(($l33)>>2)];
var $mul34=((($41<<3))|0);
var $call35=_malloc($mul34);
var $42=$call35;
var $y=(($subprob+4)|0);
HEAP32[(($y)>>2)]=$42;
$k=0;
$j25=0;
__label__ = 12; break;
case 12:
var $43=$j25;
var $44=$begin;
var $cmp37=(($43)|0) < (($44)|0);
if ($cmp37) { __label__ = 13; break; } else { __label__ = 15; break; }
case 13:
var $45=$j25;
var $46=$perm;
var $arrayidx39=(($46+($45<<2))|0);
var $47=HEAP32[(($arrayidx39)>>2)];
var $48=$prob_addr;
var $x40=(($48+8)|0);
var $49=HEAP32[(($x40)>>2)];
var $arrayidx41=(($49+($47<<2))|0);
var $50=HEAP32[(($arrayidx41)>>2)];
var $51=$k;
var $x42=(($subprob+8)|0);
var $52=HEAP32[(($x42)>>2)];
var $arrayidx43=(($52+($51<<2))|0);
HEAP32[(($arrayidx43)>>2)]=$50;
var $53=$j25;
var $54=$perm;
var $arrayidx44=(($54+($53<<2))|0);
var $55=HEAP32[(($arrayidx44)>>2)];
var $56=$prob_addr;
var $y45=(($56+4)|0);
var $57=HEAP32[(($y45)>>2)];
var $arrayidx46=(($57+($55<<3))|0);
var $58=(tempDoubleI32[0]=HEAP32[(($arrayidx46)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx46+4)>>2)],tempDoubleF64[0]);
var $59=$k;
var $y47=(($subprob+4)|0);
var $60=HEAP32[(($y47)>>2)];
var $arrayidx48=(($60+($59<<3))|0);
(tempDoubleF64[0]=$58,HEAP32[(($arrayidx48)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx48+4)>>2)]=tempDoubleI32[1]);
var $61=$k;
var $inc49=(($61+1)|0);
$k=$inc49;
__label__ = 14; break;
case 14:
var $62=$j25;
var $inc51=(($62+1)|0);
$j25=$inc51;
__label__ = 12; break;
case 15:
var $63=$end;
$j25=$63;
__label__ = 16; break;
case 16:
var $64=$j25;
var $65=$prob_addr;
var $l54=(($65)|0);
var $66=HEAP32[(($l54)>>2)];
var $cmp55=(($64)|0) < (($66)|0);
if ($cmp55) { __label__ = 17; break; } else { __label__ = 19; break; }
case 17:
var $67=$j25;
var $68=$perm;
var $arrayidx57=(($68+($67<<2))|0);
var $69=HEAP32[(($arrayidx57)>>2)];
var $70=$prob_addr;
var $x58=(($70+8)|0);
var $71=HEAP32[(($x58)>>2)];
var $arrayidx59=(($71+($69<<2))|0);
var $72=HEAP32[(($arrayidx59)>>2)];
var $73=$k;
var $x60=(($subprob+8)|0);
var $74=HEAP32[(($x60)>>2)];
var $arrayidx61=(($74+($73<<2))|0);
HEAP32[(($arrayidx61)>>2)]=$72;
var $75=$j25;
var $76=$perm;
var $arrayidx62=(($76+($75<<2))|0);
var $77=HEAP32[(($arrayidx62)>>2)];
var $78=$prob_addr;
var $y63=(($78+4)|0);
var $79=HEAP32[(($y63)>>2)];
var $arrayidx64=(($79+($77<<3))|0);
var $80=(tempDoubleI32[0]=HEAP32[(($arrayidx64)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx64+4)>>2)],tempDoubleF64[0]);
var $81=$k;
var $y65=(($subprob+4)|0);
var $82=HEAP32[(($y65)>>2)];
var $arrayidx66=(($82+($81<<3))|0);
(tempDoubleF64[0]=$80,HEAP32[(($arrayidx66)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx66+4)>>2)]=tempDoubleI32[1]);
var $83=$k;
var $inc67=(($83+1)|0);
$k=$inc67;
__label__ = 18; break;
case 18:
var $84=$j25;
var $inc69=(($84+1)|0);
$j25=$inc69;
__label__ = 16; break;
case 19:
$p_count=0;
$n_count=0;
$j25=0;
__label__ = 20; break;
case 20:
var $85=$j25;
var $86=$k;
var $cmp72=(($85)|0) < (($86)|0);
if ($cmp72) { __label__ = 21; break; } else { __label__ = 26; break; }
case 21:
var $87=$j25;
var $y74=(($subprob+4)|0);
var $88=HEAP32[(($y74)>>2)];
var $arrayidx75=(($88+($87<<3))|0);
var $89=(tempDoubleI32[0]=HEAP32[(($arrayidx75)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx75+4)>>2)],tempDoubleF64[0]);
var $cmp76=$89 > 0;
if ($cmp76) { __label__ = 22; break; } else { __label__ = 23; break; }
case 22:
var $90=$p_count;
var $inc77=(($90+1)|0);
$p_count=$inc77;
__label__ = 24; break;
case 23:
var $91=$n_count;
var $inc78=(($91+1)|0);
$n_count=$inc78;
__label__ = 24; break;
case 24:
__label__ = 25; break;
case 25:
var $92=$j25;
var $inc80=(($92+1)|0);
$j25=$inc80;
__label__ = 20; break;
case 26:
var $93=$p_count;
var $cmp82=(($93)|0)==0;
if ($cmp82) { __label__ = 27; break; } else { __label__ = 33; break; }
case 27:
var $94=$n_count;
var $cmp83=(($94)|0)==0;
if ($cmp83) { __label__ = 28; break; } else { __label__ = 33; break; }
case 28:
var $95=$begin;
$j25=$95;
__label__ = 29; break;
case 29:
var $96=$j25;
var $97=$end;
var $cmp86=(($96)|0) < (($97)|0);
if ($cmp86) { __label__ = 30; break; } else { __label__ = 32; break; }
case 30:
var $98=$j25;
var $99=$perm;
var $arrayidx88=(($99+($98<<2))|0);
var $100=HEAP32[(($arrayidx88)>>2)];
var $101=$dec_values;
var $arrayidx89=(($101+($100<<3))|0);
(tempDoubleF64[0]=0,HEAP32[(($arrayidx89)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx89+4)>>2)]=tempDoubleI32[1]);
__label__ = 31; break;
case 31:
var $102=$j25;
var $inc91=(($102+1)|0);
$j25=$inc91;
__label__ = 29; break;
case 32:
__label__ = 54; break;
case 33:
var $103=$p_count;
var $cmp94=(($103)|0) > 0;
if ($cmp94) { __label__ = 34; break; } else { __label__ = 40; break; }
case 34:
var $104=$n_count;
var $cmp96=(($104)|0)==0;
if ($cmp96) { __label__ = 35; break; } else { __label__ = 40; break; }
case 35:
var $105=$begin;
$j25=$105;
__label__ = 36; break;
case 36:
var $106=$j25;
var $107=$end;
var $cmp99=(($106)|0) < (($107)|0);
if ($cmp99) { __label__ = 37; break; } else { __label__ = 39; break; }
case 37:
var $108=$j25;
var $109=$perm;
var $arrayidx101=(($109+($108<<2))|0);
var $110=HEAP32[(($arrayidx101)>>2)];
var $111=$dec_values;
var $arrayidx102=(($111+($110<<3))|0);
(tempDoubleF64[0]=1,HEAP32[(($arrayidx102)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx102+4)>>2)]=tempDoubleI32[1]);
__label__ = 38; break;
case 38:
var $112=$j25;
var $inc104=(($112+1)|0);
$j25=$inc104;
__label__ = 36; break;
case 39:
__label__ = 53; break;
case 40:
var $113=$p_count;
var $cmp107=(($113)|0)==0;
if ($cmp107) { __label__ = 41; break; } else { __label__ = 47; break; }
case 41:
var $114=$n_count;
var $cmp109=(($114)|0) > 0;
if ($cmp109) { __label__ = 42; break; } else { __label__ = 47; break; }
case 42:
var $115=$begin;
$j25=$115;
__label__ = 43; break;
case 43:
var $116=$j25;
var $117=$end;
var $cmp112=(($116)|0) < (($117)|0);
if ($cmp112) { __label__ = 44; break; } else { __label__ = 46; break; }
case 44:
var $118=$j25;
var $119=$perm;
var $arrayidx114=(($119+($118<<2))|0);
var $120=HEAP32[(($arrayidx114)>>2)];
var $121=$dec_values;
var $arrayidx115=(($121+($120<<3))|0);
(tempDoubleF64[0]=-1,HEAP32[(($arrayidx115)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx115+4)>>2)]=tempDoubleI32[1]);
__label__ = 45; break;
case 45:
var $122=$j25;
var $inc117=(($122+1)|0);
$j25=$inc117;
__label__ = 43; break;
case 46:
__label__ = 52; break;
case 47:
var $123=$param_addr;
var $124=$subparam;
var $125=$123;
assert(88 % 1 === 0, 'memcpy given ' + 88 + ' bytes to copy. Problem with quantum=1 corrections perhaps?');for (var $$src = $125>>2, $$dest = $124>>2, $$stop = $$src + 22; $$src < $$stop; $$src++, $$dest++) {
HEAP32[$$dest] = HEAP32[$$src]
};
var $probability=(($subparam+84)|0);
HEAP32[(($probability)>>2)]=0;
var $C=(($subparam+44)|0);
(tempDoubleF64[0]=1,HEAP32[(($C)>>2)]=tempDoubleI32[0],HEAP32[(($C+4)>>2)]=tempDoubleI32[1]);
var $nr_weight=(($subparam+52)|0);
HEAP32[(($nr_weight)>>2)]=2;
var $call120=_malloc(8);
var $126=$call120;
var $weight_label=(($subparam+56)|0);
HEAP32[(($weight_label)>>2)]=$126;
var $call121=_malloc(16);
var $127=$call121;
var $weight=(($subparam+60)|0);
HEAP32[(($weight)>>2)]=$127;
var $weight_label122=(($subparam+56)|0);
var $128=HEAP32[(($weight_label122)>>2)];
var $arrayidx123=(($128)|0);
HEAP32[(($arrayidx123)>>2)]=1;
var $weight_label124=(($subparam+56)|0);
var $129=HEAP32[(($weight_label124)>>2)];
var $arrayidx125=(($129+4)|0);
HEAP32[(($arrayidx125)>>2)]=-1;
var $130=$Cp_addr;
var $weight126=(($subparam+60)|0);
var $131=HEAP32[(($weight126)>>2)];
var $arrayidx127=(($131)|0);
(tempDoubleF64[0]=$130,HEAP32[(($arrayidx127)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx127+4)>>2)]=tempDoubleI32[1]);
var $132=$Cn_addr;
var $weight128=(($subparam+60)|0);
var $133=HEAP32[(($weight128)>>2)];
var $arrayidx129=(($133+8)|0);
(tempDoubleF64[0]=$132,HEAP32[(($arrayidx129)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx129+4)>>2)]=tempDoubleI32[1]);
var $call130=_svm_train($subprob, $subparam);
HEAP32[(($submodel)>>2)]=$call130;
var $134=$begin;
$j25=$134;
__label__ = 48; break;
case 48:
var $135=$j25;
var $136=$end;
var $cmp132=(($135)|0) < (($136)|0);
if ($cmp132) { __label__ = 49; break; } else { __label__ = 51; break; }
case 49:
var $137=HEAP32[(($submodel)>>2)];
var $138=$j25;
var $139=$perm;
var $arrayidx134=(($139+($138<<2))|0);
var $140=HEAP32[(($arrayidx134)>>2)];
var $141=$prob_addr;
var $x135=(($141+8)|0);
var $142=HEAP32[(($x135)>>2)];
var $arrayidx136=(($142+($140<<2))|0);
var $143=HEAP32[(($arrayidx136)>>2)];
var $144=$j25;
var $145=$perm;
var $arrayidx137=(($145+($144<<2))|0);
var $146=HEAP32[(($arrayidx137)>>2)];
var $147=$dec_values;
var $arrayidx138=(($147+($146<<3))|0);
var $call139=_svm_predict_values($137, $143, $arrayidx138);
var $148=HEAP32[(($submodel)>>2)];
var $label=(($148+116)|0);
var $149=HEAP32[(($label)>>2)];
var $arrayidx140=(($149)|0);
var $150=HEAP32[(($arrayidx140)>>2)];
var $conv=(($150)|0);
var $151=$j25;
var $152=$perm;
var $arrayidx141=(($152+($151<<2))|0);
var $153=HEAP32[(($arrayidx141)>>2)];
var $154=$dec_values;
var $arrayidx142=(($154+($153<<3))|0);
var $155=(tempDoubleI32[0]=HEAP32[(($arrayidx142)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx142+4)>>2)],tempDoubleF64[0]);
var $mul143=$155*$conv;
(tempDoubleF64[0]=$mul143,HEAP32[(($arrayidx142)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx142+4)>>2)]=tempDoubleI32[1]);
__label__ = 50; break;
case 50:
var $156=$j25;
var $inc145=(($156+1)|0);
$j25=$inc145;
__label__ = 48; break;
case 51:
_svm_free_and_destroy_model($submodel);
_svm_destroy_param($subparam);
__label__ = 52; break;
case 52:
__label__ = 53; break;
case 53:
__label__ = 54; break;
case 54:
var $x150=(($subprob+8)|0);
var $157=HEAP32[(($x150)>>2)];
var $158=$157;
_free($158);
var $y151=(($subprob+4)|0);
var $159=HEAP32[(($y151)>>2)];
var $160=$159;
_free($160);
__label__ = 55; break;
case 55:
var $161=$i;
var $inc153=(($161+1)|0);
$i=$inc153;
__label__ = 10; break;
case 56:
var $162=$prob_addr;
var $l155=(($162)|0);
var $163=HEAP32[(($l155)>>2)];
var $164=$dec_values;
var $165=$prob_addr;
var $y156=(($165+4)|0);
var $166=HEAP32[(($y156)>>2)];
var $167=$probA_addr;
var $168=$probB_addr;
__ZL13sigmoid_trainiPKdS0_RdS1_($163, $164, $166, $167, $168);
var $169=$dec_values;
var $170=$169;
_free($170);
var $171=$perm;
var $172=$171;
_free($172);
STACKTOP = __stackBase__;
return;
default: assert(0, "bad label: " + __label__);
}
}
__ZL26svm_binary_svc_probabilityPK11svm_problemPK13svm_parameterddRdS5_["X"]=1;
function _svm_get_nr_class($model) {
;
var __label__;
var $model_addr;
$model_addr=$model;
var $0=$model_addr;
var $nr_class=(($0+88)|0);
var $1=HEAP32[(($nr_class)>>2)];
;
return $1;
}
function _svm_cross_validation($prob, $param, $nr_fold, $target) {
var __stackBase__ = STACKTOP; STACKTOP += 32; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $prob_addr;
var $param_addr;
var $nr_fold_addr;
var $target_addr;
var $i;
var $fold_start;
var $l;
var $perm;
var $nr_class=__stackBase__;
var $start=__stackBase__+4;
var $label=__stackBase__+8;
var $count=__stackBase__+12;
var $fold_count;
var $c;
var $index;
var $j;
var $begin;
var $end;
var $j87;
var $j128;
var $begin150;
var $end152;
var $j155;
var $k;
var $subprob=__stackBase__+16;
var $submodel=__stackBase__+28;
var $prob_estimates;
$prob_addr=$prob;
$param_addr=$param;
$nr_fold_addr=$nr_fold;
$target_addr=$target;
var $0=$nr_fold_addr;
var $add=(($0+1)|0);
var $mul=((($add<<2))|0);
var $call=_malloc($mul);
var $1=$call;
$fold_start=$1;
var $2=$prob_addr;
var $l1=(($2)|0);
var $3=HEAP32[(($l1)>>2)];
$l=$3;
var $4=$l;
var $mul2=((($4<<2))|0);
var $call3=_malloc($mul2);
var $5=$call3;
$perm=$5;
var $6=$param_addr;
var $svm_type=(($6)|0);
var $7=HEAP32[(($svm_type)>>2)];
var $cmp=(($7)|0)==0;
if ($cmp) { __label__ = 3; break; } else { __label__ = 2; break; }
case 2:
var $8=$param_addr;
var $svm_type4=(($8)|0);
var $9=HEAP32[(($svm_type4)>>2)];
var $cmp5=(($9)|0)==1;
if ($cmp5) { __label__ = 3; break; } else { __label__ = 45; break; }
case 3:
var $10=$nr_fold_addr;
var $11=$l;
var $cmp6=(($10)|0) < (($11)|0);
if ($cmp6) { __label__ = 4; break; } else { __label__ = 45; break; }
case 4:
HEAP32[(($start)>>2)]=0;
HEAP32[(($label)>>2)]=0;
HEAP32[(($count)>>2)]=0;
var $12=$prob_addr;
var $13=$perm;
__ZL17svm_group_classesPK11svm_problemPiPS2_S3_S3_S2_($12, $nr_class, $label, $start, $count, $13);
var $14=$nr_fold_addr;
var $mul7=((($14<<2))|0);
var $call8=_malloc($mul7);
var $15=$call8;
$fold_count=$15;
var $16=$l;
var $mul9=((($16<<2))|0);
var $call10=_malloc($mul9);
var $17=$call10;
$index=$17;
$i=0;
__label__ = 5; break;
case 5:
var $18=$i;
var $19=$l;
var $cmp11=(($18)|0) < (($19)|0);
if ($cmp11) { __label__ = 6; break; } else { __label__ = 8; break; }
case 6:
var $20=$i;
var $21=$perm;
var $arrayidx=(($21+($20<<2))|0);
var $22=HEAP32[(($arrayidx)>>2)];
var $23=$i;
var $24=$index;
var $arrayidx12=(($24+($23<<2))|0);
HEAP32[(($arrayidx12)>>2)]=$22;
__label__ = 7; break;
case 7:
var $25=$i;
var $inc=(($25+1)|0);
$i=$inc;
__label__ = 5; break;
case 8:
$c=0;
__label__ = 9; break;
case 9:
var $26=$c;
var $27=HEAP32[(($nr_class)>>2)];
var $cmp14=(($26)|0) < (($27)|0);
if ($cmp14) { __label__ = 10; break; } else { __label__ = 16; break; }
case 10:
$i=0;
__label__ = 11; break;
case 11:
var $28=$i;
var $29=$c;
var $30=HEAP32[(($count)>>2)];
var $arrayidx17=(($30+($29<<2))|0);
var $31=HEAP32[(($arrayidx17)>>2)];
var $cmp18=(($28)|0) < (($31)|0);
if ($cmp18) { __label__ = 12; break; } else { __label__ = 14; break; }
case 12:
var $32=$i;
var $call20=_rand();
var $33=$c;
var $34=HEAP32[(($count)>>2)];
var $arrayidx21=(($34+($33<<2))|0);
var $35=HEAP32[(($arrayidx21)>>2)];
var $36=$i;
var $sub=(($35-$36)|0);
var $rem=(($call20)|0)%(($sub)|0);
var $add22=(($32+$rem)|0);
$j=$add22;
var $37=$c;
var $38=HEAP32[(($start)>>2)];
var $arrayidx23=(($38+($37<<2))|0);
var $39=HEAP32[(($arrayidx23)>>2)];
var $40=$j;
var $add24=(($39+$40)|0);
var $41=$index;
var $arrayidx25=(($41+($add24<<2))|0);
var $42=$c;
var $43=HEAP32[(($start)>>2)];
var $arrayidx26=(($43+($42<<2))|0);
var $44=HEAP32[(($arrayidx26)>>2)];
var $45=$i;
var $add27=(($44+$45)|0);
var $46=$index;
var $arrayidx28=(($46+($add27<<2))|0);
__ZL4swapIiEvRT_S1_($arrayidx25, $arrayidx28);
__label__ = 13; break;
case 13:
var $47=$i;
var $inc30=(($47+1)|0);
$i=$inc30;
__label__ = 11; break;
case 14:
__label__ = 15; break;
case 15:
var $48=$c;
var $inc33=(($48+1)|0);
$c=$inc33;
__label__ = 9; break;
case 16:
$i=0;
__label__ = 17; break;
case 17:
var $49=$i;
var $50=$nr_fold_addr;
var $cmp36=(($49)|0) < (($50)|0);
if ($cmp36) { __label__ = 18; break; } else { __label__ = 24; break; }
case 18:
var $51=$i;
var $52=$fold_count;
var $arrayidx38=(($52+($51<<2))|0);
HEAP32[(($arrayidx38)>>2)]=0;
$c=0;
__label__ = 19; break;
case 19:
var $53=$c;
var $54=HEAP32[(($nr_class)>>2)];
var $cmp40=(($53)|0) < (($54)|0);
if ($cmp40) { __label__ = 20; break; } else { __label__ = 22; break; }
case 20:
var $55=$i;
var $add42=(($55+1)|0);
var $56=$c;
var $57=HEAP32[(($count)>>2)];
var $arrayidx43=(($57+($56<<2))|0);
var $58=HEAP32[(($arrayidx43)>>2)];
var $mul44=(($add42*$58)|0);
var $59=$nr_fold_addr;
var $div=(((($mul44)|0)/(($59)|0))&-1);
var $60=$i;
var $61=$c;
var $62=HEAP32[(($count)>>2)];
var $arrayidx45=(($62+($61<<2))|0);
var $63=HEAP32[(($arrayidx45)>>2)];
var $mul46=(($60*$63)|0);
var $64=$nr_fold_addr;
var $div47=(((($mul46)|0)/(($64)|0))&-1);
var $sub48=(($div-$div47)|0);
var $65=$i;
var $66=$fold_count;
var $arrayidx49=(($66+($65<<2))|0);
var $67=HEAP32[(($arrayidx49)>>2)];
var $add50=(($67+$sub48)|0);
HEAP32[(($arrayidx49)>>2)]=$add50;
__label__ = 21; break;
case 21:
var $68=$c;
var $inc52=(($68+1)|0);
$c=$inc52;
__label__ = 19; break;
case 22:
__label__ = 23; break;
case 23:
var $69=$i;
var $inc55=(($69+1)|0);
$i=$inc55;
__label__ = 17; break;
case 24:
var $70=$fold_start;
var $arrayidx57=(($70)|0);
HEAP32[(($arrayidx57)>>2)]=0;
$i=1;
__label__ = 25; break;
case 25:
var $71=$i;
var $72=$nr_fold_addr;
var $cmp59=(($71)|0) <= (($72)|0);
if ($cmp59) { __label__ = 26; break; } else { __label__ = 28; break; }
case 26:
var $73=$i;
var $sub61=(($73-1)|0);
var $74=$fold_start;
var $arrayidx62=(($74+($sub61<<2))|0);
var $75=HEAP32[(($arrayidx62)>>2)];
var $76=$i;
var $sub63=(($76-1)|0);
var $77=$fold_count;
var $arrayidx64=(($77+($sub63<<2))|0);
var $78=HEAP32[(($arrayidx64)>>2)];
var $add65=(($75+$78)|0);
var $79=$i;
var $80=$fold_start;
var $arrayidx66=(($80+($79<<2))|0);
HEAP32[(($arrayidx66)>>2)]=$add65;
__label__ = 27; break;
case 27:
var $81=$i;
var $inc68=(($81+1)|0);
$i=$inc68;
__label__ = 25; break;
case 28:
$c=0;
__label__ = 29; break;
case 29:
var $82=$c;
var $83=HEAP32[(($nr_class)>>2)];
var $cmp71=(($82)|0) < (($83)|0);
if ($cmp71) { __label__ = 30; break; } else { __label__ = 40; break; }
case 30:
$i=0;
__label__ = 31; break;
case 31:
var $84=$i;
var $85=$nr_fold_addr;
var $cmp74=(($84)|0) < (($85)|0);
if ($cmp74) { __label__ = 32; break; } else { __label__ = 38; break; }
case 32:
var $86=$c;
var $87=HEAP32[(($start)>>2)];
var $arrayidx76=(($87+($86<<2))|0);
var $88=HEAP32[(($arrayidx76)>>2)];
var $89=$i;
var $90=$c;
var $91=HEAP32[(($count)>>2)];
var $arrayidx77=(($91+($90<<2))|0);
var $92=HEAP32[(($arrayidx77)>>2)];
var $mul78=(($89*$92)|0);
var $93=$nr_fold_addr;
var $div79=(((($mul78)|0)/(($93)|0))&-1);
var $add80=(($88+$div79)|0);
$begin=$add80;
var $94=$c;
var $95=HEAP32[(($start)>>2)];
var $arrayidx81=(($95+($94<<2))|0);
var $96=HEAP32[(($arrayidx81)>>2)];
var $97=$i;
var $add82=(($97+1)|0);
var $98=$c;
var $99=HEAP32[(($count)>>2)];
var $arrayidx83=(($99+($98<<2))|0);
var $100=HEAP32[(($arrayidx83)>>2)];
var $mul84=(($add82*$100)|0);
var $101=$nr_fold_addr;
var $div85=(((($mul84)|0)/(($101)|0))&-1);
var $add86=(($96+$div85)|0);
$end=$add86;
var $102=$begin;
$j87=$102;
__label__ = 33; break;
case 33:
var $103=$j87;
var $104=$end;
var $cmp89=(($103)|0) < (($104)|0);
if ($cmp89) { __label__ = 34; break; } else { __label__ = 36; break; }
case 34:
var $105=$j87;
var $106=$index;
var $arrayidx91=(($106+($105<<2))|0);
var $107=HEAP32[(($arrayidx91)>>2)];
var $108=$i;
var $109=$fold_start;
var $arrayidx92=(($109+($108<<2))|0);
var $110=HEAP32[(($arrayidx92)>>2)];
var $111=$perm;
var $arrayidx93=(($111+($110<<2))|0);
HEAP32[(($arrayidx93)>>2)]=$107;
var $112=$i;
var $113=$fold_start;
var $arrayidx94=(($113+($112<<2))|0);
var $114=HEAP32[(($arrayidx94)>>2)];
var $inc95=(($114+1)|0);
HEAP32[(($arrayidx94)>>2)]=$inc95;
__label__ = 35; break;
case 35:
var $115=$j87;
var $inc97=(($115+1)|0);
$j87=$inc97;
__label__ = 33; break;
case 36:
__label__ = 37; break;
case 37:
var $116=$i;
var $inc100=(($116+1)|0);
$i=$inc100;
__label__ = 31; break;
case 38:
__label__ = 39; break;
case 39:
var $117=$c;
var $inc103=(($117+1)|0);
$c=$inc103;
__label__ = 29; break;
case 40:
var $118=$fold_start;
var $arrayidx105=(($118)|0);
HEAP32[(($arrayidx105)>>2)]=0;
$i=1;
__label__ = 41; break;
case 41:
var $119=$i;
var $120=$nr_fold_addr;
var $cmp107=(($119)|0) <= (($120)|0);
if ($cmp107) { __label__ = 42; break; } else { __label__ = 44; break; }
case 42:
var $121=$i;
var $sub109=(($121-1)|0);
var $122=$fold_start;
var $arrayidx110=(($122+($sub109<<2))|0);
var $123=HEAP32[(($arrayidx110)>>2)];
var $124=$i;
var $sub111=(($124-1)|0);
var $125=$fold_count;
var $arrayidx112=(($125+($sub111<<2))|0);
var $126=HEAP32[(($arrayidx112)>>2)];
var $add113=(($123+$126)|0);
var $127=$i;
var $128=$fold_start;
var $arrayidx114=(($128+($127<<2))|0);
HEAP32[(($arrayidx114)>>2)]=$add113;
__label__ = 43; break;
case 43:
var $129=$i;
var $inc116=(($129+1)|0);
$i=$inc116;
__label__ = 41; break;
case 44:
var $130=HEAP32[(($start)>>2)];
var $131=$130;
_free($131);
var $132=HEAP32[(($label)>>2)];
var $133=$132;
_free($133);
var $134=HEAP32[(($count)>>2)];
var $135=$134;
_free($135);
var $136=$index;
var $137=$136;
_free($137);
var $138=$fold_count;
var $139=$138;
_free($139);
__label__ = 58; break;
case 45:
$i=0;
__label__ = 46; break;
case 46:
var $140=$i;
var $141=$l;
var $cmp119=(($140)|0) < (($141)|0);
if ($cmp119) { __label__ = 47; break; } else { __label__ = 49; break; }
case 47:
var $142=$i;
var $143=$i;
var $144=$perm;
var $arrayidx121=(($144+($143<<2))|0);
HEAP32[(($arrayidx121)>>2)]=$142;
__label__ = 48; break;
case 48:
var $145=$i;
var $inc123=(($145+1)|0);
$i=$inc123;
__label__ = 46; break;
case 49:
$i=0;
__label__ = 50; break;
case 50:
var $146=$i;
var $147=$l;
var $cmp126=(($146)|0) < (($147)|0);
if ($cmp126) { __label__ = 51; break; } else { __label__ = 53; break; }
case 51:
var $148=$i;
var $call129=_rand();
var $149=$l;
var $150=$i;
var $sub130=(($149-$150)|0);
var $rem131=(($call129)|0)%(($sub130)|0);
var $add132=(($148+$rem131)|0);
$j128=$add132;
var $151=$i;
var $152=$perm;
var $arrayidx133=(($152+($151<<2))|0);
var $153=$j128;
var $154=$perm;
var $arrayidx134=(($154+($153<<2))|0);
__ZL4swapIiEvRT_S1_($arrayidx133, $arrayidx134);
__label__ = 52; break;
case 52:
var $155=$i;
var $inc136=(($155+1)|0);
$i=$inc136;
__label__ = 50; break;
case 53:
$i=0;
__label__ = 54; break;
case 54:
var $156=$i;
var $157=$nr_fold_addr;
var $cmp139=(($156)|0) <= (($157)|0);
if ($cmp139) { __label__ = 55; break; } else { __label__ = 57; break; }
case 55:
var $158=$i;
var $159=$l;
var $mul141=(($158*$159)|0);
var $160=$nr_fold_addr;
var $div142=(((($mul141)|0)/(($160)|0))&-1);
var $161=$i;
var $162=$fold_start;
var $arrayidx143=(($162+($161<<2))|0);
HEAP32[(($arrayidx143)>>2)]=$div142;
__label__ = 56; break;
case 56:
var $163=$i;
var $inc145=(($163+1)|0);
$i=$inc145;
__label__ = 54; break;
case 57:
__label__ = 58; break;
case 58:
$i=0;
__label__ = 59; break;
case 59:
var $164=$i;
var $165=$nr_fold_addr;
var $cmp148=(($164)|0) < (($165)|0);
if ($cmp148) { __label__ = 60; break; } else { __label__ = 83; break; }
case 60:
var $166=$i;
var $167=$fold_start;
var $arrayidx151=(($167+($166<<2))|0);
var $168=HEAP32[(($arrayidx151)>>2)];
$begin150=$168;
var $169=$i;
var $add153=(($169+1)|0);
var $170=$fold_start;
var $arrayidx154=(($170+($add153<<2))|0);
var $171=HEAP32[(($arrayidx154)>>2)];
$end152=$171;
var $172=$l;
var $173=$end152;
var $174=$begin150;
var $sub156=(($173-$174)|0);
var $sub157=(($172-$sub156)|0);
var $l158=(($subprob)|0);
HEAP32[(($l158)>>2)]=$sub157;
var $l159=(($subprob)|0);
var $175=HEAP32[(($l159)>>2)];
var $mul160=((($175<<2))|0);
var $call161=_malloc($mul160);
var $176=$call161;
var $x=(($subprob+8)|0);
HEAP32[(($x)>>2)]=$176;
var $l162=(($subprob)|0);
var $177=HEAP32[(($l162)>>2)];
var $mul163=((($177<<3))|0);
var $call164=_malloc($mul163);
var $178=$call164;
var $y=(($subprob+4)|0);
HEAP32[(($y)>>2)]=$178;
$k=0;
$j155=0;
__label__ = 61; break;
case 61:
var $179=$j155;
var $180=$begin150;
var $cmp166=(($179)|0) < (($180)|0);
if ($cmp166) { __label__ = 62; break; } else { __label__ = 64; break; }
case 62:
var $181=$j155;
var $182=$perm;
var $arrayidx168=(($182+($181<<2))|0);
var $183=HEAP32[(($arrayidx168)>>2)];
var $184=$prob_addr;
var $x169=(($184+8)|0);
var $185=HEAP32[(($x169)>>2)];
var $arrayidx170=(($185+($183<<2))|0);
var $186=HEAP32[(($arrayidx170)>>2)];
var $187=$k;
var $x171=(($subprob+8)|0);
var $188=HEAP32[(($x171)>>2)];
var $arrayidx172=(($188+($187<<2))|0);
HEAP32[(($arrayidx172)>>2)]=$186;
var $189=$j155;
var $190=$perm;
var $arrayidx173=(($190+($189<<2))|0);
var $191=HEAP32[(($arrayidx173)>>2)];
var $192=$prob_addr;
var $y174=(($192+4)|0);
var $193=HEAP32[(($y174)>>2)];
var $arrayidx175=(($193+($191<<3))|0);
var $194=(tempDoubleI32[0]=HEAP32[(($arrayidx175)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx175+4)>>2)],tempDoubleF64[0]);
var $195=$k;
var $y176=(($subprob+4)|0);
var $196=HEAP32[(($y176)>>2)];
var $arrayidx177=(($196+($195<<3))|0);
(tempDoubleF64[0]=$194,HEAP32[(($arrayidx177)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx177+4)>>2)]=tempDoubleI32[1]);
var $197=$k;
var $inc178=(($197+1)|0);
$k=$inc178;
__label__ = 63; break;
case 63:
var $198=$j155;
var $inc180=(($198+1)|0);
$j155=$inc180;
__label__ = 61; break;
case 64:
var $199=$end152;
$j155=$199;
__label__ = 65; break;
case 65:
var $200=$j155;
var $201=$l;
var $cmp183=(($200)|0) < (($201)|0);
if ($cmp183) { __label__ = 66; break; } else { __label__ = 68; break; }
case 66:
var $202=$j155;
var $203=$perm;
var $arrayidx185=(($203+($202<<2))|0);
var $204=HEAP32[(($arrayidx185)>>2)];
var $205=$prob_addr;
var $x186=(($205+8)|0);
var $206=HEAP32[(($x186)>>2)];
var $arrayidx187=(($206+($204<<2))|0);
var $207=HEAP32[(($arrayidx187)>>2)];
var $208=$k;
var $x188=(($subprob+8)|0);
var $209=HEAP32[(($x188)>>2)];
var $arrayidx189=(($209+($208<<2))|0);
HEAP32[(($arrayidx189)>>2)]=$207;
var $210=$j155;
var $211=$perm;
var $arrayidx190=(($211+($210<<2))|0);
var $212=HEAP32[(($arrayidx190)>>2)];
var $213=$prob_addr;
var $y191=(($213+4)|0);
var $214=HEAP32[(($y191)>>2)];
var $arrayidx192=(($214+($212<<3))|0);
var $215=(tempDoubleI32[0]=HEAP32[(($arrayidx192)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx192+4)>>2)],tempDoubleF64[0]);
var $216=$k;
var $y193=(($subprob+4)|0);
var $217=HEAP32[(($y193)>>2)];
var $arrayidx194=(($217+($216<<3))|0);
(tempDoubleF64[0]=$215,HEAP32[(($arrayidx194)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx194+4)>>2)]=tempDoubleI32[1]);
var $218=$k;
var $inc195=(($218+1)|0);
$k=$inc195;
__label__ = 67; break;
case 67:
var $219=$j155;
var $inc197=(($219+1)|0);
$j155=$inc197;
__label__ = 65; break;
case 68:
var $220=$param_addr;
var $call199=_svm_train($subprob, $220);
HEAP32[(($submodel)>>2)]=$call199;
var $221=$param_addr;
var $probability=(($221+84)|0);
var $222=HEAP32[(($probability)>>2)];
var $tobool=(($222)|0)!=0;
if ($tobool) { __label__ = 69; break; } else { __label__ = 76; break; }
case 69:
var $223=$param_addr;
var $svm_type201=(($223)|0);
var $224=HEAP32[(($svm_type201)>>2)];
var $cmp202=(($224)|0)==0;
if ($cmp202) { __label__ = 71; break; } else { __label__ = 70; break; }
case 70:
var $225=$param_addr;
var $svm_type204=(($225)|0);
var $226=HEAP32[(($svm_type204)>>2)];
var $cmp205=(($226)|0)==1;
if ($cmp205) { __label__ = 71; break; } else { __label__ = 76; break; }
case 71:
var $227=HEAP32[(($submodel)>>2)];
var $call207=_svm_get_nr_class($227);
var $mul208=((($call207<<3))|0);
var $call209=_malloc($mul208);
var $228=$call209;
$prob_estimates=$228;
var $229=$begin150;
$j155=$229;
__label__ = 72; break;
case 72:
var $230=$j155;
var $231=$end152;
var $cmp211=(($230)|0) < (($231)|0);
if ($cmp211) { __label__ = 73; break; } else { __label__ = 75; break; }
case 73:
var $232=HEAP32[(($submodel)>>2)];
var $233=$j155;
var $234=$perm;
var $arrayidx213=(($234+($233<<2))|0);
var $235=HEAP32[(($arrayidx213)>>2)];
var $236=$prob_addr;
var $x214=(($236+8)|0);
var $237=HEAP32[(($x214)>>2)];
var $arrayidx215=(($237+($235<<2))|0);
var $238=HEAP32[(($arrayidx215)>>2)];
var $239=$prob_estimates;
var $call216=_svm_predict_probability($232, $238, $239);
var $240=$j155;
var $241=$perm;
var $arrayidx217=(($241+($240<<2))|0);
var $242=HEAP32[(($arrayidx217)>>2)];
var $243=$target_addr;
var $arrayidx218=(($243+($242<<3))|0);
(tempDoubleF64[0]=$call216,HEAP32[(($arrayidx218)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx218+4)>>2)]=tempDoubleI32[1]);
__label__ = 74; break;
case 74:
var $244=$j155;
var $inc220=(($244+1)|0);
$j155=$inc220;
__label__ = 72; break;
case 75:
var $245=$prob_estimates;
var $246=$245;
_free($246);
__label__ = 81; break;
case 76:
var $247=$begin150;
$j155=$247;
__label__ = 77; break;
case 77:
var $248=$j155;
var $249=$end152;
var $cmp224=(($248)|0) < (($249)|0);
if ($cmp224) { __label__ = 78; break; } else { __label__ = 80; break; }
case 78:
var $250=HEAP32[(($submodel)>>2)];
var $251=$j155;
var $252=$perm;
var $arrayidx226=(($252+($251<<2))|0);
var $253=HEAP32[(($arrayidx226)>>2)];
var $254=$prob_addr;
var $x227=(($254+8)|0);
var $255=HEAP32[(($x227)>>2)];
var $arrayidx228=(($255+($253<<2))|0);
var $256=HEAP32[(($arrayidx228)>>2)];
var $call229=_svm_predict($250, $256);
var $257=$j155;
var $258=$perm;
var $arrayidx230=(($258+($257<<2))|0);
var $259=HEAP32[(($arrayidx230)>>2)];
var $260=$target_addr;
var $arrayidx231=(($260+($259<<3))|0);
(tempDoubleF64[0]=$call229,HEAP32[(($arrayidx231)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx231+4)>>2)]=tempDoubleI32[1]);
__label__ = 79; break;
case 79:
var $261=$j155;
var $inc233=(($261+1)|0);
$j155=$inc233;
__label__ = 77; break;
case 80:
__label__ = 81; break;
case 81:
_svm_free_and_destroy_model($submodel);
var $x236=(($subprob+8)|0);
var $262=HEAP32[(($x236)>>2)];
var $263=$262;
_free($263);
var $y237=(($subprob+4)|0);
var $264=HEAP32[(($y237)>>2)];
var $265=$264;
_free($265);
__label__ = 82; break;
case 82:
var $266=$i;
var $inc239=(($266+1)|0);
$i=$inc239;
__label__ = 59; break;
case 83:
var $267=$fold_start;
var $268=$267;
_free($268);
var $269=$perm;
var $270=$269;
_free($270);
STACKTOP = __stackBase__;
return;
default: assert(0, "bad label: " + __label__);
}
}
_svm_cross_validation["X"]=1;
function _svm_get_svm_type($model) {
;
var __label__;
var $model_addr;
$model_addr=$model;
var $0=$model_addr;
var $param=(($0)|0);
var $svm_type=(($param)|0);
var $1=HEAP32[(($svm_type)>>2)];
;
return $1;
}
function _svm_get_labels($model, $label) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $model_addr;
var $label_addr;
var $i;
$model_addr=$model;
$label_addr=$label;
var $0=$model_addr;
var $label1=(($0+116)|0);
var $1=HEAP32[(($label1)>>2)];
var $cmp=(($1)|0)!=0;
if ($cmp) { __label__ = 2; break; } else { __label__ = 7; break; }
case 2:
$i=0;
__label__ = 3; break;
case 3:
var $2=$i;
var $3=$model_addr;
var $nr_class=(($3+88)|0);
var $4=HEAP32[(($nr_class)>>2)];
var $cmp2=(($2)|0) < (($4)|0);
if ($cmp2) { __label__ = 4; break; } else { __label__ = 6; break; }
case 4:
var $5=$i;
var $6=$model_addr;
var $label3=(($6+116)|0);
var $7=HEAP32[(($label3)>>2)];
var $arrayidx=(($7+($5<<2))|0);
var $8=HEAP32[(($arrayidx)>>2)];
var $9=$i;
var $10=$label_addr;
var $arrayidx4=(($10+($9<<2))|0);
HEAP32[(($arrayidx4)>>2)]=$8;
__label__ = 5; break;
case 5:
var $11=$i;
var $inc=(($11+1)|0);
$i=$inc;
__label__ = 3; break;
case 6:
__label__ = 7; break;
case 7:
;
return;
default: assert(0, "bad label: " + __label__);
}
}
function _svm_predict_probability($model, $x, $prob_estimates) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $retval;
var $model_addr;
var $x_addr;
var $prob_estimates_addr;
var $i;
var $nr_class;
var $dec_values;
var $min_prob;
var $pairwise_prob;
var $k;
var $j;
var $prob_max_idx;
$model_addr=$model;
$x_addr=$x;
$prob_estimates_addr=$prob_estimates;
var $0=$model_addr;
var $param=(($0)|0);
var $svm_type=(($param)|0);
var $1=HEAP32[(($svm_type)>>2)];
var $cmp=(($1)|0)==0;
if ($cmp) { __label__ = 3; break; } else { __label__ = 2; break; }
case 2:
var $2=$model_addr;
var $param1=(($2)|0);
var $svm_type2=(($param1)|0);
var $3=HEAP32[(($svm_type2)>>2)];
var $cmp3=(($3)|0)==1;
if ($cmp3) { __label__ = 3; break; } else { __label__ = 28; break; }
case 3:
var $4=$model_addr;
var $probA=(($4+108)|0);
var $5=HEAP32[(($probA)>>2)];
var $cmp4=(($5)|0)!=0;
if ($cmp4) { __label__ = 4; break; } else { __label__ = 28; break; }
case 4:
var $6=$model_addr;
var $probB=(($6+112)|0);
var $7=HEAP32[(($probB)>>2)];
var $cmp6=(($7)|0)!=0;
if ($cmp6) { __label__ = 5; break; } else { __label__ = 28; break; }
case 5:
var $8=$model_addr;
var $nr_class7=(($8+88)|0);
var $9=HEAP32[(($nr_class7)>>2)];
$nr_class=$9;
var $10=$nr_class;
var $11=$nr_class;
var $sub=(($11-1)|0);
var $mul=(($10*$sub)|0);
var $div=(((($mul)|0)/2)&-1);
var $mul8=((($div<<3))|0);
var $call=_malloc($mul8);
var $12=$call;
$dec_values=$12;
var $13=$model_addr;
var $14=$x_addr;
var $15=$dec_values;
var $call9=_svm_predict_values($13, $14, $15);
$min_prob=1e-7;
var $16=$nr_class;
var $mul10=((($16<<2))|0);
var $call11=_malloc($mul10);
var $17=$call11;
$pairwise_prob=$17;
$i=0;
__label__ = 6; break;
case 6:
var $18=$i;
var $19=$nr_class;
var $cmp12=(($18)|0) < (($19)|0);
if ($cmp12) { __label__ = 7; break; } else { __label__ = 9; break; }
case 7:
var $20=$nr_class;
var $mul13=((($20<<3))|0);
var $call14=_malloc($mul13);
var $21=$call14;
var $22=$i;
var $23=$pairwise_prob;
var $arrayidx=(($23+($22<<2))|0);
HEAP32[(($arrayidx)>>2)]=$21;
__label__ = 8; break;
case 8:
var $24=$i;
var $inc=(($24+1)|0);
$i=$inc;
__label__ = 6; break;
case 9:
$k=0;
$i=0;
__label__ = 10; break;
case 10:
var $25=$i;
var $26=$nr_class;
var $cmp16=(($25)|0) < (($26)|0);
if ($cmp16) { __label__ = 11; break; } else { __label__ = 17; break; }
case 11:
var $27=$i;
var $add=(($27+1)|0);
$j=$add;
__label__ = 12; break;
case 12:
var $28=$j;
var $29=$nr_class;
var $cmp19=(($28)|0) < (($29)|0);
if ($cmp19) { __label__ = 13; break; } else { __label__ = 15; break; }
case 13:
var $30=$k;
var $31=$dec_values;
var $arrayidx21=(($31+($30<<3))|0);
var $32=(tempDoubleI32[0]=HEAP32[(($arrayidx21)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx21+4)>>2)],tempDoubleF64[0]);
var $33=$k;
var $34=$model_addr;
var $probA22=(($34+108)|0);
var $35=HEAP32[(($probA22)>>2)];
var $arrayidx23=(($35+($33<<3))|0);
var $36=(tempDoubleI32[0]=HEAP32[(($arrayidx23)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx23+4)>>2)],tempDoubleF64[0]);
var $37=$k;
var $38=$model_addr;
var $probB24=(($38+112)|0);
var $39=HEAP32[(($probB24)>>2)];
var $arrayidx25=(($39+($37<<3))|0);
var $40=(tempDoubleI32[0]=HEAP32[(($arrayidx25)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx25+4)>>2)],tempDoubleF64[0]);
var $call26=__ZL15sigmoid_predictddd($32, $36, $40);
var $41=$min_prob;
var $call27=__ZL3maxIdET_S0_S0_($call26, $41);
var $42=$min_prob;
var $sub28=1-$42;
var $call29=__ZL3minIdET_S0_S0_($call27, $sub28);
var $43=$j;
var $44=$i;
var $45=$pairwise_prob;
var $arrayidx30=(($45+($44<<2))|0);
var $46=HEAP32[(($arrayidx30)>>2)];
var $arrayidx31=(($46+($43<<3))|0);
(tempDoubleF64[0]=$call29,HEAP32[(($arrayidx31)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx31+4)>>2)]=tempDoubleI32[1]);
var $47=$j;
var $48=$i;
var $49=$pairwise_prob;
var $arrayidx32=(($49+($48<<2))|0);
var $50=HEAP32[(($arrayidx32)>>2)];
var $arrayidx33=(($50+($47<<3))|0);
var $51=(tempDoubleI32[0]=HEAP32[(($arrayidx33)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx33+4)>>2)],tempDoubleF64[0]);
var $sub34=1-$51;
var $52=$i;
var $53=$j;
var $54=$pairwise_prob;
var $arrayidx35=(($54+($53<<2))|0);
var $55=HEAP32[(($arrayidx35)>>2)];
var $arrayidx36=(($55+($52<<3))|0);
(tempDoubleF64[0]=$sub34,HEAP32[(($arrayidx36)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx36+4)>>2)]=tempDoubleI32[1]);
var $56=$k;
var $inc37=(($56+1)|0);
$k=$inc37;
__label__ = 14; break;
case 14:
var $57=$j;
var $inc39=(($57+1)|0);
$j=$inc39;
__label__ = 12; break;
case 15:
__label__ = 16; break;
case 16:
var $58=$i;
var $inc42=(($58+1)|0);
$i=$inc42;
__label__ = 10; break;
case 17:
var $59=$nr_class;
var $60=$pairwise_prob;
var $61=$prob_estimates_addr;
__ZL22multiclass_probabilityiPPdS_($59, $60, $61);
$prob_max_idx=0;
$i=1;
__label__ = 18; break;
case 18:
var $62=$i;
var $63=$nr_class;
var $cmp45=(($62)|0) < (($63)|0);
if ($cmp45) { __label__ = 19; break; } else { __label__ = 23; break; }
case 19:
var $64=$i;
var $65=$prob_estimates_addr;
var $arrayidx47=(($65+($64<<3))|0);
var $66=(tempDoubleI32[0]=HEAP32[(($arrayidx47)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx47+4)>>2)],tempDoubleF64[0]);
var $67=$prob_max_idx;
var $68=$prob_estimates_addr;
var $arrayidx48=(($68+($67<<3))|0);
var $69=(tempDoubleI32[0]=HEAP32[(($arrayidx48)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx48+4)>>2)],tempDoubleF64[0]);
var $cmp49=$66 > $69;
if ($cmp49) { __label__ = 20; break; } else { __label__ = 21; break; }
case 20:
var $70=$i;
$prob_max_idx=$70;
__label__ = 21; break;
case 21:
__label__ = 22; break;
case 22:
var $71=$i;
var $inc52=(($71+1)|0);
$i=$inc52;
__label__ = 18; break;
case 23:
$i=0;
__label__ = 24; break;
case 24:
var $72=$i;
var $73=$nr_class;
var $cmp55=(($72)|0) < (($73)|0);
if ($cmp55) { __label__ = 25; break; } else { __label__ = 27; break; }
case 25:
var $74=$i;
var $75=$pairwise_prob;
var $arrayidx57=(($75+($74<<2))|0);
var $76=HEAP32[(($arrayidx57)>>2)];
var $77=$76;
_free($77);
__label__ = 26; break;
case 26:
var $78=$i;
var $inc59=(($78+1)|0);
$i=$inc59;
__label__ = 24; break;
case 27:
var $79=$dec_values;
var $80=$79;
_free($80);
var $81=$pairwise_prob;
var $82=$81;
_free($82);
var $83=$prob_max_idx;
var $84=$model_addr;
var $label=(($84+116)|0);
var $85=HEAP32[(($label)>>2)];
var $arrayidx61=(($85+($83<<2))|0);
var $86=HEAP32[(($arrayidx61)>>2)];
var $conv=(($86)|0);
$retval=$conv;
__label__ = 29; break;
case 28:
var $87=$model_addr;
var $88=$x_addr;
var $call62=_svm_predict($87, $88);
$retval=$call62;
__label__ = 29; break;
case 29:
var $89=$retval;
;
return $89;
default: assert(0, "bad label: " + __label__);
}
}
_svm_predict_probability["X"]=1;
function _svm_predict($model, $x) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $model_addr;
var $x_addr;
var $nr_class;
var $dec_values;
var $pred_result;
$model_addr=$model;
$x_addr=$x;
var $0=$model_addr;
var $nr_class1=(($0+88)|0);
var $1=HEAP32[(($nr_class1)>>2)];
$nr_class=$1;
var $2=$model_addr;
var $param=(($2)|0);
var $svm_type=(($param)|0);
var $3=HEAP32[(($svm_type)>>2)];
var $cmp=(($3)|0)==2;
if ($cmp) { __label__ = 4; break; } else { __label__ = 2; break; }
case 2:
var $4=$model_addr;
var $param2=(($4)|0);
var $svm_type3=(($param2)|0);
var $5=HEAP32[(($svm_type3)>>2)];
var $cmp4=(($5)|0)==3;
if ($cmp4) { __label__ = 4; break; } else { __label__ = 3; break; }
case 3:
var $6=$model_addr;
var $param6=(($6)|0);
var $svm_type7=(($param6)|0);
var $7=HEAP32[(($svm_type7)>>2)];
var $cmp8=(($7)|0)==4;
if ($cmp8) { __label__ = 4; break; } else { __label__ = 5; break; }
case 4:
var $call=_malloc(8);
var $8=$call;
$dec_values=$8;
__label__ = 6; break;
case 5:
var $9=$nr_class;
var $10=$nr_class;
var $sub=(($10-1)|0);
var $mul=(($9*$sub)|0);
var $div=(((($mul)|0)/2)&-1);
var $mul9=((($div<<3))|0);
var $call10=_malloc($mul9);
var $11=$call10;
$dec_values=$11;
__label__ = 6; break;
case 6:
var $12=$model_addr;
var $13=$x_addr;
var $14=$dec_values;
var $call11=_svm_predict_values($12, $13, $14);
$pred_result=$call11;
var $15=$dec_values;
var $16=$15;
_free($16);
var $17=$pred_result;
;
return $17;
default: assert(0, "bad label: " + __label__);
}
}
_svm_predict["X"]=1;
function _svm_free_and_destroy_model($model_ptr_ptr) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $model_ptr_ptr_addr;
$model_ptr_ptr_addr=$model_ptr_ptr;
var $0=$model_ptr_ptr_addr;
var $cmp=(($0)|0)!=0;
if ($cmp) { __label__ = 2; break; } else { __label__ = 4; break; }
case 2:
var $1=$model_ptr_ptr_addr;
var $2=HEAP32[(($1)>>2)];
var $cmp1=(($2)|0)!=0;
if ($cmp1) { __label__ = 3; break; } else { __label__ = 4; break; }
case 3:
var $3=$model_ptr_ptr_addr;
var $4=HEAP32[(($3)>>2)];
_svm_free_model_content($4);
var $5=$model_ptr_ptr_addr;
var $6=HEAP32[(($5)>>2)];
var $7=$6;
_free($7);
var $8=$model_ptr_ptr_addr;
HEAP32[(($8)>>2)]=0;
__label__ = 4; break;
case 4:
;
return;
default: assert(0, "bad label: " + __label__);
}
}
function _svm_get_svr_probability($model) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $retval;
var $model_addr;
$model_addr=$model;
var $0=$model_addr;
var $param=(($0)|0);
var $svm_type=(($param)|0);
var $1=HEAP32[(($svm_type)>>2)];
var $cmp=(($1)|0)==3;
if ($cmp) { __label__ = 3; break; } else { __label__ = 2; break; }
case 2:
var $2=$model_addr;
var $param1=(($2)|0);
var $svm_type2=(($param1)|0);
var $3=HEAP32[(($svm_type2)>>2)];
var $cmp3=(($3)|0)==4;
if ($cmp3) { __label__ = 3; break; } else { __label__ = 5; break; }
case 3:
var $4=$model_addr;
var $probA=(($4+108)|0);
var $5=HEAP32[(($probA)>>2)];
var $cmp4=(($5)|0)!=0;
if ($cmp4) { __label__ = 4; break; } else { __label__ = 5; break; }
case 4:
var $6=$model_addr;
var $probA5=(($6+108)|0);
var $7=HEAP32[(($probA5)>>2)];
var $arrayidx=(($7)|0);
var $8=(tempDoubleI32[0]=HEAP32[(($arrayidx)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx+4)>>2)],tempDoubleF64[0]);
$retval=$8;
__label__ = 6; break;
case 5:
var $9=HEAP32[((_stderr)>>2)];
var $call=_fprintf($9, ((STRING_TABLE.__str8)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
$retval=0;
__label__ = 6; break;
case 6:
var $10=$retval;
;
return $10;
default: assert(0, "bad label: " + __label__);
}
}
function _svm_predict_values($model, $x, $dec_values) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $retval;
var $model_addr;
var $x_addr;
var $dec_values_addr;
var $i;
var $sv_coef;
var $sum;
var $nr_class;
var $l21;
var $kvalue;
var $start;
var $vote;
var $p;
var $j;
var $sum67;
var $si;
var $sj;
var $ci;
var $cj;
var $k;
var $coef1;
var $coef2;
var $vote_max_idx;
$model_addr=$model;
$x_addr=$x;
$dec_values_addr=$dec_values;
var $0=$model_addr;
var $param=(($0)|0);
var $svm_type=(($param)|0);
var $1=HEAP32[(($svm_type)>>2)];
var $cmp=(($1)|0)==2;
if ($cmp) { __label__ = 4; break; } else { __label__ = 2; break; }
case 2:
var $2=$model_addr;
var $param1=(($2)|0);
var $svm_type2=(($param1)|0);
var $3=HEAP32[(($svm_type2)>>2)];
var $cmp3=(($3)|0)==3;
if ($cmp3) { __label__ = 4; break; } else { __label__ = 3; break; }
case 3:
var $4=$model_addr;
var $param5=(($4)|0);
var $svm_type6=(($param5)|0);
var $5=HEAP32[(($svm_type6)>>2)];
var $cmp7=(($5)|0)==4;
if ($cmp7) { __label__ = 4; break; } else { __label__ = 11; break; }
case 4:
var $6=$model_addr;
var $sv_coef8=(($6+100)|0);
var $7=HEAP32[(($sv_coef8)>>2)];
var $arrayidx=(($7)|0);
var $8=HEAP32[(($arrayidx)>>2)];
$sv_coef=$8;
$sum=0;
$i=0;
__label__ = 5; break;
case 5:
var $9=$i;
var $10=$model_addr;
var $l=(($10+92)|0);
var $11=HEAP32[(($l)>>2)];
var $cmp9=(($9)|0) < (($11)|0);
if ($cmp9) { __label__ = 6; break; } else { __label__ = 8; break; }
case 6:
var $12=$i;
var $13=$sv_coef;
var $arrayidx10=(($13+($12<<3))|0);
var $14=(tempDoubleI32[0]=HEAP32[(($arrayidx10)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx10+4)>>2)],tempDoubleF64[0]);
var $15=$x_addr;
var $16=$i;
var $17=$model_addr;
var $SV=(($17+96)|0);
var $18=HEAP32[(($SV)>>2)];
var $arrayidx11=(($18+($16<<2))|0);
var $19=HEAP32[(($arrayidx11)>>2)];
var $20=$model_addr;
var $param12=(($20)|0);
var $call=__ZN6Kernel10k_functionEPK8svm_nodeS2_RK13svm_parameter($15, $19, $param12);
var $mul=$14*$call;
var $21=$sum;
var $add=$21+$mul;
$sum=$add;
__label__ = 7; break;
case 7:
var $22=$i;
var $inc=(($22+1)|0);
$i=$inc;
__label__ = 5; break;
case 8:
var $23=$model_addr;
var $rho=(($23+104)|0);
var $24=HEAP32[(($rho)>>2)];
var $arrayidx13=(($24)|0);
var $25=(tempDoubleI32[0]=HEAP32[(($arrayidx13)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx13+4)>>2)],tempDoubleF64[0]);
var $26=$sum;
var $sub=$26-$25;
$sum=$sub;
var $27=$sum;
var $28=$dec_values_addr;
(tempDoubleF64[0]=$27,HEAP32[(($28)>>2)]=tempDoubleI32[0],HEAP32[(($28+4)>>2)]=tempDoubleI32[1]);
var $29=$model_addr;
var $param14=(($29)|0);
var $svm_type15=(($param14)|0);
var $30=HEAP32[(($svm_type15)>>2)];
var $cmp16=(($30)|0)==2;
if ($cmp16) { __label__ = 9; break; } else { __label__ = 10; break; }
case 9:
var $31=$sum;
var $cmp18=$31 > 0;
var $cond=$cmp18 ? 1 : -1;
var $conv=(($cond)|0);
$retval=$conv;
__label__ = 49; break;
case 10:
var $32=$sum;
$retval=$32;
__label__ = 49; break;
case 11:
var $33=$model_addr;
var $nr_class20=(($33+88)|0);
var $34=HEAP32[(($nr_class20)>>2)];
$nr_class=$34;
var $35=$model_addr;
var $l22=(($35+92)|0);
var $36=HEAP32[(($l22)>>2)];
$l21=$36;
var $37=$l21;
var $mul23=((($37<<3))|0);
var $call24=_malloc($mul23);
var $38=$call24;
$kvalue=$38;
$i=0;
__label__ = 12; break;
case 12:
var $39=$i;
var $40=$l21;
var $cmp26=(($39)|0) < (($40)|0);
if ($cmp26) { __label__ = 13; break; } else { __label__ = 15; break; }
case 13:
var $41=$x_addr;
var $42=$i;
var $43=$model_addr;
var $SV28=(($43+96)|0);
var $44=HEAP32[(($SV28)>>2)];
var $arrayidx29=(($44+($42<<2))|0);
var $45=HEAP32[(($arrayidx29)>>2)];
var $46=$model_addr;
var $param30=(($46)|0);
var $call31=__ZN6Kernel10k_functionEPK8svm_nodeS2_RK13svm_parameter($41, $45, $param30);
var $47=$i;
var $48=$kvalue;
var $arrayidx32=(($48+($47<<3))|0);
(tempDoubleF64[0]=$call31,HEAP32[(($arrayidx32)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx32+4)>>2)]=tempDoubleI32[1]);
__label__ = 14; break;
case 14:
var $49=$i;
var $inc34=(($49+1)|0);
$i=$inc34;
__label__ = 12; break;
case 15:
var $50=$nr_class;
var $mul36=((($50<<2))|0);
var $call37=_malloc($mul36);
var $51=$call37;
$start=$51;
var $52=$start;
var $arrayidx38=(($52)|0);
HEAP32[(($arrayidx38)>>2)]=0;
$i=1;
__label__ = 16; break;
case 16:
var $53=$i;
var $54=$nr_class;
var $cmp40=(($53)|0) < (($54)|0);
if ($cmp40) { __label__ = 17; break; } else { __label__ = 19; break; }
case 17:
var $55=$i;
var $sub42=(($55-1)|0);
var $56=$start;
var $arrayidx43=(($56+($sub42<<2))|0);
var $57=HEAP32[(($arrayidx43)>>2)];
var $58=$i;
var $sub44=(($58-1)|0);
var $59=$model_addr;
var $nSV=(($59+120)|0);
var $60=HEAP32[(($nSV)>>2)];
var $arrayidx45=(($60+($sub44<<2))|0);
var $61=HEAP32[(($arrayidx45)>>2)];
var $add46=(($57+$61)|0);
var $62=$i;
var $63=$start;
var $arrayidx47=(($63+($62<<2))|0);
HEAP32[(($arrayidx47)>>2)]=$add46;
__label__ = 18; break;
case 18:
var $64=$i;
var $inc49=(($64+1)|0);
$i=$inc49;
__label__ = 16; break;
case 19:
var $65=$nr_class;
var $mul51=((($65<<2))|0);
var $call52=_malloc($mul51);
var $66=$call52;
$vote=$66;
$i=0;
__label__ = 20; break;
case 20:
var $67=$i;
var $68=$nr_class;
var $cmp54=(($67)|0) < (($68)|0);
if ($cmp54) { __label__ = 21; break; } else { __label__ = 23; break; }
case 21:
var $69=$i;
var $70=$vote;
var $arrayidx56=(($70+($69<<2))|0);
HEAP32[(($arrayidx56)>>2)]=0;
__label__ = 22; break;
case 22:
var $71=$i;
var $inc58=(($71+1)|0);
$i=$inc58;
__label__ = 20; break;
case 23:
$p=0;
$i=0;
__label__ = 24; break;
case 24:
var $72=$i;
var $73=$nr_class;
var $cmp61=(($72)|0) < (($73)|0);
if ($cmp61) { __label__ = 25; break; } else { __label__ = 42; break; }
case 25:
var $74=$i;
var $add63=(($74+1)|0);
$j=$add63;
__label__ = 26; break;
case 26:
var $75=$j;
var $76=$nr_class;
var $cmp65=(($75)|0) < (($76)|0);
if ($cmp65) { __label__ = 27; break; } else { __label__ = 40; break; }
case 27:
$sum67=0;
var $77=$i;
var $78=$start;
var $arrayidx68=(($78+($77<<2))|0);
var $79=HEAP32[(($arrayidx68)>>2)];
$si=$79;
var $80=$j;
var $81=$start;
var $arrayidx69=(($81+($80<<2))|0);
var $82=HEAP32[(($arrayidx69)>>2)];
$sj=$82;
var $83=$i;
var $84=$model_addr;
var $nSV70=(($84+120)|0);
var $85=HEAP32[(($nSV70)>>2)];
var $arrayidx71=(($85+($83<<2))|0);
var $86=HEAP32[(($arrayidx71)>>2)];
$ci=$86;
var $87=$j;
var $88=$model_addr;
var $nSV72=(($88+120)|0);
var $89=HEAP32[(($nSV72)>>2)];
var $arrayidx73=(($89+($87<<2))|0);
var $90=HEAP32[(($arrayidx73)>>2)];
$cj=$90;
var $91=$j;
var $sub74=(($91-1)|0);
var $92=$model_addr;
var $sv_coef75=(($92+100)|0);
var $93=HEAP32[(($sv_coef75)>>2)];
var $arrayidx76=(($93+($sub74<<2))|0);
var $94=HEAP32[(($arrayidx76)>>2)];
$coef1=$94;
var $95=$i;
var $96=$model_addr;
var $sv_coef77=(($96+100)|0);
var $97=HEAP32[(($sv_coef77)>>2)];
var $arrayidx78=(($97+($95<<2))|0);
var $98=HEAP32[(($arrayidx78)>>2)];
$coef2=$98;
$k=0;
__label__ = 28; break;
case 28:
var $99=$k;
var $100=$ci;
var $cmp80=(($99)|0) < (($100)|0);
if ($cmp80) { __label__ = 29; break; } else { __label__ = 31; break; }
case 29:
var $101=$si;
var $102=$k;
var $add82=(($101+$102)|0);
var $103=$coef1;
var $arrayidx83=(($103+($add82<<3))|0);
var $104=(tempDoubleI32[0]=HEAP32[(($arrayidx83)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx83+4)>>2)],tempDoubleF64[0]);
var $105=$si;
var $106=$k;
var $add84=(($105+$106)|0);
var $107=$kvalue;
var $arrayidx85=(($107+($add84<<3))|0);
var $108=(tempDoubleI32[0]=HEAP32[(($arrayidx85)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx85+4)>>2)],tempDoubleF64[0]);
var $mul86=$104*$108;
var $109=$sum67;
var $add87=$109+$mul86;
$sum67=$add87;
__label__ = 30; break;
case 30:
var $110=$k;
var $inc89=(($110+1)|0);
$k=$inc89;
__label__ = 28; break;
case 31:
$k=0;
__label__ = 32; break;
case 32:
var $111=$k;
var $112=$cj;
var $cmp92=(($111)|0) < (($112)|0);
if ($cmp92) { __label__ = 33; break; } else { __label__ = 35; break; }
case 33:
var $113=$sj;
var $114=$k;
var $add94=(($113+$114)|0);
var $115=$coef2;
var $arrayidx95=(($115+($add94<<3))|0);
var $116=(tempDoubleI32[0]=HEAP32[(($arrayidx95)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx95+4)>>2)],tempDoubleF64[0]);
var $117=$sj;
var $118=$k;
var $add96=(($117+$118)|0);
var $119=$kvalue;
var $arrayidx97=(($119+($add96<<3))|0);
var $120=(tempDoubleI32[0]=HEAP32[(($arrayidx97)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx97+4)>>2)],tempDoubleF64[0]);
var $mul98=$116*$120;
var $121=$sum67;
var $add99=$121+$mul98;
$sum67=$add99;
__label__ = 34; break;
case 34:
var $122=$k;
var $inc101=(($122+1)|0);
$k=$inc101;
__label__ = 32; break;
case 35:
var $123=$p;
var $124=$model_addr;
var $rho103=(($124+104)|0);
var $125=HEAP32[(($rho103)>>2)];
var $arrayidx104=(($125+($123<<3))|0);
var $126=(tempDoubleI32[0]=HEAP32[(($arrayidx104)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx104+4)>>2)],tempDoubleF64[0]);
var $127=$sum67;
var $sub105=$127-$126;
$sum67=$sub105;
var $128=$sum67;
var $129=$p;
var $130=$dec_values_addr;
var $arrayidx106=(($130+($129<<3))|0);
(tempDoubleF64[0]=$128,HEAP32[(($arrayidx106)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx106+4)>>2)]=tempDoubleI32[1]);
var $131=$p;
var $132=$dec_values_addr;
var $arrayidx107=(($132+($131<<3))|0);
var $133=(tempDoubleI32[0]=HEAP32[(($arrayidx107)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx107+4)>>2)],tempDoubleF64[0]);
var $cmp108=$133 > 0;
if ($cmp108) { __label__ = 36; break; } else { __label__ = 37; break; }
case 36:
var $134=$i;
var $135=$vote;
var $arrayidx110=(($135+($134<<2))|0);
var $136=HEAP32[(($arrayidx110)>>2)];
var $inc111=(($136+1)|0);
HEAP32[(($arrayidx110)>>2)]=$inc111;
__label__ = 38; break;
case 37:
var $137=$j;
var $138=$vote;
var $arrayidx113=(($138+($137<<2))|0);
var $139=HEAP32[(($arrayidx113)>>2)];
var $inc114=(($139+1)|0);
HEAP32[(($arrayidx113)>>2)]=$inc114;
__label__ = 38; break;
case 38:
var $140=$p;
var $inc115=(($140+1)|0);
$p=$inc115;
__label__ = 39; break;
case 39:
var $141=$j;
var $inc117=(($141+1)|0);
$j=$inc117;
__label__ = 26; break;
case 40:
__label__ = 41; break;
case 41:
var $142=$i;
var $inc120=(($142+1)|0);
$i=$inc120;
__label__ = 24; break;
case 42:
$vote_max_idx=0;
$i=1;
__label__ = 43; break;
case 43:
var $143=$i;
var $144=$nr_class;
var $cmp123=(($143)|0) < (($144)|0);
if ($cmp123) { __label__ = 44; break; } else { __label__ = 48; break; }
case 44:
var $145=$i;
var $146=$vote;
var $arrayidx125=(($146+($145<<2))|0);
var $147=HEAP32[(($arrayidx125)>>2)];
var $148=$vote_max_idx;
var $149=$vote;
var $arrayidx126=(($149+($148<<2))|0);
var $150=HEAP32[(($arrayidx126)>>2)];
var $cmp127=(($147)|0) > (($150)|0);
if ($cmp127) { __label__ = 45; break; } else { __label__ = 46; break; }
case 45:
var $151=$i;
$vote_max_idx=$151;
__label__ = 46; break;
case 46:
__label__ = 47; break;
case 47:
var $152=$i;
var $inc131=(($152+1)|0);
$i=$inc131;
__label__ = 43; break;
case 48:
var $153=$kvalue;
var $154=$153;
_free($154);
var $155=$start;
var $156=$155;
_free($156);
var $157=$vote;
var $158=$157;
_free($158);
var $159=$vote_max_idx;
var $160=$model_addr;
var $label=(($160+116)|0);
var $161=HEAP32[(($label)>>2)];
var $arrayidx133=(($161+($159<<2))|0);
var $162=HEAP32[(($arrayidx133)>>2)];
var $conv134=(($162)|0);
$retval=$conv134;
__label__ = 49; break;
case 49:
var $163=$retval;
;
return $163;
default: assert(0, "bad label: " + __label__);
}
}
_svm_predict_values["X"]=1;
function __ZL15sigmoid_predictddd($decision_value, $A, $B) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $retval;
var $decision_value_addr;
var $A_addr;
var $B_addr;
var $fApB;
$decision_value_addr=$decision_value;
$A_addr=$A;
$B_addr=$B;
var $0=$decision_value_addr;
var $1=$A_addr;
var $mul=$0*$1;
var $2=$B_addr;
var $add=$mul+$2;
$fApB=$add;
var $3=$fApB;
var $cmp=$3 >= 0;
if ($cmp) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $4=$fApB;
var $sub=(-$4);
var $call=_exp($sub);
var $5=$fApB;
var $sub1=(-$5);
var $call2=_exp($sub1);
var $add3=$call2+1;
var $div=$call/$add3;
$retval=$div;
__label__ = 4; break;
case 3:
var $6=$fApB;
var $call4=_exp($6);
var $add5=$call4+1;
var $div6=1/$add5;
$retval=$div6;
__label__ = 4; break;
case 4:
var $7=$retval;
;
return $7;
default: assert(0, "bad label: " + __label__);
}
}
function __ZL22multiclass_probabilityiPPdS_($k, $r, $p) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $k_addr;
var $r_addr;
var $p_addr;
var $t;
var $j;
var $iter;
var $max_iter;
var $Q;
var $Qp;
var $pQp;
var $eps;
var $max_error;
var $error;
var $diff;
$k_addr=$k;
$r_addr=$r;
$p_addr=$p;
$iter=0;
var $0=$k_addr;
var $call=__ZL3maxIiET_S0_S0_(100, $0);
$max_iter=$call;
var $1=$k_addr;
var $mul=((($1<<2))|0);
var $call1=_malloc($mul);
var $2=$call1;
$Q=$2;
var $3=$k_addr;
var $mul2=((($3<<3))|0);
var $call3=_malloc($mul2);
var $4=$call3;
$Qp=$4;
var $5=$k_addr;
var $conv=(($5)|0);
var $div=0.005/$conv;
$eps=$div;
$t=0;
__label__ = 2; break;
case 2:
var $6=$t;
var $7=$k_addr;
var $cmp=(($6)|0) < (($7)|0);
if ($cmp) { __label__ = 3; break; } else { __label__ = 13; break; }
case 3:
var $8=$k_addr;
var $conv4=(($8)|0);
var $div5=1/$conv4;
var $9=$t;
var $10=$p_addr;
var $arrayidx=(($10+($9<<3))|0);
(tempDoubleF64[0]=$div5,HEAP32[(($arrayidx)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx+4)>>2)]=tempDoubleI32[1]);
var $11=$k_addr;
var $mul6=((($11<<3))|0);
var $call7=_malloc($mul6);
var $12=$call7;
var $13=$t;
var $14=$Q;
var $arrayidx8=(($14+($13<<2))|0);
HEAP32[(($arrayidx8)>>2)]=$12;
var $15=$t;
var $16=$t;
var $17=$Q;
var $arrayidx9=(($17+($16<<2))|0);
var $18=HEAP32[(($arrayidx9)>>2)];
var $arrayidx10=(($18+($15<<3))|0);
(tempDoubleF64[0]=0,HEAP32[(($arrayidx10)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx10+4)>>2)]=tempDoubleI32[1]);
$j=0;
__label__ = 4; break;
case 4:
var $19=$j;
var $20=$t;
var $cmp12=(($19)|0) < (($20)|0);
if ($cmp12) { __label__ = 5; break; } else { __label__ = 7; break; }
case 5:
var $21=$t;
var $22=$j;
var $23=$r_addr;
var $arrayidx14=(($23+($22<<2))|0);
var $24=HEAP32[(($arrayidx14)>>2)];
var $arrayidx15=(($24+($21<<3))|0);
var $25=(tempDoubleI32[0]=HEAP32[(($arrayidx15)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx15+4)>>2)],tempDoubleF64[0]);
var $26=$t;
var $27=$j;
var $28=$r_addr;
var $arrayidx16=(($28+($27<<2))|0);
var $29=HEAP32[(($arrayidx16)>>2)];
var $arrayidx17=(($29+($26<<3))|0);
var $30=(tempDoubleI32[0]=HEAP32[(($arrayidx17)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx17+4)>>2)],tempDoubleF64[0]);
var $mul18=$25*$30;
var $31=$t;
var $32=$t;
var $33=$Q;
var $arrayidx19=(($33+($32<<2))|0);
var $34=HEAP32[(($arrayidx19)>>2)];
var $arrayidx20=(($34+($31<<3))|0);
var $35=(tempDoubleI32[0]=HEAP32[(($arrayidx20)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx20+4)>>2)],tempDoubleF64[0]);
var $add=$35+$mul18;
(tempDoubleF64[0]=$add,HEAP32[(($arrayidx20)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx20+4)>>2)]=tempDoubleI32[1]);
var $36=$t;
var $37=$j;
var $38=$Q;
var $arrayidx21=(($38+($37<<2))|0);
var $39=HEAP32[(($arrayidx21)>>2)];
var $arrayidx22=(($39+($36<<3))|0);
var $40=(tempDoubleI32[0]=HEAP32[(($arrayidx22)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx22+4)>>2)],tempDoubleF64[0]);
var $41=$j;
var $42=$t;
var $43=$Q;
var $arrayidx23=(($43+($42<<2))|0);
var $44=HEAP32[(($arrayidx23)>>2)];
var $arrayidx24=(($44+($41<<3))|0);
(tempDoubleF64[0]=$40,HEAP32[(($arrayidx24)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx24+4)>>2)]=tempDoubleI32[1]);
__label__ = 6; break;
case 6:
var $45=$j;
var $inc=(($45+1)|0);
$j=$inc;
__label__ = 4; break;
case 7:
var $46=$t;
var $add25=(($46+1)|0);
$j=$add25;
__label__ = 8; break;
case 8:
var $47=$j;
var $48=$k_addr;
var $cmp27=(($47)|0) < (($48)|0);
if ($cmp27) { __label__ = 9; break; } else { __label__ = 11; break; }
case 9:
var $49=$t;
var $50=$j;
var $51=$r_addr;
var $arrayidx29=(($51+($50<<2))|0);
var $52=HEAP32[(($arrayidx29)>>2)];
var $arrayidx30=(($52+($49<<3))|0);
var $53=(tempDoubleI32[0]=HEAP32[(($arrayidx30)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx30+4)>>2)],tempDoubleF64[0]);
var $54=$t;
var $55=$j;
var $56=$r_addr;
var $arrayidx31=(($56+($55<<2))|0);
var $57=HEAP32[(($arrayidx31)>>2)];
var $arrayidx32=(($57+($54<<3))|0);
var $58=(tempDoubleI32[0]=HEAP32[(($arrayidx32)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx32+4)>>2)],tempDoubleF64[0]);
var $mul33=$53*$58;
var $59=$t;
var $60=$t;
var $61=$Q;
var $arrayidx34=(($61+($60<<2))|0);
var $62=HEAP32[(($arrayidx34)>>2)];
var $arrayidx35=(($62+($59<<3))|0);
var $63=(tempDoubleI32[0]=HEAP32[(($arrayidx35)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx35+4)>>2)],tempDoubleF64[0]);
var $add36=$63+$mul33;
(tempDoubleF64[0]=$add36,HEAP32[(($arrayidx35)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx35+4)>>2)]=tempDoubleI32[1]);
var $64=$t;
var $65=$j;
var $66=$r_addr;
var $arrayidx37=(($66+($65<<2))|0);
var $67=HEAP32[(($arrayidx37)>>2)];
var $arrayidx38=(($67+($64<<3))|0);
var $68=(tempDoubleI32[0]=HEAP32[(($arrayidx38)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx38+4)>>2)],tempDoubleF64[0]);
var $sub=(-$68);
var $69=$j;
var $70=$t;
var $71=$r_addr;
var $arrayidx39=(($71+($70<<2))|0);
var $72=HEAP32[(($arrayidx39)>>2)];
var $arrayidx40=(($72+($69<<3))|0);
var $73=(tempDoubleI32[0]=HEAP32[(($arrayidx40)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx40+4)>>2)],tempDoubleF64[0]);
var $mul41=$sub*$73;
var $74=$j;
var $75=$t;
var $76=$Q;
var $arrayidx42=(($76+($75<<2))|0);
var $77=HEAP32[(($arrayidx42)>>2)];
var $arrayidx43=(($77+($74<<3))|0);
(tempDoubleF64[0]=$mul41,HEAP32[(($arrayidx43)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx43+4)>>2)]=tempDoubleI32[1]);
__label__ = 10; break;
case 10:
var $78=$j;
var $inc45=(($78+1)|0);
$j=$inc45;
__label__ = 8; break;
case 11:
__label__ = 12; break;
case 12:
var $79=$t;
var $inc48=(($79+1)|0);
$t=$inc48;
__label__ = 2; break;
case 13:
$iter=0;
__label__ = 14; break;
case 14:
var $80=$iter;
var $81=$max_iter;
var $cmp51=(($80)|0) < (($81)|0);
if ($cmp51) { __label__ = 15; break; } else { __label__ = 41; break; }
case 15:
$pQp=0;
$t=0;
__label__ = 16; break;
case 16:
var $82=$t;
var $83=$k_addr;
var $cmp54=(($82)|0) < (($83)|0);
if ($cmp54) { __label__ = 17; break; } else { __label__ = 23; break; }
case 17:
var $84=$t;
var $85=$Qp;
var $arrayidx56=(($85+($84<<3))|0);
(tempDoubleF64[0]=0,HEAP32[(($arrayidx56)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx56+4)>>2)]=tempDoubleI32[1]);
$j=0;
__label__ = 18; break;
case 18:
var $86=$j;
var $87=$k_addr;
var $cmp58=(($86)|0) < (($87)|0);
if ($cmp58) { __label__ = 19; break; } else { __label__ = 21; break; }
case 19:
var $88=$j;
var $89=$t;
var $90=$Q;
var $arrayidx60=(($90+($89<<2))|0);
var $91=HEAP32[(($arrayidx60)>>2)];
var $arrayidx61=(($91+($88<<3))|0);
var $92=(tempDoubleI32[0]=HEAP32[(($arrayidx61)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx61+4)>>2)],tempDoubleF64[0]);
var $93=$j;
var $94=$p_addr;
var $arrayidx62=(($94+($93<<3))|0);
var $95=(tempDoubleI32[0]=HEAP32[(($arrayidx62)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx62+4)>>2)],tempDoubleF64[0]);
var $mul63=$92*$95;
var $96=$t;
var $97=$Qp;
var $arrayidx64=(($97+($96<<3))|0);
var $98=(tempDoubleI32[0]=HEAP32[(($arrayidx64)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx64+4)>>2)],tempDoubleF64[0]);
var $add65=$98+$mul63;
(tempDoubleF64[0]=$add65,HEAP32[(($arrayidx64)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx64+4)>>2)]=tempDoubleI32[1]);
__label__ = 20; break;
case 20:
var $99=$j;
var $inc67=(($99+1)|0);
$j=$inc67;
__label__ = 18; break;
case 21:
var $100=$t;
var $101=$p_addr;
var $arrayidx69=(($101+($100<<3))|0);
var $102=(tempDoubleI32[0]=HEAP32[(($arrayidx69)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx69+4)>>2)],tempDoubleF64[0]);
var $103=$t;
var $104=$Qp;
var $arrayidx70=(($104+($103<<3))|0);
var $105=(tempDoubleI32[0]=HEAP32[(($arrayidx70)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx70+4)>>2)],tempDoubleF64[0]);
var $mul71=$102*$105;
var $106=$pQp;
var $add72=$106+$mul71;
$pQp=$add72;
__label__ = 22; break;
case 22:
var $107=$t;
var $inc74=(($107+1)|0);
$t=$inc74;
__label__ = 16; break;
case 23:
$max_error=0;
$t=0;
__label__ = 24; break;
case 24:
var $108=$t;
var $109=$k_addr;
var $cmp77=(($108)|0) < (($109)|0);
if ($cmp77) { __label__ = 25; break; } else { __label__ = 29; break; }
case 25:
var $110=$t;
var $111=$Qp;
var $arrayidx79=(($111+($110<<3))|0);
var $112=(tempDoubleI32[0]=HEAP32[(($arrayidx79)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx79+4)>>2)],tempDoubleF64[0]);
var $113=$pQp;
var $sub80=$112-$113;
var $call81=_fabs($sub80);
$error=$call81;
var $114=$error;
var $115=$max_error;
var $cmp82=$114 > $115;
if ($cmp82) { __label__ = 26; break; } else { __label__ = 27; break; }
case 26:
var $116=$error;
$max_error=$116;
__label__ = 27; break;
case 27:
__label__ = 28; break;
case 28:
var $117=$t;
var $inc84=(($117+1)|0);
$t=$inc84;
__label__ = 24; break;
case 29:
var $118=$max_error;
var $119=$eps;
var $cmp86=$118 < $119;
if ($cmp86) { __label__ = 30; break; } else { __label__ = 31; break; }
case 30:
__label__ = 41; break;
case 31:
$t=0;
__label__ = 32; break;
case 32:
var $120=$t;
var $121=$k_addr;
var $cmp90=(($120)|0) < (($121)|0);
if ($cmp90) { __label__ = 33; break; } else { __label__ = 39; break; }
case 33:
var $122=$t;
var $123=$Qp;
var $arrayidx92=(($123+($122<<3))|0);
var $124=(tempDoubleI32[0]=HEAP32[(($arrayidx92)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx92+4)>>2)],tempDoubleF64[0]);
var $sub93=(-$124);
var $125=$pQp;
var $add94=$sub93+$125;
var $126=$t;
var $127=$t;
var $128=$Q;
var $arrayidx95=(($128+($127<<2))|0);
var $129=HEAP32[(($arrayidx95)>>2)];
var $arrayidx96=(($129+($126<<3))|0);
var $130=(tempDoubleI32[0]=HEAP32[(($arrayidx96)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx96+4)>>2)],tempDoubleF64[0]);
var $div97=$add94/$130;
$diff=$div97;
var $131=$diff;
var $132=$t;
var $133=$p_addr;
var $arrayidx98=(($133+($132<<3))|0);
var $134=(tempDoubleI32[0]=HEAP32[(($arrayidx98)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx98+4)>>2)],tempDoubleF64[0]);
var $add99=$134+$131;
(tempDoubleF64[0]=$add99,HEAP32[(($arrayidx98)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx98+4)>>2)]=tempDoubleI32[1]);
var $135=$pQp;
var $136=$diff;
var $137=$diff;
var $138=$t;
var $139=$t;
var $140=$Q;
var $arrayidx100=(($140+($139<<2))|0);
var $141=HEAP32[(($arrayidx100)>>2)];
var $arrayidx101=(($141+($138<<3))|0);
var $142=(tempDoubleI32[0]=HEAP32[(($arrayidx101)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx101+4)>>2)],tempDoubleF64[0]);
var $mul102=$137*$142;
var $143=$t;
var $144=$Qp;
var $arrayidx103=(($144+($143<<3))|0);
var $145=(tempDoubleI32[0]=HEAP32[(($arrayidx103)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx103+4)>>2)],tempDoubleF64[0]);
var $mul104=$145*2;
var $add105=$mul102+$mul104;
var $mul106=$136*$add105;
var $add107=$135+$mul106;
var $146=$diff;
var $add108=$146+1;
var $div109=$add107/$add108;
var $147=$diff;
var $add110=$147+1;
var $div111=$div109/$add110;
$pQp=$div111;
$j=0;
__label__ = 34; break;
case 34:
var $148=$j;
var $149=$k_addr;
var $cmp113=(($148)|0) < (($149)|0);
if ($cmp113) { __label__ = 35; break; } else { __label__ = 37; break; }
case 35:
var $150=$j;
var $151=$Qp;
var $arrayidx115=(($151+($150<<3))|0);
var $152=(tempDoubleI32[0]=HEAP32[(($arrayidx115)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx115+4)>>2)],tempDoubleF64[0]);
var $153=$diff;
var $154=$j;
var $155=$t;
var $156=$Q;
var $arrayidx116=(($156+($155<<2))|0);
var $157=HEAP32[(($arrayidx116)>>2)];
var $arrayidx117=(($157+($154<<3))|0);
var $158=(tempDoubleI32[0]=HEAP32[(($arrayidx117)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx117+4)>>2)],tempDoubleF64[0]);
var $mul118=$153*$158;
var $add119=$152+$mul118;
var $159=$diff;
var $add120=$159+1;
var $div121=$add119/$add120;
var $160=$j;
var $161=$Qp;
var $arrayidx122=(($161+($160<<3))|0);
(tempDoubleF64[0]=$div121,HEAP32[(($arrayidx122)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx122+4)>>2)]=tempDoubleI32[1]);
var $162=$diff;
var $add123=$162+1;
var $163=$j;
var $164=$p_addr;
var $arrayidx124=(($164+($163<<3))|0);
var $165=(tempDoubleI32[0]=HEAP32[(($arrayidx124)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx124+4)>>2)],tempDoubleF64[0]);
var $div125=$165/$add123;
(tempDoubleF64[0]=$div125,HEAP32[(($arrayidx124)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx124+4)>>2)]=tempDoubleI32[1]);
__label__ = 36; break;
case 36:
var $166=$j;
var $inc127=(($166+1)|0);
$j=$inc127;
__label__ = 34; break;
case 37:
__label__ = 38; break;
case 38:
var $167=$t;
var $inc130=(($167+1)|0);
$t=$inc130;
__label__ = 32; break;
case 39:
__label__ = 40; break;
case 40:
var $168=$iter;
var $inc133=(($168+1)|0);
$iter=$inc133;
__label__ = 14; break;
case 41:
var $169=$iter;
var $170=$max_iter;
var $cmp135=(($169)|0) >= (($170)|0);
if ($cmp135) { __label__ = 42; break; } else { __label__ = 43; break; }
case 42:
__ZL4infoPKcz(((STRING_TABLE.__str70)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
__label__ = 43; break;
case 43:
$t=0;
__label__ = 44; break;
case 44:
var $171=$t;
var $172=$k_addr;
var $cmp139=(($171)|0) < (($172)|0);
if ($cmp139) { __label__ = 45; break; } else { __label__ = 47; break; }
case 45:
var $173=$t;
var $174=$Q;
var $arrayidx141=(($174+($173<<2))|0);
var $175=HEAP32[(($arrayidx141)>>2)];
var $176=$175;
_free($176);
__label__ = 46; break;
case 46:
var $177=$t;
var $inc143=(($177+1)|0);
$t=$inc143;
__label__ = 44; break;
case 47:
var $178=$Q;
var $179=$178;
_free($179);
var $180=$Qp;
var $181=$180;
_free($181);
;
return;
default: assert(0, "bad label: " + __label__);
}
}
__ZL22multiclass_probabilityiPPdS_["X"]=1;
function _svm_save_model($model_file_name, $model) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $retval;
var $model_file_name_addr;
var $model_addr;
var $fp;
var $old_locale;
var $param;
var $nr_class;
var $l;
var $i;
var $i42;
var $i57;
var $i75;
var $i93;
var $sv_coef;
var $SV;
var $i108;
var $j;
var $p;
$model_file_name_addr=$model_file_name;
$model_addr=$model;
var $0=$model_file_name_addr;
var $call=_fopen($0, ((STRING_TABLE.__str19)|0));
$fp=$call;
var $1=$fp;
var $cmp=(($1)|0)==0;
if ($cmp) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
$retval=-1;
__label__ = 58; break;
case 3:
var $call1=_setlocale(0, 0);
var $call2=_strdup($call1);
$old_locale=$call2;
var $call3=_setlocale(0, ((STRING_TABLE.__str20)|0));
var $2=$model_addr;
var $param4=(($2)|0);
$param=$param4;
var $3=$fp;
var $4=$param;
var $svm_type=(($4)|0);
var $5=HEAP32[(($svm_type)>>2)];
var $arrayidx=((__ZL14svm_type_table+($5<<2))|0);
var $6=HEAP32[(($arrayidx)>>2)];
var $call5=_fprintf($3, ((STRING_TABLE.__str21)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$6,tempInt));
var $7=$fp;
var $8=$param;
var $kernel_type=(($8+4)|0);
var $9=HEAP32[(($kernel_type)>>2)];
var $arrayidx6=((__ZL17kernel_type_table+($9<<2))|0);
var $10=HEAP32[(($arrayidx6)>>2)];
var $call7=_fprintf($7, ((STRING_TABLE.__str22)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$10,tempInt));
var $11=$param;
var $kernel_type8=(($11+4)|0);
var $12=HEAP32[(($kernel_type8)>>2)];
var $cmp9=(($12)|0)==1;
if ($cmp9) { __label__ = 4; break; } else { __label__ = 5; break; }
case 4:
var $13=$fp;
var $14=$param;
var $degree=(($14+8)|0);
var $15=HEAP32[(($degree)>>2)];
var $call11=_fprintf($13, ((STRING_TABLE.__str23)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$15,tempInt));
__label__ = 5; break;
case 5:
var $16=$param;
var $kernel_type13=(($16+4)|0);
var $17=HEAP32[(($kernel_type13)>>2)];
var $cmp14=(($17)|0)==1;
if ($cmp14) { __label__ = 8; break; } else { __label__ = 6; break; }
case 6:
var $18=$param;
var $kernel_type15=(($18+4)|0);
var $19=HEAP32[(($kernel_type15)>>2)];
var $cmp16=(($19)|0)==2;
if ($cmp16) { __label__ = 8; break; } else { __label__ = 7; break; }
case 7:
var $20=$param;
var $kernel_type18=(($20+4)|0);
var $21=HEAP32[(($kernel_type18)>>2)];
var $cmp19=(($21)|0)==3;
if ($cmp19) { __label__ = 8; break; } else { __label__ = 9; break; }
case 8:
var $22=$fp;
var $23=$param;
var $gamma=(($23+12)|0);
var $24=(tempDoubleI32[0]=HEAP32[(($gamma)>>2)],tempDoubleI32[1]=HEAP32[(($gamma+4)>>2)],tempDoubleF64[0]);
var $call21=_fprintf($22, ((STRING_TABLE.__str24)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),(tempDoubleF64[0]=$24,HEAP32[((tempInt)>>2)]=tempDoubleI32[0],HEAP32[((tempInt+4)>>2)]=tempDoubleI32[1]),tempInt));
__label__ = 9; break;
case 9:
var $25=$param;
var $kernel_type23=(($25+4)|0);
var $26=HEAP32[(($kernel_type23)>>2)];
var $cmp24=(($26)|0)==1;
if ($cmp24) { __label__ = 11; break; } else { __label__ = 10; break; }
case 10:
var $27=$param;
var $kernel_type26=(($27+4)|0);
var $28=HEAP32[(($kernel_type26)>>2)];
var $cmp27=(($28)|0)==3;
if ($cmp27) { __label__ = 11; break; } else { __label__ = 12; break; }
case 11:
var $29=$fp;
var $30=$param;
var $coef0=(($30+20)|0);
var $31=(tempDoubleI32[0]=HEAP32[(($coef0)>>2)],tempDoubleI32[1]=HEAP32[(($coef0+4)>>2)],tempDoubleF64[0]);
var $call29=_fprintf($29, ((STRING_TABLE.__str25)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),(tempDoubleF64[0]=$31,HEAP32[((tempInt)>>2)]=tempDoubleI32[0],HEAP32[((tempInt+4)>>2)]=tempDoubleI32[1]),tempInt));
__label__ = 12; break;
case 12:
var $32=$model_addr;
var $nr_class31=(($32+88)|0);
var $33=HEAP32[(($nr_class31)>>2)];
$nr_class=$33;
var $34=$model_addr;
var $l32=(($34+92)|0);
var $35=HEAP32[(($l32)>>2)];
$l=$35;
var $36=$fp;
var $37=$nr_class;
var $call33=_fprintf($36, ((STRING_TABLE.__str26)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$37,tempInt));
var $38=$fp;
var $39=$l;
var $call34=_fprintf($38, ((STRING_TABLE.__str27)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$39,tempInt));
var $40=$fp;
var $call35=_fprintf($40, ((STRING_TABLE.__str28)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
$i=0;
__label__ = 13; break;
case 13:
var $41=$i;
var $42=$nr_class;
var $43=$nr_class;
var $sub=(($43-1)|0);
var $mul=(($42*$sub)|0);
var $div=(((($mul)|0)/2)&-1);
var $cmp36=(($41)|0) < (($div)|0);
if ($cmp36) { __label__ = 14; break; } else { __label__ = 16; break; }
case 14:
var $44=$fp;
var $45=$i;
var $46=$model_addr;
var $rho=(($46+104)|0);
var $47=HEAP32[(($rho)>>2)];
var $arrayidx37=(($47+($45<<3))|0);
var $48=(tempDoubleI32[0]=HEAP32[(($arrayidx37)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx37+4)>>2)],tempDoubleF64[0]);
var $call38=_fprintf($44, ((STRING_TABLE.__str29)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),(tempDoubleF64[0]=$48,HEAP32[((tempInt)>>2)]=tempDoubleI32[0],HEAP32[((tempInt+4)>>2)]=tempDoubleI32[1]),tempInt));
__label__ = 15; break;
case 15:
var $49=$i;
var $inc=(($49+1)|0);
$i=$inc;
__label__ = 13; break;
case 16:
var $50=$fp;
var $call39=_fprintf($50, ((STRING_TABLE.__str30)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
var $51=$model_addr;
var $label=(($51+116)|0);
var $52=HEAP32[(($label)>>2)];
var $tobool=(($52)|0)!=0;
if ($tobool) { __label__ = 17; break; } else { __label__ = 22; break; }
case 17:
var $53=$fp;
var $call41=_fprintf($53, ((STRING_TABLE.__str31)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
$i42=0;
__label__ = 18; break;
case 18:
var $54=$i42;
var $55=$nr_class;
var $cmp44=(($54)|0) < (($55)|0);
if ($cmp44) { __label__ = 19; break; } else { __label__ = 21; break; }
case 19:
var $56=$fp;
var $57=$i42;
var $58=$model_addr;
var $label46=(($58+116)|0);
var $59=HEAP32[(($label46)>>2)];
var $arrayidx47=(($59+($57<<2))|0);
var $60=HEAP32[(($arrayidx47)>>2)];
var $call48=_fprintf($56, ((STRING_TABLE.__str32)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$60,tempInt));
__label__ = 20; break;
case 20:
var $61=$i42;
var $inc50=(($61+1)|0);
$i42=$inc50;
__label__ = 18; break;
case 21:
var $62=$fp;
var $call52=_fprintf($62, ((STRING_TABLE.__str30)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
__label__ = 22; break;
case 22:
var $63=$model_addr;
var $probA=(($63+108)|0);
var $64=HEAP32[(($probA)>>2)];
var $tobool54=(($64)|0)!=0;
if ($tobool54) { __label__ = 23; break; } else { __label__ = 28; break; }
case 23:
var $65=$fp;
var $call56=_fprintf($65, ((STRING_TABLE.__str33)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
$i57=0;
__label__ = 24; break;
case 24:
var $66=$i57;
var $67=$nr_class;
var $68=$nr_class;
var $sub59=(($68-1)|0);
var $mul60=(($67*$sub59)|0);
var $div61=(((($mul60)|0)/2)&-1);
var $cmp62=(($66)|0) < (($div61)|0);
if ($cmp62) { __label__ = 25; break; } else { __label__ = 27; break; }
case 25:
var $69=$fp;
var $70=$i57;
var $71=$model_addr;
var $probA64=(($71+108)|0);
var $72=HEAP32[(($probA64)>>2)];
var $arrayidx65=(($72+($70<<3))|0);
var $73=(tempDoubleI32[0]=HEAP32[(($arrayidx65)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx65+4)>>2)],tempDoubleF64[0]);
var $call66=_fprintf($69, ((STRING_TABLE.__str29)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),(tempDoubleF64[0]=$73,HEAP32[((tempInt)>>2)]=tempDoubleI32[0],HEAP32[((tempInt+4)>>2)]=tempDoubleI32[1]),tempInt));
__label__ = 26; break;
case 26:
var $74=$i57;
var $inc68=(($74+1)|0);
$i57=$inc68;
__label__ = 24; break;
case 27:
var $75=$fp;
var $call70=_fprintf($75, ((STRING_TABLE.__str30)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
__label__ = 28; break;
case 28:
var $76=$model_addr;
var $probB=(($76+112)|0);
var $77=HEAP32[(($probB)>>2)];
var $tobool72=(($77)|0)!=0;
if ($tobool72) { __label__ = 29; break; } else { __label__ = 34; break; }
case 29:
var $78=$fp;
var $call74=_fprintf($78, ((STRING_TABLE.__str34)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
$i75=0;
__label__ = 30; break;
case 30:
var $79=$i75;
var $80=$nr_class;
var $81=$nr_class;
var $sub77=(($81-1)|0);
var $mul78=(($80*$sub77)|0);
var $div79=(((($mul78)|0)/2)&-1);
var $cmp80=(($79)|0) < (($div79)|0);
if ($cmp80) { __label__ = 31; break; } else { __label__ = 33; break; }
case 31:
var $82=$fp;
var $83=$i75;
var $84=$model_addr;
var $probB82=(($84+112)|0);
var $85=HEAP32[(($probB82)>>2)];
var $arrayidx83=(($85+($83<<3))|0);
var $86=(tempDoubleI32[0]=HEAP32[(($arrayidx83)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx83+4)>>2)],tempDoubleF64[0]);
var $call84=_fprintf($82, ((STRING_TABLE.__str29)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),(tempDoubleF64[0]=$86,HEAP32[((tempInt)>>2)]=tempDoubleI32[0],HEAP32[((tempInt+4)>>2)]=tempDoubleI32[1]),tempInt));
__label__ = 32; break;
case 32:
var $87=$i75;
var $inc86=(($87+1)|0);
$i75=$inc86;
__label__ = 30; break;
case 33:
var $88=$fp;
var $call88=_fprintf($88, ((STRING_TABLE.__str30)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
__label__ = 34; break;
case 34:
var $89=$model_addr;
var $nSV=(($89+120)|0);
var $90=HEAP32[(($nSV)>>2)];
var $tobool90=(($90)|0)!=0;
if ($tobool90) { __label__ = 35; break; } else { __label__ = 40; break; }
case 35:
var $91=$fp;
var $call92=_fprintf($91, ((STRING_TABLE.__str35)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
$i93=0;
__label__ = 36; break;
case 36:
var $92=$i93;
var $93=$nr_class;
var $cmp95=(($92)|0) < (($93)|0);
if ($cmp95) { __label__ = 37; break; } else { __label__ = 39; break; }
case 37:
var $94=$fp;
var $95=$i93;
var $96=$model_addr;
var $nSV97=(($96+120)|0);
var $97=HEAP32[(($nSV97)>>2)];
var $arrayidx98=(($97+($95<<2))|0);
var $98=HEAP32[(($arrayidx98)>>2)];
var $call99=_fprintf($94, ((STRING_TABLE.__str32)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$98,tempInt));
__label__ = 38; break;
case 38:
var $99=$i93;
var $inc101=(($99+1)|0);
$i93=$inc101;
__label__ = 36; break;
case 39:
var $100=$fp;
var $call103=_fprintf($100, ((STRING_TABLE.__str30)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
__label__ = 40; break;
case 40:
var $101=$fp;
var $call105=_fprintf($101, ((STRING_TABLE.__str36)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
var $102=$model_addr;
var $sv_coef106=(($102+100)|0);
var $103=HEAP32[(($sv_coef106)>>2)];
$sv_coef=$103;
var $104=$model_addr;
var $SV107=(($104+96)|0);
var $105=HEAP32[(($SV107)>>2)];
$SV=$105;
$i108=0;
__label__ = 41; break;
case 41:
var $106=$i108;
var $107=$l;
var $cmp110=(($106)|0) < (($107)|0);
if ($cmp110) { __label__ = 42; break; } else { __label__ = 54; break; }
case 42:
$j=0;
__label__ = 43; break;
case 43:
var $108=$j;
var $109=$nr_class;
var $sub113=(($109-1)|0);
var $cmp114=(($108)|0) < (($sub113)|0);
if ($cmp114) { __label__ = 44; break; } else { __label__ = 46; break; }
case 44:
var $110=$fp;
var $111=$i108;
var $112=$j;
var $113=$sv_coef;
var $arrayidx116=(($113+($112<<2))|0);
var $114=HEAP32[(($arrayidx116)>>2)];
var $arrayidx117=(($114+($111<<3))|0);
var $115=(tempDoubleI32[0]=HEAP32[(($arrayidx117)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx117+4)>>2)],tempDoubleF64[0]);
var $call118=_fprintf($110, ((STRING_TABLE.__str37)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),(tempDoubleF64[0]=$115,HEAP32[((tempInt)>>2)]=tempDoubleI32[0],HEAP32[((tempInt+4)>>2)]=tempDoubleI32[1]),tempInt));
__label__ = 45; break;
case 45:
var $116=$j;
var $inc120=(($116+1)|0);
$j=$inc120;
__label__ = 43; break;
case 46:
var $117=$i108;
var $118=$SV;
var $arrayidx122=(($118+($117<<2))|0);
var $119=HEAP32[(($arrayidx122)>>2)];
$p=$119;
var $120=$param;
var $kernel_type123=(($120+4)|0);
var $121=HEAP32[(($kernel_type123)>>2)];
var $cmp124=(($121)|0)==4;
if ($cmp124) { __label__ = 47; break; } else { __label__ = 48; break; }
case 47:
var $122=$fp;
var $123=$p;
var $value=(($123+4)|0);
var $124=(tempDoubleI32[0]=HEAP32[(($value)>>2)],tempDoubleI32[1]=HEAP32[(($value+4)>>2)],tempDoubleF64[0]);
var $conv=(($124)&-1);
var $call126=_fprintf($122, ((STRING_TABLE.__str38)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$conv,tempInt));
__label__ = 52; break;
case 48:
__label__ = 49; break;
case 49:
var $125=$p;
var $index=(($125)|0);
var $126=HEAP32[(($index)>>2)];
var $cmp127=(($126)|0)!=-1;
if ($cmp127) { __label__ = 50; break; } else { __label__ = 51; break; }
case 50:
var $127=$fp;
var $128=$p;
var $index128=(($128)|0);
var $129=HEAP32[(($index128)>>2)];
var $130=$p;
var $value129=(($130+4)|0);
var $131=(tempDoubleI32[0]=HEAP32[(($value129)>>2)],tempDoubleI32[1]=HEAP32[(($value129+4)>>2)],tempDoubleF64[0]);
var $call130=_fprintf($127, ((STRING_TABLE.__str39)|0), (tempInt=STACKTOP,STACKTOP += 12,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$129,(tempDoubleF64[0]=$131,HEAP32[((tempInt+4)>>2)]=tempDoubleI32[0],HEAP32[((tempInt+4+4)>>2)]=tempDoubleI32[1]),tempInt));
var $132=$p;
var $incdec_ptr=(($132+12)|0);
$p=$incdec_ptr;
__label__ = 49; break;
case 51:
__label__ = 52; break;
case 52:
var $133=$fp;
var $call132=_fprintf($133, ((STRING_TABLE.__str30)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
__label__ = 53; break;
case 53:
var $134=$i108;
var $inc134=(($134+1)|0);
$i108=$inc134;
__label__ = 41; break;
case 54:
var $135=$old_locale;
var $call136=_setlocale(0, $135);
var $136=$old_locale;
_free($136);
var $137=$fp;
var $call137=_ferror($137);
var $cmp138=(($call137)|0)!=0;
if ($cmp138) { __label__ = 56; break; } else { __label__ = 55; break; }
case 55:
var $138=$fp;
var $call140=_fclose($138);
var $cmp141=(($call140)|0)!=0;
if ($cmp141) { __label__ = 56; break; } else { __label__ = 57; break; }
case 56:
$retval=-1;
__label__ = 58; break;
case 57:
$retval=0;
__label__ = 58; break;
case 58:
var $139=$retval;
;
return $139;
default: assert(0, "bad label: " + __label__);
}
}
_svm_save_model["X"]=1;
function _svm_load_model($model_file_name) {
var __stackBase__ = STACKTOP; STACKTOP += 88; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $retval;
var $model_file_name_addr;
var $fp;
var $old_locale;
var $model;
var $param;
var $cmd=__stackBase__;
var $i;
var $i34;
var $n;
var $i97;
var $n112;
var $i117;
var $n132;
var $i141;
var $n156;
var $i165;
var $n180;
var $i185;
var $c;
var $elements;
var $pos;
var $p;
var $endptr=__stackBase__+84;
var $idx;
var $val;
var $m;
var $l247;
var $i251;
var $x_space;
var $j;
var $k;
$model_file_name_addr=$model_file_name;
var $0=$model_file_name_addr;
var $call=_fopen($0, ((STRING_TABLE.__str40)|0));
$fp=$call;
var $1=$fp;
var $cmp=(($1)|0)==0;
if ($cmp) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
$retval=0;
__label__ = 113; break;
case 3:
var $call1=_setlocale(0, 0);
var $call2=_strdup($call1);
$old_locale=$call2;
var $call3=_setlocale(0, ((STRING_TABLE.__str20)|0));
var $call4=_malloc(128);
var $2=$call4;
$model=$2;
var $3=$model;
var $param5=(($3)|0);
$param=$param5;
var $4=$model;
var $rho=(($4+104)|0);
HEAP32[(($rho)>>2)]=0;
var $5=$model;
var $probA=(($5+108)|0);
HEAP32[(($probA)>>2)]=0;
var $6=$model;
var $probB=(($6+112)|0);
HEAP32[(($probB)>>2)]=0;
var $7=$model;
var $label=(($7+116)|0);
HEAP32[(($label)>>2)]=0;
var $8=$model;
var $nSV=(($8+120)|0);
HEAP32[(($nSV)>>2)]=0;
__label__ = 4; break;
case 4:
var $9=$fp;
var $arraydecay=(($cmd)|0);
var $call6=_fscanf($9, ((STRING_TABLE.__str41)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$arraydecay,tempInt));
var $arraydecay7=(($cmd)|0);
var $call8=_strcmp($arraydecay7, ((STRING_TABLE.__str42)|0));
var $cmp9=(($call8)|0)==0;
if ($cmp9) { __label__ = 5; break; } else { __label__ = 14; break; }
case 5:
var $10=$fp;
var $arraydecay11=(($cmd)|0);
var $call12=_fscanf($10, ((STRING_TABLE.__str41)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$arraydecay11,tempInt));
$i=0;
__label__ = 6; break;
case 6:
var $11=$i;
var $arrayidx=((__ZL14svm_type_table+($11<<2))|0);
var $12=HEAP32[(($arrayidx)>>2)];
var $tobool=(($12)|0)!=0;
if ($tobool) { __label__ = 7; break; } else { __label__ = 11; break; }
case 7:
var $13=$i;
var $arrayidx13=((__ZL14svm_type_table+($13<<2))|0);
var $14=HEAP32[(($arrayidx13)>>2)];
var $arraydecay14=(($cmd)|0);
var $call15=_strcmp($14, $arraydecay14);
var $cmp16=(($call15)|0)==0;
if ($cmp16) { __label__ = 8; break; } else { __label__ = 9; break; }
case 8:
var $15=$i;
var $16=$param;
var $svm_type=(($16)|0);
HEAP32[(($svm_type)>>2)]=$15;
__label__ = 11; break;
case 9:
__label__ = 10; break;
case 10:
var $17=$i;
var $inc=(($17+1)|0);
$i=$inc;
__label__ = 6; break;
case 11:
var $18=$i;
var $arrayidx19=((__ZL14svm_type_table+($18<<2))|0);
var $19=HEAP32[(($arrayidx19)>>2)];
var $cmp20=(($19)|0)==0;
if ($cmp20) { __label__ = 12; break; } else { __label__ = 13; break; }
case 12:
var $20=HEAP32[((_stderr)>>2)];
var $call22=_fprintf($20, ((STRING_TABLE.__str43)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
var $21=$old_locale;
var $call23=_setlocale(0, $21);
var $22=$old_locale;
_free($22);
var $23=$model;
var $rho24=(($23+104)|0);
var $24=HEAP32[(($rho24)>>2)];
var $25=$24;
_free($25);
var $26=$model;
var $label25=(($26+116)|0);
var $27=HEAP32[(($label25)>>2)];
var $28=$27;
_free($28);
var $29=$model;
var $nSV26=(($29+120)|0);
var $30=HEAP32[(($nSV26)>>2)];
var $31=$30;
_free($31);
var $32=$model;
var $33=$32;
_free($33);
$retval=0;
__label__ = 113; break;
case 13:
__label__ = 83; break;
case 14:
var $arraydecay28=(($cmd)|0);
var $call29=_strcmp($arraydecay28, ((STRING_TABLE.__str44)|0));
var $cmp30=(($call29)|0)==0;
if ($cmp30) { __label__ = 15; break; } else { __label__ = 24; break; }
case 15:
var $34=$fp;
var $arraydecay32=(($cmd)|0);
var $call33=_fscanf($34, ((STRING_TABLE.__str41)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$arraydecay32,tempInt));
$i34=0;
__label__ = 16; break;
case 16:
var $35=$i34;
var $arrayidx36=((__ZL17kernel_type_table+($35<<2))|0);
var $36=HEAP32[(($arrayidx36)>>2)];
var $tobool37=(($36)|0)!=0;
if ($tobool37) { __label__ = 17; break; } else { __label__ = 21; break; }
case 17:
var $37=$i34;
var $arrayidx39=((__ZL17kernel_type_table+($37<<2))|0);
var $38=HEAP32[(($arrayidx39)>>2)];
var $arraydecay40=(($cmd)|0);
var $call41=_strcmp($38, $arraydecay40);
var $cmp42=(($call41)|0)==0;
if ($cmp42) { __label__ = 18; break; } else { __label__ = 19; break; }
case 18:
var $39=$i34;
var $40=$param;
var $kernel_type=(($40+4)|0);
HEAP32[(($kernel_type)>>2)]=$39;
__label__ = 21; break;
case 19:
__label__ = 20; break;
case 20:
var $41=$i34;
var $inc46=(($41+1)|0);
$i34=$inc46;
__label__ = 16; break;
case 21:
var $42=$i34;
var $arrayidx48=((__ZL17kernel_type_table+($42<<2))|0);
var $43=HEAP32[(($arrayidx48)>>2)];
var $cmp49=(($43)|0)==0;
if ($cmp49) { __label__ = 22; break; } else { __label__ = 23; break; }
case 22:
var $44=HEAP32[((_stderr)>>2)];
var $call51=_fprintf($44, ((STRING_TABLE.__str45)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
var $45=$old_locale;
var $call52=_setlocale(0, $45);
var $46=$old_locale;
_free($46);
var $47=$model;
var $rho53=(($47+104)|0);
var $48=HEAP32[(($rho53)>>2)];
var $49=$48;
_free($49);
var $50=$model;
var $label54=(($50+116)|0);
var $51=HEAP32[(($label54)>>2)];
var $52=$51;
_free($52);
var $53=$model;
var $nSV55=(($53+120)|0);
var $54=HEAP32[(($nSV55)>>2)];
var $55=$54;
_free($55);
var $56=$model;
var $57=$56;
_free($57);
$retval=0;
__label__ = 113; break;
case 23:
__label__ = 82; break;
case 24:
var $arraydecay58=(($cmd)|0);
var $call59=_strcmp($arraydecay58, ((STRING_TABLE.__str46)|0));
var $cmp60=(($call59)|0)==0;
if ($cmp60) { __label__ = 25; break; } else { __label__ = 26; break; }
case 25:
var $58=$fp;
var $59=$param;
var $degree=(($59+8)|0);
var $call62=_fscanf($58, ((STRING_TABLE.__str47)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$degree,tempInt));
__label__ = 81; break;
case 26:
var $arraydecay64=(($cmd)|0);
var $call65=_strcmp($arraydecay64, ((STRING_TABLE.__str48)|0));
var $cmp66=(($call65)|0)==0;
if ($cmp66) { __label__ = 27; break; } else { __label__ = 28; break; }
case 27:
var $60=$fp;
var $61=$param;
var $gamma=(($61+12)|0);
var $call68=_fscanf($60, ((STRING_TABLE.__str49)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$gamma,tempInt));
__label__ = 80; break;
case 28:
var $arraydecay70=(($cmd)|0);
var $call71=_strcmp($arraydecay70, ((STRING_TABLE.__str50)|0));
var $cmp72=(($call71)|0)==0;
if ($cmp72) { __label__ = 29; break; } else { __label__ = 30; break; }
case 29:
var $62=$fp;
var $63=$param;
var $coef0=(($63+20)|0);
var $call74=_fscanf($62, ((STRING_TABLE.__str49)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$coef0,tempInt));
__label__ = 79; break;
case 30:
var $arraydecay76=(($cmd)|0);
var $call77=_strcmp($arraydecay76, ((STRING_TABLE.__str51)|0));
var $cmp78=(($call77)|0)==0;
if ($cmp78) { __label__ = 31; break; } else { __label__ = 32; break; }
case 31:
var $64=$fp;
var $65=$model;
var $nr_class=(($65+88)|0);
var $call80=_fscanf($64, ((STRING_TABLE.__str47)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$nr_class,tempInt));
__label__ = 78; break;
case 32:
var $arraydecay82=(($cmd)|0);
var $call83=_strcmp($arraydecay82, ((STRING_TABLE.__str52)|0));
var $cmp84=(($call83)|0)==0;
if ($cmp84) { __label__ = 33; break; } else { __label__ = 34; break; }
case 33:
var $66=$fp;
var $67=$model;
var $l=(($67+92)|0);
var $call86=_fscanf($66, ((STRING_TABLE.__str47)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$l,tempInt));
__label__ = 77; break;
case 34:
var $arraydecay88=(($cmd)|0);
var $call89=_strcmp($arraydecay88, ((STRING_TABLE.__str28)|0));
var $cmp90=(($call89)|0)==0;
if ($cmp90) { __label__ = 35; break; } else { __label__ = 40; break; }
case 35:
var $68=$model;
var $nr_class92=(($68+88)|0);
var $69=HEAP32[(($nr_class92)>>2)];
var $70=$model;
var $nr_class93=(($70+88)|0);
var $71=HEAP32[(($nr_class93)>>2)];
var $sub=(($71-1)|0);
var $mul=(($69*$sub)|0);
var $div=(((($mul)|0)/2)&-1);
$n=$div;
var $72=$n;
var $mul94=((($72<<3))|0);
var $call95=_malloc($mul94);
var $73=$call95;
var $74=$model;
var $rho96=(($74+104)|0);
HEAP32[(($rho96)>>2)]=$73;
$i97=0;
__label__ = 36; break;
case 36:
var $75=$i97;
var $76=$n;
var $cmp99=(($75)|0) < (($76)|0);
if ($cmp99) { __label__ = 37; break; } else { __label__ = 39; break; }
case 37:
var $77=$fp;
var $78=$i97;
var $79=$model;
var $rho101=(($79+104)|0);
var $80=HEAP32[(($rho101)>>2)];
var $arrayidx102=(($80+($78<<3))|0);
var $call103=_fscanf($77, ((STRING_TABLE.__str49)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$arrayidx102,tempInt));
__label__ = 38; break;
case 38:
var $81=$i97;
var $inc105=(($81+1)|0);
$i97=$inc105;
__label__ = 36; break;
case 39:
__label__ = 76; break;
case 40:
var $arraydecay108=(($cmd)|0);
var $call109=_strcmp($arraydecay108, ((STRING_TABLE.__str31)|0));
var $cmp110=(($call109)|0)==0;
if ($cmp110) { __label__ = 41; break; } else { __label__ = 46; break; }
case 41:
var $82=$model;
var $nr_class113=(($82+88)|0);
var $83=HEAP32[(($nr_class113)>>2)];
$n112=$83;
var $84=$n112;
var $mul114=((($84<<2))|0);
var $call115=_malloc($mul114);
var $85=$call115;
var $86=$model;
var $label116=(($86+116)|0);
HEAP32[(($label116)>>2)]=$85;
$i117=0;
__label__ = 42; break;
case 42:
var $87=$i117;
var $88=$n112;
var $cmp119=(($87)|0) < (($88)|0);
if ($cmp119) { __label__ = 43; break; } else { __label__ = 45; break; }
case 43:
var $89=$fp;
var $90=$i117;
var $91=$model;
var $label121=(($91+116)|0);
var $92=HEAP32[(($label121)>>2)];
var $arrayidx122=(($92+($90<<2))|0);
var $call123=_fscanf($89, ((STRING_TABLE.__str47)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$arrayidx122,tempInt));
__label__ = 44; break;
case 44:
var $93=$i117;
var $inc125=(($93+1)|0);
$i117=$inc125;
__label__ = 42; break;
case 45:
__label__ = 75; break;
case 46:
var $arraydecay128=(($cmd)|0);
var $call129=_strcmp($arraydecay128, ((STRING_TABLE.__str33)|0));
var $cmp130=(($call129)|0)==0;
if ($cmp130) { __label__ = 47; break; } else { __label__ = 52; break; }
case 47:
var $94=$model;
var $nr_class133=(($94+88)|0);
var $95=HEAP32[(($nr_class133)>>2)];
var $96=$model;
var $nr_class134=(($96+88)|0);
var $97=HEAP32[(($nr_class134)>>2)];
var $sub135=(($97-1)|0);
var $mul136=(($95*$sub135)|0);
var $div137=(((($mul136)|0)/2)&-1);
$n132=$div137;
var $98=$n132;
var $mul138=((($98<<3))|0);
var $call139=_malloc($mul138);
var $99=$call139;
var $100=$model;
var $probA140=(($100+108)|0);
HEAP32[(($probA140)>>2)]=$99;
$i141=0;
__label__ = 48; break;
case 48:
var $101=$i141;
var $102=$n132;
var $cmp143=(($101)|0) < (($102)|0);
if ($cmp143) { __label__ = 49; break; } else { __label__ = 51; break; }
case 49:
var $103=$fp;
var $104=$i141;
var $105=$model;
var $probA145=(($105+108)|0);
var $106=HEAP32[(($probA145)>>2)];
var $arrayidx146=(($106+($104<<3))|0);
var $call147=_fscanf($103, ((STRING_TABLE.__str49)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$arrayidx146,tempInt));
__label__ = 50; break;
case 50:
var $107=$i141;
var $inc149=(($107+1)|0);
$i141=$inc149;
__label__ = 48; break;
case 51:
__label__ = 74; break;
case 52:
var $arraydecay152=(($cmd)|0);
var $call153=_strcmp($arraydecay152, ((STRING_TABLE.__str34)|0));
var $cmp154=(($call153)|0)==0;
if ($cmp154) { __label__ = 53; break; } else { __label__ = 58; break; }
case 53:
var $108=$model;
var $nr_class157=(($108+88)|0);
var $109=HEAP32[(($nr_class157)>>2)];
var $110=$model;
var $nr_class158=(($110+88)|0);
var $111=HEAP32[(($nr_class158)>>2)];
var $sub159=(($111-1)|0);
var $mul160=(($109*$sub159)|0);
var $div161=(((($mul160)|0)/2)&-1);
$n156=$div161;
var $112=$n156;
var $mul162=((($112<<3))|0);
var $call163=_malloc($mul162);
var $113=$call163;
var $114=$model;
var $probB164=(($114+112)|0);
HEAP32[(($probB164)>>2)]=$113;
$i165=0;
__label__ = 54; break;
case 54:
var $115=$i165;
var $116=$n156;
var $cmp167=(($115)|0) < (($116)|0);
if ($cmp167) { __label__ = 55; break; } else { __label__ = 57; break; }
case 55:
var $117=$fp;
var $118=$i165;
var $119=$model;
var $probB169=(($119+112)|0);
var $120=HEAP32[(($probB169)>>2)];
var $arrayidx170=(($120+($118<<3))|0);
var $call171=_fscanf($117, ((STRING_TABLE.__str49)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$arrayidx170,tempInt));
__label__ = 56; break;
case 56:
var $121=$i165;
var $inc173=(($121+1)|0);
$i165=$inc173;
__label__ = 54; break;
case 57:
__label__ = 73; break;
case 58:
var $arraydecay176=(($cmd)|0);
var $call177=_strcmp($arraydecay176, ((STRING_TABLE.__str35)|0));
var $cmp178=(($call177)|0)==0;
if ($cmp178) { __label__ = 59; break; } else { __label__ = 64; break; }
case 59:
var $122=$model;
var $nr_class181=(($122+88)|0);
var $123=HEAP32[(($nr_class181)>>2)];
$n180=$123;
var $124=$n180;
var $mul182=((($124<<2))|0);
var $call183=_malloc($mul182);
var $125=$call183;
var $126=$model;
var $nSV184=(($126+120)|0);
HEAP32[(($nSV184)>>2)]=$125;
$i185=0;
__label__ = 60; break;
case 60:
var $127=$i185;
var $128=$n180;
var $cmp187=(($127)|0) < (($128)|0);
if ($cmp187) { __label__ = 61; break; } else { __label__ = 63; break; }
case 61:
var $129=$fp;
var $130=$i185;
var $131=$model;
var $nSV189=(($131+120)|0);
var $132=HEAP32[(($nSV189)>>2)];
var $arrayidx190=(($132+($130<<2))|0);
var $call191=_fscanf($129, ((STRING_TABLE.__str47)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$arrayidx190,tempInt));
__label__ = 62; break;
case 62:
var $133=$i185;
var $inc193=(($133+1)|0);
$i185=$inc193;
__label__ = 60; break;
case 63:
__label__ = 72; break;
case 64:
var $arraydecay196=(($cmd)|0);
var $call197=_strcmp($arraydecay196, ((STRING_TABLE.__str53)|0));
var $cmp198=(($call197)|0)==0;
if ($cmp198) { __label__ = 65; break; } else { __label__ = 71; break; }
case 65:
__label__ = 66; break;
case 66:
var $134=$fp;
var $call202=_getc($134);
$c=$call202;
var $135=$c;
var $cmp203=(($135)|0)==-1;
if ($cmp203) { __label__ = 68; break; } else { __label__ = 67; break; }
case 67:
var $136=$c;
var $cmp204=(($136)|0)==10;
if ($cmp204) { __label__ = 68; break; } else { __label__ = 69; break; }
case 68:
__label__ = 70; break;
case 69:
__label__ = 66; break;
case 70:
__label__ = 84; break;
case 71:
var $137=HEAP32[((_stderr)>>2)];
var $arraydecay208=(($cmd)|0);
var $call209=_fprintf($137, ((STRING_TABLE.__str54)|0), (tempInt=STACKTOP,STACKTOP += 4,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=$arraydecay208,tempInt));
var $138=$old_locale;
var $call210=_setlocale(0, $138);
var $139=$old_locale;
_free($139);
var $140=$model;
var $rho211=(($140+104)|0);
var $141=HEAP32[(($rho211)>>2)];
var $142=$141;
_free($142);
var $143=$model;
var $label212=(($143+116)|0);
var $144=HEAP32[(($label212)>>2)];
var $145=$144;
_free($145);
var $146=$model;
var $nSV213=(($146+120)|0);
var $147=HEAP32[(($nSV213)>>2)];
var $148=$147;
_free($148);
var $149=$model;
var $150=$149;
_free($150);
$retval=0;
__label__ = 113; break;
case 72:
__label__ = 73; break;
case 73:
__label__ = 74; break;
case 74:
__label__ = 75; break;
case 75:
__label__ = 76; break;
case 76:
__label__ = 77; break;
case 77:
__label__ = 78; break;
case 78:
__label__ = 79; break;
case 79:
__label__ = 80; break;
case 80:
__label__ = 81; break;
case 81:
__label__ = 82; break;
case 82:
__label__ = 83; break;
case 83:
__label__ = 4; break;
case 84:
$elements=0;
var $151=$fp;
var $call227=_ftell($151);
$pos=$call227;
HEAP32[((__ZL12max_line_len)>>2)]=1024;
var $152=HEAP32[((__ZL12max_line_len)>>2)];
var $mul228=(($152)|0);
var $call229=_malloc($mul228);
HEAP32[((__ZL4line)>>2)]=$call229;
__label__ = 85; break;
case 85:
var $153=$fp;
var $call230=__ZL8readlineP7__sFILE($153);
var $cmp231=(($call230)|0)!=0;
if ($cmp231) { __label__ = 86; break; } else { __label__ = 91; break; }
case 86:
var $154=HEAP32[((__ZL4line)>>2)];
var $call233=_strtok($154, ((STRING_TABLE.__str55)|0));
$p=$call233;
__label__ = 87; break;
case 87:
var $call236=_strtok(0, ((STRING_TABLE.__str55)|0));
$p=$call236;
var $155=$p;
var $cmp237=(($155)|0)==0;
if ($cmp237) { __label__ = 88; break; } else { __label__ = 89; break; }
case 88:
__label__ = 90; break;
case 89:
var $156=$elements;
var $inc240=(($156+1)|0);
$elements=$inc240;
__label__ = 87; break;
case 90:
__label__ = 85; break;
case 91:
var $157=$model;
var $l243=(($157+92)|0);
var $158=HEAP32[(($l243)>>2)];
var $159=$elements;
var $add=(($159+$158)|0);
$elements=$add;
var $160=$fp;
var $161=$pos;
var $call244=_fseek($160, $161, 0);
var $162=$model;
var $nr_class245=(($162+88)|0);
var $163=HEAP32[(($nr_class245)>>2)];
var $sub246=(($163-1)|0);
$m=$sub246;
var $164=$model;
var $l248=(($164+92)|0);
var $165=HEAP32[(($l248)>>2)];
$l247=$165;
var $166=$m;
var $mul249=((($166<<2))|0);
var $call250=_malloc($mul249);
var $167=$call250;
var $168=$model;
var $sv_coef=(($168+100)|0);
HEAP32[(($sv_coef)>>2)]=$167;
$i251=0;
__label__ = 92; break;
case 92:
var $169=$i251;
var $170=$m;
var $cmp253=(($169)|0) < (($170)|0);
if ($cmp253) { __label__ = 93; break; } else { __label__ = 95; break; }
case 93:
var $171=$l247;
var $mul255=((($171<<3))|0);
var $call256=_malloc($mul255);
var $172=$call256;
var $173=$i251;
var $174=$model;
var $sv_coef257=(($174+100)|0);
var $175=HEAP32[(($sv_coef257)>>2)];
var $arrayidx258=(($175+($173<<2))|0);
HEAP32[(($arrayidx258)>>2)]=$172;
__label__ = 94; break;
case 94:
var $176=$i251;
var $inc260=(($176+1)|0);
$i251=$inc260;
__label__ = 92; break;
case 95:
var $177=$l247;
var $mul262=((($177<<2))|0);
var $call263=_malloc($mul262);
var $178=$call263;
var $179=$model;
var $SV=(($179+96)|0);
HEAP32[(($SV)>>2)]=$178;
$x_space=0;
var $180=$l247;
var $cmp264=(($180)|0) > 0;
if ($cmp264) { __label__ = 96; break; } else { __label__ = 97; break; }
case 96:
var $181=$elements;
var $mul266=(($181*12)|0);
var $call267=_malloc($mul266);
var $182=$call267;
$x_space=$182;
__label__ = 97; break;
case 97:
$j=0;
$i251=0;
__label__ = 98; break;
case 98:
var $183=$i251;
var $184=$l247;
var $cmp270=(($183)|0) < (($184)|0);
if ($cmp270) { __label__ = 99; break; } else { __label__ = 109; break; }
case 99:
var $185=$fp;
var $call272=__ZL8readlineP7__sFILE($185);
var $186=$j;
var $187=$x_space;
var $arrayidx273=(($187+$186*12)|0);
var $188=$i251;
var $189=$model;
var $SV274=(($189+96)|0);
var $190=HEAP32[(($SV274)>>2)];
var $arrayidx275=(($190+($188<<2))|0);
HEAP32[(($arrayidx275)>>2)]=$arrayidx273;
var $191=HEAP32[((__ZL4line)>>2)];
var $call276=_strtok($191, ((STRING_TABLE.__str56)|0));
$p=$call276;
var $192=$p;
var $call277=_strtod($192, $endptr);
var $193=$i251;
var $194=$model;
var $sv_coef278=(($194+100)|0);
var $195=HEAP32[(($sv_coef278)>>2)];
var $arrayidx279=(($195)|0);
var $196=HEAP32[(($arrayidx279)>>2)];
var $arrayidx280=(($196+($193<<3))|0);
(tempDoubleF64[0]=$call277,HEAP32[(($arrayidx280)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx280+4)>>2)]=tempDoubleI32[1]);
$k=1;
__label__ = 100; break;
case 100:
var $197=$k;
var $198=$m;
var $cmp282=(($197)|0) < (($198)|0);
if ($cmp282) { __label__ = 101; break; } else { __label__ = 103; break; }
case 101:
var $call284=_strtok(0, ((STRING_TABLE.__str56)|0));
$p=$call284;
var $199=$p;
var $call285=_strtod($199, $endptr);
var $200=$i251;
var $201=$k;
var $202=$model;
var $sv_coef286=(($202+100)|0);
var $203=HEAP32[(($sv_coef286)>>2)];
var $arrayidx287=(($203+($201<<2))|0);
var $204=HEAP32[(($arrayidx287)>>2)];
var $arrayidx288=(($204+($200<<3))|0);
(tempDoubleF64[0]=$call285,HEAP32[(($arrayidx288)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx288+4)>>2)]=tempDoubleI32[1]);
__label__ = 102; break;
case 102:
var $205=$k;
var $inc290=(($205+1)|0);
$k=$inc290;
__label__ = 100; break;
case 103:
__label__ = 104; break;
case 104:
var $call294=_strtok(0, ((STRING_TABLE.__str55)|0));
$idx=$call294;
var $call295=_strtok(0, ((STRING_TABLE.__str56)|0));
$val=$call295;
var $206=$val;
var $cmp296=(($206)|0)==0;
if ($cmp296) { __label__ = 105; break; } else { __label__ = 106; break; }
case 105:
__label__ = 107; break;
case 106:
var $207=$idx;
var $call299=_strtol($207, $endptr, 10);
var $208=$j;
var $209=$x_space;
var $arrayidx300=(($209+$208*12)|0);
var $index=(($arrayidx300)|0);
HEAP32[(($index)>>2)]=$call299;
var $210=$val;
var $call301=_strtod($210, $endptr);
var $211=$j;
var $212=$x_space;
var $arrayidx302=(($212+$211*12)|0);
var $value=(($arrayidx302+4)|0);
(tempDoubleF64[0]=$call301,HEAP32[(($value)>>2)]=tempDoubleI32[0],HEAP32[(($value+4)>>2)]=tempDoubleI32[1]);
var $213=$j;
var $inc303=(($213+1)|0);
$j=$inc303;
__label__ = 104; break;
case 107:
var $214=$j;
var $inc305=(($214+1)|0);
$j=$inc305;
var $215=$x_space;
var $arrayidx306=(($215+$214*12)|0);
var $index307=(($arrayidx306)|0);
HEAP32[(($index307)>>2)]=-1;
__label__ = 108; break;
case 108:
var $216=$i251;
var $inc309=(($216+1)|0);
$i251=$inc309;
__label__ = 98; break;
case 109:
var $217=HEAP32[((__ZL4line)>>2)];
_free($217);
var $218=$old_locale;
var $call311=_setlocale(0, $218);
var $219=$old_locale;
_free($219);
var $220=$fp;
var $call312=_ferror($220);
var $cmp313=(($call312)|0)!=0;
if ($cmp313) { __label__ = 111; break; } else { __label__ = 110; break; }
case 110:
var $221=$fp;
var $call315=_fclose($221);
var $cmp316=(($call315)|0)!=0;
if ($cmp316) { __label__ = 111; break; } else { __label__ = 112; break; }
case 111:
$retval=0;
__label__ = 113; break;
case 112:
var $222=$model;
var $free_sv=(($222+124)|0);
HEAP32[(($free_sv)>>2)]=1;
var $223=$model;
$retval=$223;
__label__ = 113; break;
case 113:
var $224=$retval;
STACKTOP = __stackBase__;
return $224;
default: assert(0, "bad label: " + __label__);
}
}
_svm_load_model["X"]=1;
function __ZL8readlineP7__sFILE($input) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $retval;
var $input_addr;
var $len;
$input_addr=$input;
var $0=HEAP32[((__ZL4line)>>2)];
var $1=HEAP32[((__ZL12max_line_len)>>2)];
var $2=$input_addr;
var $call=_fgets($0, $1, $2);
var $cmp=(($call)|0)==0;
if ($cmp) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
$retval=0;
__label__ = 9; break;
case 3:
__label__ = 4; break;
case 4:
var $3=HEAP32[((__ZL4line)>>2)];
var $call1=_strrchr($3, 10);
var $cmp2=(($call1)|0)==0;
if ($cmp2) { __label__ = 5; break; } else { __label__ = 8; break; }
case 5:
var $4=HEAP32[((__ZL12max_line_len)>>2)];
var $mul=((($4<<1))|0);
HEAP32[((__ZL12max_line_len)>>2)]=$mul;
var $5=HEAP32[((__ZL4line)>>2)];
var $6=HEAP32[((__ZL12max_line_len)>>2)];
var $call3=_realloc($5, $6);
HEAP32[((__ZL4line)>>2)]=$call3;
var $7=HEAP32[((__ZL4line)>>2)];
var $call4=_strlen($7);
$len=$call4;
var $8=HEAP32[((__ZL4line)>>2)];
var $9=$len;
var $add_ptr=(($8+$9)|0);
var $10=HEAP32[((__ZL12max_line_len)>>2)];
var $11=$len;
var $sub=(($10-$11)|0);
var $12=$input_addr;
var $call5=_fgets($add_ptr, $sub, $12);
var $cmp6=(($call5)|0)==0;
if ($cmp6) { __label__ = 6; break; } else { __label__ = 7; break; }
case 6:
__label__ = 8; break;
case 7:
__label__ = 4; break;
case 8:
var $13=HEAP32[((__ZL4line)>>2)];
$retval=$13;
__label__ = 9; break;
case 9:
var $14=$retval;
;
return $14;
default: assert(0, "bad label: " + __label__);
}
}
function __Z13getKernelEnumi($num) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $retval;
var $num_addr;
$num_addr=$num;
var $0=$num_addr;
if ((($0)|0) == 0) {
__label__ = 2; break;
}
else if ((($0)|0) == 1) {
__label__ = 3; break;
}
else if ((($0)|0) == 2) {
__label__ = 4; break;
}
else if ((($0)|0) == 3) {
__label__ = 5; break;
}
else if ((($0)|0) == 4) {
__label__ = 6; break;
}
else {
__label__ = 7; break;
}
case 2:
$retval=0;
__label__ = 8; break;
case 3:
$retval=1;
__label__ = 8; break;
case 4:
$retval=2;
__label__ = 8; break;
case 5:
$retval=3;
__label__ = 8; break;
case 6:
$retval=4;
__label__ = 8; break;
case 7:
$retval=-1;
__label__ = 8; break;
case 8:
var $1=$retval;
;
return $1;
default: assert(0, "bad label: " + __label__);
}
}
function __Z14getSvmTypeEnumi($num) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $retval;
var $num_addr;
$num_addr=$num;
var $0=$num_addr;
if ((($0)|0) == 0) {
__label__ = 2; break;
}
else if ((($0)|0) == 1) {
__label__ = 3; break;
}
else if ((($0)|0) == 2) {
__label__ = 4; break;
}
else if ((($0)|0) == 3) {
__label__ = 5; break;
}
else if ((($0)|0) == 4) {
__label__ = 6; break;
}
else {
__label__ = 7; break;
}
case 2:
$retval=0;
__label__ = 8; break;
case 3:
$retval=1;
__label__ = 8; break;
case 4:
$retval=2;
__label__ = 8; break;
case 5:
$retval=3;
__label__ = 8; break;
case 6:
$retval=4;
__label__ = 8; break;
case 7:
$retval=-1;
__label__ = 8; break;
case 8:
var $1=$retval;
;
return $1;
default: assert(0, "bad label: " + __label__);
}
}
function __ZN6SolverD2Ev($this) {
;
var __label__;
var $this_addr;
$this_addr=$this;
var $this1=$this_addr;
;
return;
}
function __ZL4swapIPK8svm_nodeEvRT_S4_($x, $y) {
;
var __label__;
var $x_addr;
var $y_addr;
var $t;
$x_addr=$x;
$y_addr=$y;
var $0=$x_addr;
var $1=HEAP32[(($0)>>2)];
$t=$1;
var $2=$y_addr;
var $3=HEAP32[(($2)>>2)];
var $4=$x_addr;
HEAP32[(($4)>>2)]=$3;
var $5=$t;
var $6=$y_addr;
HEAP32[(($6)>>2)]=$5;
;
return;
}
function _svm_set_print_string_function($print_func) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $print_func_addr;
$print_func_addr=$print_func;
var $0=$print_func_addr;
var $cmp=(($0)|0)==0;
if ($cmp) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
HEAP32[((__ZL16svm_print_string)>>2)]=12;
__label__ = 4; break;
case 3:
var $1=$print_func_addr;
HEAP32[((__ZL16svm_print_string)>>2)]=$1;
__label__ = 4; break;
case 4:
;
return;
default: assert(0, "bad label: " + __label__);
}
}
function _svm_check_probability_model($model) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $model_addr;
$model_addr=$model;
var $0=$model_addr;
var $param=(($0)|0);
var $svm_type=(($param)|0);
var $1=HEAP32[(($svm_type)>>2)];
var $cmp=(($1)|0)==0;
if ($cmp) { __label__ = 3; break; } else { __label__ = 2; break; }
case 2:
var $2=$model_addr;
var $param1=(($2)|0);
var $svm_type2=(($param1)|0);
var $3=HEAP32[(($svm_type2)>>2)];
var $cmp3=(($3)|0)==1;
if ($cmp3) { __label__ = 3; break; } else { __label__ = 5; break; }
case 3:
var $4=$model_addr;
var $probA=(($4+108)|0);
var $5=HEAP32[(($probA)>>2)];
var $cmp4=(($5)|0)!=0;
if ($cmp4) { __label__ = 4; break; } else { __label__ = 5; break; }
case 4:
var $6=$model_addr;
var $probB=(($6+112)|0);
var $7=HEAP32[(($probB)>>2)];
var $cmp6=(($7)|0)!=0;
if ($cmp6) { var $15 = 1;__label__ = 9; break; } else { __label__ = 5; break; }
case 5:
var $8=$model_addr;
var $param7=(($8)|0);
var $svm_type8=(($param7)|0);
var $9=HEAP32[(($svm_type8)>>2)];
var $cmp9=(($9)|0)==3;
if ($cmp9) { __label__ = 7; break; } else { __label__ = 6; break; }
case 6:
var $10=$model_addr;
var $param11=(($10)|0);
var $svm_type12=(($param11)|0);
var $11=HEAP32[(($svm_type12)>>2)];
var $cmp13=(($11)|0)==4;
if ($cmp13) { __label__ = 7; break; } else { var $14 = 0;__label__ = 8; break; }
case 7:
var $12=$model_addr;
var $probA14=(($12+108)|0);
var $13=HEAP32[(($probA14)>>2)];
var $cmp15=(($13)|0)!=0;
var $14 = $cmp15;__label__ = 8; break;
case 8:
var $14;
var $15 = $14;__label__ = 9; break;
case 9:
var $15;
var $conv=(($15)&1);
;
return $conv;
default: assert(0, "bad label: " + __label__);
}
}
function _svm_free_model_content($model_ptr) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $model_ptr_addr;
var $i;
$model_ptr_addr=$model_ptr;
var $0=$model_ptr_addr;
var $free_sv=(($0+124)|0);
var $1=HEAP32[(($free_sv)>>2)];
var $tobool=(($1)|0)!=0;
if ($tobool) { __label__ = 2; break; } else { __label__ = 5; break; }
case 2:
var $2=$model_ptr_addr;
var $l=(($2+92)|0);
var $3=HEAP32[(($l)>>2)];
var $cmp=(($3)|0) > 0;
if ($cmp) { __label__ = 3; break; } else { __label__ = 5; break; }
case 3:
var $4=$model_ptr_addr;
var $SV=(($4+96)|0);
var $5=HEAP32[(($SV)>>2)];
var $cmp2=(($5)|0)!=0;
if ($cmp2) { __label__ = 4; break; } else { __label__ = 5; break; }
case 4:
var $6=$model_ptr_addr;
var $SV3=(($6+96)|0);
var $7=HEAP32[(($SV3)>>2)];
var $arrayidx=(($7)|0);
var $8=HEAP32[(($arrayidx)>>2)];
var $9=$8;
_free($9);
__label__ = 5; break;
case 5:
var $10=$model_ptr_addr;
var $sv_coef=(($10+100)|0);
var $11=HEAP32[(($sv_coef)>>2)];
var $tobool4=(($11)|0)!=0;
if ($tobool4) { __label__ = 6; break; } else { __label__ = 11; break; }
case 6:
$i=0;
__label__ = 7; break;
case 7:
var $12=$i;
var $13=$model_ptr_addr;
var $nr_class=(($13+88)|0);
var $14=HEAP32[(($nr_class)>>2)];
var $sub=(($14-1)|0);
var $cmp6=(($12)|0) < (($sub)|0);
if ($cmp6) { __label__ = 8; break; } else { __label__ = 10; break; }
case 8:
var $15=$i;
var $16=$model_ptr_addr;
var $sv_coef7=(($16+100)|0);
var $17=HEAP32[(($sv_coef7)>>2)];
var $arrayidx8=(($17+($15<<2))|0);
var $18=HEAP32[(($arrayidx8)>>2)];
var $19=$18;
_free($19);
__label__ = 9; break;
case 9:
var $20=$i;
var $inc=(($20+1)|0);
$i=$inc;
__label__ = 7; break;
case 10:
__label__ = 11; break;
case 11:
var $21=$model_ptr_addr;
var $SV10=(($21+96)|0);
var $22=HEAP32[(($SV10)>>2)];
var $23=$22;
_free($23);
var $24=$model_ptr_addr;
var $SV11=(($24+96)|0);
HEAP32[(($SV11)>>2)]=0;
var $25=$model_ptr_addr;
var $sv_coef12=(($25+100)|0);
var $26=HEAP32[(($sv_coef12)>>2)];
var $27=$26;
_free($27);
var $28=$model_ptr_addr;
var $sv_coef13=(($28+100)|0);
HEAP32[(($sv_coef13)>>2)]=0;
var $29=$model_ptr_addr;
var $rho=(($29+104)|0);
var $30=HEAP32[(($rho)>>2)];
var $31=$30;
_free($31);
var $32=$model_ptr_addr;
var $rho14=(($32+104)|0);
HEAP32[(($rho14)>>2)]=0;
var $33=$model_ptr_addr;
var $label=(($33+116)|0);
var $34=HEAP32[(($label)>>2)];
var $35=$34;
_free($35);
var $36=$model_ptr_addr;
var $label15=(($36+116)|0);
HEAP32[(($label15)>>2)]=0;
var $37=$model_ptr_addr;
var $probA=(($37+108)|0);
var $38=HEAP32[(($probA)>>2)];
var $39=$38;
_free($39);
var $40=$model_ptr_addr;
var $probA16=(($40+108)|0);
HEAP32[(($probA16)>>2)]=0;
var $41=$model_ptr_addr;
var $probB=(($41+112)|0);
var $42=HEAP32[(($probB)>>2)];
var $43=$42;
_free($43);
var $44=$model_ptr_addr;
var $probB17=(($44+112)|0);
HEAP32[(($probB17)>>2)]=0;
var $45=$model_ptr_addr;
var $nSV=(($45+120)|0);
var $46=HEAP32[(($nSV)>>2)];
var $47=$46;
_free($47);
var $48=$model_ptr_addr;
var $nSV18=(($48+120)|0);
HEAP32[(($nSV18)>>2)]=0;
;
return;
default: assert(0, "bad label: " + __label__);
}
}
_svm_free_model_content["X"]=1;
function _svm_destroy_param($param) {
;
var __label__;
var $param_addr;
$param_addr=$param;
var $0=$param_addr;
var $weight_label=(($0+56)|0);
var $1=HEAP32[(($weight_label)>>2)];
var $2=$1;
_free($2);
var $3=$param_addr;
var $weight=(($3+60)|0);
var $4=HEAP32[(($weight)>>2)];
var $5=$4;
_free($5);
;
return;
}
function _svm_check_parameter($prob, $param) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $retval;
var $prob_addr;
var $param_addr;
var $svm_type;
var $kernel_type;
var $l;
var $max_nr_class;
var $nr_class;
var $label;
var $count;
var $i;
var $this_label;
var $j;
var $n1;
var $j115;
var $n2;
$prob_addr=$prob;
$param_addr=$param;
var $0=$param_addr;
var $svm_type1=(($0)|0);
var $1=HEAP32[(($svm_type1)>>2)];
$svm_type=$1;
var $2=$svm_type;
var $cmp=(($2)|0)!=0;
if ($cmp) { __label__ = 2; break; } else { __label__ = 7; break; }
case 2:
var $3=$svm_type;
var $cmp2=(($3)|0)!=1;
if ($cmp2) { __label__ = 3; break; } else { __label__ = 7; break; }
case 3:
var $4=$svm_type;
var $cmp4=(($4)|0)!=2;
if ($cmp4) { __label__ = 4; break; } else { __label__ = 7; break; }
case 4:
var $5=$svm_type;
var $cmp6=(($5)|0)!=3;
if ($cmp6) { __label__ = 5; break; } else { __label__ = 7; break; }
case 5:
var $6=$svm_type;
var $cmp8=(($6)|0)!=4;
if ($cmp8) { __label__ = 6; break; } else { __label__ = 7; break; }
case 6:
$retval=((STRING_TABLE.__str57)|0);
__label__ = 74; break;
case 7:
var $7=$param_addr;
var $kernel_type9=(($7+4)|0);
var $8=HEAP32[(($kernel_type9)>>2)];
$kernel_type=$8;
var $9=$kernel_type;
var $cmp10=(($9)|0)!=0;
if ($cmp10) { __label__ = 8; break; } else { __label__ = 13; break; }
case 8:
var $10=$kernel_type;
var $cmp12=(($10)|0)!=1;
if ($cmp12) { __label__ = 9; break; } else { __label__ = 13; break; }
case 9:
var $11=$kernel_type;
var $cmp14=(($11)|0)!=2;
if ($cmp14) { __label__ = 10; break; } else { __label__ = 13; break; }
case 10:
var $12=$kernel_type;
var $cmp16=(($12)|0)!=3;
if ($cmp16) { __label__ = 11; break; } else { __label__ = 13; break; }
case 11:
var $13=$kernel_type;
var $cmp18=(($13)|0)!=4;
if ($cmp18) { __label__ = 12; break; } else { __label__ = 13; break; }
case 12:
$retval=((STRING_TABLE.__str58)|0);
__label__ = 74; break;
case 13:
var $14=$param_addr;
var $gamma=(($14+12)|0);
var $15=(tempDoubleI32[0]=HEAP32[(($gamma)>>2)],tempDoubleI32[1]=HEAP32[(($gamma+4)>>2)],tempDoubleF64[0]);
var $cmp21=$15 < 0;
if ($cmp21) { __label__ = 14; break; } else { __label__ = 15; break; }
case 14:
$retval=((STRING_TABLE.__str59)|0);
__label__ = 74; break;
case 15:
var $16=$param_addr;
var $degree=(($16+8)|0);
var $17=HEAP32[(($degree)>>2)];
var $cmp24=(($17)|0) < 0;
if ($cmp24) { __label__ = 16; break; } else { __label__ = 17; break; }
case 16:
$retval=((STRING_TABLE.__str60)|0);
__label__ = 74; break;
case 17:
var $18=$param_addr;
var $cache_size=(($18+28)|0);
var $19=(tempDoubleI32[0]=HEAP32[(($cache_size)>>2)],tempDoubleI32[1]=HEAP32[(($cache_size+4)>>2)],tempDoubleF64[0]);
var $cmp27=$19 <= 0;
if ($cmp27) { __label__ = 18; break; } else { __label__ = 19; break; }
case 18:
$retval=((STRING_TABLE.__str61)|0);
__label__ = 74; break;
case 19:
var $20=$param_addr;
var $eps=(($20+36)|0);
var $21=(tempDoubleI32[0]=HEAP32[(($eps)>>2)],tempDoubleI32[1]=HEAP32[(($eps+4)>>2)],tempDoubleF64[0]);
var $cmp30=$21 <= 0;
if ($cmp30) { __label__ = 20; break; } else { __label__ = 21; break; }
case 20:
$retval=((STRING_TABLE.__str62)|0);
__label__ = 74; break;
case 21:
var $22=$svm_type;
var $cmp33=(($22)|0)==0;
if ($cmp33) { __label__ = 24; break; } else { __label__ = 22; break; }
case 22:
var $23=$svm_type;
var $cmp34=(($23)|0)==3;
if ($cmp34) { __label__ = 24; break; } else { __label__ = 23; break; }
case 23:
var $24=$svm_type;
var $cmp36=(($24)|0)==4;
if ($cmp36) { __label__ = 24; break; } else { __label__ = 27; break; }
case 24:
var $25=$param_addr;
var $C=(($25+44)|0);
var $26=(tempDoubleI32[0]=HEAP32[(($C)>>2)],tempDoubleI32[1]=HEAP32[(($C+4)>>2)],tempDoubleF64[0]);
var $cmp38=$26 <= 0;
if ($cmp38) { __label__ = 25; break; } else { __label__ = 26; break; }
case 25:
$retval=((STRING_TABLE.__str63)|0);
__label__ = 74; break;
case 26:
__label__ = 27; break;
case 27:
var $27=$svm_type;
var $cmp42=(($27)|0)==1;
if ($cmp42) { __label__ = 30; break; } else { __label__ = 28; break; }
case 28:
var $28=$svm_type;
var $cmp44=(($28)|0)==2;
if ($cmp44) { __label__ = 30; break; } else { __label__ = 29; break; }
case 29:
var $29=$svm_type;
var $cmp46=(($29)|0)==4;
if ($cmp46) { __label__ = 30; break; } else { __label__ = 34; break; }
case 30:
var $30=$param_addr;
var $nu=(($30+64)|0);
var $31=(tempDoubleI32[0]=HEAP32[(($nu)>>2)],tempDoubleI32[1]=HEAP32[(($nu+4)>>2)],tempDoubleF64[0]);
var $cmp48=$31 <= 0;
if ($cmp48) { __label__ = 32; break; } else { __label__ = 31; break; }
case 31:
var $32=$param_addr;
var $nu50=(($32+64)|0);
var $33=(tempDoubleI32[0]=HEAP32[(($nu50)>>2)],tempDoubleI32[1]=HEAP32[(($nu50+4)>>2)],tempDoubleF64[0]);
var $cmp51=$33 > 1;
if ($cmp51) { __label__ = 32; break; } else { __label__ = 33; break; }
case 32:
$retval=((STRING_TABLE.__str64)|0);
__label__ = 74; break;
case 33:
__label__ = 34; break;
case 34:
var $34=$svm_type;
var $cmp55=(($34)|0)==3;
if ($cmp55) { __label__ = 35; break; } else { __label__ = 38; break; }
case 35:
var $35=$param_addr;
var $p=(($35+72)|0);
var $36=(tempDoubleI32[0]=HEAP32[(($p)>>2)],tempDoubleI32[1]=HEAP32[(($p+4)>>2)],tempDoubleF64[0]);
var $cmp57=$36 < 0;
if ($cmp57) { __label__ = 36; break; } else { __label__ = 37; break; }
case 36:
$retval=((STRING_TABLE.__str65)|0);
__label__ = 74; break;
case 37:
__label__ = 38; break;
case 38:
var $37=$param_addr;
var $shrinking=(($37+80)|0);
var $38=HEAP32[(($shrinking)>>2)];
var $cmp61=(($38)|0)!=0;
if ($cmp61) { __label__ = 39; break; } else { __label__ = 41; break; }
case 39:
var $39=$param_addr;
var $shrinking63=(($39+80)|0);
var $40=HEAP32[(($shrinking63)>>2)];
var $cmp64=(($40)|0)!=1;
if ($cmp64) { __label__ = 40; break; } else { __label__ = 41; break; }
case 40:
$retval=((STRING_TABLE.__str66)|0);
__label__ = 74; break;
case 41:
var $41=$param_addr;
var $probability=(($41+84)|0);
var $42=HEAP32[(($probability)>>2)];
var $cmp67=(($42)|0)!=0;
if ($cmp67) { __label__ = 42; break; } else { __label__ = 44; break; }
case 42:
var $43=$param_addr;
var $probability69=(($43+84)|0);
var $44=HEAP32[(($probability69)>>2)];
var $cmp70=(($44)|0)!=1;
if ($cmp70) { __label__ = 43; break; } else { __label__ = 44; break; }
case 43:
$retval=((STRING_TABLE.__str67)|0);
__label__ = 74; break;
case 44:
var $45=$param_addr;
var $probability73=(($45+84)|0);
var $46=HEAP32[(($probability73)>>2)];
var $cmp74=(($46)|0)==1;
if ($cmp74) { __label__ = 45; break; } else { __label__ = 47; break; }
case 45:
var $47=$svm_type;
var $cmp76=(($47)|0)==2;
if ($cmp76) { __label__ = 46; break; } else { __label__ = 47; break; }
case 46:
$retval=((STRING_TABLE.__str68)|0);
__label__ = 74; break;
case 47:
var $48=$svm_type;
var $cmp79=(($48)|0)==1;
if ($cmp79) { __label__ = 48; break; } else { __label__ = 73; break; }
case 48:
var $49=$prob_addr;
var $l81=(($49)|0);
var $50=HEAP32[(($l81)>>2)];
$l=$50;
$max_nr_class=16;
$nr_class=0;
var $51=$max_nr_class;
var $mul=((($51<<2))|0);
var $call=_malloc($mul);
var $52=$call;
$label=$52;
var $53=$max_nr_class;
var $mul82=((($53<<2))|0);
var $call83=_malloc($mul82);
var $54=$call83;
$count=$54;
$i=0;
__label__ = 49; break;
case 49:
var $55=$i;
var $56=$l;
var $cmp84=(($55)|0) < (($56)|0);
if ($cmp84) { __label__ = 50; break; } else { __label__ = 62; break; }
case 50:
var $57=$i;
var $58=$prob_addr;
var $y=(($58+4)|0);
var $59=HEAP32[(($y)>>2)];
var $arrayidx=(($59+($57<<3))|0);
var $60=(tempDoubleI32[0]=HEAP32[(($arrayidx)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx+4)>>2)],tempDoubleF64[0]);
var $conv=(($60)&-1);
$this_label=$conv;
$j=0;
__label__ = 51; break;
case 51:
var $61=$j;
var $62=$nr_class;
var $cmp86=(($61)|0) < (($62)|0);
if ($cmp86) { __label__ = 52; break; } else { __label__ = 56; break; }
case 52:
var $63=$this_label;
var $64=$j;
var $65=$label;
var $arrayidx88=(($65+($64<<2))|0);
var $66=HEAP32[(($arrayidx88)>>2)];
var $cmp89=(($63)|0)==(($66)|0);
if ($cmp89) { __label__ = 53; break; } else { __label__ = 54; break; }
case 53:
var $67=$j;
var $68=$count;
var $arrayidx91=(($68+($67<<2))|0);
var $69=HEAP32[(($arrayidx91)>>2)];
var $inc=(($69+1)|0);
HEAP32[(($arrayidx91)>>2)]=$inc;
__label__ = 56; break;
case 54:
__label__ = 55; break;
case 55:
var $70=$j;
var $inc93=(($70+1)|0);
$j=$inc93;
__label__ = 51; break;
case 56:
var $71=$j;
var $72=$nr_class;
var $cmp94=(($71)|0)==(($72)|0);
if ($cmp94) { __label__ = 57; break; } else { __label__ = 60; break; }
case 57:
var $73=$nr_class;
var $74=$max_nr_class;
var $cmp96=(($73)|0)==(($74)|0);
if ($cmp96) { __label__ = 58; break; } else { __label__ = 59; break; }
case 58:
var $75=$max_nr_class;
var $mul98=((($75<<1))|0);
$max_nr_class=$mul98;
var $76=$label;
var $77=$76;
var $78=$max_nr_class;
var $mul99=((($78<<2))|0);
var $call100=_realloc($77, $mul99);
var $79=$call100;
$label=$79;
var $80=$count;
var $81=$80;
var $82=$max_nr_class;
var $mul101=((($82<<2))|0);
var $call102=_realloc($81, $mul101);
var $83=$call102;
$count=$83;
__label__ = 59; break;
case 59:
var $84=$this_label;
var $85=$nr_class;
var $86=$label;
var $arrayidx104=(($86+($85<<2))|0);
HEAP32[(($arrayidx104)>>2)]=$84;
var $87=$nr_class;
var $88=$count;
var $arrayidx105=(($88+($87<<2))|0);
HEAP32[(($arrayidx105)>>2)]=1;
var $89=$nr_class;
var $inc106=(($89+1)|0);
$nr_class=$inc106;
__label__ = 60; break;
case 60:
__label__ = 61; break;
case 61:
var $90=$i;
var $inc109=(($90+1)|0);
$i=$inc109;
__label__ = 49; break;
case 62:
$i=0;
__label__ = 63; break;
case 63:
var $91=$i;
var $92=$nr_class;
var $cmp112=(($91)|0) < (($92)|0);
if ($cmp112) { __label__ = 64; break; } else { __label__ = 72; break; }
case 64:
var $93=$i;
var $94=$count;
var $arrayidx114=(($94+($93<<2))|0);
var $95=HEAP32[(($arrayidx114)>>2)];
$n1=$95;
var $96=$i;
var $add=(($96+1)|0);
$j115=$add;
__label__ = 65; break;
case 65:
var $97=$j115;
var $98=$nr_class;
var $cmp117=(($97)|0) < (($98)|0);
if ($cmp117) { __label__ = 66; break; } else { __label__ = 70; break; }
case 66:
var $99=$j115;
var $100=$count;
var $arrayidx119=(($100+($99<<2))|0);
var $101=HEAP32[(($arrayidx119)>>2)];
$n2=$101;
var $102=$param_addr;
var $nu120=(($102+64)|0);
var $103=(tempDoubleI32[0]=HEAP32[(($nu120)>>2)],tempDoubleI32[1]=HEAP32[(($nu120+4)>>2)],tempDoubleF64[0]);
var $104=$n1;
var $105=$n2;
var $add121=(($104+$105)|0);
var $conv122=(($add121)|0);
var $mul123=$103*$conv122;
var $div=$mul123/2;
var $106=$n1;
var $107=$n2;
var $call124=__ZL3minIiET_S0_S0_($106, $107);
var $conv125=(($call124)|0);
var $cmp126=$div > $conv125;
if ($cmp126) { __label__ = 67; break; } else { __label__ = 68; break; }
case 67:
var $108=$label;
var $109=$108;
_free($109);
var $110=$count;
var $111=$110;
_free($111);
$retval=((STRING_TABLE.__str69)|0);
__label__ = 74; break;
case 68:
__label__ = 69; break;
case 69:
var $112=$j115;
var $inc130=(($112+1)|0);
$j115=$inc130;
__label__ = 65; break;
case 70:
__label__ = 71; break;
case 71:
var $113=$i;
var $inc133=(($113+1)|0);
$i=$inc133;
__label__ = 63; break;
case 72:
var $114=$label;
var $115=$114;
_free($115);
var $116=$count;
var $117=$116;
_free($117);
__label__ = 73; break;
case 73:
$retval=0;
__label__ = 74; break;
case 74:
var $118=$retval;
;
return $118;
default: assert(0, "bad label: " + __label__);
}
}
_svm_check_parameter["X"]=1;
function __ZL19print_string_stdoutPKc($s) {
;
var __label__;
var $s_addr;
$s_addr=$s;
var $0=$s_addr;
var $1=HEAP32[((_stdout)>>2)];
var $call=_fputs($0, $1);
var $2=HEAP32[((_stdout)>>2)];
var $call1=_fflush($2);
;
return;
}
function __ZNK6Kernel10swap_indexEii($this, $i, $j) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $i_addr;
var $j_addr;
$this_addr=$this;
$i_addr=$i;
$j_addr=$j;
var $this1=$this_addr;
var $0=$i_addr;
var $x=(($this1+12)|0);
var $1=HEAP32[(($x)>>2)];
var $arrayidx=(($1+($0<<2))|0);
var $2=$j_addr;
var $x2=(($this1+12)|0);
var $3=HEAP32[(($x2)>>2)];
var $arrayidx3=(($3+($2<<2))|0);
__ZL4swapIPK8svm_nodeEvRT_S4_($arrayidx, $arrayidx3);
var $x_square=(($this1+16)|0);
var $4=HEAP32[(($x_square)>>2)];
var $tobool=(($4)|0)!=0;
if ($tobool) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $5=$i_addr;
var $x_square4=(($this1+16)|0);
var $6=HEAP32[(($x_square4)>>2)];
var $arrayidx5=(($6+($5<<3))|0);
var $7=$j_addr;
var $x_square6=(($this1+16)|0);
var $8=HEAP32[(($x_square6)>>2)];
var $arrayidx7=(($8+($7<<3))|0);
__ZL4swapIdEvRT_S1_($arrayidx5, $arrayidx7);
__label__ = 3; break;
case 3:
;
return;
default: assert(0, "bad label: " + __label__);
}
}
function __ZN6SolverD1Ev($this) {
;
var __label__;
var $this_addr;
$this_addr=$this;
var $this1=$this_addr;
__ZN6SolverD2Ev($this1);
;
return;
}
function __ZN6SolverD0Ev($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $exn_slot;
var $ehselector_slot;
$this_addr=$this;
var $this1=$this_addr;
(function() { try { __THREW__ = false; return __ZN6SolverD1Ev($this1) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $0=$this1;
__ZdlPv($0);
;
return;
case 3:
var $1=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $2=$1.f0;
$exn_slot=$2;
var $3=$1.f1;
$ehselector_slot=$3;
var $4=$this1;
__ZdlPv($4);
__label__ = 4; break;
case 4:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val2=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
default: assert(0, "bad label: " + __label__);
}
}
function __ZN9Solver_NUD1Ev($this) {
;
var __label__;
var $this_addr;
$this_addr=$this;
var $this1=$this_addr;
__ZN9Solver_NUD2Ev($this1);
;
return;
}
function __ZN9Solver_NUD0Ev($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $exn_slot;
var $ehselector_slot;
$this_addr=$this;
var $this1=$this_addr;
(function() { try { __THREW__ = false; return __ZN9Solver_NUD1Ev($this1) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $0=$this1;
__ZdlPv($0);
;
return;
case 3:
var $1=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $2=$1.f0;
$exn_slot=$2;
var $3=$1.f1;
$ehselector_slot=$3;
var $4=$this1;
__ZdlPv($4);
__label__ = 4; break;
case 4:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val2=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
default: assert(0, "bad label: " + __label__);
}
}
function __ZN9Solver_NUD2Ev($this) {
;
var __label__;
var $this_addr;
$this_addr=$this;
var $this1=$this_addr;
var $0=$this1;
__ZN6SolverD2Ev($0);
;
return;
}
function __ZL13sigmoid_trainiPKdS0_RdS1_($l, $dec_values, $labels, $A, $B) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $l_addr;
var $dec_values_addr;
var $labels_addr;
var $A_addr;
var $B_addr;
var $prior1;
var $prior0;
var $i;
var $max_iter;
var $min_step;
var $sigma;
var $eps;
var $hiTarget;
var $loTarget;
var $t;
var $fApB;
var $p;
var $q;
var $h11;
var $h22;
var $h21;
var $g1;
var $g2;
var $det;
var $dA;
var $dB;
var $gd;
var $stepsize;
var $newA;
var $newB;
var $newf;
var $d1;
var $d2;
var $iter;
var $fval;
$l_addr=$l;
$dec_values_addr=$dec_values;
$labels_addr=$labels;
$A_addr=$A;
$B_addr=$B;
$prior1=0;
$prior0=0;
$i=0;
__label__ = 2; break;
case 2:
var $0=$i;
var $1=$l_addr;
var $cmp=(($0)|0) < (($1)|0);
if ($cmp) { __label__ = 3; break; } else { __label__ = 8; break; }
case 3:
var $2=$i;
var $3=$labels_addr;
var $arrayidx=(($3+($2<<3))|0);
var $4=(tempDoubleI32[0]=HEAP32[(($arrayidx)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx+4)>>2)],tempDoubleF64[0]);
var $cmp1=$4 > 0;
if ($cmp1) { __label__ = 4; break; } else { __label__ = 5; break; }
case 4:
var $5=$prior1;
var $add=$5+1;
$prior1=$add;
__label__ = 6; break;
case 5:
var $6=$prior0;
var $add2=$6+1;
$prior0=$add2;
__label__ = 6; break;
case 6:
__label__ = 7; break;
case 7:
var $7=$i;
var $inc=(($7+1)|0);
$i=$inc;
__label__ = 2; break;
case 8:
$max_iter=100;
$min_step=1e-10;
$sigma=1e-12;
$eps=0.00001;
var $8=$prior1;
var $add3=$8+1;
var $9=$prior1;
var $add4=$9+2;
var $div=$add3/$add4;
$hiTarget=$div;
var $10=$prior0;
var $add5=$10+2;
var $div6=1/$add5;
$loTarget=$div6;
var $11=$l_addr;
var $mul=((($11<<3))|0);
var $call=_malloc($mul);
var $12=$call;
$t=$12;
var $13=$A_addr;
(tempDoubleF64[0]=0,HEAP32[(($13)>>2)]=tempDoubleI32[0],HEAP32[(($13+4)>>2)]=tempDoubleI32[1]);
var $14=$prior0;
var $add7=$14+1;
var $15=$prior1;
var $add8=$15+1;
var $div9=$add7/$add8;
var $call10=_log($div9);
var $16=$B_addr;
(tempDoubleF64[0]=$call10,HEAP32[(($16)>>2)]=tempDoubleI32[0],HEAP32[(($16+4)>>2)]=tempDoubleI32[1]);
$fval=0;
$i=0;
__label__ = 9; break;
case 9:
var $17=$i;
var $18=$l_addr;
var $cmp12=(($17)|0) < (($18)|0);
if ($cmp12) { __label__ = 10; break; } else { __label__ = 18; break; }
case 10:
var $19=$i;
var $20=$labels_addr;
var $arrayidx14=(($20+($19<<3))|0);
var $21=(tempDoubleI32[0]=HEAP32[(($arrayidx14)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx14+4)>>2)],tempDoubleF64[0]);
var $cmp15=$21 > 0;
if ($cmp15) { __label__ = 11; break; } else { __label__ = 12; break; }
case 11:
var $22=$hiTarget;
var $23=$i;
var $24=$t;
var $arrayidx17=(($24+($23<<3))|0);
(tempDoubleF64[0]=$22,HEAP32[(($arrayidx17)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx17+4)>>2)]=tempDoubleI32[1]);
__label__ = 13; break;
case 12:
var $25=$loTarget;
var $26=$i;
var $27=$t;
var $arrayidx19=(($27+($26<<3))|0);
(tempDoubleF64[0]=$25,HEAP32[(($arrayidx19)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx19+4)>>2)]=tempDoubleI32[1]);
__label__ = 13; break;
case 13:
var $28=$i;
var $29=$dec_values_addr;
var $arrayidx21=(($29+($28<<3))|0);
var $30=(tempDoubleI32[0]=HEAP32[(($arrayidx21)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx21+4)>>2)],tempDoubleF64[0]);
var $31=$A_addr;
var $32=(tempDoubleI32[0]=HEAP32[(($31)>>2)],tempDoubleI32[1]=HEAP32[(($31+4)>>2)],tempDoubleF64[0]);
var $mul22=$30*$32;
var $33=$B_addr;
var $34=(tempDoubleI32[0]=HEAP32[(($33)>>2)],tempDoubleI32[1]=HEAP32[(($33+4)>>2)],tempDoubleF64[0]);
var $add23=$mul22+$34;
$fApB=$add23;
var $35=$fApB;
var $cmp24=$35 >= 0;
if ($cmp24) { __label__ = 14; break; } else { __label__ = 15; break; }
case 14:
var $36=$i;
var $37=$t;
var $arrayidx26=(($37+($36<<3))|0);
var $38=(tempDoubleI32[0]=HEAP32[(($arrayidx26)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx26+4)>>2)],tempDoubleF64[0]);
var $39=$fApB;
var $mul27=$38*$39;
var $40=$fApB;
var $sub=(-$40);
var $call28=_exp($sub);
var $add29=$call28+1;
var $call30=_log($add29);
var $add31=$mul27+$call30;
var $41=$fval;
var $add32=$41+$add31;
$fval=$add32;
__label__ = 16; break;
case 15:
var $42=$i;
var $43=$t;
var $arrayidx34=(($43+($42<<3))|0);
var $44=(tempDoubleI32[0]=HEAP32[(($arrayidx34)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx34+4)>>2)],tempDoubleF64[0]);
var $sub35=$44-1;
var $45=$fApB;
var $mul36=$sub35*$45;
var $46=$fApB;
var $call37=_exp($46);
var $add38=$call37+1;
var $call39=_log($add38);
var $add40=$mul36+$call39;
var $47=$fval;
var $add41=$47+$add40;
$fval=$add41;
__label__ = 16; break;
case 16:
__label__ = 17; break;
case 17:
var $48=$i;
var $inc44=(($48+1)|0);
$i=$inc44;
__label__ = 9; break;
case 18:
$iter=0;
__label__ = 19; break;
case 19:
var $49=$iter;
var $50=$max_iter;
var $cmp47=(($49)|0) < (($50)|0);
if ($cmp47) { __label__ = 20; break; } else { __label__ = 47; break; }
case 20:
var $51=$sigma;
$h11=$51;
var $52=$sigma;
$h22=$52;
$h21=0;
$g1=0;
$g2=0;
$i=0;
__label__ = 21; break;
case 21:
var $53=$i;
var $54=$l_addr;
var $cmp50=(($53)|0) < (($54)|0);
if ($cmp50) { __label__ = 22; break; } else { __label__ = 27; break; }
case 22:
var $55=$i;
var $56=$dec_values_addr;
var $arrayidx52=(($56+($55<<3))|0);
var $57=(tempDoubleI32[0]=HEAP32[(($arrayidx52)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx52+4)>>2)],tempDoubleF64[0]);
var $58=$A_addr;
var $59=(tempDoubleI32[0]=HEAP32[(($58)>>2)],tempDoubleI32[1]=HEAP32[(($58+4)>>2)],tempDoubleF64[0]);
var $mul53=$57*$59;
var $60=$B_addr;
var $61=(tempDoubleI32[0]=HEAP32[(($60)>>2)],tempDoubleI32[1]=HEAP32[(($60+4)>>2)],tempDoubleF64[0]);
var $add54=$mul53+$61;
$fApB=$add54;
var $62=$fApB;
var $cmp55=$62 >= 0;
if ($cmp55) { __label__ = 23; break; } else { __label__ = 24; break; }
case 23:
var $63=$fApB;
var $sub57=(-$63);
var $call58=_exp($sub57);
var $64=$fApB;
var $sub59=(-$64);
var $call60=_exp($sub59);
var $add61=$call60+1;
var $div62=$call58/$add61;
$p=$div62;
var $65=$fApB;
var $sub63=(-$65);
var $call64=_exp($sub63);
var $add65=$call64+1;
var $div66=1/$add65;
$q=$div66;
__label__ = 25; break;
case 24:
var $66=$fApB;
var $call68=_exp($66);
var $add69=$call68+1;
var $div70=1/$add69;
$p=$div70;
var $67=$fApB;
var $call71=_exp($67);
var $68=$fApB;
var $call72=_exp($68);
var $add73=$call72+1;
var $div74=$call71/$add73;
$q=$div74;
__label__ = 25; break;
case 25:
var $69=$p;
var $70=$q;
var $mul76=$69*$70;
$d2=$mul76;
var $71=$i;
var $72=$dec_values_addr;
var $arrayidx77=(($72+($71<<3))|0);
var $73=(tempDoubleI32[0]=HEAP32[(($arrayidx77)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx77+4)>>2)],tempDoubleF64[0]);
var $74=$i;
var $75=$dec_values_addr;
var $arrayidx78=(($75+($74<<3))|0);
var $76=(tempDoubleI32[0]=HEAP32[(($arrayidx78)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx78+4)>>2)],tempDoubleF64[0]);
var $mul79=$73*$76;
var $77=$d2;
var $mul80=$mul79*$77;
var $78=$h11;
var $add81=$78+$mul80;
$h11=$add81;
var $79=$d2;
var $80=$h22;
var $add82=$80+$79;
$h22=$add82;
var $81=$i;
var $82=$dec_values_addr;
var $arrayidx83=(($82+($81<<3))|0);
var $83=(tempDoubleI32[0]=HEAP32[(($arrayidx83)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx83+4)>>2)],tempDoubleF64[0]);
var $84=$d2;
var $mul84=$83*$84;
var $85=$h21;
var $add85=$85+$mul84;
$h21=$add85;
var $86=$i;
var $87=$t;
var $arrayidx86=(($87+($86<<3))|0);
var $88=(tempDoubleI32[0]=HEAP32[(($arrayidx86)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx86+4)>>2)],tempDoubleF64[0]);
var $89=$p;
var $sub87=$88-$89;
$d1=$sub87;
var $90=$i;
var $91=$dec_values_addr;
var $arrayidx88=(($91+($90<<3))|0);
var $92=(tempDoubleI32[0]=HEAP32[(($arrayidx88)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx88+4)>>2)],tempDoubleF64[0]);
var $93=$d1;
var $mul89=$92*$93;
var $94=$g1;
var $add90=$94+$mul89;
$g1=$add90;
var $95=$d1;
var $96=$g2;
var $add91=$96+$95;
$g2=$add91;
__label__ = 26; break;
case 26:
var $97=$i;
var $inc93=(($97+1)|0);
$i=$inc93;
__label__ = 21; break;
case 27:
var $98=$g1;
var $call95=_fabs($98);
var $99=$eps;
var $cmp96=$call95 < $99;
if ($cmp96) { __label__ = 28; break; } else { __label__ = 30; break; }
case 28:
var $100=$g2;
var $call97=_fabs($100);
var $101=$eps;
var $cmp98=$call97 < $101;
if ($cmp98) { __label__ = 29; break; } else { __label__ = 30; break; }
case 29:
__label__ = 47; break;
case 30:
var $102=$h11;
var $103=$h22;
var $mul101=$102*$103;
var $104=$h21;
var $105=$h21;
var $mul102=$104*$105;
var $sub103=$mul101-$mul102;
$det=$sub103;
var $106=$h22;
var $107=$g1;
var $mul104=$106*$107;
var $108=$h21;
var $109=$g2;
var $mul105=$108*$109;
var $sub106=$mul104-$mul105;
var $sub107=(-$sub106);
var $110=$det;
var $div108=$sub107/$110;
$dA=$div108;
var $111=$h21;
var $sub109=(-$111);
var $112=$g1;
var $mul110=$sub109*$112;
var $113=$h11;
var $114=$g2;
var $mul111=$113*$114;
var $add112=$mul110+$mul111;
var $sub113=(-$add112);
var $115=$det;
var $div114=$sub113/$115;
$dB=$div114;
var $116=$g1;
var $117=$dA;
var $mul115=$116*$117;
var $118=$g2;
var $119=$dB;
var $mul116=$118*$119;
var $add117=$mul115+$mul116;
$gd=$add117;
$stepsize=1;
__label__ = 31; break;
case 31:
var $120=$stepsize;
var $121=$min_step;
var $cmp118=$120 >= $121;
if ($cmp118) { __label__ = 32; break; } else { __label__ = 43; break; }
case 32:
var $122=$A_addr;
var $123=(tempDoubleI32[0]=HEAP32[(($122)>>2)],tempDoubleI32[1]=HEAP32[(($122+4)>>2)],tempDoubleF64[0]);
var $124=$stepsize;
var $125=$dA;
var $mul119=$124*$125;
var $add120=$123+$mul119;
$newA=$add120;
var $126=$B_addr;
var $127=(tempDoubleI32[0]=HEAP32[(($126)>>2)],tempDoubleI32[1]=HEAP32[(($126+4)>>2)],tempDoubleF64[0]);
var $128=$stepsize;
var $129=$dB;
var $mul121=$128*$129;
var $add122=$127+$mul121;
$newB=$add122;
$newf=0;
$i=0;
__label__ = 33; break;
case 33:
var $130=$i;
var $131=$l_addr;
var $cmp124=(($130)|0) < (($131)|0);
if ($cmp124) { __label__ = 34; break; } else { __label__ = 39; break; }
case 34:
var $132=$i;
var $133=$dec_values_addr;
var $arrayidx126=(($133+($132<<3))|0);
var $134=(tempDoubleI32[0]=HEAP32[(($arrayidx126)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx126+4)>>2)],tempDoubleF64[0]);
var $135=$newA;
var $mul127=$134*$135;
var $136=$newB;
var $add128=$mul127+$136;
$fApB=$add128;
var $137=$fApB;
var $cmp129=$137 >= 0;
if ($cmp129) { __label__ = 35; break; } else { __label__ = 36; break; }
case 35:
var $138=$i;
var $139=$t;
var $arrayidx131=(($139+($138<<3))|0);
var $140=(tempDoubleI32[0]=HEAP32[(($arrayidx131)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx131+4)>>2)],tempDoubleF64[0]);
var $141=$fApB;
var $mul132=$140*$141;
var $142=$fApB;
var $sub133=(-$142);
var $call134=_exp($sub133);
var $add135=$call134+1;
var $call136=_log($add135);
var $add137=$mul132+$call136;
var $143=$newf;
var $add138=$143+$add137;
$newf=$add138;
__label__ = 37; break;
case 36:
var $144=$i;
var $145=$t;
var $arrayidx140=(($145+($144<<3))|0);
var $146=(tempDoubleI32[0]=HEAP32[(($arrayidx140)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx140+4)>>2)],tempDoubleF64[0]);
var $sub141=$146-1;
var $147=$fApB;
var $mul142=$sub141*$147;
var $148=$fApB;
var $call143=_exp($148);
var $add144=$call143+1;
var $call145=_log($add144);
var $add146=$mul142+$call145;
var $149=$newf;
var $add147=$149+$add146;
$newf=$add147;
__label__ = 37; break;
case 37:
__label__ = 38; break;
case 38:
var $150=$i;
var $inc150=(($150+1)|0);
$i=$inc150;
__label__ = 33; break;
case 39:
var $151=$newf;
var $152=$fval;
var $153=$stepsize;
var $mul152=$153*0.0001;
var $154=$gd;
var $mul153=$mul152*$154;
var $add154=$152+$mul153;
var $cmp155=$151 < $add154;
if ($cmp155) { __label__ = 40; break; } else { __label__ = 41; break; }
case 40:
var $155=$newA;
var $156=$A_addr;
(tempDoubleF64[0]=$155,HEAP32[(($156)>>2)]=tempDoubleI32[0],HEAP32[(($156+4)>>2)]=tempDoubleI32[1]);
var $157=$newB;
var $158=$B_addr;
(tempDoubleF64[0]=$157,HEAP32[(($158)>>2)]=tempDoubleI32[0],HEAP32[(($158+4)>>2)]=tempDoubleI32[1]);
var $159=$newf;
$fval=$159;
__label__ = 43; break;
case 41:
var $160=$stepsize;
var $div158=$160/2;
$stepsize=$div158;
__label__ = 42; break;
case 42:
__label__ = 31; break;
case 43:
var $161=$stepsize;
var $162=$min_step;
var $cmp160=$161 < $162;
if ($cmp160) { __label__ = 44; break; } else { __label__ = 45; break; }
case 44:
__ZL4infoPKcz(((STRING_TABLE.__str71)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
__label__ = 47; break;
case 45:
__label__ = 46; break;
case 46:
var $163=$iter;
var $inc164=(($163+1)|0);
$iter=$inc164;
__label__ = 19; break;
case 47:
var $164=$iter;
var $165=$max_iter;
var $cmp166=(($164)|0) >= (($165)|0);
if ($cmp166) { __label__ = 48; break; } else { __label__ = 49; break; }
case 48:
__ZL4infoPKcz(((STRING_TABLE.__str72)|0), (tempInt=STACKTOP,STACKTOP += 1,STACKTOP = ((((STACKTOP)+3)>>2)<<2),assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),HEAP32[((tempInt)>>2)]=0,tempInt));
__label__ = 49; break;
case 49:
var $166=$t;
var $167=$166;
_free($167);
;
return;
default: assert(0, "bad label: " + __label__);
}
}
__ZL13sigmoid_trainiPKdS0_RdS1_["X"]=1;
function __ZL11solve_c_svcPK11svm_problemPK13svm_parameterPdPN6Solver12SolutionInfoEdd($prob, $param, $alpha, $si, $Cp, $Cn) {
var __stackBase__ = STACKTOP; STACKTOP += 132; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $prob_addr;
var $param_addr;
var $alpha_addr;
var $si_addr;
var $Cp_addr;
var $Cn_addr;
var $l;
var $minus_ones;
var $y;
var $i;
var $s=__stackBase__;
var $ref_tmp=__stackBase__+76;
var $exn_slot;
var $ehselector_slot;
var $sum_alpha;
$prob_addr=$prob;
$param_addr=$param;
$alpha_addr=$alpha;
$si_addr=$si;
$Cp_addr=$Cp;
$Cn_addr=$Cn;
var $0=$prob_addr;
var $l1=(($0)|0);
var $1=HEAP32[(($l1)>>2)];
$l=$1;
var $2=$l;
var $3=_llvm_umul_with_overflow_i32($2, 8);
var $4=$3.f1;
var $5=$3.f0;
var $6=$4 ? -1 : $5;
var $call=__Znaj($6);
var $7=$call;
$minus_ones=$7;
var $8=$l;
var $9=(($8)|0) < 0;
var $10=$9 ? -1 : $8;
var $call2=__Znaj($10);
$y=$call2;
$i=0;
__label__ = 2; break;
case 2:
var $11=$i;
var $12=$l;
var $cmp=(($11)|0) < (($12)|0);
if ($cmp) { __label__ = 3; break; } else { __label__ = 8; break; }
case 3:
var $13=$i;
var $14=$alpha_addr;
var $arrayidx=(($14+($13<<3))|0);
(tempDoubleF64[0]=0,HEAP32[(($arrayidx)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx+4)>>2)]=tempDoubleI32[1]);
var $15=$i;
var $16=$minus_ones;
var $arrayidx3=(($16+($15<<3))|0);
(tempDoubleF64[0]=-1,HEAP32[(($arrayidx3)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx3+4)>>2)]=tempDoubleI32[1]);
var $17=$i;
var $18=$prob_addr;
var $y4=(($18+4)|0);
var $19=HEAP32[(($y4)>>2)];
var $arrayidx5=(($19+($17<<3))|0);
var $20=(tempDoubleI32[0]=HEAP32[(($arrayidx5)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx5+4)>>2)],tempDoubleF64[0]);
var $cmp6=$20 > 0;
if ($cmp6) { __label__ = 4; break; } else { __label__ = 5; break; }
case 4:
var $21=$i;
var $22=$y;
var $arrayidx7=(($22+$21)|0);
HEAP8[($arrayidx7)]=1;
__label__ = 6; break;
case 5:
var $23=$i;
var $24=$y;
var $arrayidx8=(($24+$23)|0);
HEAP8[($arrayidx8)]=-1;
__label__ = 6; break;
case 6:
__label__ = 7; break;
case 7:
var $25=$i;
var $inc=(($25+1)|0);
$i=$inc;
__label__ = 2; break;
case 8:
__ZN6SolverC1Ev($s);
var $26=$l;
var $27=$prob_addr;
var $28=$param_addr;
var $29=$y;
(function() { try { __THREW__ = false; return __ZN5SVC_QC1ERK11svm_problemRK13svm_parameterPKa($ref_tmp, $27, $28, $29) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 9; break; } else { __label__ = 15; break; }
case 9:
var $30=$ref_tmp;
var $31=$minus_ones;
var $32=$y;
var $33=$alpha_addr;
var $34=$Cp_addr;
var $35=$Cn_addr;
var $36=$param_addr;
var $eps=(($36+36)|0);
var $37=(tempDoubleI32[0]=HEAP32[(($eps)>>2)],tempDoubleI32[1]=HEAP32[(($eps+4)>>2)],tempDoubleF64[0]);
var $38=$si_addr;
var $39=$param_addr;
var $shrinking=(($39+80)|0);
var $40=HEAP32[(($shrinking)>>2)];
(function() { try { __THREW__ = false; return __ZN6Solver5SolveEiRK7QMatrixPKdPKaPddddPNS_12SolutionInfoEi($s, $26, $30, $31, $32, $33, $34, $35, $37, $38, $40) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 10; break; } else { __label__ = 16; break; }
case 10:
(function() { try { __THREW__ = false; return __ZN5SVC_QD1Ev($ref_tmp) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 11; break; } else { __label__ = 15; break; }
case 11:
$sum_alpha=0;
$i=0;
__label__ = 12; break;
case 12:
var $41=$i;
var $42=$l;
var $cmp14=(($41)|0) < (($42)|0);
if ($cmp14) { __label__ = 13; break; } else { __label__ = 18; break; }
case 13:
var $43=$i;
var $44=$alpha_addr;
var $arrayidx16=(($44+($43<<3))|0);
var $45=(tempDoubleI32[0]=HEAP32[(($arrayidx16)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx16+4)>>2)],tempDoubleF64[0]);
var $46=$sum_alpha;
var $add=$46+$45;
$sum_alpha=$add;
__label__ = 14; break;
case 14:
var $47=$i;
var $inc18=(($47+1)|0);
$i=$inc18;
__label__ = 12; break;
case 15:
var $48=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $49=$48.f0;
$exn_slot=$49;
var $50=$48.f1;
$ehselector_slot=$50;
__label__ = 30; break;
case 16:
var $51=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $52=$51.f0;
$exn_slot=$52;
var $53=$51.f1;
$ehselector_slot=$53;
(function() { try { __THREW__ = false; return __ZN5SVC_QD1Ev($ref_tmp) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 17; break; } else { __label__ = 33; break; }
case 17:
__label__ = 30; break;
case 18:
var $54=$Cp_addr;
var $55=$Cn_addr;
var $cmp20=$54 == $55;
if ($cmp20) { __label__ = 19; break; } else { __label__ = 21; break; }
case 19:
var $56=$sum_alpha;
var $57=$Cp_addr;
var $58=$prob_addr;
var $l22=(($58)|0);
var $59=HEAP32[(($l22)>>2)];
var $conv=(($59)|0);
var $mul=$57*$conv;
var $div=$56/$mul;
(function() { try { __THREW__ = false; return __ZL4infoPKcz(((STRING_TABLE.__str76)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),(tempDoubleF64[0]=$div,HEAP32[((tempInt)>>2)]=tempDoubleI32[0],HEAP32[((tempInt+4)>>2)]=tempDoubleI32[1]),tempInt)) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 20; break; } else { __label__ = 15; break; }
case 20:
__label__ = 21; break;
case 21:
$i=0;
__label__ = 22; break;
case 22:
var $60=$i;
var $61=$l;
var $cmp26=(($60)|0) < (($61)|0);
if ($cmp26) { __label__ = 23; break; } else { __label__ = 25; break; }
case 23:
var $62=$i;
var $63=$y;
var $arrayidx28=(($63+$62)|0);
var $64=HEAP8[($arrayidx28)];
var $conv29=(($64 << 24) >> 24);
var $conv30=(($conv29)|0);
var $65=$i;
var $66=$alpha_addr;
var $arrayidx31=(($66+($65<<3))|0);
var $67=(tempDoubleI32[0]=HEAP32[(($arrayidx31)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx31+4)>>2)],tempDoubleF64[0]);
var $mul32=$67*$conv30;
(tempDoubleF64[0]=$mul32,HEAP32[(($arrayidx31)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx31+4)>>2)]=tempDoubleI32[1]);
__label__ = 24; break;
case 24:
var $68=$i;
var $inc34=(($68+1)|0);
$i=$inc34;
__label__ = 22; break;
case 25:
var $69=$minus_ones;
var $isnull=(($69)|0)==0;
if ($isnull) { __label__ = 27; break; } else { __label__ = 26; break; }
case 26:
var $70=$69;
__ZdaPv($70);
__label__ = 27; break;
case 27:
var $71=$y;
var $isnull36=(($71)|0)==0;
if ($isnull36) { __label__ = 29; break; } else { __label__ = 28; break; }
case 28:
__ZdaPv($71);
__label__ = 29; break;
case 29:
__ZN6SolverD1Ev($s);
STACKTOP = __stackBase__;
return;
case 30:
(function() { try { __THREW__ = false; return __ZN6SolverD1Ev($s) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 31; break; } else { __label__ = 33; break; }
case 31:
__label__ = 32; break;
case 32:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val40=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
case 33:
var $72=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[0]);
__ZSt9terminatev();
throw "Reached an unreachable!"
default: assert(0, "bad label: " + __label__);
}
}
__ZL11solve_c_svcPK11svm_problemPK13svm_parameterPdPN6Solver12SolutionInfoEdd["X"]=1;
function __ZL12solve_nu_svcPK11svm_problemPK13svm_parameterPdPN6Solver12SolutionInfoE($prob, $param, $alpha, $si) {
var __stackBase__ = STACKTOP; STACKTOP += 136; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $prob_addr;
var $param_addr;
var $alpha_addr;
var $si_addr;
var $i;
var $l;
var $nu;
var $y;
var $sum_pos;
var $sum_neg;
var $zeros;
var $s=__stackBase__;
var $ref_tmp=__stackBase__+80;
var $exn_slot;
var $ehselector_slot;
var $r;
$prob_addr=$prob;
$param_addr=$param;
$alpha_addr=$alpha;
$si_addr=$si;
var $0=$prob_addr;
var $l1=(($0)|0);
var $1=HEAP32[(($l1)>>2)];
$l=$1;
var $2=$param_addr;
var $nu2=(($2+64)|0);
var $3=(tempDoubleI32[0]=HEAP32[(($nu2)>>2)],tempDoubleI32[1]=HEAP32[(($nu2+4)>>2)],tempDoubleF64[0]);
$nu=$3;
var $4=$l;
var $5=(($4)|0) < 0;
var $6=$5 ? -1 : $4;
var $call=__Znaj($6);
$y=$call;
$i=0;
__label__ = 2; break;
case 2:
var $7=$i;
var $8=$l;
var $cmp=(($7)|0) < (($8)|0);
if ($cmp) { __label__ = 3; break; } else { __label__ = 8; break; }
case 3:
var $9=$i;
var $10=$prob_addr;
var $y3=(($10+4)|0);
var $11=HEAP32[(($y3)>>2)];
var $arrayidx=(($11+($9<<3))|0);
var $12=(tempDoubleI32[0]=HEAP32[(($arrayidx)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx+4)>>2)],tempDoubleF64[0]);
var $cmp4=$12 > 0;
if ($cmp4) { __label__ = 4; break; } else { __label__ = 5; break; }
case 4:
var $13=$i;
var $14=$y;
var $arrayidx5=(($14+$13)|0);
HEAP8[($arrayidx5)]=1;
__label__ = 6; break;
case 5:
var $15=$i;
var $16=$y;
var $arrayidx6=(($16+$15)|0);
HEAP8[($arrayidx6)]=-1;
__label__ = 6; break;
case 6:
__label__ = 7; break;
case 7:
var $17=$i;
var $inc=(($17+1)|0);
$i=$inc;
__label__ = 2; break;
case 8:
var $18=$nu;
var $19=$l;
var $conv=(($19)|0);
var $mul=$18*$conv;
var $div=$mul/2;
$sum_pos=$div;
var $20=$nu;
var $21=$l;
var $conv7=(($21)|0);
var $mul8=$20*$conv7;
var $div9=$mul8/2;
$sum_neg=$div9;
$i=0;
__label__ = 9; break;
case 9:
var $22=$i;
var $23=$l;
var $cmp11=(($22)|0) < (($23)|0);
if ($cmp11) { __label__ = 10; break; } else { __label__ = 15; break; }
case 10:
var $24=$i;
var $25=$y;
var $arrayidx13=(($25+$24)|0);
var $26=HEAP8[($arrayidx13)];
var $conv14=(($26 << 24) >> 24);
var $cmp15=(($conv14)|0)==1;
if ($cmp15) { __label__ = 11; break; } else { __label__ = 12; break; }
case 11:
var $27=$sum_pos;
var $call17=__ZL3minIdET_S0_S0_(1, $27);
var $28=$i;
var $29=$alpha_addr;
var $arrayidx18=(($29+($28<<3))|0);
(tempDoubleF64[0]=$call17,HEAP32[(($arrayidx18)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx18+4)>>2)]=tempDoubleI32[1]);
var $30=$i;
var $31=$alpha_addr;
var $arrayidx19=(($31+($30<<3))|0);
var $32=(tempDoubleI32[0]=HEAP32[(($arrayidx19)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx19+4)>>2)],tempDoubleF64[0]);
var $33=$sum_pos;
var $sub=$33-$32;
$sum_pos=$sub;
__label__ = 13; break;
case 12:
var $34=$sum_neg;
var $call21=__ZL3minIdET_S0_S0_(1, $34);
var $35=$i;
var $36=$alpha_addr;
var $arrayidx22=(($36+($35<<3))|0);
(tempDoubleF64[0]=$call21,HEAP32[(($arrayidx22)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx22+4)>>2)]=tempDoubleI32[1]);
var $37=$i;
var $38=$alpha_addr;
var $arrayidx23=(($38+($37<<3))|0);
var $39=(tempDoubleI32[0]=HEAP32[(($arrayidx23)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx23+4)>>2)],tempDoubleF64[0]);
var $40=$sum_neg;
var $sub24=$40-$39;
$sum_neg=$sub24;
__label__ = 13; break;
case 13:
__label__ = 14; break;
case 14:
var $41=$i;
var $inc27=(($41+1)|0);
$i=$inc27;
__label__ = 9; break;
case 15:
var $42=$l;
var $43=_llvm_umul_with_overflow_i32($42, 8);
var $44=$43.f1;
var $45=$43.f0;
var $46=$44 ? -1 : $45;
var $call29=__Znaj($46);
var $47=$call29;
$zeros=$47;
$i=0;
__label__ = 16; break;
case 16:
var $48=$i;
var $49=$l;
var $cmp31=(($48)|0) < (($49)|0);
if ($cmp31) { __label__ = 17; break; } else { __label__ = 19; break; }
case 17:
var $50=$i;
var $51=$zeros;
var $arrayidx33=(($51+($50<<3))|0);
(tempDoubleF64[0]=0,HEAP32[(($arrayidx33)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx33+4)>>2)]=tempDoubleI32[1]);
__label__ = 18; break;
case 18:
var $52=$i;
var $inc35=(($52+1)|0);
$i=$inc35;
__label__ = 16; break;
case 19:
__ZN9Solver_NUC1Ev($s);
var $53=$l;
var $54=$prob_addr;
var $55=$param_addr;
var $56=$y;
(function() { try { __THREW__ = false; return __ZN5SVC_QC1ERK11svm_problemRK13svm_parameterPKa($ref_tmp, $54, $55, $56) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 20; break; } else { __label__ = 27; break; }
case 20:
var $57=$ref_tmp;
var $58=$zeros;
var $59=$y;
var $60=$alpha_addr;
var $61=$param_addr;
var $eps=(($61+36)|0);
var $62=(tempDoubleI32[0]=HEAP32[(($eps)>>2)],tempDoubleI32[1]=HEAP32[(($eps+4)>>2)],tempDoubleF64[0]);
var $63=$si_addr;
var $64=$param_addr;
var $shrinking=(($64+80)|0);
var $65=HEAP32[(($shrinking)>>2)];
(function() { try { __THREW__ = false; return __ZN9Solver_NU5SolveEiRK7QMatrixPKdPKaPddddPN6Solver12SolutionInfoEi($s, $53, $57, $58, $59, $60, 1, 1, $62, $63, $65) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 21; break; } else { __label__ = 28; break; }
case 21:
(function() { try { __THREW__ = false; return __ZN5SVC_QD1Ev($ref_tmp) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 22; break; } else { __label__ = 27; break; }
case 22:
var $66=$si_addr;
var $r41=(($66+32)|0);
var $67=(tempDoubleI32[0]=HEAP32[(($r41)>>2)],tempDoubleI32[1]=HEAP32[(($r41+4)>>2)],tempDoubleF64[0]);
$r=$67;
var $68=$r;
var $div42=1/$68;
(function() { try { __THREW__ = false; return __ZL4infoPKcz(((STRING_TABLE.__str77)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),(tempDoubleF64[0]=$div42,HEAP32[((tempInt)>>2)]=tempDoubleI32[0],HEAP32[((tempInt+4)>>2)]=tempDoubleI32[1]),tempInt)) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 23; break; } else { __label__ = 27; break; }
case 23:
$i=0;
__label__ = 24; break;
case 24:
var $69=$i;
var $70=$l;
var $cmp45=(($69)|0) < (($70)|0);
if ($cmp45) { __label__ = 25; break; } else { __label__ = 30; break; }
case 25:
var $71=$i;
var $72=$y;
var $arrayidx47=(($72+$71)|0);
var $73=HEAP8[($arrayidx47)];
var $conv48=(($73 << 24) >> 24);
var $conv49=(($conv48)|0);
var $74=$r;
var $div50=$conv49/$74;
var $75=$i;
var $76=$alpha_addr;
var $arrayidx51=(($76+($75<<3))|0);
var $77=(tempDoubleI32[0]=HEAP32[(($arrayidx51)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx51+4)>>2)],tempDoubleF64[0]);
var $mul52=$77*$div50;
(tempDoubleF64[0]=$mul52,HEAP32[(($arrayidx51)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx51+4)>>2)]=tempDoubleI32[1]);
__label__ = 26; break;
case 26:
var $78=$i;
var $inc54=(($78+1)|0);
$i=$inc54;
__label__ = 24; break;
case 27:
var $79=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $80=$79.f0;
$exn_slot=$80;
var $81=$79.f1;
$ehselector_slot=$81;
__label__ = 35; break;
case 28:
var $82=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $83=$82.f0;
$exn_slot=$83;
var $84=$82.f1;
$ehselector_slot=$84;
(function() { try { __THREW__ = false; return __ZN5SVC_QD1Ev($ref_tmp) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 29; break; } else { __label__ = 38; break; }
case 29:
__label__ = 35; break;
case 30:
var $85=$r;
var $86=$si_addr;
var $rho=(($86+8)|0);
var $87=(tempDoubleI32[0]=HEAP32[(($rho)>>2)],tempDoubleI32[1]=HEAP32[(($rho+4)>>2)],tempDoubleF64[0]);
var $div56=$87/$85;
(tempDoubleF64[0]=$div56,HEAP32[(($rho)>>2)]=tempDoubleI32[0],HEAP32[(($rho+4)>>2)]=tempDoubleI32[1]);
var $88=$r;
var $89=$r;
var $mul57=$88*$89;
var $90=$si_addr;
var $obj=(($90)|0);
var $91=(tempDoubleI32[0]=HEAP32[(($obj)>>2)],tempDoubleI32[1]=HEAP32[(($obj+4)>>2)],tempDoubleF64[0]);
var $div58=$91/$mul57;
(tempDoubleF64[0]=$div58,HEAP32[(($obj)>>2)]=tempDoubleI32[0],HEAP32[(($obj+4)>>2)]=tempDoubleI32[1]);
var $92=$r;
var $div59=1/$92;
var $93=$si_addr;
var $upper_bound_p=(($93+16)|0);
(tempDoubleF64[0]=$div59,HEAP32[(($upper_bound_p)>>2)]=tempDoubleI32[0],HEAP32[(($upper_bound_p+4)>>2)]=tempDoubleI32[1]);
var $94=$r;
var $div60=1/$94;
var $95=$si_addr;
var $upper_bound_n=(($95+24)|0);
(tempDoubleF64[0]=$div60,HEAP32[(($upper_bound_n)>>2)]=tempDoubleI32[0],HEAP32[(($upper_bound_n+4)>>2)]=tempDoubleI32[1]);
var $96=$y;
var $isnull=(($96)|0)==0;
if ($isnull) { __label__ = 32; break; } else { __label__ = 31; break; }
case 31:
__ZdaPv($96);
__label__ = 32; break;
case 32:
var $97=$zeros;
var $isnull61=(($97)|0)==0;
if ($isnull61) { __label__ = 34; break; } else { __label__ = 33; break; }
case 33:
var $98=$97;
__ZdaPv($98);
__label__ = 34; break;
case 34:
__ZN9Solver_NUD1Ev($s);
STACKTOP = __stackBase__;
return;
case 35:
(function() { try { __THREW__ = false; return __ZN9Solver_NUD1Ev($s) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 36; break; } else { __label__ = 38; break; }
case 36:
__label__ = 37; break;
case 37:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val65=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
case 38:
var $99=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[0]);
__ZSt9terminatev();
throw "Reached an unreachable!"
default: assert(0, "bad label: " + __label__);
}
}
__ZL12solve_nu_svcPK11svm_problemPK13svm_parameterPdPN6Solver12SolutionInfoE["X"]=1;
function __ZL15solve_one_classPK11svm_problemPK13svm_parameterPdPN6Solver12SolutionInfoE($prob, $param, $alpha, $si) {
var __stackBase__ = STACKTOP; STACKTOP += 128; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $prob_addr;
var $param_addr;
var $alpha_addr;
var $si_addr;
var $l;
var $zeros;
var $ones;
var $i;
var $n;
var $s=__stackBase__;
var $ref_tmp=__stackBase__+76;
var $exn_slot;
var $ehselector_slot;
$prob_addr=$prob;
$param_addr=$param;
$alpha_addr=$alpha;
$si_addr=$si;
var $0=$prob_addr;
var $l1=(($0)|0);
var $1=HEAP32[(($l1)>>2)];
$l=$1;
var $2=$l;
var $3=_llvm_umul_with_overflow_i32($2, 8);
var $4=$3.f1;
var $5=$3.f0;
var $6=$4 ? -1 : $5;
var $call=__Znaj($6);
var $7=$call;
$zeros=$7;
var $8=$l;
var $9=(($8)|0) < 0;
var $10=$9 ? -1 : $8;
var $call2=__Znaj($10);
$ones=$call2;
var $11=$param_addr;
var $nu=(($11+64)|0);
var $12=(tempDoubleI32[0]=HEAP32[(($nu)>>2)],tempDoubleI32[1]=HEAP32[(($nu+4)>>2)],tempDoubleF64[0]);
var $13=$prob_addr;
var $l3=(($13)|0);
var $14=HEAP32[(($l3)>>2)];
var $conv=(($14)|0);
var $mul=$12*$conv;
var $conv4=(($mul)&-1);
$n=$conv4;
$i=0;
__label__ = 2; break;
case 2:
var $15=$i;
var $16=$n;
var $cmp=(($15)|0) < (($16)|0);
if ($cmp) { __label__ = 3; break; } else { __label__ = 5; break; }
case 3:
var $17=$i;
var $18=$alpha_addr;
var $arrayidx=(($18+($17<<3))|0);
(tempDoubleF64[0]=1,HEAP32[(($arrayidx)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx+4)>>2)]=tempDoubleI32[1]);
__label__ = 4; break;
case 4:
var $19=$i;
var $inc=(($19+1)|0);
$i=$inc;
__label__ = 2; break;
case 5:
var $20=$n;
var $21=$prob_addr;
var $l5=(($21)|0);
var $22=HEAP32[(($l5)>>2)];
var $cmp6=(($20)|0) < (($22)|0);
if ($cmp6) { __label__ = 6; break; } else { __label__ = 7; break; }
case 6:
var $23=$param_addr;
var $nu7=(($23+64)|0);
var $24=(tempDoubleI32[0]=HEAP32[(($nu7)>>2)],tempDoubleI32[1]=HEAP32[(($nu7+4)>>2)],tempDoubleF64[0]);
var $25=$prob_addr;
var $l8=(($25)|0);
var $26=HEAP32[(($l8)>>2)];
var $conv9=(($26)|0);
var $mul10=$24*$conv9;
var $27=$n;
var $conv11=(($27)|0);
var $sub=$mul10-$conv11;
var $28=$n;
var $29=$alpha_addr;
var $arrayidx12=(($29+($28<<3))|0);
(tempDoubleF64[0]=$sub,HEAP32[(($arrayidx12)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx12+4)>>2)]=tempDoubleI32[1]);
__label__ = 7; break;
case 7:
var $30=$n;
var $add=(($30+1)|0);
$i=$add;
__label__ = 8; break;
case 8:
var $31=$i;
var $32=$l;
var $cmp14=(($31)|0) < (($32)|0);
if ($cmp14) { __label__ = 9; break; } else { __label__ = 11; break; }
case 9:
var $33=$i;
var $34=$alpha_addr;
var $arrayidx16=(($34+($33<<3))|0);
(tempDoubleF64[0]=0,HEAP32[(($arrayidx16)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx16+4)>>2)]=tempDoubleI32[1]);
__label__ = 10; break;
case 10:
var $35=$i;
var $inc18=(($35+1)|0);
$i=$inc18;
__label__ = 8; break;
case 11:
$i=0;
__label__ = 12; break;
case 12:
var $36=$i;
var $37=$l;
var $cmp21=(($36)|0) < (($37)|0);
if ($cmp21) { __label__ = 13; break; } else { __label__ = 15; break; }
case 13:
var $38=$i;
var $39=$zeros;
var $arrayidx23=(($39+($38<<3))|0);
(tempDoubleF64[0]=0,HEAP32[(($arrayidx23)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx23+4)>>2)]=tempDoubleI32[1]);
var $40=$i;
var $41=$ones;
var $arrayidx24=(($41+$40)|0);
HEAP8[($arrayidx24)]=1;
__label__ = 14; break;
case 14:
var $42=$i;
var $inc26=(($42+1)|0);
$i=$inc26;
__label__ = 12; break;
case 15:
__ZN6SolverC1Ev($s);
var $43=$l;
var $44=$prob_addr;
var $45=$param_addr;
(function() { try { __THREW__ = false; return __ZN11ONE_CLASS_QC1ERK11svm_problemRK13svm_parameter($ref_tmp, $44, $45) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 16; break; } else { __label__ = 23; break; }
case 16:
var $46=$ref_tmp;
var $47=$zeros;
var $48=$ones;
var $49=$alpha_addr;
var $50=$param_addr;
var $eps=(($50+36)|0);
var $51=(tempDoubleI32[0]=HEAP32[(($eps)>>2)],tempDoubleI32[1]=HEAP32[(($eps+4)>>2)],tempDoubleF64[0]);
var $52=$si_addr;
var $53=$param_addr;
var $shrinking=(($53+80)|0);
var $54=HEAP32[(($shrinking)>>2)];
(function() { try { __THREW__ = false; return __ZN6Solver5SolveEiRK7QMatrixPKdPKaPddddPNS_12SolutionInfoEi($s, $43, $46, $47, $48, $49, 1, 1, $51, $52, $54) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 17; break; } else { __label__ = 24; break; }
case 17:
(function() { try { __THREW__ = false; return __ZN11ONE_CLASS_QD1Ev($ref_tmp) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 18; break; } else { __label__ = 23; break; }
case 18:
var $55=$zeros;
var $isnull=(($55)|0)==0;
if ($isnull) { __label__ = 20; break; } else { __label__ = 19; break; }
case 19:
var $56=$55;
__ZdaPv($56);
__label__ = 20; break;
case 20:
var $57=$ones;
var $isnull32=(($57)|0)==0;
if ($isnull32) { __label__ = 22; break; } else { __label__ = 21; break; }
case 21:
__ZdaPv($57);
__label__ = 22; break;
case 22:
__ZN6SolverD1Ev($s);
STACKTOP = __stackBase__;
return;
case 23:
var $58=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $59=$58.f0;
$exn_slot=$59;
var $60=$58.f1;
$ehselector_slot=$60;
__label__ = 26; break;
case 24:
var $61=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $62=$61.f0;
$exn_slot=$62;
var $63=$61.f1;
$ehselector_slot=$63;
(function() { try { __THREW__ = false; return __ZN11ONE_CLASS_QD1Ev($ref_tmp) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 25; break; } else { __label__ = 29; break; }
case 25:
__label__ = 26; break;
case 26:
(function() { try { __THREW__ = false; return __ZN6SolverD1Ev($s) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 27; break; } else { __label__ = 29; break; }
case 27:
__label__ = 28; break;
case 28:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val36=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
case 29:
var $64=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[0]);
__ZSt9terminatev();
throw "Reached an unreachable!"
default: assert(0, "bad label: " + __label__);
}
}
__ZL15solve_one_classPK11svm_problemPK13svm_parameterPdPN6Solver12SolutionInfoE["X"]=1;
function __ZL17solve_epsilon_svrPK11svm_problemPK13svm_parameterPdPN6Solver12SolutionInfoE($prob, $param, $alpha, $si) {
var __stackBase__ = STACKTOP; STACKTOP += 152; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $prob_addr;
var $param_addr;
var $alpha_addr;
var $si_addr;
var $l;
var $alpha2;
var $linear_term;
var $y;
var $i;
var $s=__stackBase__;
var $ref_tmp=__stackBase__+76;
var $exn_slot;
var $ehselector_slot;
var $sum_alpha;
$prob_addr=$prob;
$param_addr=$param;
$alpha_addr=$alpha;
$si_addr=$si;
var $0=$prob_addr;
var $l1=(($0)|0);
var $1=HEAP32[(($l1)>>2)];
$l=$1;
var $2=$l;
var $mul=((($2<<1))|0);
var $3=_llvm_umul_with_overflow_i32($mul, 8);
var $4=$3.f1;
var $5=$3.f0;
var $6=$4 ? -1 : $5;
var $call=__Znaj($6);
var $7=$call;
$alpha2=$7;
var $8=$l;
var $mul2=((($8<<1))|0);
var $9=_llvm_umul_with_overflow_i32($mul2, 8);
var $10=$9.f1;
var $11=$9.f0;
var $12=$10 ? -1 : $11;
var $call3=__Znaj($12);
var $13=$call3;
$linear_term=$13;
var $14=$l;
var $mul4=((($14<<1))|0);
var $15=(($mul4)|0) < 0;
var $16=$15 ? -1 : $mul4;
var $call5=__Znaj($16);
$y=$call5;
$i=0;
__label__ = 2; break;
case 2:
var $17=$i;
var $18=$l;
var $cmp=(($17)|0) < (($18)|0);
if ($cmp) { __label__ = 3; break; } else { __label__ = 5; break; }
case 3:
var $19=$i;
var $20=$alpha2;
var $arrayidx=(($20+($19<<3))|0);
(tempDoubleF64[0]=0,HEAP32[(($arrayidx)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx+4)>>2)]=tempDoubleI32[1]);
var $21=$param_addr;
var $p=(($21+72)|0);
var $22=(tempDoubleI32[0]=HEAP32[(($p)>>2)],tempDoubleI32[1]=HEAP32[(($p+4)>>2)],tempDoubleF64[0]);
var $23=$i;
var $24=$prob_addr;
var $y6=(($24+4)|0);
var $25=HEAP32[(($y6)>>2)];
var $arrayidx7=(($25+($23<<3))|0);
var $26=(tempDoubleI32[0]=HEAP32[(($arrayidx7)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx7+4)>>2)],tempDoubleF64[0]);
var $sub=$22-$26;
var $27=$i;
var $28=$linear_term;
var $arrayidx8=(($28+($27<<3))|0);
(tempDoubleF64[0]=$sub,HEAP32[(($arrayidx8)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx8+4)>>2)]=tempDoubleI32[1]);
var $29=$i;
var $30=$y;
var $arrayidx9=(($30+$29)|0);
HEAP8[($arrayidx9)]=1;
var $31=$i;
var $32=$l;
var $add=(($31+$32)|0);
var $33=$alpha2;
var $arrayidx10=(($33+($add<<3))|0);
(tempDoubleF64[0]=0,HEAP32[(($arrayidx10)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx10+4)>>2)]=tempDoubleI32[1]);
var $34=$param_addr;
var $p11=(($34+72)|0);
var $35=(tempDoubleI32[0]=HEAP32[(($p11)>>2)],tempDoubleI32[1]=HEAP32[(($p11+4)>>2)],tempDoubleF64[0]);
var $36=$i;
var $37=$prob_addr;
var $y12=(($37+4)|0);
var $38=HEAP32[(($y12)>>2)];
var $arrayidx13=(($38+($36<<3))|0);
var $39=(tempDoubleI32[0]=HEAP32[(($arrayidx13)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx13+4)>>2)],tempDoubleF64[0]);
var $add14=$35+$39;
var $40=$i;
var $41=$l;
var $add15=(($40+$41)|0);
var $42=$linear_term;
var $arrayidx16=(($42+($add15<<3))|0);
(tempDoubleF64[0]=$add14,HEAP32[(($arrayidx16)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx16+4)>>2)]=tempDoubleI32[1]);
var $43=$i;
var $44=$l;
var $add17=(($43+$44)|0);
var $45=$y;
var $arrayidx18=(($45+$add17)|0);
HEAP8[($arrayidx18)]=-1;
__label__ = 4; break;
case 4:
var $46=$i;
var $inc=(($46+1)|0);
$i=$inc;
__label__ = 2; break;
case 5:
__ZN6SolverC1Ev($s);
var $47=$l;
var $mul19=((($47<<1))|0);
var $48=$prob_addr;
var $49=$param_addr;
(function() { try { __THREW__ = false; return __ZN5SVR_QC1ERK11svm_problemRK13svm_parameter($ref_tmp, $48, $49) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 6; break; } else { __label__ = 13; break; }
case 6:
var $50=$ref_tmp;
var $51=$linear_term;
var $52=$y;
var $53=$alpha2;
var $54=$param_addr;
var $C=(($54+44)|0);
var $55=(tempDoubleI32[0]=HEAP32[(($C)>>2)],tempDoubleI32[1]=HEAP32[(($C+4)>>2)],tempDoubleF64[0]);
var $56=$param_addr;
var $C20=(($56+44)|0);
var $57=(tempDoubleI32[0]=HEAP32[(($C20)>>2)],tempDoubleI32[1]=HEAP32[(($C20+4)>>2)],tempDoubleF64[0]);
var $58=$param_addr;
var $eps=(($58+36)|0);
var $59=(tempDoubleI32[0]=HEAP32[(($eps)>>2)],tempDoubleI32[1]=HEAP32[(($eps+4)>>2)],tempDoubleF64[0]);
var $60=$si_addr;
var $61=$param_addr;
var $shrinking=(($61+80)|0);
var $62=HEAP32[(($shrinking)>>2)];
(function() { try { __THREW__ = false; return __ZN6Solver5SolveEiRK7QMatrixPKdPKaPddddPNS_12SolutionInfoEi($s, $mul19, $50, $51, $52, $53, $55, $57, $59, $60, $62) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 7; break; } else { __label__ = 14; break; }
case 7:
(function() { try { __THREW__ = false; return __ZN5SVR_QD1Ev($ref_tmp) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 8; break; } else { __label__ = 13; break; }
case 8:
$sum_alpha=0;
$i=0;
__label__ = 9; break;
case 9:
var $63=$i;
var $64=$l;
var $cmp26=(($63)|0) < (($64)|0);
if ($cmp26) { __label__ = 10; break; } else { __label__ = 16; break; }
case 10:
var $65=$i;
var $66=$alpha2;
var $arrayidx28=(($66+($65<<3))|0);
var $67=(tempDoubleI32[0]=HEAP32[(($arrayidx28)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx28+4)>>2)],tempDoubleF64[0]);
var $68=$i;
var $69=$l;
var $add29=(($68+$69)|0);
var $70=$alpha2;
var $arrayidx30=(($70+($add29<<3))|0);
var $71=(tempDoubleI32[0]=HEAP32[(($arrayidx30)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx30+4)>>2)],tempDoubleF64[0]);
var $sub31=$67-$71;
var $72=$i;
var $73=$alpha_addr;
var $arrayidx32=(($73+($72<<3))|0);
(tempDoubleF64[0]=$sub31,HEAP32[(($arrayidx32)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx32+4)>>2)]=tempDoubleI32[1]);
var $74=$i;
var $75=$alpha_addr;
var $arrayidx33=(($75+($74<<3))|0);
var $76=(tempDoubleI32[0]=HEAP32[(($arrayidx33)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx33+4)>>2)],tempDoubleF64[0]);
var $call35 = (function() { try { __THREW__ = false; return _fabs($76) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 11; break; } else { __label__ = 13; break; }
case 11:
var $77=$sum_alpha;
var $add36=$77+$call35;
$sum_alpha=$add36;
__label__ = 12; break;
case 12:
var $78=$i;
var $inc38=(($78+1)|0);
$i=$inc38;
__label__ = 9; break;
case 13:
var $79=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $80=$79.f0;
$exn_slot=$80;
var $81=$79.f1;
$ehselector_slot=$81;
__label__ = 24; break;
case 14:
var $82=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $83=$82.f0;
$exn_slot=$83;
var $84=$82.f1;
$ehselector_slot=$84;
(function() { try { __THREW__ = false; return __ZN5SVR_QD1Ev($ref_tmp) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 15; break; } else { __label__ = 27; break; }
case 15:
__label__ = 24; break;
case 16:
var $85=$sum_alpha;
var $86=$param_addr;
var $C40=(($86+44)|0);
var $87=(tempDoubleI32[0]=HEAP32[(($C40)>>2)],tempDoubleI32[1]=HEAP32[(($C40+4)>>2)],tempDoubleF64[0]);
var $88=$l;
var $conv=(($88)|0);
var $mul41=$87*$conv;
var $div=$85/$mul41;
(function() { try { __THREW__ = false; return __ZL4infoPKcz(((STRING_TABLE.__str76)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),(tempDoubleF64[0]=$div,HEAP32[((tempInt)>>2)]=tempDoubleI32[0],HEAP32[((tempInt+4)>>2)]=tempDoubleI32[1]),tempInt)) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 17; break; } else { __label__ = 13; break; }
case 17:
var $89=$alpha2;
var $isnull=(($89)|0)==0;
if ($isnull) { __label__ = 19; break; } else { __label__ = 18; break; }
case 18:
var $90=$89;
__ZdaPv($90);
__label__ = 19; break;
case 19:
var $91=$linear_term;
var $isnull43=(($91)|0)==0;
if ($isnull43) { __label__ = 21; break; } else { __label__ = 20; break; }
case 20:
var $92=$91;
__ZdaPv($92);
__label__ = 21; break;
case 21:
var $93=$y;
var $isnull46=(($93)|0)==0;
if ($isnull46) { __label__ = 23; break; } else { __label__ = 22; break; }
case 22:
__ZdaPv($93);
__label__ = 23; break;
case 23:
__ZN6SolverD1Ev($s);
STACKTOP = __stackBase__;
return;
case 24:
(function() { try { __THREW__ = false; return __ZN6SolverD1Ev($s) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 25; break; } else { __label__ = 27; break; }
case 25:
__label__ = 26; break;
case 26:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val50=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
case 27:
var $94=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[0]);
__ZSt9terminatev();
throw "Reached an unreachable!"
default: assert(0, "bad label: " + __label__);
}
}
__ZL17solve_epsilon_svrPK11svm_problemPK13svm_parameterPdPN6Solver12SolutionInfoE["X"]=1;
function __ZN6SolverC2Ev($this) {
;
var __label__;
var $this_addr;
$this_addr=$this;
var $this1=$this_addr;
var $0=$this1;
HEAP32[(($0)>>2)]=((__ZTV6Solver+8)|0);
;
return;
}
function __ZNK5SVR_Q6get_QDEv($this) {
;
var __label__;
var $this_addr;
$this_addr=$this;
var $this1=$this_addr;
var $QD=(($this1+72)|0);
var $0=HEAP32[(($QD)>>2)];
;
return $0;
}
function __ZN9Solver_NUC1Ev($this) {
;
var __label__;
var $this_addr;
$this_addr=$this;
var $this1=$this_addr;
__ZN9Solver_NUC2Ev($this1);
;
return;
}
function __ZN9Solver_NU5SolveEiRK7QMatrixPKdPKaPddddPN6Solver12SolutionInfoEi($this, $l, $Q, $p, $y, $alpha, $Cp, $Cn, $eps, $si, $shrinking) {
;
var __label__;
var $this_addr;
var $l_addr;
var $Q_addr;
var $p_addr;
var $y_addr;
var $alpha_addr;
var $Cp_addr;
var $Cn_addr;
var $eps_addr;
var $si_addr;
var $shrinking_addr;
$this_addr=$this;
$l_addr=$l;
$Q_addr=$Q;
$p_addr=$p;
$y_addr=$y;
$alpha_addr=$alpha;
$Cp_addr=$Cp;
$Cn_addr=$Cn;
$eps_addr=$eps;
$si_addr=$si;
$shrinking_addr=$shrinking;
var $this1=$this_addr;
var $0=$si_addr;
var $si2=(($this1+76)|0);
HEAP32[(($si2)>>2)]=$0;
var $1=$this1;
var $2=$l_addr;
var $3=$Q_addr;
var $4=$p_addr;
var $5=$y_addr;
var $6=$alpha_addr;
var $7=$Cp_addr;
var $8=$Cn_addr;
var $9=$eps_addr;
var $10=$si_addr;
var $11=$shrinking_addr;
__ZN6Solver5SolveEiRK7QMatrixPKdPKaPddddPNS_12SolutionInfoEi($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11);
;
return;
}
function __ZN5SVR_QC1ERK11svm_problemRK13svm_parameter($this, $prob, $param) {
;
var __label__;
var $this_addr;
var $prob_addr;
var $param_addr;
$this_addr=$this;
$prob_addr=$prob;
$param_addr=$param;
var $this1=$this_addr;
var $0=$prob_addr;
var $1=$param_addr;
__ZN5SVR_QC2ERK11svm_problemRK13svm_parameter($this1, $0, $1);
;
return;
}
function __ZN5SVR_QD1Ev($this) {
;
var __label__;
var $this_addr;
$this_addr=$this;
var $this1=$this_addr;
__ZN5SVR_QD2Ev($this1);
;
return;
}
function __ZNK5SVR_Q5get_QEii($this, $i, $len) {
var __stackBase__ = STACKTOP; STACKTOP += 4; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $i_addr;
var $len_addr;
var $data=__stackBase__;
var $j;
var $real_i;
var $buf;
var $si;
$this_addr=$this;
$i_addr=$i;
$len_addr=$len;
var $this1=$this_addr;
var $0=$i_addr;
var $index=(($this1+56)|0);
var $1=HEAP32[(($index)>>2)];
var $arrayidx=(($1+($0<<2))|0);
var $2=HEAP32[(($arrayidx)>>2)];
$real_i=$2;
var $cache=(($this1+48)|0);
var $3=HEAP32[(($cache)>>2)];
var $4=$real_i;
var $l=(($this1+44)|0);
var $5=HEAP32[(($l)>>2)];
var $call=__ZN5Cache8get_dataEiPPfi($3, $4, $data, $5);
var $l2=(($this1+44)|0);
var $6=HEAP32[(($l2)>>2)];
var $cmp=(($call)|0) < (($6)|0);
if ($cmp) { __label__ = 2; break; } else { __label__ = 10; break; }
case 2:
$j=0;
__label__ = 3; break;
case 3:
var $7=$j;
var $l3=(($this1+44)|0);
var $8=HEAP32[(($l3)>>2)];
var $cmp4=(($7)|0) < (($8)|0);
if ($cmp4) { __label__ = 4; break; } else { __label__ = 9; break; }
case 4:
var $9=$this1;
var $kernel_function=(($9+4)|0);
var $10={ f0: HEAP32[(($kernel_function)>>2)], f1: HEAP32[(($kernel_function+4)>>2)] };
var $11=$this1;
var $memptr_adj=$10.f1;
var $12=$11;
var $13=(($12+$memptr_adj)|0);
var $this_adjusted=$13;
var $memptr_ptr=$10.f0;
var $14=$memptr_ptr & 1;
var $memptr_isvirtual=(($14)|0)!=0;
if ($memptr_isvirtual) { __label__ = 5; break; } else { __label__ = 6; break; }
case 5:
var $15=$this_adjusted;
var $memptr_vtable=HEAP32[(($15)>>2)];
var $16=(($memptr_ptr-1)|0);
var $17=(($memptr_vtable+$16)|0);
var $18=$17;
var $memptr_virtualfn=HEAP32[(($18)>>2)];
var $19 = $memptr_virtualfn;__label__ = 7; break;
case 6:
var $memptr_nonvirtualfn=$memptr_ptr;
var $19 = $memptr_nonvirtualfn;__label__ = 7; break;
case 7:
var $19;
var $20=$real_i;
var $21=$j;
var $call5=FUNCTION_TABLE[$19]($this_adjusted, $20, $21);
var $conv=$call5;
var $22=$j;
var $23=HEAP32[(($data)>>2)];
var $arrayidx6=(($23+($22<<2))|0);
HEAPF32[(($arrayidx6)>>2)]=$conv;
__label__ = 8; break;
case 8:
var $24=$j;
var $inc=(($24+1)|0);
$j=$inc;
__label__ = 3; break;
case 9:
__label__ = 10; break;
case 10:
var $next_buffer=(($this1+60)|0);
var $25=HEAP32[(($next_buffer)>>2)];
var $buffer=(($this1+64)|0);
var $arrayidx7=(($buffer+($25<<2))|0);
var $26=HEAP32[(($arrayidx7)>>2)];
$buf=$26;
var $next_buffer8=(($this1+60)|0);
var $27=HEAP32[(($next_buffer8)>>2)];
var $sub=((1-$27)|0);
var $next_buffer9=(($this1+60)|0);
HEAP32[(($next_buffer9)>>2)]=$sub;
var $28=$i_addr;
var $sign=(($this1+52)|0);
var $29=HEAP32[(($sign)>>2)];
var $arrayidx10=(($29+$28)|0);
var $30=HEAP8[($arrayidx10)];
$si=$30;
$j=0;
__label__ = 11; break;
case 11:
var $31=$j;
var $32=$len_addr;
var $cmp12=(($31)|0) < (($32)|0);
if ($cmp12) { __label__ = 12; break; } else { __label__ = 14; break; }
case 12:
var $33=$si;
var $conv14=(($33 << 24) >> 24);
var $34=$j;
var $sign15=(($this1+52)|0);
var $35=HEAP32[(($sign15)>>2)];
var $arrayidx16=(($35+$34)|0);
var $36=HEAP8[($arrayidx16)];
var $conv17=(($36 << 24) >> 24);
var $mul=$conv14*$conv17;
var $37=$j;
var $index18=(($this1+56)|0);
var $38=HEAP32[(($index18)>>2)];
var $arrayidx19=(($38+($37<<2))|0);
var $39=HEAP32[(($arrayidx19)>>2)];
var $40=HEAP32[(($data)>>2)];
var $arrayidx20=(($40+($39<<2))|0);
var $41=HEAPF32[(($arrayidx20)>>2)];
var $mul21=$mul*$41;
var $42=$j;
var $43=$buf;
var $arrayidx22=(($43+($42<<2))|0);
HEAPF32[(($arrayidx22)>>2)]=$mul21;
__label__ = 13; break;
case 13:
var $44=$j;
var $inc24=(($44+1)|0);
$j=$inc24;
__label__ = 11; break;
case 14:
var $45=$buf;
STACKTOP = __stackBase__;
return $45;
default: assert(0, "bad label: " + __label__);
}
}
__ZNK5SVR_Q5get_QEii["X"]=1;
function __ZNK5SVR_Q10swap_indexEii($this, $i, $j) {
;
var __label__;
var $this_addr;
var $i_addr;
var $j_addr;
$this_addr=$this;
$i_addr=$i;
$j_addr=$j;
var $this1=$this_addr;
var $0=$i_addr;
var $sign=(($this1+52)|0);
var $1=HEAP32[(($sign)>>2)];
var $arrayidx=(($1+$0)|0);
var $2=$j_addr;
var $sign2=(($this1+52)|0);
var $3=HEAP32[(($sign2)>>2)];
var $arrayidx3=(($3+$2)|0);
__ZL4swapIaEvRT_S1_($arrayidx, $arrayidx3);
var $4=$i_addr;
var $index=(($this1+56)|0);
var $5=HEAP32[(($index)>>2)];
var $arrayidx4=(($5+($4<<2))|0);
var $6=$j_addr;
var $index5=(($this1+56)|0);
var $7=HEAP32[(($index5)>>2)];
var $arrayidx6=(($7+($6<<2))|0);
__ZL4swapIiEvRT_S1_($arrayidx4, $arrayidx6);
var $8=$i_addr;
var $QD=(($this1+72)|0);
var $9=HEAP32[(($QD)>>2)];
var $arrayidx7=(($9+($8<<3))|0);
var $10=$j_addr;
var $QD8=(($this1+72)|0);
var $11=HEAP32[(($QD8)>>2)];
var $arrayidx9=(($11+($10<<3))|0);
__ZL4swapIdEvRT_S1_($arrayidx7, $arrayidx9);
;
return;
}
function __ZN5SVR_QD0Ev($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $exn_slot;
var $ehselector_slot;
$this_addr=$this;
var $this1=$this_addr;
(function() { try { __THREW__ = false; return __ZN5SVR_QD1Ev($this1) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $0=$this1;
__ZdlPv($0);
;
return;
case 3:
var $1=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $2=$1.f0;
$exn_slot=$2;
var $3=$1.f1;
$ehselector_slot=$3;
var $4=$this1;
__ZdlPv($4);
__label__ = 4; break;
case 4:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val2=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
default: assert(0, "bad label: " + __label__);
}
}
function __ZN9Solver_NUC2Ev($this) {
;
var __label__;
var $this_addr;
$this_addr=$this;
var $this1=$this_addr;
var $0=$this1;
__ZN6SolverC2Ev($0);
var $1=$this1;
HEAP32[(($1)>>2)]=((__ZTV9Solver_NU+8)|0);
;
return;
}
function __ZN6SolverC1Ev($this) {
;
var __label__;
var $this_addr;
$this_addr=$this;
var $this1=$this_addr;
__ZN6SolverC2Ev($this1);
;
return;
}
function __ZN11ONE_CLASS_QC1ERK11svm_problemRK13svm_parameter($this, $prob, $param) {
;
var __label__;
var $this_addr;
var $prob_addr;
var $param_addr;
$this_addr=$this;
$prob_addr=$prob;
$param_addr=$param;
var $this1=$this_addr;
var $0=$prob_addr;
var $1=$param_addr;
__ZN11ONE_CLASS_QC2ERK11svm_problemRK13svm_parameter($this1, $0, $1);
;
return;
}
function __ZL12solve_nu_svrPK11svm_problemPK13svm_parameterPdPN6Solver12SolutionInfoE($prob, $param, $alpha, $si) {
var __stackBase__ = STACKTOP; STACKTOP += 156; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $prob_addr;
var $param_addr;
var $alpha_addr;
var $si_addr;
var $l;
var $C;
var $alpha2;
var $linear_term;
var $y;
var $i;
var $sum;
var $s=__stackBase__;
var $ref_tmp=__stackBase__+80;
var $exn_slot;
var $ehselector_slot;
$prob_addr=$prob;
$param_addr=$param;
$alpha_addr=$alpha;
$si_addr=$si;
var $0=$prob_addr;
var $l1=(($0)|0);
var $1=HEAP32[(($l1)>>2)];
$l=$1;
var $2=$param_addr;
var $C2=(($2+44)|0);
var $3=(tempDoubleI32[0]=HEAP32[(($C2)>>2)],tempDoubleI32[1]=HEAP32[(($C2+4)>>2)],tempDoubleF64[0]);
$C=$3;
var $4=$l;
var $mul=((($4<<1))|0);
var $5=_llvm_umul_with_overflow_i32($mul, 8);
var $6=$5.f1;
var $7=$5.f0;
var $8=$6 ? -1 : $7;
var $call=__Znaj($8);
var $9=$call;
$alpha2=$9;
var $10=$l;
var $mul3=((($10<<1))|0);
var $11=_llvm_umul_with_overflow_i32($mul3, 8);
var $12=$11.f1;
var $13=$11.f0;
var $14=$12 ? -1 : $13;
var $call4=__Znaj($14);
var $15=$call4;
$linear_term=$15;
var $16=$l;
var $mul5=((($16<<1))|0);
var $17=(($mul5)|0) < 0;
var $18=$17 ? -1 : $mul5;
var $call6=__Znaj($18);
$y=$call6;
var $19=$C;
var $20=$param_addr;
var $nu=(($20+64)|0);
var $21=(tempDoubleI32[0]=HEAP32[(($nu)>>2)],tempDoubleI32[1]=HEAP32[(($nu+4)>>2)],tempDoubleF64[0]);
var $mul7=$19*$21;
var $22=$l;
var $conv=(($22)|0);
var $mul8=$mul7*$conv;
var $div=$mul8/2;
$sum=$div;
$i=0;
__label__ = 2; break;
case 2:
var $23=$i;
var $24=$l;
var $cmp=(($23)|0) < (($24)|0);
if ($cmp) { __label__ = 3; break; } else { __label__ = 5; break; }
case 3:
var $25=$sum;
var $26=$C;
var $call9=__ZL3minIdET_S0_S0_($25, $26);
var $27=$i;
var $28=$l;
var $add=(($27+$28)|0);
var $29=$alpha2;
var $arrayidx=(($29+($add<<3))|0);
(tempDoubleF64[0]=$call9,HEAP32[(($arrayidx)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx+4)>>2)]=tempDoubleI32[1]);
var $30=$i;
var $31=$alpha2;
var $arrayidx10=(($31+($30<<3))|0);
(tempDoubleF64[0]=$call9,HEAP32[(($arrayidx10)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx10+4)>>2)]=tempDoubleI32[1]);
var $32=$i;
var $33=$alpha2;
var $arrayidx11=(($33+($32<<3))|0);
var $34=(tempDoubleI32[0]=HEAP32[(($arrayidx11)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx11+4)>>2)],tempDoubleF64[0]);
var $35=$sum;
var $sub=$35-$34;
$sum=$sub;
var $36=$i;
var $37=$prob_addr;
var $y12=(($37+4)|0);
var $38=HEAP32[(($y12)>>2)];
var $arrayidx13=(($38+($36<<3))|0);
var $39=(tempDoubleI32[0]=HEAP32[(($arrayidx13)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx13+4)>>2)],tempDoubleF64[0]);
var $sub14=(-$39);
var $40=$i;
var $41=$linear_term;
var $arrayidx15=(($41+($40<<3))|0);
(tempDoubleF64[0]=$sub14,HEAP32[(($arrayidx15)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx15+4)>>2)]=tempDoubleI32[1]);
var $42=$i;
var $43=$y;
var $arrayidx16=(($43+$42)|0);
HEAP8[($arrayidx16)]=1;
var $44=$i;
var $45=$prob_addr;
var $y17=(($45+4)|0);
var $46=HEAP32[(($y17)>>2)];
var $arrayidx18=(($46+($44<<3))|0);
var $47=(tempDoubleI32[0]=HEAP32[(($arrayidx18)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx18+4)>>2)],tempDoubleF64[0]);
var $48=$i;
var $49=$l;
var $add19=(($48+$49)|0);
var $50=$linear_term;
var $arrayidx20=(($50+($add19<<3))|0);
(tempDoubleF64[0]=$47,HEAP32[(($arrayidx20)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx20+4)>>2)]=tempDoubleI32[1]);
var $51=$i;
var $52=$l;
var $add21=(($51+$52)|0);
var $53=$y;
var $arrayidx22=(($53+$add21)|0);
HEAP8[($arrayidx22)]=-1;
__label__ = 4; break;
case 4:
var $54=$i;
var $inc=(($54+1)|0);
$i=$inc;
__label__ = 2; break;
case 5:
__ZN9Solver_NUC1Ev($s);
var $55=$l;
var $mul23=((($55<<1))|0);
var $56=$prob_addr;
var $57=$param_addr;
(function() { try { __THREW__ = false; return __ZN5SVR_QC1ERK11svm_problemRK13svm_parameter($ref_tmp, $56, $57) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 6; break; } else { __label__ = 13; break; }
case 6:
var $58=$ref_tmp;
var $59=$linear_term;
var $60=$y;
var $61=$alpha2;
var $62=$C;
var $63=$C;
var $64=$param_addr;
var $eps=(($64+36)|0);
var $65=(tempDoubleI32[0]=HEAP32[(($eps)>>2)],tempDoubleI32[1]=HEAP32[(($eps+4)>>2)],tempDoubleF64[0]);
var $66=$si_addr;
var $67=$param_addr;
var $shrinking=(($67+80)|0);
var $68=HEAP32[(($shrinking)>>2)];
(function() { try { __THREW__ = false; return __ZN9Solver_NU5SolveEiRK7QMatrixPKdPKaPddddPN6Solver12SolutionInfoEi($s, $mul23, $58, $59, $60, $61, $62, $63, $65, $66, $68) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 7; break; } else { __label__ = 14; break; }
case 7:
(function() { try { __THREW__ = false; return __ZN5SVR_QD1Ev($ref_tmp) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 8; break; } else { __label__ = 13; break; }
case 8:
var $69=$si_addr;
var $r=(($69+32)|0);
var $70=(tempDoubleI32[0]=HEAP32[(($r)>>2)],tempDoubleI32[1]=HEAP32[(($r+4)>>2)],tempDoubleF64[0]);
var $sub28=(-$70);
(function() { try { __THREW__ = false; return __ZL4infoPKcz(((STRING_TABLE.__str75)|0), (tempInt=STACKTOP,STACKTOP += 8,assert(STACKTOP < STACK_ROOT + STACK_MAX, "Ran out of stack"),(tempDoubleF64[0]=$sub28,HEAP32[((tempInt)>>2)]=tempDoubleI32[0],HEAP32[((tempInt+4)>>2)]=tempDoubleI32[1]),tempInt)) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 9; break; } else { __label__ = 13; break; }
case 9:
$i=0;
__label__ = 10; break;
case 10:
var $71=$i;
var $72=$l;
var $cmp31=(($71)|0) < (($72)|0);
if ($cmp31) { __label__ = 11; break; } else { __label__ = 16; break; }
case 11:
var $73=$i;
var $74=$alpha2;
var $arrayidx33=(($74+($73<<3))|0);
var $75=(tempDoubleI32[0]=HEAP32[(($arrayidx33)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx33+4)>>2)],tempDoubleF64[0]);
var $76=$i;
var $77=$l;
var $add34=(($76+$77)|0);
var $78=$alpha2;
var $arrayidx35=(($78+($add34<<3))|0);
var $79=(tempDoubleI32[0]=HEAP32[(($arrayidx35)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx35+4)>>2)],tempDoubleF64[0]);
var $sub36=$75-$79;
var $80=$i;
var $81=$alpha_addr;
var $arrayidx37=(($81+($80<<3))|0);
(tempDoubleF64[0]=$sub36,HEAP32[(($arrayidx37)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx37+4)>>2)]=tempDoubleI32[1]);
__label__ = 12; break;
case 12:
var $82=$i;
var $inc39=(($82+1)|0);
$i=$inc39;
__label__ = 10; break;
case 13:
var $83=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $84=$83.f0;
$exn_slot=$84;
var $85=$83.f1;
$ehselector_slot=$85;
__label__ = 23; break;
case 14:
var $86=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $87=$86.f0;
$exn_slot=$87;
var $88=$86.f1;
$ehselector_slot=$88;
(function() { try { __THREW__ = false; return __ZN5SVR_QD1Ev($ref_tmp) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 15; break; } else { __label__ = 26; break; }
case 15:
__label__ = 23; break;
case 16:
var $89=$alpha2;
var $isnull=(($89)|0)==0;
if ($isnull) { __label__ = 18; break; } else { __label__ = 17; break; }
case 17:
var $90=$89;
__ZdaPv($90);
__label__ = 18; break;
case 18:
var $91=$linear_term;
var $isnull41=(($91)|0)==0;
if ($isnull41) { __label__ = 20; break; } else { __label__ = 19; break; }
case 19:
var $92=$91;
__ZdaPv($92);
__label__ = 20; break;
case 20:
var $93=$y;
var $isnull44=(($93)|0)==0;
if ($isnull44) { __label__ = 22; break; } else { __label__ = 21; break; }
case 21:
__ZdaPv($93);
__label__ = 22; break;
case 22:
__ZN9Solver_NUD1Ev($s);
STACKTOP = __stackBase__;
return;
case 23:
(function() { try { __THREW__ = false; return __ZN9Solver_NUD1Ev($s) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 24; break; } else { __label__ = 26; break; }
case 24:
__label__ = 25; break;
case 25:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val48=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
case 26:
var $94=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[0]);
__ZSt9terminatev();
throw "Reached an unreachable!"
default: assert(0, "bad label: " + __label__);
}
}
__ZL12solve_nu_svrPK11svm_problemPK13svm_parameterPdPN6Solver12SolutionInfoE["X"]=1;
function __ZN5SVR_QD2Ev($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $exn_slot;
var $ehselector_slot;
$this_addr=$this;
var $this1=$this_addr;
var $0=$this1;
HEAP32[(($0)>>2)]=((__ZTV5SVR_Q+8)|0);
var $cache=(($this1+48)|0);
var $1=HEAP32[(($cache)>>2)];
var $isnull=(($1)|0)==0;
if ($isnull) { __label__ = 4; break; } else { __label__ = 2; break; }
case 2:
(function() { try { __THREW__ = false; return FUNCTION_TABLE[__ZN5CacheD1Ev]($1) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 3; break; } else { __label__ = 15; break; }
case 3:
var $2=$1;
__ZdlPv($2);
__label__ = 4; break;
case 4:
var $sign=(($this1+52)|0);
var $3=HEAP32[(($sign)>>2)];
var $isnull2=(($3)|0)==0;
if ($isnull2) { __label__ = 6; break; } else { __label__ = 5; break; }
case 5:
__ZdaPv($3);
__label__ = 6; break;
case 6:
var $index=(($this1+56)|0);
var $4=HEAP32[(($index)>>2)];
var $isnull5=(($4)|0)==0;
if ($isnull5) { __label__ = 8; break; } else { __label__ = 7; break; }
case 7:
var $5=$4;
__ZdaPv($5);
__label__ = 8; break;
case 8:
var $buffer=(($this1+64)|0);
var $arrayidx=(($buffer)|0);
var $6=HEAP32[(($arrayidx)>>2)];
var $isnull8=(($6)|0)==0;
if ($isnull8) { __label__ = 10; break; } else { __label__ = 9; break; }
case 9:
var $7=$6;
__ZdaPv($7);
__label__ = 10; break;
case 10:
var $buffer11=(($this1+64)|0);
var $arrayidx12=(($buffer11+4)|0);
var $8=HEAP32[(($arrayidx12)>>2)];
var $isnull13=(($8)|0)==0;
if ($isnull13) { __label__ = 12; break; } else { __label__ = 11; break; }
case 11:
var $9=$8;
__ZdaPv($9);
__label__ = 12; break;
case 12:
var $QD=(($this1+72)|0);
var $10=HEAP32[(($QD)>>2)];
var $isnull16=(($10)|0)==0;
if ($isnull16) { __label__ = 14; break; } else { __label__ = 13; break; }
case 13:
var $11=$10;
__ZdaPv($11);
__label__ = 14; break;
case 14:
var $12=$this1;
__ZN6KernelD2Ev($12);
;
return;
case 15:
var $13=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $14=$13.f0;
$exn_slot=$14;
var $15=$13.f1;
$ehselector_slot=$15;
var $16=$1;
__ZdlPv($16);
var $17=$this1;
(function() { try { __THREW__ = false; return __ZN6KernelD2Ev($17) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 16; break; } else { __label__ = 18; break; }
case 16:
__label__ = 17; break;
case 17:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val20=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
case 18:
var $18=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[0]);
__ZSt9terminatev();
throw "Reached an unreachable!"
default: assert(0, "bad label: " + __label__);
}
}
__ZN5SVR_QD2Ev["X"]=1;
function __ZN5SVR_QC2ERK11svm_problemRK13svm_parameter($this, $prob, $param) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $prob_addr;
var $param_addr;
var $exn_slot;
var $ehselector_slot;
var $k;
$this_addr=$this;
$prob_addr=$prob;
$param_addr=$param;
var $this1=$this_addr;
var $0=$this1;
var $1=$prob_addr;
var $l=(($1)|0);
var $2=HEAP32[(($l)>>2)];
var $3=$prob_addr;
var $x=(($3+8)|0);
var $4=HEAP32[(($x)>>2)];
var $5=$param_addr;
__ZN6KernelC2EiPKP8svm_nodeRK13svm_parameter($0, $2, $4, $5);
var $6=$this1;
HEAP32[(($6)>>2)]=((__ZTV5SVR_Q+8)|0);
var $7=$prob_addr;
var $l2=(($7)|0);
var $8=HEAP32[(($l2)>>2)];
var $l3=(($this1+44)|0);
HEAP32[(($l3)>>2)]=$8;
var $call = (function() { try { __THREW__ = false; return __Znwj(28) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 2; break; } else { __label__ = 10; break; }
case 2:
var $9=$call;
var $l4=(($this1+44)|0);
var $10=HEAP32[(($l4)>>2)];
var $11=$param_addr;
var $cache_size=(($11+28)|0);
var $12=(tempDoubleI32[0]=HEAP32[(($cache_size)>>2)],tempDoubleI32[1]=HEAP32[(($cache_size+4)>>2)],tempDoubleF64[0]);
var $mul=$12*1048576;
var $conv=(($mul)&-1);
(function() { try { __THREW__ = false; return FUNCTION_TABLE[__ZN5CacheC1Eil]($9, $10, $conv) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 3; break; } else { __label__ = 11; break; }
case 3:
var $cache=(($this1+48)|0);
HEAP32[(($cache)>>2)]=$9;
var $l7=(($this1+44)|0);
var $13=HEAP32[(($l7)>>2)];
var $mul8=((($13<<1))|0);
var $14=_llvm_umul_with_overflow_i32($mul8, 8);
var $15=$14.f1;
var $16=$14.f0;
var $17=$15 ? -1 : $16;
var $call10 = (function() { try { __THREW__ = false; return __Znaj($17) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 4; break; } else { __label__ = 10; break; }
case 4:
var $18=$call10;
var $QD=(($this1+72)|0);
HEAP32[(($QD)>>2)]=$18;
var $l11=(($this1+44)|0);
var $19=HEAP32[(($l11)>>2)];
var $mul12=((($19<<1))|0);
var $20=(($mul12)|0) < 0;
var $21=$20 ? -1 : $mul12;
var $call14 = (function() { try { __THREW__ = false; return __Znaj($21) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 5; break; } else { __label__ = 10; break; }
case 5:
var $sign=(($this1+52)|0);
HEAP32[(($sign)>>2)]=$call14;
var $l15=(($this1+44)|0);
var $22=HEAP32[(($l15)>>2)];
var $mul16=((($22<<1))|0);
var $23=_llvm_umul_with_overflow_i32($mul16, 4);
var $24=$23.f1;
var $25=$23.f0;
var $26=$24 ? -1 : $25;
var $call18 = (function() { try { __THREW__ = false; return __Znaj($26) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 6; break; } else { __label__ = 10; break; }
case 6:
var $27=$call18;
var $index=(($this1+56)|0);
HEAP32[(($index)>>2)]=$27;
$k=0;
__label__ = 7; break;
case 7:
var $28=$k;
var $l19=(($this1+44)|0);
var $29=HEAP32[(($l19)>>2)];
var $cmp=(($28)|0) < (($29)|0);
if ($cmp) { __label__ = 8; break; } else { __label__ = 16; break; }
case 8:
var $30=$k;
var $sign20=(($this1+52)|0);
var $31=HEAP32[(($sign20)>>2)];
var $arrayidx=(($31+$30)|0);
HEAP8[($arrayidx)]=1;
var $32=$k;
var $l21=(($this1+44)|0);
var $33=HEAP32[(($l21)>>2)];
var $add=(($32+$33)|0);
var $sign22=(($this1+52)|0);
var $34=HEAP32[(($sign22)>>2)];
var $arrayidx23=(($34+$add)|0);
HEAP8[($arrayidx23)]=-1;
var $35=$k;
var $36=$k;
var $index24=(($this1+56)|0);
var $37=HEAP32[(($index24)>>2)];
var $arrayidx25=(($37+($36<<2))|0);
HEAP32[(($arrayidx25)>>2)]=$35;
var $38=$k;
var $39=$k;
var $l26=(($this1+44)|0);
var $40=HEAP32[(($l26)>>2)];
var $add27=(($39+$40)|0);
var $index28=(($this1+56)|0);
var $41=HEAP32[(($index28)>>2)];
var $arrayidx29=(($41+($add27<<2))|0);
HEAP32[(($arrayidx29)>>2)]=$38;
var $42=$this1;
var $kernel_function=(($42+4)|0);
var $43={ f0: HEAP32[(($kernel_function)>>2)], f1: HEAP32[(($kernel_function+4)>>2)] };
var $44=$this1;
var $memptr_adj=$43.f1;
var $45=$44;
var $46=(($45+$memptr_adj)|0);
var $this_adjusted=$46;
var $memptr_ptr=$43.f0;
var $47=$memptr_ptr & 1;
var $memptr_isvirtual=(($47)|0)!=0;
if ($memptr_isvirtual) { __label__ = 9; break; } else { __label__ = 12; break; }
case 9:
var $48=$this_adjusted;
var $memptr_vtable=HEAP32[(($48)>>2)];
var $49=(($memptr_ptr-1)|0);
var $50=(($memptr_vtable+$49)|0);
var $51=$50;
var $memptr_virtualfn=HEAP32[(($51)>>2)];
var $58 = $memptr_virtualfn;__label__ = 13; break;
case 10:
var $52=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $53=$52.f0;
$exn_slot=$53;
var $54=$52.f1;
$ehselector_slot=$54;
__label__ = 19; break;
case 11:
var $55=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $56=$55.f0;
$exn_slot=$56;
var $57=$55.f1;
$ehselector_slot=$57;
__ZdlPv($call);
__label__ = 19; break;
case 12:
var $memptr_nonvirtualfn=$memptr_ptr;
var $58 = $memptr_nonvirtualfn;__label__ = 13; break;
case 13:
var $58;
var $59=$k;
var $60=$k;
var $call31 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[$58]($this_adjusted, $59, $60) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 14; break; } else { __label__ = 10; break; }
case 14:
var $61=$k;
var $QD32=(($this1+72)|0);
var $62=HEAP32[(($QD32)>>2)];
var $arrayidx33=(($62+($61<<3))|0);
(tempDoubleF64[0]=$call31,HEAP32[(($arrayidx33)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx33+4)>>2)]=tempDoubleI32[1]);
var $63=$k;
var $QD34=(($this1+72)|0);
var $64=HEAP32[(($QD34)>>2)];
var $arrayidx35=(($64+($63<<3))|0);
var $65=(tempDoubleI32[0]=HEAP32[(($arrayidx35)>>2)],tempDoubleI32[1]=HEAP32[(($arrayidx35+4)>>2)],tempDoubleF64[0]);
var $66=$k;
var $l36=(($this1+44)|0);
var $67=HEAP32[(($l36)>>2)];
var $add37=(($66+$67)|0);
var $QD38=(($this1+72)|0);
var $68=HEAP32[(($QD38)>>2)];
var $arrayidx39=(($68+($add37<<3))|0);
(tempDoubleF64[0]=$65,HEAP32[(($arrayidx39)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx39+4)>>2)]=tempDoubleI32[1]);
__label__ = 15; break;
case 15:
var $69=$k;
var $inc=(($69+1)|0);
$k=$inc;
__label__ = 7; break;
case 16:
var $l40=(($this1+44)|0);
var $70=HEAP32[(($l40)>>2)];
var $mul41=((($70<<1))|0);
var $71=_llvm_umul_with_overflow_i32($mul41, 4);
var $72=$71.f1;
var $73=$71.f0;
var $74=$72 ? -1 : $73;
var $call43 = (function() { try { __THREW__ = false; return __Znaj($74) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 17; break; } else { __label__ = 10; break; }
case 17:
var $75=$call43;
var $buffer=(($this1+64)|0);
var $arrayidx44=(($buffer)|0);
HEAP32[(($arrayidx44)>>2)]=$75;
var $l45=(($this1+44)|0);
var $76=HEAP32[(($l45)>>2)];
var $mul46=((($76<<1))|0);
var $77=_llvm_umul_with_overflow_i32($mul46, 4);
var $78=$77.f1;
var $79=$77.f0;
var $80=$78 ? -1 : $79;
var $call48 = (function() { try { __THREW__ = false; return __Znaj($80) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 18; break; } else { __label__ = 10; break; }
case 18:
var $81=$call48;
var $buffer49=(($this1+64)|0);
var $arrayidx50=(($buffer49+4)|0);
HEAP32[(($arrayidx50)>>2)]=$81;
var $next_buffer=(($this1+60)|0);
HEAP32[(($next_buffer)>>2)]=0;
;
return;
case 19:
var $82=$this1;
(function() { try { __THREW__ = false; return __ZN6KernelD2Ev($82) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 20; break; } else { __label__ = 22; break; }
case 20:
__label__ = 21; break;
case 21:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val52=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
case 22:
var $83=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[0]);
__ZSt9terminatev();
throw "Reached an unreachable!"
default: assert(0, "bad label: " + __label__);
}
}
__ZN5SVR_QC2ERK11svm_problemRK13svm_parameter["X"]=1;
function __ZNK11ONE_CLASS_Q6get_QDEv($this) {
;
var __label__;
var $this_addr;
$this_addr=$this;
var $this1=$this_addr;
var $QD=(($this1+48)|0);
var $0=HEAP32[(($QD)>>2)];
;
return $0;
}
function __ZNK5SVC_Q6get_QDEv($this) {
;
var __label__;
var $this_addr;
$this_addr=$this;
var $this1=$this_addr;
var $QD=(($this1+52)|0);
var $0=HEAP32[(($QD)>>2)];
;
return $0;
}
function __ZN11ONE_CLASS_QD1Ev($this) {
;
var __label__;
var $this_addr;
$this_addr=$this;
var $this1=$this_addr;
__ZN11ONE_CLASS_QD2Ev($this1);
;
return;
}
function __ZNK11ONE_CLASS_Q5get_QEii($this, $i, $len) {
var __stackBase__ = STACKTOP; STACKTOP += 4; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $i_addr;
var $len_addr;
var $data=__stackBase__;
var $start;
var $j;
$this_addr=$this;
$i_addr=$i;
$len_addr=$len;
var $this1=$this_addr;
var $cache=(($this1+44)|0);
var $0=HEAP32[(($cache)>>2)];
var $1=$i_addr;
var $2=$len_addr;
var $call=__ZN5Cache8get_dataEiPPfi($0, $1, $data, $2);
$start=$call;
var $3=$len_addr;
var $cmp=(($call)|0) < (($3)|0);
if ($cmp) { __label__ = 2; break; } else { __label__ = 10; break; }
case 2:
var $4=$start;
$j=$4;
__label__ = 3; break;
case 3:
var $5=$j;
var $6=$len_addr;
var $cmp2=(($5)|0) < (($6)|0);
if ($cmp2) { __label__ = 4; break; } else { __label__ = 9; break; }
case 4:
var $7=$this1;
var $kernel_function=(($7+4)|0);
var $8={ f0: HEAP32[(($kernel_function)>>2)], f1: HEAP32[(($kernel_function+4)>>2)] };
var $9=$this1;
var $memptr_adj=$8.f1;
var $10=$9;
var $11=(($10+$memptr_adj)|0);
var $this_adjusted=$11;
var $memptr_ptr=$8.f0;
var $12=$memptr_ptr & 1;
var $memptr_isvirtual=(($12)|0)!=0;
if ($memptr_isvirtual) { __label__ = 5; break; } else { __label__ = 6; break; }
case 5:
var $13=$this_adjusted;
var $memptr_vtable=HEAP32[(($13)>>2)];
var $14=(($memptr_ptr-1)|0);
var $15=(($memptr_vtable+$14)|0);
var $16=$15;
var $memptr_virtualfn=HEAP32[(($16)>>2)];
var $17 = $memptr_virtualfn;__label__ = 7; break;
case 6:
var $memptr_nonvirtualfn=$memptr_ptr;
var $17 = $memptr_nonvirtualfn;__label__ = 7; break;
case 7:
var $17;
var $18=$i_addr;
var $19=$j;
var $call3=FUNCTION_TABLE[$17]($this_adjusted, $18, $19);
var $conv=$call3;
var $20=$j;
var $21=HEAP32[(($data)>>2)];
var $arrayidx=(($21+($20<<2))|0);
HEAPF32[(($arrayidx)>>2)]=$conv;
__label__ = 8; break;
case 8:
var $22=$j;
var $inc=(($22+1)|0);
$j=$inc;
__label__ = 3; break;
case 9:
__label__ = 10; break;
case 10:
var $23=HEAP32[(($data)>>2)];
STACKTOP = __stackBase__;
return $23;
default: assert(0, "bad label: " + __label__);
}
}
__ZNK11ONE_CLASS_Q5get_QEii["X"]=1;
function __ZNK11ONE_CLASS_Q10swap_indexEii($this, $i, $j) {
;
var __label__;
var $this_addr;
var $i_addr;
var $j_addr;
$this_addr=$this;
$i_addr=$i;
$j_addr=$j;
var $this1=$this_addr;
var $cache=(($this1+44)|0);
var $0=HEAP32[(($cache)>>2)];
var $1=$i_addr;
var $2=$j_addr;
__ZN5Cache10swap_indexEii($0, $1, $2);
var $3=$this1;
var $4=$i_addr;
var $5=$j_addr;
__ZNK6Kernel10swap_indexEii($3, $4, $5);
var $6=$i_addr;
var $QD=(($this1+48)|0);
var $7=HEAP32[(($QD)>>2)];
var $arrayidx=(($7+($6<<3))|0);
var $8=$j_addr;
var $QD2=(($this1+48)|0);
var $9=HEAP32[(($QD2)>>2)];
var $arrayidx3=(($9+($8<<3))|0);
__ZL4swapIdEvRT_S1_($arrayidx, $arrayidx3);
;
return;
}
function __ZN11ONE_CLASS_QD0Ev($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $exn_slot;
var $ehselector_slot;
$this_addr=$this;
var $this1=$this_addr;
(function() { try { __THREW__ = false; return __ZN11ONE_CLASS_QD1Ev($this1) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $0=$this1;
__ZdlPv($0);
;
return;
case 3:
var $1=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $2=$1.f0;
$exn_slot=$2;
var $3=$1.f1;
$ehselector_slot=$3;
var $4=$this1;
__ZdlPv($4);
__label__ = 4; break;
case 4:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val2=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
default: assert(0, "bad label: " + __label__);
}
}
function __ZN5SVC_QC1ERK11svm_problemRK13svm_parameterPKa($this, $prob, $param, $y_) {
;
var __label__;
var $this_addr;
var $prob_addr;
var $param_addr;
var $y__addr;
$this_addr=$this;
$prob_addr=$prob;
$param_addr=$param;
$y__addr=$y_;
var $this1=$this_addr;
var $0=$y__addr;
var $1=$prob_addr;
var $2=$param_addr;
__ZN5SVC_QC2ERK11svm_problemRK13svm_parameterPKa($this1, $1, $2, $0);
;
return;
}
function __ZN5SVC_QD1Ev($this) {
;
var __label__;
var $this_addr;
$this_addr=$this;
var $this1=$this_addr;
__ZN5SVC_QD2Ev($this1);
;
return;
}
function __ZNK5SVC_Q5get_QEii($this, $i, $len) {
var __stackBase__ = STACKTOP; STACKTOP += 4; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $i_addr;
var $len_addr;
var $data=__stackBase__;
var $start;
var $j;
$this_addr=$this;
$i_addr=$i;
$len_addr=$len;
var $this1=$this_addr;
var $cache=(($this1+48)|0);
var $0=HEAP32[(($cache)>>2)];
var $1=$i_addr;
var $2=$len_addr;
var $call=__ZN5Cache8get_dataEiPPfi($0, $1, $data, $2);
$start=$call;
var $3=$len_addr;
var $cmp=(($call)|0) < (($3)|0);
if ($cmp) { __label__ = 2; break; } else { __label__ = 10; break; }
case 2:
var $4=$start;
$j=$4;
__label__ = 3; break;
case 3:
var $5=$j;
var $6=$len_addr;
var $cmp2=(($5)|0) < (($6)|0);
if ($cmp2) { __label__ = 4; break; } else { __label__ = 9; break; }
case 4:
var $7=$i_addr;
var $y=(($this1+44)|0);
var $8=HEAP32[(($y)>>2)];
var $arrayidx=(($8+$7)|0);
var $9=HEAP8[($arrayidx)];
var $conv=(($9 << 24) >> 24);
var $10=$j;
var $y3=(($this1+44)|0);
var $11=HEAP32[(($y3)>>2)];
var $arrayidx4=(($11+$10)|0);
var $12=HEAP8[($arrayidx4)];
var $conv5=(($12 << 24) >> 24);
var $mul=(($conv*$conv5)|0);
var $conv6=(($mul)|0);
var $13=$this1;
var $kernel_function=(($13+4)|0);
var $14={ f0: HEAP32[(($kernel_function)>>2)], f1: HEAP32[(($kernel_function+4)>>2)] };
var $15=$this1;
var $memptr_adj=$14.f1;
var $16=$15;
var $17=(($16+$memptr_adj)|0);
var $this_adjusted=$17;
var $memptr_ptr=$14.f0;
var $18=$memptr_ptr & 1;
var $memptr_isvirtual=(($18)|0)!=0;
if ($memptr_isvirtual) { __label__ = 5; break; } else { __label__ = 6; break; }
case 5:
var $19=$this_adjusted;
var $memptr_vtable=HEAP32[(($19)>>2)];
var $20=(($memptr_ptr-1)|0);
var $21=(($memptr_vtable+$20)|0);
var $22=$21;
var $memptr_virtualfn=HEAP32[(($22)>>2)];
var $23 = $memptr_virtualfn;__label__ = 7; break;
case 6:
var $memptr_nonvirtualfn=$memptr_ptr;
var $23 = $memptr_nonvirtualfn;__label__ = 7; break;
case 7:
var $23;
var $24=$i_addr;
var $25=$j;
var $call7=FUNCTION_TABLE[$23]($this_adjusted, $24, $25);
var $mul8=$conv6*$call7;
var $conv9=$mul8;
var $26=$j;
var $27=HEAP32[(($data)>>2)];
var $arrayidx10=(($27+($26<<2))|0);
HEAPF32[(($arrayidx10)>>2)]=$conv9;
__label__ = 8; break;
case 8:
var $28=$j;
var $inc=(($28+1)|0);
$j=$inc;
__label__ = 3; break;
case 9:
__label__ = 10; break;
case 10:
var $29=HEAP32[(($data)>>2)];
STACKTOP = __stackBase__;
return $29;
default: assert(0, "bad label: " + __label__);
}
}
__ZNK5SVC_Q5get_QEii["X"]=1;
function __ZNK5SVC_Q10swap_indexEii($this, $i, $j) {
;
var __label__;
var $this_addr;
var $i_addr;
var $j_addr;
$this_addr=$this;
$i_addr=$i;
$j_addr=$j;
var $this1=$this_addr;
var $cache=(($this1+48)|0);
var $0=HEAP32[(($cache)>>2)];
var $1=$i_addr;
var $2=$j_addr;
__ZN5Cache10swap_indexEii($0, $1, $2);
var $3=$this1;
var $4=$i_addr;
var $5=$j_addr;
__ZNK6Kernel10swap_indexEii($3, $4, $5);
var $6=$i_addr;
var $y=(($this1+44)|0);
var $7=HEAP32[(($y)>>2)];
var $arrayidx=(($7+$6)|0);
var $8=$j_addr;
var $y2=(($this1+44)|0);
var $9=HEAP32[(($y2)>>2)];
var $arrayidx3=(($9+$8)|0);
__ZL4swapIaEvRT_S1_($arrayidx, $arrayidx3);
var $10=$i_addr;
var $QD=(($this1+52)|0);
var $11=HEAP32[(($QD)>>2)];
var $arrayidx4=(($11+($10<<3))|0);
var $12=$j_addr;
var $QD5=(($this1+52)|0);
var $13=HEAP32[(($QD5)>>2)];
var $arrayidx6=(($13+($12<<3))|0);
__ZL4swapIdEvRT_S1_($arrayidx4, $arrayidx6);
;
return;
}
function __ZN5SVC_QD0Ev($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $exn_slot;
var $ehselector_slot;
$this_addr=$this;
var $this1=$this_addr;
(function() { try { __THREW__ = false; return __ZN5SVC_QD1Ev($this1) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $0=$this1;
__ZdlPv($0);
;
return;
case 3:
var $1=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $2=$1.f0;
$exn_slot=$2;
var $3=$1.f1;
$ehselector_slot=$3;
var $4=$this1;
__ZdlPv($4);
__label__ = 4; break;
case 4:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val2=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
default: assert(0, "bad label: " + __label__);
}
}
function __ZN7QMatrixD1Ev($this) {
;
var __label__;
var $this_addr;
$this_addr=$this;
var $this1=$this_addr;
__ZN7QMatrixD2Ev($this1);
;
return;
}
function __ZN7QMatrixD0Ev($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $exn_slot;
var $ehselector_slot;
$this_addr=$this;
var $this1=$this_addr;
(function() { try { __THREW__ = false; return __ZN7QMatrixD1Ev($this1) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $0=$this1;
__ZdlPv($0);
;
return;
case 3:
var $1=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $2=$1.f0;
$exn_slot=$2;
var $3=$1.f1;
$ehselector_slot=$3;
var $4=$this1;
__ZdlPv($4);
__label__ = 4; break;
case 4:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val2=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
default: assert(0, "bad label: " + __label__);
}
}
function __ZN10__cxxabiv116__shim_type_infoD0Ev($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $exn_slot;
var $ehselector_slot;
$this_addr=$this;
var $this1=$this_addr;
(function() { try { __THREW__ = false; return FUNCTION_TABLE[__ZN10__cxxabiv116__shim_type_infoD1Ev]($this1) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $0=$this1;
__ZdlPv($0);
;
return;
case 3:
var $1=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $2=$1.f0;
$exn_slot=$2;
var $3=$1.f1;
$ehselector_slot=$3;
var $4=$this1;
__ZdlPv($4);
__label__ = 4; break;
case 4:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val2=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
default: assert(0, "bad label: " + __label__);
}
}
function __ZN10__cxxabiv116__shim_type_infoD2Ev($this) {
;
var __label__;
var $this_addr;
$this_addr=$this;
var $this1=$this_addr;
var $0=$this1;
__ZNSt9type_infoD2Ev($0);
;
return;
}
function __ZN10__cxxabiv123__fundamental_type_infoD0Ev($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $exn_slot;
var $ehselector_slot;
$this_addr=$this;
var $this1=$this_addr;
(function() { try { __THREW__ = false; return FUNCTION_TABLE[__ZN10__cxxabiv123__fundamental_type_infoD1Ev]($this1) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $0=$this1;
__ZdlPv($0);
;
return;
case 3:
var $1=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $2=$1.f0;
$exn_slot=$2;
var $3=$1.f1;
$ehselector_slot=$3;
var $4=$this1;
__ZdlPv($4);
__label__ = 4; break;
case 4:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val2=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
default: assert(0, "bad label: " + __label__);
}
}
function __ZN10__cxxabiv117__array_type_infoD0Ev($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $exn_slot;
var $ehselector_slot;
$this_addr=$this;
var $this1=$this_addr;
(function() { try { __THREW__ = false; return FUNCTION_TABLE[__ZN10__cxxabiv117__array_type_infoD1Ev]($this1) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $0=$this1;
__ZdlPv($0);
;
return;
case 3:
var $1=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $2=$1.f0;
$exn_slot=$2;
var $3=$1.f1;
$ehselector_slot=$3;
var $4=$this1;
__ZdlPv($4);
__label__ = 4; break;
case 4:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val2=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
default: assert(0, "bad label: " + __label__);
}
}
function __ZN11ONE_CLASS_QD2Ev($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $exn_slot;
var $ehselector_slot;
$this_addr=$this;
var $this1=$this_addr;
var $0=$this1;
HEAP32[(($0)>>2)]=((__ZTV11ONE_CLASS_Q+8)|0);
var $cache=(($this1+44)|0);
var $1=HEAP32[(($cache)>>2)];
var $isnull=(($1)|0)==0;
if ($isnull) { __label__ = 4; break; } else { __label__ = 2; break; }
case 2:
(function() { try { __THREW__ = false; return FUNCTION_TABLE[__ZN5CacheD1Ev]($1) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 3; break; } else { __label__ = 7; break; }
case 3:
var $2=$1;
__ZdlPv($2);
__label__ = 4; break;
case 4:
var $QD=(($this1+48)|0);
var $3=HEAP32[(($QD)>>2)];
var $isnull2=(($3)|0)==0;
if ($isnull2) { __label__ = 6; break; } else { __label__ = 5; break; }
case 5:
var $4=$3;
__ZdaPv($4);
__label__ = 6; break;
case 6:
var $5=$this1;
__ZN6KernelD2Ev($5);
;
return;
case 7:
var $6=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $7=$6.f0;
$exn_slot=$7;
var $8=$6.f1;
$ehselector_slot=$8;
var $9=$1;
__ZdlPv($9);
var $10=$this1;
(function() { try { __THREW__ = false; return __ZN6KernelD2Ev($10) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 8; break; } else { __label__ = 10; break; }
case 8:
__label__ = 9; break;
case 9:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val6=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
case 10:
var $11=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[0]);
__ZSt9terminatev();
throw "Reached an unreachable!"
default: assert(0, "bad label: " + __label__);
}
}
function __ZN11ONE_CLASS_QC2ERK11svm_problemRK13svm_parameter($this, $prob, $param) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $prob_addr;
var $param_addr;
var $exn_slot;
var $ehselector_slot;
var $i;
$this_addr=$this;
$prob_addr=$prob;
$param_addr=$param;
var $this1=$this_addr;
var $0=$this1;
var $1=$prob_addr;
var $l=(($1)|0);
var $2=HEAP32[(($l)>>2)];
var $3=$prob_addr;
var $x=(($3+8)|0);
var $4=HEAP32[(($x)>>2)];
var $5=$param_addr;
__ZN6KernelC2EiPKP8svm_nodeRK13svm_parameter($0, $2, $4, $5);
var $6=$this1;
HEAP32[(($6)>>2)]=((__ZTV11ONE_CLASS_Q+8)|0);
var $call = (function() { try { __THREW__ = false; return __Znwj(28) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 2; break; } else { __label__ = 8; break; }
case 2:
var $7=$call;
var $8=$prob_addr;
var $l2=(($8)|0);
var $9=HEAP32[(($l2)>>2)];
var $10=$param_addr;
var $cache_size=(($10+28)|0);
var $11=(tempDoubleI32[0]=HEAP32[(($cache_size)>>2)],tempDoubleI32[1]=HEAP32[(($cache_size+4)>>2)],tempDoubleF64[0]);
var $mul=$11*1048576;
var $conv=(($mul)&-1);
(function() { try { __THREW__ = false; return FUNCTION_TABLE[__ZN5CacheC1Eil]($7, $9, $conv) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 3; break; } else { __label__ = 9; break; }
case 3:
var $cache=(($this1+44)|0);
HEAP32[(($cache)>>2)]=$7;
var $12=$prob_addr;
var $l5=(($12)|0);
var $13=HEAP32[(($l5)>>2)];
var $14=_llvm_umul_with_overflow_i32($13, 8);
var $15=$14.f1;
var $16=$14.f0;
var $17=$15 ? -1 : $16;
var $call7 = (function() { try { __THREW__ = false; return __Znaj($17) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 4; break; } else { __label__ = 8; break; }
case 4:
var $18=$call7;
var $QD=(($this1+48)|0);
HEAP32[(($QD)>>2)]=$18;
$i=0;
__label__ = 5; break;
case 5:
var $19=$i;
var $20=$prob_addr;
var $l8=(($20)|0);
var $21=HEAP32[(($l8)>>2)];
var $cmp=(($19)|0) < (($21)|0);
if ($cmp) { __label__ = 6; break; } else { __label__ = 14; break; }
case 6:
var $22=$this1;
var $kernel_function=(($22+4)|0);
var $23={ f0: HEAP32[(($kernel_function)>>2)], f1: HEAP32[(($kernel_function+4)>>2)] };
var $24=$this1;
var $memptr_adj=$23.f1;
var $25=$24;
var $26=(($25+$memptr_adj)|0);
var $this_adjusted=$26;
var $memptr_ptr=$23.f0;
var $27=$memptr_ptr & 1;
var $memptr_isvirtual=(($27)|0)!=0;
if ($memptr_isvirtual) { __label__ = 7; break; } else { __label__ = 10; break; }
case 7:
var $28=$this_adjusted;
var $memptr_vtable=HEAP32[(($28)>>2)];
var $29=(($memptr_ptr-1)|0);
var $30=(($memptr_vtable+$29)|0);
var $31=$30;
var $memptr_virtualfn=HEAP32[(($31)>>2)];
var $38 = $memptr_virtualfn;__label__ = 11; break;
case 8:
var $32=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $33=$32.f0;
$exn_slot=$33;
var $34=$32.f1;
$ehselector_slot=$34;
__label__ = 15; break;
case 9:
var $35=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $36=$35.f0;
$exn_slot=$36;
var $37=$35.f1;
$ehselector_slot=$37;
__ZdlPv($call);
__label__ = 15; break;
case 10:
var $memptr_nonvirtualfn=$memptr_ptr;
var $38 = $memptr_nonvirtualfn;__label__ = 11; break;
case 11:
var $38;
var $39=$i;
var $40=$i;
var $call10 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[$38]($this_adjusted, $39, $40) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 12; break; } else { __label__ = 8; break; }
case 12:
var $41=$i;
var $QD11=(($this1+48)|0);
var $42=HEAP32[(($QD11)>>2)];
var $arrayidx=(($42+($41<<3))|0);
(tempDoubleF64[0]=$call10,HEAP32[(($arrayidx)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx+4)>>2)]=tempDoubleI32[1]);
__label__ = 13; break;
case 13:
var $43=$i;
var $inc=(($43+1)|0);
$i=$inc;
__label__ = 5; break;
case 14:
;
return;
case 15:
var $44=$this1;
(function() { try { __THREW__ = false; return __ZN6KernelD2Ev($44) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 16; break; } else { __label__ = 18; break; }
case 16:
__label__ = 17; break;
case 17:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val13=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
case 18:
var $45=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[0]);
__ZSt9terminatev();
throw "Reached an unreachable!"
default: assert(0, "bad label: " + __label__);
}
}
__ZN11ONE_CLASS_QC2ERK11svm_problemRK13svm_parameter["X"]=1;
function __ZN5SVC_QD2Ev($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $exn_slot;
var $ehselector_slot;
$this_addr=$this;
var $this1=$this_addr;
var $0=$this1;
HEAP32[(($0)>>2)]=((__ZTV5SVC_Q+8)|0);
var $y=(($this1+44)|0);
var $1=HEAP32[(($y)>>2)];
var $isnull=(($1)|0)==0;
if ($isnull) { __label__ = 3; break; } else { __label__ = 2; break; }
case 2:
__ZdaPv($1);
__label__ = 3; break;
case 3:
var $cache=(($this1+48)|0);
var $2=HEAP32[(($cache)>>2)];
var $isnull2=(($2)|0)==0;
if ($isnull2) { __label__ = 6; break; } else { __label__ = 4; break; }
case 4:
(function() { try { __THREW__ = false; return FUNCTION_TABLE[__ZN5CacheD1Ev]($2) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 5; break; } else { __label__ = 9; break; }
case 5:
var $3=$2;
__ZdlPv($3);
__label__ = 6; break;
case 6:
var $QD=(($this1+52)|0);
var $4=HEAP32[(($QD)>>2)];
var $isnull5=(($4)|0)==0;
if ($isnull5) { __label__ = 8; break; } else { __label__ = 7; break; }
case 7:
var $5=$4;
__ZdaPv($5);
__label__ = 8; break;
case 8:
var $6=$this1;
__ZN6KernelD2Ev($6);
;
return;
case 9:
var $7=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $8=$7.f0;
$exn_slot=$8;
var $9=$7.f1;
$ehselector_slot=$9;
var $10=$2;
__ZdlPv($10);
var $11=$this1;
(function() { try { __THREW__ = false; return __ZN6KernelD2Ev($11) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 10; break; } else { __label__ = 12; break; }
case 10:
__label__ = 11; break;
case 11:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val9=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
case 12:
var $12=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[0]);
__ZSt9terminatev();
throw "Reached an unreachable!"
default: assert(0, "bad label: " + __label__);
}
}
function __ZN5SVC_QC2ERK11svm_problemRK13svm_parameterPKa($this, $prob, $param, $y_) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $prob_addr;
var $param_addr;
var $y__addr;
var $exn_slot;
var $ehselector_slot;
var $i;
$this_addr=$this;
$prob_addr=$prob;
$param_addr=$param;
$y__addr=$y_;
var $this1=$this_addr;
var $0=$this1;
var $1=$prob_addr;
var $l=(($1)|0);
var $2=HEAP32[(($l)>>2)];
var $3=$prob_addr;
var $x=(($3+8)|0);
var $4=HEAP32[(($x)>>2)];
var $5=$param_addr;
__ZN6KernelC2EiPKP8svm_nodeRK13svm_parameter($0, $2, $4, $5);
var $6=$this1;
HEAP32[(($6)>>2)]=((__ZTV5SVC_Q+8)|0);
var $y=(($this1+44)|0);
var $7=$y__addr;
var $8=$prob_addr;
var $l2=(($8)|0);
var $9=HEAP32[(($l2)>>2)];
(function() { try { __THREW__ = false; return __ZL5cloneIKaaEvRPT0_PT_i($y, $7, $9) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 2; break; } else { __label__ = 9; break; }
case 2:
var $call = (function() { try { __THREW__ = false; return __Znwj(28) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 3; break; } else { __label__ = 9; break; }
case 3:
var $10=$call;
var $11=$prob_addr;
var $l4=(($11)|0);
var $12=HEAP32[(($l4)>>2)];
var $13=$param_addr;
var $cache_size=(($13+28)|0);
var $14=(tempDoubleI32[0]=HEAP32[(($cache_size)>>2)],tempDoubleI32[1]=HEAP32[(($cache_size+4)>>2)],tempDoubleF64[0]);
var $mul=$14*1048576;
var $conv=(($mul)&-1);
(function() { try { __THREW__ = false; return FUNCTION_TABLE[__ZN5CacheC1Eil]($10, $12, $conv) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 4; break; } else { __label__ = 10; break; }
case 4:
var $cache=(($this1+48)|0);
HEAP32[(($cache)>>2)]=$10;
var $15=$prob_addr;
var $l7=(($15)|0);
var $16=HEAP32[(($l7)>>2)];
var $17=_llvm_umul_with_overflow_i32($16, 8);
var $18=$17.f1;
var $19=$17.f0;
var $20=$18 ? -1 : $19;
var $call9 = (function() { try { __THREW__ = false; return __Znaj($20) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 5; break; } else { __label__ = 9; break; }
case 5:
var $21=$call9;
var $QD=(($this1+52)|0);
HEAP32[(($QD)>>2)]=$21;
$i=0;
__label__ = 6; break;
case 6:
var $22=$i;
var $23=$prob_addr;
var $l10=(($23)|0);
var $24=HEAP32[(($l10)>>2)];
var $cmp=(($22)|0) < (($24)|0);
if ($cmp) { __label__ = 7; break; } else { __label__ = 15; break; }
case 7:
var $25=$this1;
var $kernel_function=(($25+4)|0);
var $26={ f0: HEAP32[(($kernel_function)>>2)], f1: HEAP32[(($kernel_function+4)>>2)] };
var $27=$this1;
var $memptr_adj=$26.f1;
var $28=$27;
var $29=(($28+$memptr_adj)|0);
var $this_adjusted=$29;
var $memptr_ptr=$26.f0;
var $30=$memptr_ptr & 1;
var $memptr_isvirtual=(($30)|0)!=0;
if ($memptr_isvirtual) { __label__ = 8; break; } else { __label__ = 11; break; }
case 8:
var $31=$this_adjusted;
var $memptr_vtable=HEAP32[(($31)>>2)];
var $32=(($memptr_ptr-1)|0);
var $33=(($memptr_vtable+$32)|0);
var $34=$33;
var $memptr_virtualfn=HEAP32[(($34)>>2)];
var $41 = $memptr_virtualfn;__label__ = 12; break;
case 9:
var $35=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $36=$35.f0;
$exn_slot=$36;
var $37=$35.f1;
$ehselector_slot=$37;
__label__ = 16; break;
case 10:
var $38=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $39=$38.f0;
$exn_slot=$39;
var $40=$38.f1;
$ehselector_slot=$40;
__ZdlPv($call);
__label__ = 16; break;
case 11:
var $memptr_nonvirtualfn=$memptr_ptr;
var $41 = $memptr_nonvirtualfn;__label__ = 12; break;
case 12:
var $41;
var $42=$i;
var $43=$i;
var $call12 = (function() { try { __THREW__ = false; return FUNCTION_TABLE[$41]($this_adjusted, $42, $43) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 13; break; } else { __label__ = 9; break; }
case 13:
var $44=$i;
var $QD13=(($this1+52)|0);
var $45=HEAP32[(($QD13)>>2)];
var $arrayidx=(($45+($44<<3))|0);
(tempDoubleF64[0]=$call12,HEAP32[(($arrayidx)>>2)]=tempDoubleI32[0],HEAP32[(($arrayidx+4)>>2)]=tempDoubleI32[1]);
__label__ = 14; break;
case 14:
var $46=$i;
var $inc=(($46+1)|0);
$i=$inc;
__label__ = 6; break;
case 15:
;
return;
case 16:
var $47=$this1;
(function() { try { __THREW__ = false; return __ZN6KernelD2Ev($47) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 17; break; } else { __label__ = 19; break; }
case 17:
__label__ = 18; break;
case 18:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val15=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
case 19:
var $48=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[0]);
__ZSt9terminatev();
throw "Reached an unreachable!"
default: assert(0, "bad label: " + __label__);
}
}
__ZN5SVC_QC2ERK11svm_problemRK13svm_parameterPKa["X"]=1;
function __ZNK10__cxxabiv117__array_type_info9can_catchEPKNS_16__shim_type_infoERPv($this, $thrown_type, $0) {
;
var __label__;
var $this_addr;
var $thrown_type_addr;
var $_addr;
$this_addr=$this;
$thrown_type_addr=$thrown_type;
$_addr=$0;
var $this1=$this_addr;
;
return 0;
}
function __ZNK10__cxxabiv120__function_type_info9can_catchEPKNS_16__shim_type_infoERPv($this, $thrown_type, $0) {
;
var __label__;
var $this_addr;
var $thrown_type_addr;
var $_addr;
$this_addr=$this;
$thrown_type_addr=$thrown_type;
$_addr=$0;
var $this1=$this_addr;
;
return 0;
}
function __ZNK10__cxxabiv123__fundamental_type_info9can_catchEPKNS_16__shim_type_infoERPv($this, $thrown_type, $0) {
;
var __label__;
var $this_addr;
var $thrown_type_addr;
var $_addr;
$this_addr=$this;
$thrown_type_addr=$thrown_type;
$_addr=$0;
var $this1=$this_addr;
var $1=$this1;
var $2=$thrown_type_addr;
var $cmp=(($1)|0)==(($2)|0);
;
return $cmp;
}
function __ZNK10__cxxabiv116__enum_type_info9can_catchEPKNS_16__shim_type_infoERPv($this, $thrown_type, $0) {
;
var __label__;
var $this_addr;
var $thrown_type_addr;
var $_addr;
$this_addr=$this;
$thrown_type_addr=$thrown_type;
$_addr=$0;
var $this1=$this_addr;
var $1=$this1;
var $2=$thrown_type_addr;
var $cmp=(($1)|0)==(($2)|0);
;
return $cmp;
}
function __ZNK10__cxxabiv117__pbase_type_info9can_catchEPKNS_16__shim_type_infoERPv($this, $thrown_type, $0) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $retval;
var $this_addr;
var $thrown_type_addr;
var $_addr;
$this_addr=$this;
$thrown_type_addr=$thrown_type;
$_addr=$0;
var $this1=$this_addr;
var $1=$this1;
var $2=$thrown_type_addr;
var $cmp=(($1)|0)==(($2)|0);
if ($cmp) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
$retval=1;
__label__ = 4; break;
case 3:
var $3=$thrown_type_addr;
var $4=$3;
var $cmp2=(($4)|0)==((__ZTINSt3__19nullptr_tE)|0);
$retval=$cmp2;
__label__ = 4; break;
case 4:
var $5=$retval;
;
return $5;
default: assert(0, "bad label: " + __label__);
}
}
function __ZNK10__cxxabiv117__class_type_info24process_found_base_classEPNS_19__dynamic_cast_infoEPvi($this, $info, $adjustedPtr, $path_below) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $info_addr;
var $adjustedPtr_addr;
var $path_below_addr;
$this_addr=$this;
$info_addr=$info;
$adjustedPtr_addr=$adjustedPtr;
$path_below_addr=$path_below;
var $this1=$this_addr;
var $0=$info_addr;
var $dst_ptr_leading_to_static_ptr=(($0+16)|0);
var $1=HEAP32[(($dst_ptr_leading_to_static_ptr)>>2)];
var $cmp=(($1)|0)==0;
if ($cmp) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $2=$adjustedPtr_addr;
var $3=$info_addr;
var $dst_ptr_leading_to_static_ptr2=(($3+16)|0);
HEAP32[(($dst_ptr_leading_to_static_ptr2)>>2)]=$2;
var $4=$path_below_addr;
var $5=$info_addr;
var $path_dst_ptr_to_static_ptr=(($5+24)|0);
HEAP32[(($path_dst_ptr_to_static_ptr)>>2)]=$4;
var $6=$info_addr;
var $number_to_static_ptr=(($6+36)|0);
HEAP32[(($number_to_static_ptr)>>2)]=1;
__label__ = 9; break;
case 3:
var $7=$info_addr;
var $dst_ptr_leading_to_static_ptr3=(($7+16)|0);
var $8=HEAP32[(($dst_ptr_leading_to_static_ptr3)>>2)];
var $9=$adjustedPtr_addr;
var $cmp4=(($8)|0)==(($9)|0);
if ($cmp4) { __label__ = 4; break; } else { __label__ = 7; break; }
case 4:
var $10=$info_addr;
var $path_dst_ptr_to_static_ptr6=(($10+24)|0);
var $11=HEAP32[(($path_dst_ptr_to_static_ptr6)>>2)];
var $cmp7=(($11)|0)==2;
if ($cmp7) { __label__ = 5; break; } else { __label__ = 6; break; }
case 5:
var $12=$path_below_addr;
var $13=$info_addr;
var $path_dst_ptr_to_static_ptr9=(($13+24)|0);
HEAP32[(($path_dst_ptr_to_static_ptr9)>>2)]=$12;
__label__ = 6; break;
case 6:
__label__ = 8; break;
case 7:
var $14=$info_addr;
var $number_to_static_ptr11=(($14+36)|0);
var $15=HEAP32[(($number_to_static_ptr11)>>2)];
var $add=(($15+1)|0);
HEAP32[(($number_to_static_ptr11)>>2)]=$add;
var $16=$info_addr;
var $path_dst_ptr_to_static_ptr12=(($16+24)|0);
HEAP32[(($path_dst_ptr_to_static_ptr12)>>2)]=2;
var $17=$info_addr;
var $search_done=(($17+54)|0);
HEAP8[($search_done)]=1;
__label__ = 8; break;
case 8:
__label__ = 9; break;
case 9:
;
return;
default: assert(0, "bad label: " + __label__);
}
}
__ZNK10__cxxabiv117__class_type_info24process_found_base_classEPNS_19__dynamic_cast_infoEPvi["X"]=1;
function __ZN10__cxxabiv120__function_type_infoD0Ev($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $exn_slot;
var $ehselector_slot;
$this_addr=$this;
var $this1=$this_addr;
(function() { try { __THREW__ = false; return FUNCTION_TABLE[__ZN10__cxxabiv120__function_type_infoD1Ev]($this1) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $0=$this1;
__ZdlPv($0);
;
return;
case 3:
var $1=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $2=$1.f0;
$exn_slot=$2;
var $3=$1.f1;
$ehselector_slot=$3;
var $4=$this1;
__ZdlPv($4);
__label__ = 4; break;
case 4:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val2=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
default: assert(0, "bad label: " + __label__);
}
}
function __ZN10__cxxabiv116__enum_type_infoD0Ev($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $exn_slot;
var $ehselector_slot;
$this_addr=$this;
var $this1=$this_addr;
(function() { try { __THREW__ = false; return FUNCTION_TABLE[__ZN10__cxxabiv116__enum_type_infoD1Ev]($this1) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $0=$this1;
__ZdlPv($0);
;
return;
case 3:
var $1=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $2=$1.f0;
$exn_slot=$2;
var $3=$1.f1;
$ehselector_slot=$3;
var $4=$this1;
__ZdlPv($4);
__label__ = 4; break;
case 4:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val2=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
default: assert(0, "bad label: " + __label__);
}
}
function __ZN10__cxxabiv117__class_type_infoD0Ev($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $exn_slot;
var $ehselector_slot;
$this_addr=$this;
var $this1=$this_addr;
(function() { try { __THREW__ = false; return FUNCTION_TABLE[__ZN10__cxxabiv117__class_type_infoD1Ev]($this1) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $0=$this1;
__ZdlPv($0);
;
return;
case 3:
var $1=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $2=$1.f0;
$exn_slot=$2;
var $3=$1.f1;
$ehselector_slot=$3;
var $4=$this1;
__ZdlPv($4);
__label__ = 4; break;
case 4:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val2=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
default: assert(0, "bad label: " + __label__);
}
}
function __ZN10__cxxabiv120__si_class_type_infoD0Ev($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $exn_slot;
var $ehselector_slot;
$this_addr=$this;
var $this1=$this_addr;
(function() { try { __THREW__ = false; return FUNCTION_TABLE[__ZN10__cxxabiv120__si_class_type_infoD1Ev]($this1) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $0=$this1;
__ZdlPv($0);
;
return;
case 3:
var $1=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $2=$1.f0;
$exn_slot=$2;
var $3=$1.f1;
$ehselector_slot=$3;
var $4=$this1;
__ZdlPv($4);
__label__ = 4; break;
case 4:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val2=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
default: assert(0, "bad label: " + __label__);
}
}
function __ZN10__cxxabiv121__vmi_class_type_infoD0Ev($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $exn_slot;
var $ehselector_slot;
$this_addr=$this;
var $this1=$this_addr;
(function() { try { __THREW__ = false; return FUNCTION_TABLE[__ZN10__cxxabiv121__vmi_class_type_infoD1Ev]($this1) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $0=$this1;
__ZdlPv($0);
;
return;
case 3:
var $1=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $2=$1.f0;
$exn_slot=$2;
var $3=$1.f1;
$ehselector_slot=$3;
var $4=$this1;
__ZdlPv($4);
__label__ = 4; break;
case 4:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val2=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
default: assert(0, "bad label: " + __label__);
}
}
function __ZN10__cxxabiv117__pbase_type_infoD0Ev($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $exn_slot;
var $ehselector_slot;
$this_addr=$this;
var $this1=$this_addr;
(function() { try { __THREW__ = false; return FUNCTION_TABLE[__ZN10__cxxabiv117__pbase_type_infoD1Ev]($this1) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $0=$this1;
__ZdlPv($0);
;
return;
case 3:
var $1=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $2=$1.f0;
$exn_slot=$2;
var $3=$1.f1;
$ehselector_slot=$3;
var $4=$this1;
__ZdlPv($4);
__label__ = 4; break;
case 4:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val2=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
default: assert(0, "bad label: " + __label__);
}
}
function __ZN10__cxxabiv119__pointer_type_infoD0Ev($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $exn_slot;
var $ehselector_slot;
$this_addr=$this;
var $this1=$this_addr;
(function() { try { __THREW__ = false; return FUNCTION_TABLE[__ZN10__cxxabiv119__pointer_type_infoD1Ev]($this1) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $0=$this1;
__ZdlPv($0);
;
return;
case 3:
var $1=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $2=$1.f0;
$exn_slot=$2;
var $3=$1.f1;
$ehselector_slot=$3;
var $4=$this1;
__ZdlPv($4);
__label__ = 4; break;
case 4:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val2=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
default: assert(0, "bad label: " + __label__);
}
}
function __ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev($this) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $exn_slot;
var $ehselector_slot;
$this_addr=$this;
var $this1=$this_addr;
(function() { try { __THREW__ = false; return FUNCTION_TABLE[__ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev]($this1) } catch(e) { if (typeof e != "number") throw e; if (ABORT) throw e; __THREW__ = true; Module.print("Exception: " + e + ", currently at: " + (new Error().stack)); return null } })();if (!__THREW__) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $0=$this1;
__ZdlPv($0);
;
return;
case 3:
var $1=___cxa_find_matching_catch(HEAP32[((_llvm_eh_exception.buf)>>2)],HEAP32[((_llvm_eh_exception.buf+4)>>2)],[]);
var $2=$1.f0;
$exn_slot=$2;
var $3=$1.f1;
$ehselector_slot=$3;
var $4=$this1;
__ZdlPv($4);
__label__ = 4; break;
case 4:
var $exn=$exn_slot;
var $sel=$ehselector_slot;
var $lpad_val=(tempValue = [0,0,0,0,0,0,0,0], tempValue.f0 = $exn, tempValue);
var $lpad_val2=($lpad_val.f1 = $sel, $lpad_val);
Module.print("Resuming exception");throw HEAP32[((_llvm_eh_exception.buf)>>2)];
default: assert(0, "bad label: " + __label__);
}
}
function __ZNK10__cxxabiv117__class_type_info9can_catchEPKNS_16__shim_type_infoERPv($this, $thrown_type, $adjustedPtr) {
var __stackBase__ = STACKTOP; STACKTOP += 56; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $retval;
var $this_addr;
var $thrown_type_addr;
var $adjustedPtr_addr;
var $thrown_class_type;
var $info=__stackBase__;
$this_addr=$this;
$thrown_type_addr=$thrown_type;
$adjustedPtr_addr=$adjustedPtr;
var $this1=$this_addr;
var $0=$this1;
var $1=$thrown_type_addr;
var $cmp=(($0)|0)==(($1)|0);
if ($cmp) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
$retval=1;
__label__ = 11; break;
case 3:
var $2=$thrown_type_addr;
var $3=(($2)|0)==0;
if ($3) { __label__ = 5; break; } else { __label__ = 4; break; }
case 4:
var $4=$2;
var $5=___dynamic_cast($4, __ZTIN10__cxxabiv116__shim_type_infoE, __ZTIN10__cxxabiv117__class_type_infoE, -1);
var $6=$5;
var $7 = $6;__label__ = 6; break;
case 5:
var $7 = 0;__label__ = 6; break;
case 6:
var $7;
$thrown_class_type=$7;
var $8=$thrown_class_type;
var $cmp2=(($8)|0)==0;
if ($cmp2) { __label__ = 7; break; } else { __label__ = 8; break; }
case 7:
$retval=0;
__label__ = 11; break;
case 8:
var $9=$info;
for (var $$dest = $9>>2, $$stop = $$dest + 14; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0
};
var $dst_type=(($info)|0);
var $10=$thrown_class_type;
HEAP32[(($dst_type)>>2)]=$10;
var $static_type=(($info+8)|0);
HEAP32[(($static_type)>>2)]=$this1;
var $src2dst_offset=(($info+12)|0);
HEAP32[(($src2dst_offset)>>2)]=-1;
var $number_of_dst_type=(($info+48)|0);
HEAP32[(($number_of_dst_type)>>2)]=1;
var $11=$thrown_class_type;
var $12=$11;
var $vtable=HEAP32[(($12)>>2)];
var $vfn=(($vtable+20)|0);
var $13=HEAP32[(($vfn)>>2)];
var $14=$adjustedPtr_addr;
var $15=HEAP32[(($14)>>2)];
FUNCTION_TABLE[$13]($11, $info, $15, 1);
var $path_dst_ptr_to_static_ptr=(($info+24)|0);
var $16=HEAP32[(($path_dst_ptr_to_static_ptr)>>2)];
var $cmp5=(($16)|0)==1;
if ($cmp5) { __label__ = 9; break; } else { __label__ = 10; break; }
case 9:
var $dst_ptr_leading_to_static_ptr=(($info+16)|0);
var $17=HEAP32[(($dst_ptr_leading_to_static_ptr)>>2)];
var $18=$adjustedPtr_addr;
HEAP32[(($18)>>2)]=$17;
$retval=1;
__label__ = 11; break;
case 10:
$retval=0;
__label__ = 11; break;
case 11:
var $19=$retval;
STACKTOP = __stackBase__;
return $19;
default: assert(0, "bad label: " + __label__);
}
}
__ZNK10__cxxabiv117__class_type_info9can_catchEPKNS_16__shim_type_infoERPv["X"]=1;
function __ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi($this, $info, $adjustedPtr, $path_below) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $info_addr;
var $adjustedPtr_addr;
var $path_below_addr;
$this_addr=$this;
$info_addr=$info;
$adjustedPtr_addr=$adjustedPtr;
$path_below_addr=$path_below;
var $this1=$this_addr;
var $0=$info_addr;
var $static_type=(($0+8)|0);
var $1=HEAP32[(($static_type)>>2)];
var $cmp=(($this1)|0)==(($1)|0);
if ($cmp) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $2=$info_addr;
var $3=$adjustedPtr_addr;
var $4=$path_below_addr;
__ZNK10__cxxabiv117__class_type_info24process_found_base_classEPNS_19__dynamic_cast_infoEPvi($this1, $2, $3, $4);
__label__ = 3; break;
case 3:
;
return;
default: assert(0, "bad label: " + __label__);
}
}
function __ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi($this, $info, $adjustedPtr, $path_below) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $info_addr;
var $adjustedPtr_addr;
var $path_below_addr;
$this_addr=$this;
$info_addr=$info;
$adjustedPtr_addr=$adjustedPtr;
$path_below_addr=$path_below;
var $this1=$this_addr;
var $0=$this1;
var $1=$info_addr;
var $static_type=(($1+8)|0);
var $2=HEAP32[(($static_type)>>2)];
var $cmp=(($0)|0)==(($2)|0);
if ($cmp) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $3=$this1;
var $4=$info_addr;
var $5=$adjustedPtr_addr;
var $6=$path_below_addr;
__ZNK10__cxxabiv117__class_type_info24process_found_base_classEPNS_19__dynamic_cast_infoEPvi($3, $4, $5, $6);
__label__ = 4; break;
case 3:
var $__base_type=(($this1+8)|0);
var $7=HEAP32[(($__base_type)>>2)];
var $8=$7;
var $vtable=HEAP32[(($8)>>2)];
var $vfn=(($vtable+20)|0);
var $9=HEAP32[(($vfn)>>2)];
var $10=$info_addr;
var $11=$adjustedPtr_addr;
var $12=$path_below_addr;
FUNCTION_TABLE[$9]($7, $10, $11, $12);
__label__ = 4; break;
case 4:
;
return;
default: assert(0, "bad label: " + __label__);
}
}
function __ZNK10__cxxabiv122__base_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi($this, $info, $adjustedPtr, $path_below) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $info_addr;
var $adjustedPtr_addr;
var $path_below_addr;
var $offset_to_base;
var $vtable;
$this_addr=$this;
$info_addr=$info;
$adjustedPtr_addr=$adjustedPtr;
$path_below_addr=$path_below;
var $this1=$this_addr;
var $__offset_flags=(($this1+4)|0);
var $0=HEAP32[(($__offset_flags)>>2)];
var $shr=$0 >> 8;
$offset_to_base=$shr;
var $__offset_flags2=(($this1+4)|0);
var $1=HEAP32[(($__offset_flags2)>>2)];
var $and=$1 & 1;
var $tobool=(($and)|0)!=0;
if ($tobool) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $2=$adjustedPtr_addr;
var $3=$2;
var $4=HEAP32[(($3)>>2)];
$vtable=$4;
var $5=$vtable;
var $6=$offset_to_base;
var $add_ptr=(($5+$6)|0);
var $7=$add_ptr;
var $8=HEAP32[(($7)>>2)];
$offset_to_base=$8;
__label__ = 3; break;
case 3:
var $__base_type=(($this1)|0);
var $9=HEAP32[(($__base_type)>>2)];
var $10=$9;
var $vtable3=HEAP32[(($10)>>2)];
var $vfn=(($vtable3+20)|0);
var $11=HEAP32[(($vfn)>>2)];
var $12=$info_addr;
var $13=$adjustedPtr_addr;
var $14=$offset_to_base;
var $add_ptr4=(($13+$14)|0);
var $__offset_flags5=(($this1+4)|0);
var $15=HEAP32[(($__offset_flags5)>>2)];
var $and6=$15 & 2;
var $tobool7=(($and6)|0)!=0;
if ($tobool7) { __label__ = 4; break; } else { __label__ = 5; break; }
case 4:
var $16=$path_below_addr;
var $cond = $16;__label__ = 6; break;
case 5:
var $cond = 2;__label__ = 6; break;
case 6:
var $cond;
FUNCTION_TABLE[$11]($9, $12, $add_ptr4, $cond);
;
return;
default: assert(0, "bad label: " + __label__);
}
}
__ZNK10__cxxabiv122__base_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi["X"]=1;
function __ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi($this, $info, $adjustedPtr, $path_below) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $info_addr;
var $adjustedPtr_addr;
var $path_below_addr;
var $e;
var $p;
$this_addr=$this;
$info_addr=$info;
$adjustedPtr_addr=$adjustedPtr;
$path_below_addr=$path_below;
var $this1=$this_addr;
var $0=$this1;
var $1=$info_addr;
var $static_type=(($1+8)|0);
var $2=HEAP32[(($static_type)>>2)];
var $cmp=(($0)|0)==(($2)|0);
if ($cmp) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $3=$this1;
var $4=$info_addr;
var $5=$adjustedPtr_addr;
var $6=$path_below_addr;
__ZNK10__cxxabiv117__class_type_info24process_found_base_classEPNS_19__dynamic_cast_infoEPvi($3, $4, $5, $6);
__label__ = 11; break;
case 3:
var $__base_info=(($this1+16)|0);
var $arraydecay=(($__base_info)|0);
var $__base_count=(($this1+12)|0);
var $7=HEAP32[(($__base_count)>>2)];
var $add_ptr=(($arraydecay+($7<<3))|0);
$e=$add_ptr;
var $__base_info2=(($this1+16)|0);
var $arraydecay3=(($__base_info2)|0);
$p=$arraydecay3;
var $8=$p;
var $9=$info_addr;
var $10=$adjustedPtr_addr;
var $11=$path_below_addr;
__ZNK10__cxxabiv122__base_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi($8, $9, $10, $11);
var $12=$p;
var $incdec_ptr=(($12+8)|0);
$p=$incdec_ptr;
var $13=$e;
var $cmp4=(($incdec_ptr)>>>0) < (($13)>>>0);
if ($cmp4) { __label__ = 4; break; } else { __label__ = 10; break; }
case 4:
__label__ = 5; break;
case 5:
var $14=$p;
var $15=$info_addr;
var $16=$adjustedPtr_addr;
var $17=$path_below_addr;
__ZNK10__cxxabiv122__base_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi($14, $15, $16, $17);
var $18=$info_addr;
var $search_done=(($18+54)|0);
var $19=HEAP8[($search_done)];
var $tobool=(($19) & 1);
if ($tobool) { __label__ = 6; break; } else { __label__ = 7; break; }
case 6:
__label__ = 9; break;
case 7:
__label__ = 8; break;
case 8:
var $20=$p;
var $incdec_ptr7=(($20+8)|0);
$p=$incdec_ptr7;
var $21=$e;
var $cmp8=(($incdec_ptr7)>>>0) < (($21)>>>0);
if ($cmp8) { __label__ = 5; break; } else { __label__ = 9; break; }
case 9:
__label__ = 10; break;
case 10:
__label__ = 11; break;
case 11:
;
return;
default: assert(0, "bad label: " + __label__);
}
}
__ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi["X"]=1;
function __ZNK10__cxxabiv119__pointer_type_info9can_catchEPKNS_16__shim_type_infoERPv($this, $thrown_type, $adjustedPtr) {
var __stackBase__ = STACKTOP; STACKTOP += 56; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $retval;
var $this_addr;
var $thrown_type_addr;
var $adjustedPtr_addr;
var $thrown_pointer_type;
var $catch_class_type;
var $thrown_class_type;
var $info=__stackBase__;
$this_addr=$this;
$thrown_type_addr=$thrown_type;
$adjustedPtr_addr=$adjustedPtr;
var $this1=$this_addr;
var $0=$adjustedPtr_addr;
var $1=HEAP32[(($0)>>2)];
var $2=$1;
var $3=HEAP32[(($2)>>2)];
var $4=$adjustedPtr_addr;
HEAP32[(($4)>>2)]=$3;
var $5=$this1;
var $6=$thrown_type_addr;
var $7=$adjustedPtr_addr;
var $call=__ZNK10__cxxabiv117__pbase_type_info9can_catchEPKNS_16__shim_type_infoERPv($5, $6, $7);
if ($call) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
$retval=1;
__label__ = 27; break;
case 3:
var $8=$thrown_type_addr;
var $9=(($8)|0)==0;
if ($9) { __label__ = 5; break; } else { __label__ = 4; break; }
case 4:
var $10=$8;
var $11=___dynamic_cast($10, __ZTIN10__cxxabiv116__shim_type_infoE, __ZTIN10__cxxabiv119__pointer_type_infoE, -1);
var $12=$11;
var $13 = $12;__label__ = 6; break;
case 5:
var $13 = 0;__label__ = 6; break;
case 6:
var $13;
$thrown_pointer_type=$13;
var $14=$thrown_pointer_type;
var $cmp=(($14)|0)==0;
if ($cmp) { __label__ = 7; break; } else { __label__ = 8; break; }
case 7:
$retval=0;
__label__ = 27; break;
case 8:
var $15=$thrown_pointer_type;
var $16=$15;
var $__flags=(($16+8)|0);
var $17=HEAP32[(($__flags)>>2)];
var $18=$this1;
var $__flags4=(($18+8)|0);
var $19=HEAP32[(($__flags4)>>2)];
var $neg=$19 ^ -1;
var $and=$17 & $neg;
var $tobool=(($and)|0)!=0;
if ($tobool) { __label__ = 9; break; } else { __label__ = 10; break; }
case 9:
$retval=0;
__label__ = 27; break;
case 10:
var $20=$this1;
var $__pointee=(($20+12)|0);
var $21=HEAP32[(($__pointee)>>2)];
var $22=$thrown_pointer_type;
var $23=$22;
var $__pointee7=(($23+12)|0);
var $24=HEAP32[(($__pointee7)>>2)];
var $cmp8=(($21)|0)==(($24)|0);
if ($cmp8) { __label__ = 11; break; } else { __label__ = 12; break; }
case 11:
$retval=1;
__label__ = 27; break;
case 12:
var $25=$this1;
var $__pointee11=(($25+12)|0);
var $26=HEAP32[(($__pointee11)>>2)];
var $27=$26;
var $cmp12=(($27)|0)==((__ZTIv)|0);
if ($cmp12) { __label__ = 13; break; } else { __label__ = 14; break; }
case 13:
$retval=1;
__label__ = 27; break;
case 14:
var $28=$this1;
var $__pointee15=(($28+12)|0);
var $29=HEAP32[(($__pointee15)>>2)];
var $30=(($29)|0)==0;
if ($30) { __label__ = 16; break; } else { __label__ = 15; break; }
case 15:
var $31=$29;
var $32=___dynamic_cast($31, __ZTIN10__cxxabiv116__shim_type_infoE, __ZTIN10__cxxabiv117__class_type_infoE, -1);
var $33=$32;
var $34 = $33;__label__ = 17; break;
case 16:
var $34 = 0;__label__ = 17; break;
case 17:
var $34;
$catch_class_type=$34;
var $35=$catch_class_type;
var $cmp19=(($35)|0)==0;
if ($cmp19) { __label__ = 18; break; } else { __label__ = 19; break; }
case 18:
$retval=0;
__label__ = 27; break;
case 19:
var $36=$thrown_pointer_type;
var $37=$36;
var $__pointee22=(($37+12)|0);
var $38=HEAP32[(($__pointee22)>>2)];
var $39=(($38)|0)==0;
if ($39) { __label__ = 21; break; } else { __label__ = 20; break; }
case 20:
var $40=$38;
var $41=___dynamic_cast($40, __ZTIN10__cxxabiv116__shim_type_infoE, __ZTIN10__cxxabiv117__class_type_infoE, -1);
var $42=$41;
var $43 = $42;__label__ = 22; break;
case 21:
var $43 = 0;__label__ = 22; break;
case 22:
var $43;
$thrown_class_type=$43;
var $44=$thrown_class_type;
var $cmp26=(($44)|0)==0;
if ($cmp26) { __label__ = 23; break; } else { __label__ = 24; break; }
case 23:
$retval=0;
__label__ = 27; break;
case 24:
var $45=$info;
for (var $$dest = $45>>2, $$stop = $$dest + 14; $$dest < $$stop; $$dest++) {
HEAP32[$$dest] = 0
};
var $dst_type=(($info)|0);
var $46=$thrown_class_type;
HEAP32[(($dst_type)>>2)]=$46;
var $static_type=(($info+8)|0);
var $47=$catch_class_type;
HEAP32[(($static_type)>>2)]=$47;
var $src2dst_offset=(($info+12)|0);
HEAP32[(($src2dst_offset)>>2)]=-1;
var $number_of_dst_type=(($info+48)|0);
HEAP32[(($number_of_dst_type)>>2)]=1;
var $48=$thrown_class_type;
var $49=$48;
var $vtable=HEAP32[(($49)>>2)];
var $vfn=(($vtable+20)|0);
var $50=HEAP32[(($vfn)>>2)];
var $51=$adjustedPtr_addr;
var $52=HEAP32[(($51)>>2)];
FUNCTION_TABLE[$50]($48, $info, $52, 1);
var $path_dst_ptr_to_static_ptr=(($info+24)|0);
var $53=HEAP32[(($path_dst_ptr_to_static_ptr)>>2)];
var $cmp29=(($53)|0)==1;
if ($cmp29) { __label__ = 25; break; } else { __label__ = 26; break; }
case 25:
var $dst_ptr_leading_to_static_ptr=(($info+16)|0);
var $54=HEAP32[(($dst_ptr_leading_to_static_ptr)>>2)];
var $55=$adjustedPtr_addr;
HEAP32[(($55)>>2)]=$54;
$retval=1;
__label__ = 27; break;
case 26:
$retval=0;
__label__ = 27; break;
case 27:
var $56=$retval;
STACKTOP = __stackBase__;
return $56;
default: assert(0, "bad label: " + __label__);
}
}
__ZNK10__cxxabiv119__pointer_type_info9can_catchEPKNS_16__shim_type_infoERPv["X"]=1;
function __ZNK10__cxxabiv117__class_type_info29process_static_type_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i($this, $info, $dst_ptr, $current_ptr, $path_below) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $info_addr;
var $dst_ptr_addr;
var $current_ptr_addr;
var $path_below_addr;
$this_addr=$this;
$info_addr=$info;
$dst_ptr_addr=$dst_ptr;
$current_ptr_addr=$current_ptr;
$path_below_addr=$path_below;
var $this1=$this_addr;
var $0=$info_addr;
var $found_any_static_type=(($0+53)|0);
HEAP8[($found_any_static_type)]=1;
var $1=$current_ptr_addr;
var $2=$info_addr;
var $static_ptr=(($2+4)|0);
var $3=HEAP32[(($static_ptr)>>2)];
var $cmp=(($1)|0)==(($3)|0);
if ($cmp) { __label__ = 2; break; } else { __label__ = 17; break; }
case 2:
var $4=$info_addr;
var $found_our_static_ptr=(($4+52)|0);
HEAP8[($found_our_static_ptr)]=1;
var $5=$info_addr;
var $dst_ptr_leading_to_static_ptr=(($5+16)|0);
var $6=HEAP32[(($dst_ptr_leading_to_static_ptr)>>2)];
var $cmp2=(($6)|0)==0;
if ($cmp2) { __label__ = 3; break; } else { __label__ = 7; break; }
case 3:
var $7=$dst_ptr_addr;
var $8=$info_addr;
var $dst_ptr_leading_to_static_ptr4=(($8+16)|0);
HEAP32[(($dst_ptr_leading_to_static_ptr4)>>2)]=$7;
var $9=$path_below_addr;
var $10=$info_addr;
var $path_dst_ptr_to_static_ptr=(($10+24)|0);
HEAP32[(($path_dst_ptr_to_static_ptr)>>2)]=$9;
var $11=$info_addr;
var $number_to_static_ptr=(($11+36)|0);
HEAP32[(($number_to_static_ptr)>>2)]=1;
var $12=$info_addr;
var $number_of_dst_type=(($12+48)|0);
var $13=HEAP32[(($number_of_dst_type)>>2)];
var $cmp5=(($13)|0)==1;
if ($cmp5) { __label__ = 4; break; } else { __label__ = 6; break; }
case 4:
var $14=$info_addr;
var $path_dst_ptr_to_static_ptr6=(($14+24)|0);
var $15=HEAP32[(($path_dst_ptr_to_static_ptr6)>>2)];
var $cmp7=(($15)|0)==1;
if ($cmp7) { __label__ = 5; break; } else { __label__ = 6; break; }
case 5:
var $16=$info_addr;
var $search_done=(($16+54)|0);
HEAP8[($search_done)]=1;
__label__ = 6; break;
case 6:
__label__ = 16; break;
case 7:
var $17=$info_addr;
var $dst_ptr_leading_to_static_ptr9=(($17+16)|0);
var $18=HEAP32[(($dst_ptr_leading_to_static_ptr9)>>2)];
var $19=$dst_ptr_addr;
var $cmp10=(($18)|0)==(($19)|0);
if ($cmp10) { __label__ = 8; break; } else { __label__ = 14; break; }
case 8:
var $20=$info_addr;
var $path_dst_ptr_to_static_ptr12=(($20+24)|0);
var $21=HEAP32[(($path_dst_ptr_to_static_ptr12)>>2)];
var $cmp13=(($21)|0)==2;
if ($cmp13) { __label__ = 9; break; } else { __label__ = 10; break; }
case 9:
var $22=$path_below_addr;
var $23=$info_addr;
var $path_dst_ptr_to_static_ptr15=(($23+24)|0);
HEAP32[(($path_dst_ptr_to_static_ptr15)>>2)]=$22;
__label__ = 10; break;
case 10:
var $24=$info_addr;
var $number_of_dst_type17=(($24+48)|0);
var $25=HEAP32[(($number_of_dst_type17)>>2)];
var $cmp18=(($25)|0)==1;
if ($cmp18) { __label__ = 11; break; } else { __label__ = 13; break; }
case 11:
var $26=$info_addr;
var $path_dst_ptr_to_static_ptr20=(($26+24)|0);
var $27=HEAP32[(($path_dst_ptr_to_static_ptr20)>>2)];
var $cmp21=(($27)|0)==1;
if ($cmp21) { __label__ = 12; break; } else { __label__ = 13; break; }
case 12:
var $28=$info_addr;
var $search_done23=(($28+54)|0);
HEAP8[($search_done23)]=1;
__label__ = 13; break;
case 13:
__label__ = 15; break;
case 14:
var $29=$info_addr;
var $number_to_static_ptr26=(($29+36)|0);
var $30=HEAP32[(($number_to_static_ptr26)>>2)];
var $add=(($30+1)|0);
HEAP32[(($number_to_static_ptr26)>>2)]=$add;
var $31=$info_addr;
var $search_done27=(($31+54)|0);
HEAP8[($search_done27)]=1;
__label__ = 15; break;
case 15:
__label__ = 16; break;
case 16:
__label__ = 17; break;
case 17:
;
return;
default: assert(0, "bad label: " + __label__);
}
}
__ZNK10__cxxabiv117__class_type_info29process_static_type_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i["X"]=1;
function __ZNK10__cxxabiv117__class_type_info29process_static_type_below_dstEPNS_19__dynamic_cast_infoEPKvi($this, $info, $current_ptr, $path_below) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $info_addr;
var $current_ptr_addr;
var $path_below_addr;
$this_addr=$this;
$info_addr=$info;
$current_ptr_addr=$current_ptr;
$path_below_addr=$path_below;
var $this1=$this_addr;
var $0=$current_ptr_addr;
var $1=$info_addr;
var $static_ptr=(($1+4)|0);
var $2=HEAP32[(($static_ptr)>>2)];
var $cmp=(($0)|0)==(($2)|0);
if ($cmp) { __label__ = 2; break; } else { __label__ = 5; break; }
case 2:
var $3=$info_addr;
var $path_dynamic_ptr_to_static_ptr=(($3+28)|0);
var $4=HEAP32[(($path_dynamic_ptr_to_static_ptr)>>2)];
var $cmp2=(($4)|0)!=1;
if ($cmp2) { __label__ = 3; break; } else { __label__ = 4; break; }
case 3:
var $5=$path_below_addr;
var $6=$info_addr;
var $path_dynamic_ptr_to_static_ptr4=(($6+28)|0);
HEAP32[(($path_dynamic_ptr_to_static_ptr4)>>2)]=$5;
__label__ = 4; break;
case 4:
__label__ = 5; break;
case 5:
;
return;
default: assert(0, "bad label: " + __label__);
}
}
function ___dynamic_cast($static_ptr, $static_type, $dst_type, $src2dst_offset) {
var __stackBase__ = STACKTOP; STACKTOP += 56; assert(STACKTOP % 4 == 0, "Stack is unaligned"); assert(STACKTOP < STACK_MAX, "Ran out of stack");
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $static_ptr_addr;
var $static_type_addr;
var $dst_type_addr;
var $src2dst_offset_addr;
var $vtable;
var $offset_to_derived;
var $dynamic_ptr;
var $dynamic_type;
var $dst_ptr;
var $info=__stackBase__;
$static_ptr_addr=$static_ptr;
$static_type_addr=$static_type;
$dst_type_addr=$dst_type;
$src2dst_offset_addr=$src2dst_offset;
var $0=$static_ptr_addr;
var $1=$0;
var $2=HEAP32[(($1)>>2)];
$vtable=$2;
var $3=$vtable;
var $arrayidx=(($3-8)|0);
var $4=HEAP32[(($arrayidx)>>2)];
var $5=$4;
$offset_to_derived=$5;
var $6=$static_ptr_addr;
var $7=$offset_to_derived;
var $add_ptr=(($6+$7)|0);
$dynamic_ptr=$add_ptr;
var $8=$vtable;
var $arrayidx1=(($8-4)|0);
var $9=HEAP32[(($arrayidx1)>>2)];
var $10=$9;
$dynamic_type=$10;
$dst_ptr=0;
var $dst_type2=(($info)|0);
var $11=$dst_type_addr;
HEAP32[(($dst_type2)>>2)]=$11;
var $static_ptr3=(($info+4)|0);
var $12=$static_ptr_addr;
HEAP32[(($static_ptr3)>>2)]=$12;
var $static_type4=(($info+8)|0);
var $13=$static_type_addr;
HEAP32[(($static_type4)>>2)]=$13;
var $src2dst_offset5=(($info+12)|0);
var $14=$src2dst_offset_addr;
HEAP32[(($src2dst_offset5)>>2)]=$14;
var $dst_ptr_leading_to_static_ptr=(($info+16)|0);
HEAP32[(($dst_ptr_leading_to_static_ptr)>>2)]=0;
var $dst_ptr_not_leading_to_static_ptr=(($info+20)|0);
HEAP32[(($dst_ptr_not_leading_to_static_ptr)>>2)]=0;
var $path_dst_ptr_to_static_ptr=(($info+24)|0);
HEAP32[(($path_dst_ptr_to_static_ptr)>>2)]=0;
var $path_dynamic_ptr_to_static_ptr=(($info+28)|0);
HEAP32[(($path_dynamic_ptr_to_static_ptr)>>2)]=0;
var $path_dynamic_ptr_to_dst_ptr=(($info+32)|0);
HEAP32[(($path_dynamic_ptr_to_dst_ptr)>>2)]=0;
var $number_to_static_ptr=(($info+36)|0);
HEAP32[(($number_to_static_ptr)>>2)]=0;
var $number_to_dst_ptr=(($info+40)|0);
HEAP32[(($number_to_dst_ptr)>>2)]=0;
var $is_dst_type_derived_from_static_type=(($info+44)|0);
HEAP32[(($is_dst_type_derived_from_static_type)>>2)]=0;
var $number_of_dst_type=(($info+48)|0);
HEAP32[(($number_of_dst_type)>>2)]=0;
var $found_our_static_ptr=(($info+52)|0);
HEAP8[($found_our_static_ptr)]=0;
var $found_any_static_type=(($info+53)|0);
HEAP8[($found_any_static_type)]=0;
var $search_done=(($info+54)|0);
HEAP8[($search_done)]=0;
var $15=$dynamic_type;
var $16=$dst_type_addr;
var $cmp=(($15)|0)==(($16)|0);
if ($cmp) { __label__ = 2; break; } else { __label__ = 5; break; }
case 2:
var $number_of_dst_type6=(($info+48)|0);
HEAP32[(($number_of_dst_type6)>>2)]=1;
var $17=$dynamic_type;
var $18=$17;
var $vtable7=HEAP32[(($18)>>2)];
var $vfn=(($vtable7+12)|0);
var $19=HEAP32[(($vfn)>>2)];
var $20=$dynamic_ptr;
var $21=$dynamic_ptr;
FUNCTION_TABLE[$19]($17, $info, $20, $21, 1);
var $path_dst_ptr_to_static_ptr8=(($info+24)|0);
var $22=HEAP32[(($path_dst_ptr_to_static_ptr8)>>2)];
var $cmp9=(($22)|0)==1;
if ($cmp9) { __label__ = 3; break; } else { __label__ = 4; break; }
case 3:
var $23=$dynamic_ptr;
$dst_ptr=$23;
__label__ = 4; break;
case 4:
__label__ = 18; break;
case 5:
var $24=$dynamic_type;
var $25=$24;
var $vtable11=HEAP32[(($25)>>2)];
var $vfn12=(($vtable11+16)|0);
var $26=HEAP32[(($vfn12)>>2)];
var $27=$dynamic_ptr;
FUNCTION_TABLE[$26]($24, $info, $27, 1);
var $number_to_static_ptr13=(($info+36)|0);
var $28=HEAP32[(($number_to_static_ptr13)>>2)];
if ((($28)|0) == 0) {
__label__ = 6; break;
}
else if ((($28)|0) == 1) {
__label__ = 11; break;
}
else {
__label__ = 17; break;
}
case 6:
var $number_to_dst_ptr14=(($info+40)|0);
var $29=HEAP32[(($number_to_dst_ptr14)>>2)];
var $cmp15=(($29)|0)==1;
if ($cmp15) { __label__ = 7; break; } else { __label__ = 10; break; }
case 7:
var $path_dynamic_ptr_to_static_ptr16=(($info+28)|0);
var $30=HEAP32[(($path_dynamic_ptr_to_static_ptr16)>>2)];
var $cmp17=(($30)|0)==1;
if ($cmp17) { __label__ = 8; break; } else { __label__ = 10; break; }
case 8:
var $path_dynamic_ptr_to_dst_ptr19=(($info+32)|0);
var $31=HEAP32[(($path_dynamic_ptr_to_dst_ptr19)>>2)];
var $cmp20=(($31)|0)==1;
if ($cmp20) { __label__ = 9; break; } else { __label__ = 10; break; }
case 9:
var $dst_ptr_not_leading_to_static_ptr22=(($info+20)|0);
var $32=HEAP32[(($dst_ptr_not_leading_to_static_ptr22)>>2)];
$dst_ptr=$32;
__label__ = 10; break;
case 10:
__label__ = 17; break;
case 11:
var $path_dst_ptr_to_static_ptr25=(($info+24)|0);
var $33=HEAP32[(($path_dst_ptr_to_static_ptr25)>>2)];
var $cmp26=(($33)|0)==1;
if ($cmp26) { __label__ = 15; break; } else { __label__ = 12; break; }
case 12:
var $number_to_dst_ptr27=(($info+40)|0);
var $34=HEAP32[(($number_to_dst_ptr27)>>2)];
var $cmp28=(($34)|0)==0;
if ($cmp28) { __label__ = 13; break; } else { __label__ = 16; break; }
case 13:
var $path_dynamic_ptr_to_static_ptr30=(($info+28)|0);
var $35=HEAP32[(($path_dynamic_ptr_to_static_ptr30)>>2)];
var $cmp31=(($35)|0)==1;
if ($cmp31) { __label__ = 14; break; } else { __label__ = 16; break; }
case 14:
var $path_dynamic_ptr_to_dst_ptr33=(($info+32)|0);
var $36=HEAP32[(($path_dynamic_ptr_to_dst_ptr33)>>2)];
var $cmp34=(($36)|0)==1;
if ($cmp34) { __label__ = 15; break; } else { __label__ = 16; break; }
case 15:
var $dst_ptr_leading_to_static_ptr36=(($info+16)|0);
var $37=HEAP32[(($dst_ptr_leading_to_static_ptr36)>>2)];
$dst_ptr=$37;
__label__ = 16; break;
case 16:
__label__ = 17; break;
case 17:
__label__ = 18; break;
case 18:
var $38=$dst_ptr;
STACKTOP = __stackBase__;
return $38;
default: assert(0, "bad label: " + __label__);
}
}
___dynamic_cast["X"]=1;
function __ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvi($this, $info, $current_ptr, $path_below) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $info_addr;
var $current_ptr_addr;
var $path_below_addr;
var $is_dst_type_derived_from_static_type13;
var $does_dst_type_point_to_our_static_type;
var $e;
var $p;
var $e58;
var $p63;
$this_addr=$this;
$info_addr=$info;
$current_ptr_addr=$current_ptr;
$path_below_addr=$path_below;
var $this1=$this_addr;
var $0=$this1;
var $1=$info_addr;
var $static_type=(($1+8)|0);
var $2=HEAP32[(($static_type)>>2)];
var $cmp=(($0)|0)==(($2)|0);
if ($cmp) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $3=$this1;
var $4=$info_addr;
var $5=$current_ptr_addr;
var $6=$path_below_addr;
__ZNK10__cxxabiv117__class_type_info29process_static_type_below_dstEPNS_19__dynamic_cast_infoEPKvi($3, $4, $5, $6);
__label__ = 69; break;
case 3:
var $7=$this1;
var $8=$info_addr;
var $dst_type=(($8)|0);
var $9=HEAP32[(($dst_type)>>2)];
var $cmp2=(($7)|0)==(($9)|0);
if ($cmp2) { __label__ = 4; break; } else { __label__ = 38; break; }
case 4:
var $10=$current_ptr_addr;
var $11=$info_addr;
var $dst_ptr_leading_to_static_ptr=(($11+16)|0);
var $12=HEAP32[(($dst_ptr_leading_to_static_ptr)>>2)];
var $cmp4=(($10)|0)==(($12)|0);
if ($cmp4) { __label__ = 6; break; } else { __label__ = 5; break; }
case 5:
var $13=$current_ptr_addr;
var $14=$info_addr;
var $dst_ptr_not_leading_to_static_ptr=(($14+20)|0);
var $15=HEAP32[(($dst_ptr_not_leading_to_static_ptr)>>2)];
var $cmp5=(($13)|0)==(($15)|0);
if ($cmp5) { __label__ = 6; break; } else { __label__ = 9; break; }
case 6:
var $16=$path_below_addr;
var $cmp7=(($16)|0)==1;
if ($cmp7) { __label__ = 7; break; } else { __label__ = 8; break; }
case 7:
var $17=$info_addr;
var $path_dynamic_ptr_to_dst_ptr=(($17+32)|0);
HEAP32[(($path_dynamic_ptr_to_dst_ptr)>>2)]=1;
__label__ = 8; break;
case 8:
__label__ = 37; break;
case 9:
var $18=$path_below_addr;
var $19=$info_addr;
var $path_dynamic_ptr_to_dst_ptr10=(($19+32)|0);
HEAP32[(($path_dynamic_ptr_to_dst_ptr10)>>2)]=$18;
var $20=$info_addr;
var $is_dst_type_derived_from_static_type=(($20+44)|0);
var $21=HEAP32[(($is_dst_type_derived_from_static_type)>>2)];
var $cmp11=(($21)|0)!=4;
if ($cmp11) { __label__ = 10; break; } else { __label__ = 36; break; }
case 10:
$is_dst_type_derived_from_static_type13=0;
$does_dst_type_point_to_our_static_type=0;
var $__base_info=(($this1+16)|0);
var $arraydecay=(($__base_info)|0);
var $__base_count=(($this1+12)|0);
var $22=HEAP32[(($__base_count)>>2)];
var $add_ptr=(($arraydecay+($22<<3))|0);
$e=$add_ptr;
var $__base_info14=(($this1+16)|0);
var $arraydecay15=(($__base_info14)|0);
$p=$arraydecay15;
__label__ = 11; break;
case 11:
var $23=$p;
var $24=$e;
var $cmp16=(($23)>>>0) < (($24)>>>0);
if ($cmp16) { __label__ = 12; break; } else { __label__ = 27; break; }
case 12:
var $25=$info_addr;
var $found_our_static_ptr=(($25+52)|0);
HEAP8[($found_our_static_ptr)]=0;
var $26=$info_addr;
var $found_any_static_type=(($26+53)|0);
HEAP8[($found_any_static_type)]=0;
var $27=$p;
var $28=$info_addr;
var $29=$current_ptr_addr;
var $30=$current_ptr_addr;
__ZNK10__cxxabiv122__base_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i($27, $28, $29, $30, 1);
var $31=$info_addr;
var $search_done=(($31+54)|0);
var $32=HEAP8[($search_done)];
var $tobool=(($32) & 1);
if ($tobool) { __label__ = 13; break; } else { __label__ = 14; break; }
case 13:
__label__ = 27; break;
case 14:
var $33=$info_addr;
var $found_any_static_type19=(($33+53)|0);
var $34=HEAP8[($found_any_static_type19)];
var $tobool20=(($34) & 1);
if ($tobool20) { __label__ = 15; break; } else { __label__ = 25; break; }
case 15:
$is_dst_type_derived_from_static_type13=1;
var $35=$info_addr;
var $found_our_static_ptr22=(($35+52)|0);
var $36=HEAP8[($found_our_static_ptr22)];
var $tobool23=(($36) & 1);
if ($tobool23) { __label__ = 16; break; } else { __label__ = 21; break; }
case 16:
$does_dst_type_point_to_our_static_type=1;
var $37=$info_addr;
var $path_dst_ptr_to_static_ptr=(($37+24)|0);
var $38=HEAP32[(($path_dst_ptr_to_static_ptr)>>2)];
var $cmp25=(($38)|0)==1;
if ($cmp25) { __label__ = 17; break; } else { __label__ = 18; break; }
case 17:
__label__ = 27; break;
case 18:
var $__flags=(($this1+8)|0);
var $39=HEAP32[(($__flags)>>2)];
var $and=$39 & 2;
var $tobool28=(($and)|0)!=0;
if ($tobool28) { __label__ = 20; break; } else { __label__ = 19; break; }
case 19:
__label__ = 27; break;
case 20:
__label__ = 24; break;
case 21:
var $__flags32=(($this1+8)|0);
var $40=HEAP32[(($__flags32)>>2)];
var $and33=$40 & 1;
var $tobool34=(($and33)|0)!=0;
if ($tobool34) { __label__ = 23; break; } else { __label__ = 22; break; }
case 22:
__label__ = 27; break;
case 23:
__label__ = 24; break;
case 24:
__label__ = 25; break;
case 25:
__label__ = 26; break;
case 26:
var $41=$p;
var $incdec_ptr=(($41+8)|0);
$p=$incdec_ptr;
__label__ = 11; break;
case 27:
var $42=$does_dst_type_point_to_our_static_type;
var $tobool39=(($42) & 1);
if ($tobool39) { __label__ = 32; break; } else { __label__ = 28; break; }
case 28:
var $43=$current_ptr_addr;
var $44=$info_addr;
var $dst_ptr_not_leading_to_static_ptr41=(($44+20)|0);
HEAP32[(($dst_ptr_not_leading_to_static_ptr41)>>2)]=$43;
var $45=$info_addr;
var $number_to_dst_ptr=(($45+40)|0);
var $46=HEAP32[(($number_to_dst_ptr)>>2)];
var $add=(($46+1)|0);
HEAP32[(($number_to_dst_ptr)>>2)]=$add;
var $47=$info_addr;
var $number_to_static_ptr=(($47+36)|0);
var $48=HEAP32[(($number_to_static_ptr)>>2)];
var $cmp42=(($48)|0)==1;
if ($cmp42) { __label__ = 29; break; } else { __label__ = 31; break; }
case 29:
var $49=$info_addr;
var $path_dst_ptr_to_static_ptr43=(($49+24)|0);
var $50=HEAP32[(($path_dst_ptr_to_static_ptr43)>>2)];
var $cmp44=(($50)|0)==2;
if ($cmp44) { __label__ = 30; break; } else { __label__ = 31; break; }
case 30:
var $51=$info_addr;
var $search_done46=(($51+54)|0);
HEAP8[($search_done46)]=1;
__label__ = 31; break;
case 31:
__label__ = 32; break;
case 32:
var $52=$is_dst_type_derived_from_static_type13;
var $tobool49=(($52) & 1);
if ($tobool49) { __label__ = 33; break; } else { __label__ = 34; break; }
case 33:
var $53=$info_addr;
var $is_dst_type_derived_from_static_type51=(($53+44)|0);
HEAP32[(($is_dst_type_derived_from_static_type51)>>2)]=3;
__label__ = 35; break;
case 34:
var $54=$info_addr;
var $is_dst_type_derived_from_static_type53=(($54+44)|0);
HEAP32[(($is_dst_type_derived_from_static_type53)>>2)]=4;
__label__ = 35; break;
case 35:
__label__ = 36; break;
case 36:
__label__ = 37; break;
case 37:
__label__ = 68; break;
case 38:
var $__base_info59=(($this1+16)|0);
var $arraydecay60=(($__base_info59)|0);
var $__base_count61=(($this1+12)|0);
var $55=HEAP32[(($__base_count61)>>2)];
var $add_ptr62=(($arraydecay60+($55<<3))|0);
$e58=$add_ptr62;
var $__base_info64=(($this1+16)|0);
var $arraydecay65=(($__base_info64)|0);
$p63=$arraydecay65;
var $56=$p63;
var $57=$info_addr;
var $58=$current_ptr_addr;
var $59=$path_below_addr;
__ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvi($56, $57, $58, $59);
var $60=$p63;
var $incdec_ptr66=(($60+8)|0);
$p63=$incdec_ptr66;
var $61=$e58;
var $cmp67=(($incdec_ptr66)>>>0) < (($61)>>>0);
if ($cmp67) { __label__ = 39; break; } else { __label__ = 67; break; }
case 39:
var $__flags69=(($this1+8)|0);
var $62=HEAP32[(($__flags69)>>2)];
var $and70=$62 & 2;
var $tobool71=(($and70)|0)!=0;
if ($tobool71) { __label__ = 41; break; } else { __label__ = 40; break; }
case 40:
var $63=$info_addr;
var $number_to_static_ptr73=(($63+36)|0);
var $64=HEAP32[(($number_to_static_ptr73)>>2)];
var $cmp74=(($64)|0)==1;
if ($cmp74) { __label__ = 41; break; } else { __label__ = 47; break; }
case 41:
__label__ = 42; break;
case 42:
var $65=$info_addr;
var $search_done76=(($65+54)|0);
var $66=HEAP8[($search_done76)];
var $tobool77=(($66) & 1);
if ($tobool77) { __label__ = 43; break; } else { __label__ = 44; break; }
case 43:
__label__ = 46; break;
case 44:
var $67=$p63;
var $68=$info_addr;
var $69=$current_ptr_addr;
var $70=$path_below_addr;
__ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvi($67, $68, $69, $70);
__label__ = 45; break;
case 45:
var $71=$p63;
var $incdec_ptr80=(($71+8)|0);
$p63=$incdec_ptr80;
var $72=$e58;
var $cmp81=(($incdec_ptr80)>>>0) < (($72)>>>0);
if ($cmp81) { __label__ = 42; break; } else { __label__ = 46; break; }
case 46:
__label__ = 66; break;
case 47:
var $__flags83=(($this1+8)|0);
var $73=HEAP32[(($__flags83)>>2)];
var $and84=$73 & 1;
var $tobool85=(($and84)|0)!=0;
if ($tobool85) { __label__ = 48; break; } else { __label__ = 57; break; }
case 48:
__label__ = 49; break;
case 49:
var $74=$info_addr;
var $search_done88=(($74+54)|0);
var $75=HEAP8[($search_done88)];
var $tobool89=(($75) & 1);
if ($tobool89) { __label__ = 50; break; } else { __label__ = 51; break; }
case 50:
__label__ = 56; break;
case 51:
var $76=$info_addr;
var $number_to_static_ptr92=(($76+36)|0);
var $77=HEAP32[(($number_to_static_ptr92)>>2)];
var $cmp93=(($77)|0)==1;
if ($cmp93) { __label__ = 52; break; } else { __label__ = 54; break; }
case 52:
var $78=$info_addr;
var $path_dst_ptr_to_static_ptr95=(($78+24)|0);
var $79=HEAP32[(($path_dst_ptr_to_static_ptr95)>>2)];
var $cmp96=(($79)|0)==1;
if ($cmp96) { __label__ = 53; break; } else { __label__ = 54; break; }
case 53:
__label__ = 56; break;
case 54:
var $80=$p63;
var $81=$info_addr;
var $82=$current_ptr_addr;
var $83=$path_below_addr;
__ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvi($80, $81, $82, $83);
__label__ = 55; break;
case 55:
var $84=$p63;
var $incdec_ptr100=(($84+8)|0);
$p63=$incdec_ptr100;
var $85=$e58;
var $cmp101=(($incdec_ptr100)>>>0) < (($85)>>>0);
if ($cmp101) { __label__ = 49; break; } else { __label__ = 56; break; }
case 56:
__label__ = 65; break;
case 57:
__label__ = 58; break;
case 58:
var $86=$info_addr;
var $search_done105=(($86+54)|0);
var $87=HEAP8[($search_done105)];
var $tobool106=(($87) & 1);
if ($tobool106) { __label__ = 59; break; } else { __label__ = 60; break; }
case 59:
__label__ = 64; break;
case 60:
var $88=$info_addr;
var $number_to_static_ptr109=(($88+36)|0);
var $89=HEAP32[(($number_to_static_ptr109)>>2)];
var $cmp110=(($89)|0)==1;
if ($cmp110) { __label__ = 61; break; } else { __label__ = 62; break; }
case 61:
__label__ = 64; break;
case 62:
var $90=$p63;
var $91=$info_addr;
var $92=$current_ptr_addr;
var $93=$path_below_addr;
__ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvi($90, $91, $92, $93);
__label__ = 63; break;
case 63:
var $94=$p63;
var $incdec_ptr114=(($94+8)|0);
$p63=$incdec_ptr114;
var $95=$e58;
var $cmp115=(($incdec_ptr114)>>>0) < (($95)>>>0);
if ($cmp115) { __label__ = 58; break; } else { __label__ = 64; break; }
case 64:
__label__ = 65; break;
case 65:
__label__ = 66; break;
case 66:
__label__ = 67; break;
case 67:
__label__ = 68; break;
case 68:
__label__ = 69; break;
case 69:
;
return;
default: assert(0, "bad label: " + __label__);
}
}
__ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvi["X"]=1;
function __ZNK10__cxxabiv122__base_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i($this, $info, $dst_ptr, $current_ptr, $path_below) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $info_addr;
var $dst_ptr_addr;
var $current_ptr_addr;
var $path_below_addr;
var $offset_to_base;
var $vtable;
$this_addr=$this;
$info_addr=$info;
$dst_ptr_addr=$dst_ptr;
$current_ptr_addr=$current_ptr;
$path_below_addr=$path_below;
var $this1=$this_addr;
var $__offset_flags=(($this1+4)|0);
var $0=HEAP32[(($__offset_flags)>>2)];
var $shr=$0 >> 8;
$offset_to_base=$shr;
var $__offset_flags2=(($this1+4)|0);
var $1=HEAP32[(($__offset_flags2)>>2)];
var $and=$1 & 1;
var $tobool=(($and)|0)!=0;
if ($tobool) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $2=$current_ptr_addr;
var $3=$2;
var $4=HEAP32[(($3)>>2)];
$vtable=$4;
var $5=$vtable;
var $6=$offset_to_base;
var $add_ptr=(($5+$6)|0);
var $7=$add_ptr;
var $8=HEAP32[(($7)>>2)];
$offset_to_base=$8;
__label__ = 3; break;
case 3:
var $__base_type=(($this1)|0);
var $9=HEAP32[(($__base_type)>>2)];
var $10=$9;
var $vtable3=HEAP32[(($10)>>2)];
var $vfn=(($vtable3+12)|0);
var $11=HEAP32[(($vfn)>>2)];
var $12=$info_addr;
var $13=$dst_ptr_addr;
var $14=$current_ptr_addr;
var $15=$offset_to_base;
var $add_ptr4=(($14+$15)|0);
var $__offset_flags5=(($this1+4)|0);
var $16=HEAP32[(($__offset_flags5)>>2)];
var $and6=$16 & 2;
var $tobool7=(($and6)|0)!=0;
if ($tobool7) { __label__ = 4; break; } else { __label__ = 5; break; }
case 4:
var $17=$path_below_addr;
var $cond = $17;__label__ = 6; break;
case 5:
var $cond = 2;__label__ = 6; break;
case 6:
var $cond;
FUNCTION_TABLE[$11]($9, $12, $13, $add_ptr4, $cond);
;
return;
default: assert(0, "bad label: " + __label__);
}
}
__ZNK10__cxxabiv122__base_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i["X"]=1;
function __ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvi($this, $info, $current_ptr, $path_below) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $info_addr;
var $current_ptr_addr;
var $path_below_addr;
var $offset_to_base;
var $vtable;
$this_addr=$this;
$info_addr=$info;
$current_ptr_addr=$current_ptr;
$path_below_addr=$path_below;
var $this1=$this_addr;
var $__offset_flags=(($this1+4)|0);
var $0=HEAP32[(($__offset_flags)>>2)];
var $shr=$0 >> 8;
$offset_to_base=$shr;
var $__offset_flags2=(($this1+4)|0);
var $1=HEAP32[(($__offset_flags2)>>2)];
var $and=$1 & 1;
var $tobool=(($and)|0)!=0;
if ($tobool) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $2=$current_ptr_addr;
var $3=$2;
var $4=HEAP32[(($3)>>2)];
$vtable=$4;
var $5=$vtable;
var $6=$offset_to_base;
var $add_ptr=(($5+$6)|0);
var $7=$add_ptr;
var $8=HEAP32[(($7)>>2)];
$offset_to_base=$8;
__label__ = 3; break;
case 3:
var $__base_type=(($this1)|0);
var $9=HEAP32[(($__base_type)>>2)];
var $10=$9;
var $vtable3=HEAP32[(($10)>>2)];
var $vfn=(($vtable3+16)|0);
var $11=HEAP32[(($vfn)>>2)];
var $12=$info_addr;
var $13=$current_ptr_addr;
var $14=$offset_to_base;
var $add_ptr4=(($13+$14)|0);
var $__offset_flags5=(($this1+4)|0);
var $15=HEAP32[(($__offset_flags5)>>2)];
var $and6=$15 & 2;
var $tobool7=(($and6)|0)!=0;
if ($tobool7) { __label__ = 4; break; } else { __label__ = 5; break; }
case 4:
var $16=$path_below_addr;
var $cond = $16;__label__ = 6; break;
case 5:
var $cond = 2;__label__ = 6; break;
case 6:
var $cond;
FUNCTION_TABLE[$11]($9, $12, $add_ptr4, $cond);
;
return;
default: assert(0, "bad label: " + __label__);
}
}
__ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvi["X"]=1;
function __ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvi($this, $info, $current_ptr, $path_below) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $info_addr;
var $current_ptr_addr;
var $path_below_addr;
var $is_dst_type_derived_from_static_type13;
var $does_dst_type_point_to_our_static_type;
$this_addr=$this;
$info_addr=$info;
$current_ptr_addr=$current_ptr;
$path_below_addr=$path_below;
var $this1=$this_addr;
var $0=$this1;
var $1=$info_addr;
var $static_type=(($1+8)|0);
var $2=HEAP32[(($static_type)>>2)];
var $cmp=(($0)|0)==(($2)|0);
if ($cmp) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $3=$this1;
var $4=$info_addr;
var $5=$current_ptr_addr;
var $6=$path_below_addr;
__ZNK10__cxxabiv117__class_type_info29process_static_type_below_dstEPNS_19__dynamic_cast_infoEPKvi($3, $4, $5, $6);
__label__ = 27; break;
case 3:
var $7=$this1;
var $8=$info_addr;
var $dst_type=(($8)|0);
var $9=HEAP32[(($dst_type)>>2)];
var $cmp2=(($7)|0)==(($9)|0);
if ($cmp2) { __label__ = 4; break; } else { __label__ = 25; break; }
case 4:
var $10=$current_ptr_addr;
var $11=$info_addr;
var $dst_ptr_leading_to_static_ptr=(($11+16)|0);
var $12=HEAP32[(($dst_ptr_leading_to_static_ptr)>>2)];
var $cmp4=(($10)|0)==(($12)|0);
if ($cmp4) { __label__ = 6; break; } else { __label__ = 5; break; }
case 5:
var $13=$current_ptr_addr;
var $14=$info_addr;
var $dst_ptr_not_leading_to_static_ptr=(($14+20)|0);
var $15=HEAP32[(($dst_ptr_not_leading_to_static_ptr)>>2)];
var $cmp5=(($13)|0)==(($15)|0);
if ($cmp5) { __label__ = 6; break; } else { __label__ = 9; break; }
case 6:
var $16=$path_below_addr;
var $cmp7=(($16)|0)==1;
if ($cmp7) { __label__ = 7; break; } else { __label__ = 8; break; }
case 7:
var $17=$info_addr;
var $path_dynamic_ptr_to_dst_ptr=(($17+32)|0);
HEAP32[(($path_dynamic_ptr_to_dst_ptr)>>2)]=1;
__label__ = 8; break;
case 8:
__label__ = 24; break;
case 9:
var $18=$path_below_addr;
var $19=$info_addr;
var $path_dynamic_ptr_to_dst_ptr10=(($19+32)|0);
HEAP32[(($path_dynamic_ptr_to_dst_ptr10)>>2)]=$18;
var $20=$info_addr;
var $is_dst_type_derived_from_static_type=(($20+44)|0);
var $21=HEAP32[(($is_dst_type_derived_from_static_type)>>2)];
var $cmp11=(($21)|0)!=4;
if ($cmp11) { __label__ = 10; break; } else { __label__ = 23; break; }
case 10:
$is_dst_type_derived_from_static_type13=0;
$does_dst_type_point_to_our_static_type=0;
var $22=$info_addr;
var $found_our_static_ptr=(($22+52)|0);
HEAP8[($found_our_static_ptr)]=0;
var $23=$info_addr;
var $found_any_static_type=(($23+53)|0);
HEAP8[($found_any_static_type)]=0;
var $__base_type=(($this1+8)|0);
var $24=HEAP32[(($__base_type)>>2)];
var $25=$24;
var $vtable=HEAP32[(($25)>>2)];
var $vfn=(($vtable+12)|0);
var $26=HEAP32[(($vfn)>>2)];
var $27=$info_addr;
var $28=$current_ptr_addr;
var $29=$current_ptr_addr;
FUNCTION_TABLE[$26]($24, $27, $28, $29, 1);
var $30=$info_addr;
var $found_any_static_type14=(($30+53)|0);
var $31=HEAP8[($found_any_static_type14)];
var $tobool=(($31) & 1);
if ($tobool) { __label__ = 11; break; } else { __label__ = 14; break; }
case 11:
$is_dst_type_derived_from_static_type13=1;
var $32=$info_addr;
var $found_our_static_ptr16=(($32+52)|0);
var $33=HEAP8[($found_our_static_ptr16)];
var $tobool17=(($33) & 1);
if ($tobool17) { __label__ = 12; break; } else { __label__ = 13; break; }
case 12:
$does_dst_type_point_to_our_static_type=1;
__label__ = 13; break;
case 13:
__label__ = 14; break;
case 14:
var $34=$does_dst_type_point_to_our_static_type;
var $tobool21=(($34) & 1);
if ($tobool21) { __label__ = 19; break; } else { __label__ = 15; break; }
case 15:
var $35=$current_ptr_addr;
var $36=$info_addr;
var $dst_ptr_not_leading_to_static_ptr23=(($36+20)|0);
HEAP32[(($dst_ptr_not_leading_to_static_ptr23)>>2)]=$35;
var $37=$info_addr;
var $number_to_dst_ptr=(($37+40)|0);
var $38=HEAP32[(($number_to_dst_ptr)>>2)];
var $add=(($38+1)|0);
HEAP32[(($number_to_dst_ptr)>>2)]=$add;
var $39=$info_addr;
var $number_to_static_ptr=(($39+36)|0);
var $40=HEAP32[(($number_to_static_ptr)>>2)];
var $cmp24=(($40)|0)==1;
if ($cmp24) { __label__ = 16; break; } else { __label__ = 18; break; }
case 16:
var $41=$info_addr;
var $path_dst_ptr_to_static_ptr=(($41+24)|0);
var $42=HEAP32[(($path_dst_ptr_to_static_ptr)>>2)];
var $cmp25=(($42)|0)==2;
if ($cmp25) { __label__ = 17; break; } else { __label__ = 18; break; }
case 17:
var $43=$info_addr;
var $search_done=(($43+54)|0);
HEAP8[($search_done)]=1;
__label__ = 18; break;
case 18:
__label__ = 19; break;
case 19:
var $44=$is_dst_type_derived_from_static_type13;
var $tobool29=(($44) & 1);
if ($tobool29) { __label__ = 20; break; } else { __label__ = 21; break; }
case 20:
var $45=$info_addr;
var $is_dst_type_derived_from_static_type31=(($45+44)|0);
HEAP32[(($is_dst_type_derived_from_static_type31)>>2)]=3;
__label__ = 22; break;
case 21:
var $46=$info_addr;
var $is_dst_type_derived_from_static_type33=(($46+44)|0);
HEAP32[(($is_dst_type_derived_from_static_type33)>>2)]=4;
__label__ = 22; break;
case 22:
__label__ = 23; break;
case 23:
__label__ = 24; break;
case 24:
__label__ = 26; break;
case 25:
var $__base_type38=(($this1+8)|0);
var $47=HEAP32[(($__base_type38)>>2)];
var $48=$47;
var $vtable39=HEAP32[(($48)>>2)];
var $vfn40=(($vtable39+16)|0);
var $49=HEAP32[(($vfn40)>>2)];
var $50=$info_addr;
var $51=$current_ptr_addr;
var $52=$path_below_addr;
FUNCTION_TABLE[$49]($47, $50, $51, $52);
__label__ = 26; break;
case 26:
__label__ = 27; break;
case 27:
;
return;
default: assert(0, "bad label: " + __label__);
}
}
__ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvi["X"]=1;
function __ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvi($this, $info, $current_ptr, $path_below) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $info_addr;
var $current_ptr_addr;
var $path_below_addr;
$this_addr=$this;
$info_addr=$info;
$current_ptr_addr=$current_ptr;
$path_below_addr=$path_below;
var $this1=$this_addr;
var $0=$info_addr;
var $static_type=(($0+8)|0);
var $1=HEAP32[(($static_type)>>2)];
var $cmp=(($this1)|0)==(($1)|0);
if ($cmp) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $2=$info_addr;
var $3=$current_ptr_addr;
var $4=$path_below_addr;
__ZNK10__cxxabiv117__class_type_info29process_static_type_below_dstEPNS_19__dynamic_cast_infoEPKvi($this1, $2, $3, $4);
__label__ = 15; break;
case 3:
var $5=$info_addr;
var $dst_type=(($5)|0);
var $6=HEAP32[(($dst_type)>>2)];
var $cmp2=(($this1)|0)==(($6)|0);
if ($cmp2) { __label__ = 4; break; } else { __label__ = 14; break; }
case 4:
var $7=$current_ptr_addr;
var $8=$info_addr;
var $dst_ptr_leading_to_static_ptr=(($8+16)|0);
var $9=HEAP32[(($dst_ptr_leading_to_static_ptr)>>2)];
var $cmp4=(($7)|0)==(($9)|0);
if ($cmp4) { __label__ = 6; break; } else { __label__ = 5; break; }
case 5:
var $10=$current_ptr_addr;
var $11=$info_addr;
var $dst_ptr_not_leading_to_static_ptr=(($11+20)|0);
var $12=HEAP32[(($dst_ptr_not_leading_to_static_ptr)>>2)];
var $cmp5=(($10)|0)==(($12)|0);
if ($cmp5) { __label__ = 6; break; } else { __label__ = 9; break; }
case 6:
var $13=$path_below_addr;
var $cmp7=(($13)|0)==1;
if ($cmp7) { __label__ = 7; break; } else { __label__ = 8; break; }
case 7:
var $14=$info_addr;
var $path_dynamic_ptr_to_dst_ptr=(($14+32)|0);
HEAP32[(($path_dynamic_ptr_to_dst_ptr)>>2)]=1;
__label__ = 8; break;
case 8:
__label__ = 13; break;
case 9:
var $15=$path_below_addr;
var $16=$info_addr;
var $path_dynamic_ptr_to_dst_ptr10=(($16+32)|0);
HEAP32[(($path_dynamic_ptr_to_dst_ptr10)>>2)]=$15;
var $17=$current_ptr_addr;
var $18=$info_addr;
var $dst_ptr_not_leading_to_static_ptr11=(($18+20)|0);
HEAP32[(($dst_ptr_not_leading_to_static_ptr11)>>2)]=$17;
var $19=$info_addr;
var $number_to_dst_ptr=(($19+40)|0);
var $20=HEAP32[(($number_to_dst_ptr)>>2)];
var $add=(($20+1)|0);
HEAP32[(($number_to_dst_ptr)>>2)]=$add;
var $21=$info_addr;
var $number_to_static_ptr=(($21+36)|0);
var $22=HEAP32[(($number_to_static_ptr)>>2)];
var $cmp12=(($22)|0)==1;
if ($cmp12) { __label__ = 10; break; } else { __label__ = 12; break; }
case 10:
var $23=$info_addr;
var $path_dst_ptr_to_static_ptr=(($23+24)|0);
var $24=HEAP32[(($path_dst_ptr_to_static_ptr)>>2)];
var $cmp13=(($24)|0)==2;
if ($cmp13) { __label__ = 11; break; } else { __label__ = 12; break; }
case 11:
var $25=$info_addr;
var $search_done=(($25+54)|0);
HEAP8[($search_done)]=1;
__label__ = 12; break;
case 12:
var $26=$info_addr;
var $is_dst_type_derived_from_static_type=(($26+44)|0);
HEAP32[(($is_dst_type_derived_from_static_type)>>2)]=4;
__label__ = 13; break;
case 13:
__label__ = 14; break;
case 14:
__label__ = 15; break;
case 15:
;
return;
default: assert(0, "bad label: " + __label__);
}
}
__ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvi["X"]=1;
function __ZNK10__cxxabiv121__vmi_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i($this, $info, $dst_ptr, $current_ptr, $path_below) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $info_addr;
var $dst_ptr_addr;
var $current_ptr_addr;
var $path_below_addr;
var $found_our_static_ptr;
var $found_any_static_type;
var $e;
var $p;
$this_addr=$this;
$info_addr=$info;
$dst_ptr_addr=$dst_ptr;
$current_ptr_addr=$current_ptr;
$path_below_addr=$path_below;
var $this1=$this_addr;
var $0=$this1;
var $1=$info_addr;
var $static_type=(($1+8)|0);
var $2=HEAP32[(($static_type)>>2)];
var $cmp=(($0)|0)==(($2)|0);
if ($cmp) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $3=$this1;
var $4=$info_addr;
var $5=$dst_ptr_addr;
var $6=$current_ptr_addr;
var $7=$path_below_addr;
__ZNK10__cxxabiv117__class_type_info29process_static_type_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i($3, $4, $5, $6, $7);
__label__ = 22; break;
case 3:
var $8=$info_addr;
var $found_our_static_ptr2=(($8+52)|0);
var $9=HEAP8[($found_our_static_ptr2)];
var $tobool=(($9) & 1);
var $frombool=(($tobool)&1);
$found_our_static_ptr=$frombool;
var $10=$info_addr;
var $found_any_static_type3=(($10+53)|0);
var $11=HEAP8[($found_any_static_type3)];
var $tobool4=(($11) & 1);
var $frombool5=(($tobool4)&1);
$found_any_static_type=$frombool5;
var $__base_info=(($this1+16)|0);
var $arraydecay=(($__base_info)|0);
var $__base_count=(($this1+12)|0);
var $12=HEAP32[(($__base_count)>>2)];
var $add_ptr=(($arraydecay+($12<<3))|0);
$e=$add_ptr;
var $__base_info6=(($this1+16)|0);
var $arraydecay7=(($__base_info6)|0);
$p=$arraydecay7;
var $13=$info_addr;
var $found_our_static_ptr8=(($13+52)|0);
HEAP8[($found_our_static_ptr8)]=0;
var $14=$info_addr;
var $found_any_static_type9=(($14+53)|0);
HEAP8[($found_any_static_type9)]=0;
var $15=$p;
var $16=$info_addr;
var $17=$dst_ptr_addr;
var $18=$current_ptr_addr;
var $19=$path_below_addr;
__ZNK10__cxxabiv122__base_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i($15, $16, $17, $18, $19);
var $20=$p;
var $incdec_ptr=(($20+8)|0);
$p=$incdec_ptr;
var $21=$e;
var $cmp10=(($incdec_ptr)>>>0) < (($21)>>>0);
if ($cmp10) { __label__ = 4; break; } else { __label__ = 21; break; }
case 4:
__label__ = 5; break;
case 5:
var $22=$info_addr;
var $search_done=(($22+54)|0);
var $23=HEAP8[($search_done)];
var $tobool12=(($23) & 1);
if ($tobool12) { __label__ = 6; break; } else { __label__ = 7; break; }
case 6:
__label__ = 20; break;
case 7:
var $24=$info_addr;
var $found_our_static_ptr14=(($24+52)|0);
var $25=HEAP8[($found_our_static_ptr14)];
var $tobool15=(($25) & 1);
if ($tobool15) { __label__ = 8; break; } else { __label__ = 13; break; }
case 8:
var $26=$info_addr;
var $path_dst_ptr_to_static_ptr=(($26+24)|0);
var $27=HEAP32[(($path_dst_ptr_to_static_ptr)>>2)];
var $cmp17=(($27)|0)==1;
if ($cmp17) { __label__ = 9; break; } else { __label__ = 10; break; }
case 9:
__label__ = 20; break;
case 10:
var $__flags=(($this1+8)|0);
var $28=HEAP32[(($__flags)>>2)];
var $and=$28 & 2;
var $tobool20=(($and)|0)!=0;
if ($tobool20) { __label__ = 12; break; } else { __label__ = 11; break; }
case 11:
__label__ = 20; break;
case 12:
__label__ = 18; break;
case 13:
var $29=$info_addr;
var $found_any_static_type24=(($29+53)|0);
var $30=HEAP8[($found_any_static_type24)];
var $tobool25=(($30) & 1);
if ($tobool25) { __label__ = 14; break; } else { __label__ = 17; break; }
case 14:
var $__flags27=(($this1+8)|0);
var $31=HEAP32[(($__flags27)>>2)];
var $and28=$31 & 1;
var $tobool29=(($and28)|0)!=0;
if ($tobool29) { __label__ = 16; break; } else { __label__ = 15; break; }
case 15:
__label__ = 20; break;
case 16:
__label__ = 17; break;
case 17:
__label__ = 18; break;
case 18:
var $32=$info_addr;
var $found_our_static_ptr34=(($32+52)|0);
HEAP8[($found_our_static_ptr34)]=0;
var $33=$info_addr;
var $found_any_static_type35=(($33+53)|0);
HEAP8[($found_any_static_type35)]=0;
var $34=$p;
var $35=$info_addr;
var $36=$dst_ptr_addr;
var $37=$current_ptr_addr;
var $38=$path_below_addr;
__ZNK10__cxxabiv122__base_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i($34, $35, $36, $37, $38);
__label__ = 19; break;
case 19:
var $39=$p;
var $incdec_ptr36=(($39+8)|0);
$p=$incdec_ptr36;
var $40=$e;
var $cmp37=(($incdec_ptr36)>>>0) < (($40)>>>0);
if ($cmp37) { __label__ = 5; break; } else { __label__ = 20; break; }
case 20:
__label__ = 21; break;
case 21:
var $41=$found_our_static_ptr;
var $tobool39=(($41) & 1);
var $42=$info_addr;
var $found_our_static_ptr40=(($42+52)|0);
var $frombool41=(($tobool39)&1);
HEAP8[($found_our_static_ptr40)]=$frombool41;
var $43=$found_any_static_type;
var $tobool42=(($43) & 1);
var $44=$info_addr;
var $found_any_static_type43=(($44+53)|0);
var $frombool44=(($tobool42)&1);
HEAP8[($found_any_static_type43)]=$frombool44;
__label__ = 22; break;
case 22:
;
return;
default: assert(0, "bad label: " + __label__);
}
}
__ZNK10__cxxabiv121__vmi_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i["X"]=1;
function __ZNK10__cxxabiv120__si_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i($this, $info, $dst_ptr, $current_ptr, $path_below) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $info_addr;
var $dst_ptr_addr;
var $current_ptr_addr;
var $path_below_addr;
$this_addr=$this;
$info_addr=$info;
$dst_ptr_addr=$dst_ptr;
$current_ptr_addr=$current_ptr;
$path_below_addr=$path_below;
var $this1=$this_addr;
var $0=$this1;
var $1=$info_addr;
var $static_type=(($1+8)|0);
var $2=HEAP32[(($static_type)>>2)];
var $cmp=(($0)|0)==(($2)|0);
if ($cmp) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $3=$this1;
var $4=$info_addr;
var $5=$dst_ptr_addr;
var $6=$current_ptr_addr;
var $7=$path_below_addr;
__ZNK10__cxxabiv117__class_type_info29process_static_type_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i($3, $4, $5, $6, $7);
__label__ = 4; break;
case 3:
var $__base_type=(($this1+8)|0);
var $8=HEAP32[(($__base_type)>>2)];
var $9=$8;
var $vtable=HEAP32[(($9)>>2)];
var $vfn=(($vtable+12)|0);
var $10=HEAP32[(($vfn)>>2)];
var $11=$info_addr;
var $12=$dst_ptr_addr;
var $13=$current_ptr_addr;
var $14=$path_below_addr;
FUNCTION_TABLE[$10]($8, $11, $12, $13, $14);
__label__ = 4; break;
case 4:
;
return;
default: assert(0, "bad label: " + __label__);
}
}
function __ZNK10__cxxabiv117__class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i($this, $info, $dst_ptr, $current_ptr, $path_below) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $this_addr;
var $info_addr;
var $dst_ptr_addr;
var $current_ptr_addr;
var $path_below_addr;
$this_addr=$this;
$info_addr=$info;
$dst_ptr_addr=$dst_ptr;
$current_ptr_addr=$current_ptr;
$path_below_addr=$path_below;
var $this1=$this_addr;
var $0=$info_addr;
var $static_type=(($0+8)|0);
var $1=HEAP32[(($static_type)>>2)];
var $cmp=(($this1)|0)==(($1)|0);
if ($cmp) { __label__ = 2; break; } else { __label__ = 3; break; }
case 2:
var $2=$info_addr;
var $3=$dst_ptr_addr;
var $4=$current_ptr_addr;
var $5=$path_below_addr;
__ZNK10__cxxabiv117__class_type_info29process_static_type_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i($this1, $2, $3, $4, $5);
__label__ = 3; break;
case 3:
;
return;
default: assert(0, "bad label: " + __label__);
}
}
function _malloc($bytes) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $bytes_addr;
var $mem;
var $nb;
var $idx;
var $smallbits;
var $b;
var $p;
var $F;
var $b33;
var $p34;
var $r;
var $rsize;
var $i;
var $leftbits;
var $leastbit;
var $Y;
var $K;
var $N;
var $F68;
var $DVS;
var $DV;
var $I;
var $B;
var $F102;
var $rsize157;
var $p159;
var $r163;
var $dvs;
var $rsize185;
var $p187;
var $r188;
$bytes_addr=$bytes;
var $0=$bytes_addr; //@line 4628 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp=(($0)>>>0) <= 244; //@line 4628 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp) { __label__ = 2; break; } else { __label__ = 37; break; } //@line 4628 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 2:
var $1=$bytes_addr; //@line 4631 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp1=(($1)>>>0) < 11; //@line 4631 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp1) { __label__ = 3; break; } else { __label__ = 4; break; } //@line 4631 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 3:
var $cond = 16;__label__ = 5; break; //@line 4631 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 4:
var $2=$bytes_addr; //@line 4631 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add=(($2+4)|0); //@line 4631 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add2=(($add+7)|0); //@line 4631 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and=$add2 & -8; //@line 4631 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cond = $and;__label__ = 5; break; //@line 4631 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 5:
var $cond; //@line 4631 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$nb=$cond; //@line 4631 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $3=$nb; //@line 4632 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr=$3 >>> 3; //@line 4632 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$idx=$shr; //@line 4632 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $4=HEAPU32[((((__gm_)|0))>>2)]; //@line 4633 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $5=$idx; //@line 4633 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr3=$4 >>> (($5)>>>0); //@line 4633 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$smallbits=$shr3; //@line 4633 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $6=$smallbits; //@line 4635 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and4=$6 & 3; //@line 4635 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp5=(($and4)|0)!=0; //@line 4635 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp5) { __label__ = 6; break; } else { __label__ = 13; break; } //@line 4635 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 6:
var $7=$smallbits; //@line 4637 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $neg=$7 ^ -1; //@line 4637 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and7=$neg & 1; //@line 4637 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $8=$idx; //@line 4637 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add8=(($8+$and7)|0); //@line 4637 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$idx=$add8; //@line 4637 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $9=$idx; //@line 4638 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl=$9 << 1; //@line 4638 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx=((((__gm_+40)|0)+($shl<<2))|0); //@line 4638 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $10=$arrayidx; //@line 4638 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $11=$10; //@line 4638 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$b=$11; //@line 4638 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $12=$b; //@line 4639 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd=(($12+8)|0); //@line 4639 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $13=HEAP32[(($fd)>>2)]; //@line 4639 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$p=$13; //@line 4639 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $14=$p; //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd9=(($14+8)|0); //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $15=HEAP32[(($fd9)>>2)]; //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$F=$15; //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $16=$b; //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $17=$F; //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp10=(($16)|0)==(($17)|0); //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp10) { __label__ = 7; break; } else { __label__ = 8; break; } //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 7:
var $18=$idx; //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl12=1 << $18; //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $neg13=$shl12 ^ -1; //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $19=HEAP32[((((__gm_)|0))>>2)]; //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and14=$19 & $neg13; //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[((((__gm_)|0))>>2)]=$and14; //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 12; break; //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 8:
var $20=$F; //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $21=$20; //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $22=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp15=(($21)>>>0) >= (($22)>>>0); //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv=(($cmp15)&1); //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval=(($conv)==(1)); //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool=(($expval)|0)!=0; //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool) { __label__ = 9; break; } else { __label__ = 10; break; } //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 9:
var $23=$F; //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $24=$b; //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd17=(($24+8)|0); //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($fd17)>>2)]=$23; //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $25=$b; //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $26=$F; //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $bk=(($26+12)|0); //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($bk)>>2)]=$25; //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 11; break; //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 10:
_abort(); //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4641 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 11:
__label__ = 12; break;
case 12:
var $27=$idx; //@line 4642 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl20=$27 << 3; //@line 4642 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or=$shl20 | 1; //@line 4642 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or21=$or | 2; //@line 4642 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $28=$p; //@line 4642 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head=(($28+4)|0); //@line 4642 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($head)>>2)]=$or21; //@line 4642 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $29=$p; //@line 4642 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $30=$29; //@line 4642 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $31=$idx; //@line 4642 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl22=$31 << 3; //@line 4642 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr=(($30+$shl22)|0); //@line 4642 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $32=$add_ptr; //@line 4642 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head23=(($32+4)|0); //@line 4642 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $33=HEAP32[(($head23)>>2)]; //@line 4642 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or24=$33 | 1; //@line 4642 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($head23)>>2)]=$or24; //@line 4642 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $34=$p; //@line 4643 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $35=$34; //@line 4643 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr25=(($35+8)|0); //@line 4643 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$mem=$add_ptr25; //@line 4643 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 53; break; //@line 4645 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 13:
var $36=$nb; //@line 4648 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $37=HEAPU32[((((__gm_+8)|0))>>2)]; //@line 4648 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp27=(($36)>>>0) > (($37)>>>0); //@line 4648 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp27) { __label__ = 14; break; } else { __label__ = 35; break; } //@line 4648 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 14:
var $38=$smallbits; //@line 4649 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp30=(($38)|0)!=0; //@line 4649 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp30) { __label__ = 15; break; } else { __label__ = 30; break; } //@line 4649 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 15:
var $39=$smallbits; //@line 4653 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $40=$idx; //@line 4653 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl35=$39 << $40; //@line 4653 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $41=$idx; //@line 4653 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl36=1 << $41; //@line 4653 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl37=$shl36 << 1; //@line 4653 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $42=$idx; //@line 4653 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl38=1 << $42; //@line 4653 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl39=$shl38 << 1; //@line 4653 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub=(((-$shl39))|0); //@line 4653 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or40=$shl37 | $sub; //@line 4653 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and41=$shl35 & $or40; //@line 4653 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$leftbits=$and41; //@line 4653 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $43=$leftbits; //@line 4654 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $44=$leftbits; //@line 4654 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub42=(((-$44))|0); //@line 4654 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and43=$43 & $sub42; //@line 4654 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$leastbit=$and43; //@line 4654 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $45=$leastbit; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub44=(($45-1)|0); //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y=$sub44; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $46=$Y; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr45=$46 >>> 12; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and46=$shr45 & 16; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$K=$and46; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $47=$K; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$N=$47; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $48=$K; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $49=$Y; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr47=$49 >>> (($48)>>>0); //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y=$shr47; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $50=$Y; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr48=$50 >>> 5; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and49=$shr48 & 8; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$K=$and49; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $51=$N; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add50=(($51+$and49)|0); //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$N=$add50; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $52=$K; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $53=$Y; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr51=$53 >>> (($52)>>>0); //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y=$shr51; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $54=$Y; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr52=$54 >>> 2; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and53=$shr52 & 4; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$K=$and53; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $55=$N; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add54=(($55+$and53)|0); //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$N=$add54; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $56=$K; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $57=$Y; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr55=$57 >>> (($56)>>>0); //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y=$shr55; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $58=$Y; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr56=$58 >>> 1; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and57=$shr56 & 2; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$K=$and57; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $59=$N; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add58=(($59+$and57)|0); //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$N=$add58; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $60=$K; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $61=$Y; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr59=$61 >>> (($60)>>>0); //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y=$shr59; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $62=$Y; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr60=$62 >>> 1; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and61=$shr60 & 1; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$K=$and61; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $63=$N; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add62=(($63+$and61)|0); //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$N=$add62; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $64=$K; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $65=$Y; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr63=$65 >>> (($64)>>>0); //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y=$shr63; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $66=$N; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $67=$Y; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add64=(($66+$67)|0); //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$i=$add64; //@line 4655 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $68=$i; //@line 4656 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl65=$68 << 1; //@line 4656 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx66=((((__gm_+40)|0)+($shl65<<2))|0); //@line 4656 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $69=$arrayidx66; //@line 4656 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $70=$69; //@line 4656 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$b33=$70; //@line 4656 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $71=$b33; //@line 4657 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd67=(($71+8)|0); //@line 4657 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $72=HEAP32[(($fd67)>>2)]; //@line 4657 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$p34=$72; //@line 4657 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $73=$p34; //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd69=(($73+8)|0); //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $74=HEAP32[(($fd69)>>2)]; //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$F68=$74; //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $75=$b33; //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $76=$F68; //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp70=(($75)|0)==(($76)|0); //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp70) { __label__ = 16; break; } else { __label__ = 17; break; } //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 16:
var $77=$i; //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl73=1 << $77; //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $neg74=$shl73 ^ -1; //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $78=HEAP32[((((__gm_)|0))>>2)]; //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and75=$78 & $neg74; //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[((((__gm_)|0))>>2)]=$and75; //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 21; break; //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 17:
var $79=$F68; //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $80=$79; //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $81=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp77=(($80)>>>0) >= (($81)>>>0); //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv78=(($cmp77)&1); //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval79=(($conv78)==(1)); //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool80=(($expval79)|0)!=0; //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool80) { __label__ = 18; break; } else { __label__ = 19; break; } //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 18:
var $82=$F68; //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $83=$b33; //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd82=(($83+8)|0); //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($fd82)>>2)]=$82; //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $84=$b33; //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $85=$F68; //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $bk83=(($85+12)|0); //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($bk83)>>2)]=$84; //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 20; break; //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 19:
_abort(); //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4659 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 20:
__label__ = 21; break;
case 21:
var $86=$i; //@line 4660 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl87=$86 << 3; //@line 4660 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $87=$nb; //@line 4660 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub88=(($shl87-$87)|0); //@line 4660 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$rsize=$sub88; //@line 4660 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $88=$nb; //@line 4665 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or89=$88 | 1; //@line 4665 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or90=$or89 | 2; //@line 4665 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $89=$p34; //@line 4665 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head91=(($89+4)|0); //@line 4665 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($head91)>>2)]=$or90; //@line 4665 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $90=$p34; //@line 4666 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $91=$90; //@line 4666 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $92=$nb; //@line 4666 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr92=(($91+$92)|0); //@line 4666 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $93=$add_ptr92; //@line 4666 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$r=$93; //@line 4666 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $94=$rsize; //@line 4667 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or93=$94 | 1; //@line 4667 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $95=$r; //@line 4667 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head94=(($95+4)|0); //@line 4667 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($head94)>>2)]=$or93; //@line 4667 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $96=$rsize; //@line 4667 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $97=$r; //@line 4667 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $98=$97; //@line 4667 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $99=$rsize; //@line 4667 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr95=(($98+$99)|0); //@line 4667 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $100=$add_ptr95; //@line 4667 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $prev_foot=(($100)|0); //@line 4667 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($prev_foot)>>2)]=$96; //@line 4667 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $101=HEAP32[((((__gm_+8)|0))>>2)]; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$DVS=$101; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $102=$DVS; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp96=(($102)|0)!=0; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp96) { __label__ = 22; break; } else { __label__ = 29; break; } //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 22:
var $103=HEAP32[((((__gm_+20)|0))>>2)]; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$DV=$103; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $104=$DVS; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr99=$104 >>> 3; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$I=$shr99; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $105=$I; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl100=$105 << 1; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx101=((((__gm_+40)|0)+($shl100<<2))|0); //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $106=$arrayidx101; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $107=$106; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$B=$107; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $108=$B; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$F102=$108; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $109=HEAP32[((((__gm_)|0))>>2)]; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $110=$I; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl103=1 << $110; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and104=$109 & $shl103; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool105=(($and104)|0)!=0; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool105) { __label__ = 24; break; } else { __label__ = 23; break; } //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 23:
var $111=$I; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl107=1 << $111; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $112=HEAP32[((((__gm_)|0))>>2)]; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or108=$112 | $shl107; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[((((__gm_)|0))>>2)]=$or108; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 28; break; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 24:
var $113=$B; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd110=(($113+8)|0); //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $114=HEAP32[(($fd110)>>2)]; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $115=$114; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $116=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp111=(($115)>>>0) >= (($116)>>>0); //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv112=(($cmp111)&1); //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval113=(($conv112)==(1)); //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool114=(($expval113)|0)!=0; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool114) { __label__ = 25; break; } else { __label__ = 26; break; } //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 25:
var $117=$B; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd116=(($117+8)|0); //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $118=HEAP32[(($fd116)>>2)]; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$F102=$118; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 27; break; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 26:
_abort(); //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 27:
__label__ = 28; break;
case 28:
var $119=$DV; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $120=$B; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd120=(($120+8)|0); //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($fd120)>>2)]=$119; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $121=$DV; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $122=$F102; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $bk121=(($122+12)|0); //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($bk121)>>2)]=$121; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $123=$F102; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $124=$DV; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd122=(($124+8)|0); //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($fd122)>>2)]=$123; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $125=$B; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $126=$DV; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $bk123=(($126+12)|0); //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($bk123)>>2)]=$125; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 29; break; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 29:
var $127=$rsize; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[((((__gm_+8)|0))>>2)]=$127; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $128=$r; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[((((__gm_+20)|0))>>2)]=$128; //@line 4668 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $129=$p34; //@line 4670 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $130=$129; //@line 4670 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr125=(($130+8)|0); //@line 4670 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$mem=$add_ptr125; //@line 4670 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 53; break; //@line 4672 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 30:
var $131=HEAP32[((((__gm_+4)|0))>>2)]; //@line 4675 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp127=(($131)|0)!=0; //@line 4675 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp127) { __label__ = 31; break; } else { __label__ = 33; break; } //@line 4675 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 31:
var $132=$nb; //@line 4675 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $call=_tmalloc_small(__gm_, $132); //@line 4675 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$mem=$call; //@line 4675 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp129=(($call)|0)!=0; //@line 4675 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp129) { __label__ = 32; break; } else { __label__ = 33; break; } //@line 4675 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 32:
__label__ = 53; break; //@line 4677 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 33:
__label__ = 34; break;
case 34:
__label__ = 35; break; //@line 4679 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 35:
__label__ = 36; break;
case 36:
__label__ = 44; break; //@line 4680 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 37:
var $133=$bytes_addr; //@line 4681 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp137=(($133)>>>0) >= 4294967232; //@line 4681 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp137) { __label__ = 38; break; } else { __label__ = 39; break; } //@line 4681 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 38:
$nb=-1; //@line 4682 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 43; break; //@line 4682 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 39:
var $134=$bytes_addr; //@line 4684 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add141=(($134+4)|0); //@line 4684 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add142=(($add141+7)|0); //@line 4684 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and143=$add142 & -8; //@line 4684 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$nb=$and143; //@line 4684 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $135=HEAP32[((((__gm_+4)|0))>>2)]; //@line 4685 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp144=(($135)|0)!=0; //@line 4685 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp144) { __label__ = 40; break; } else { __label__ = 42; break; } //@line 4685 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 40:
var $136=$nb; //@line 4685 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $call147=_tmalloc_large(__gm_, $136); //@line 4685 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$mem=$call147; //@line 4685 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp148=(($call147)|0)!=0; //@line 4685 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp148) { __label__ = 41; break; } else { __label__ = 42; break; } //@line 4685 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 41:
__label__ = 53; break; //@line 4687 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 42:
__label__ = 43; break;
case 43:
__label__ = 44; break;
case 44:
var $137=$nb; //@line 4691 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $138=HEAPU32[((((__gm_+8)|0))>>2)]; //@line 4691 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp154=(($137)>>>0) <= (($138)>>>0); //@line 4691 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp154) { __label__ = 45; break; } else { __label__ = 49; break; } //@line 4691 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 45:
var $139=HEAP32[((((__gm_+8)|0))>>2)]; //@line 4692 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $140=$nb; //@line 4692 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub158=(($139-$140)|0); //@line 4692 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$rsize157=$sub158; //@line 4692 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $141=HEAP32[((((__gm_+20)|0))>>2)]; //@line 4693 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$p159=$141; //@line 4693 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $142=$rsize157; //@line 4694 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp160=(($142)>>>0) >= 16; //@line 4694 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp160) { __label__ = 46; break; } else { __label__ = 47; break; } //@line 4694 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 46:
var $143=$p159; //@line 4695 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $144=$143; //@line 4695 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $145=$nb; //@line 4695 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr164=(($144+$145)|0); //@line 4695 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $146=$add_ptr164; //@line 4695 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[((((__gm_+20)|0))>>2)]=$146; //@line 4695 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$r163=$146; //@line 4695 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $147=$rsize157; //@line 4696 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[((((__gm_+8)|0))>>2)]=$147; //@line 4696 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $148=$rsize157; //@line 4697 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or165=$148 | 1; //@line 4697 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $149=$r163; //@line 4697 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head166=(($149+4)|0); //@line 4697 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($head166)>>2)]=$or165; //@line 4697 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $150=$rsize157; //@line 4697 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $151=$r163; //@line 4697 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $152=$151; //@line 4697 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $153=$rsize157; //@line 4697 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr167=(($152+$153)|0); //@line 4697 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $154=$add_ptr167; //@line 4697 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $prev_foot168=(($154)|0); //@line 4697 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($prev_foot168)>>2)]=$150; //@line 4697 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $155=$nb; //@line 4698 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or169=$155 | 1; //@line 4698 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or170=$or169 | 2; //@line 4698 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $156=$p159; //@line 4698 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head171=(($156+4)|0); //@line 4698 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($head171)>>2)]=$or170; //@line 4698 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 48; break; //@line 4699 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 47:
var $157=HEAP32[((((__gm_+8)|0))>>2)]; //@line 4701 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$dvs=$157; //@line 4701 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[((((__gm_+8)|0))>>2)]=0; //@line 4702 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[((((__gm_+20)|0))>>2)]=0; //@line 4703 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $158=$dvs; //@line 4704 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or173=$158 | 1; //@line 4704 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or174=$or173 | 2; //@line 4704 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $159=$p159; //@line 4704 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head175=(($159+4)|0); //@line 4704 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($head175)>>2)]=$or174; //@line 4704 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $160=$p159; //@line 4704 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $161=$160; //@line 4704 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $162=$dvs; //@line 4704 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr176=(($161+$162)|0); //@line 4704 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $163=$add_ptr176; //@line 4704 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head177=(($163+4)|0); //@line 4704 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $164=HEAP32[(($head177)>>2)]; //@line 4704 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or178=$164 | 1; //@line 4704 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($head177)>>2)]=$or178; //@line 4704 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 48; break;
case 48:
var $165=$p159; //@line 4706 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $166=$165; //@line 4706 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr180=(($166+8)|0); //@line 4706 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$mem=$add_ptr180; //@line 4706 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 53; break; //@line 4708 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 49:
var $167=$nb; //@line 4711 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $168=HEAPU32[((((__gm_+12)|0))>>2)]; //@line 4711 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp182=(($167)>>>0) < (($168)>>>0); //@line 4711 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp182) { __label__ = 50; break; } else { __label__ = 51; break; } //@line 4711 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 50:
var $169=$nb; //@line 4712 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $170=HEAP32[((((__gm_+12)|0))>>2)]; //@line 4712 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub186=(($170-$169)|0); //@line 4712 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[((((__gm_+12)|0))>>2)]=$sub186; //@line 4712 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$rsize185=$sub186; //@line 4712 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $171=HEAP32[((((__gm_+24)|0))>>2)]; //@line 4713 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$p187=$171; //@line 4713 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $172=$p187; //@line 4714 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $173=$172; //@line 4714 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $174=$nb; //@line 4714 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr189=(($173+$174)|0); //@line 4714 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $175=$add_ptr189; //@line 4714 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[((((__gm_+24)|0))>>2)]=$175; //@line 4714 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$r188=$175; //@line 4714 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $176=$rsize185; //@line 4715 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or190=$176 | 1; //@line 4715 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $177=$r188; //@line 4715 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head191=(($177+4)|0); //@line 4715 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($head191)>>2)]=$or190; //@line 4715 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $178=$nb; //@line 4716 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or192=$178 | 1; //@line 4716 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or193=$or192 | 2; //@line 4716 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $179=$p187; //@line 4716 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head194=(($179+4)|0); //@line 4716 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($head194)>>2)]=$or193; //@line 4716 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $180=$p187; //@line 4717 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $181=$180; //@line 4717 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr195=(($181+8)|0); //@line 4717 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$mem=$add_ptr195; //@line 4717 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 53; break; //@line 4720 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 51:
__label__ = 52; break;
case 52:
var $182=$nb; //@line 4723 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $call198=_sys_alloc(__gm_, $182); //@line 4723 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$mem=$call198; //@line 4723 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 53; break; //@line 4723 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 53:
var $183=$mem; //@line 4727 "/home/terminal/emscripten/system/lib/dlmalloc.c"
;
return $183; //@line 4727 "/home/terminal/emscripten/system/lib/dlmalloc.c"
default: assert(0, "bad label: " + __label__);
}
}
Module["_malloc"] = _malloc;_malloc["X"]=1;
function _tmalloc_small($m, $nb) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $m_addr;
var $nb_addr;
var $t;
var $v;
var $rsize;
var $i;
var $leastbit;
var $Y;
var $K;
var $N;
var $trem;
var $r;
var $XP;
var $R;
var $F;
var $RP;
var $CP;
var $H;
var $C0;
var $C1;
var $DVS;
var $DV;
var $I;
var $B;
var $F191;
$m_addr=$m;
$nb_addr=$nb;
var $0=$m_addr; //@line 4268 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $treemap=(($0+4)|0); //@line 4268 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $1=HEAP32[(($treemap)>>2)]; //@line 4268 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $2=$m_addr; //@line 4268 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $treemap1=(($2+4)|0); //@line 4268 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $3=HEAP32[(($treemap1)>>2)]; //@line 4268 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub=(((-$3))|0); //@line 4268 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and=$1 & $sub; //@line 4268 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$leastbit=$and; //@line 4268 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $4=$leastbit; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub2=(($4-1)|0); //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y=$sub2; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $5=$Y; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr=$5 >>> 12; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and3=$shr & 16; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$K=$and3; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $6=$K; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$N=$6; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $7=$K; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $8=$Y; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr4=$8 >>> (($7)>>>0); //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y=$shr4; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $9=$Y; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr5=$9 >>> 5; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and6=$shr5 & 8; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$K=$and6; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $10=$N; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add=(($10+$and6)|0); //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$N=$add; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $11=$K; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $12=$Y; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr7=$12 >>> (($11)>>>0); //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y=$shr7; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $13=$Y; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr8=$13 >>> 2; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and9=$shr8 & 4; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$K=$and9; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $14=$N; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add10=(($14+$and9)|0); //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$N=$add10; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $15=$K; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $16=$Y; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr11=$16 >>> (($15)>>>0); //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y=$shr11; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $17=$Y; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr12=$17 >>> 1; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and13=$shr12 & 2; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$K=$and13; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $18=$N; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add14=(($18+$and13)|0); //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$N=$add14; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $19=$K; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $20=$Y; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr15=$20 >>> (($19)>>>0); //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y=$shr15; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $21=$Y; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr16=$21 >>> 1; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and17=$shr16 & 1; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$K=$and17; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $22=$N; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add18=(($22+$and17)|0); //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$N=$add18; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $23=$K; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $24=$Y; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr19=$24 >>> (($23)>>>0); //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y=$shr19; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $25=$N; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $26=$Y; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add20=(($25+$26)|0); //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$i=$add20; //@line 4269 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $27=$i; //@line 4270 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $28=$m_addr; //@line 4270 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $treebins=(($28+304)|0); //@line 4270 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx=(($treebins+($27<<2))|0); //@line 4270 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $29=HEAP32[(($arrayidx)>>2)]; //@line 4270 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$t=$29; //@line 4270 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$v=$29; //@line 4270 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $30=$t; //@line 4271 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head=(($30+4)|0); //@line 4271 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $31=HEAP32[(($head)>>2)]; //@line 4271 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and21=$31 & -8; //@line 4271 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $32=$nb_addr; //@line 4271 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub22=(($and21-$32)|0); //@line 4271 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$rsize=$sub22; //@line 4271 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 2; break; //@line 4273 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 2:
var $33=$t; //@line 4273 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child=(($33+16)|0); //@line 4273 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx23=(($child)|0); //@line 4273 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $34=HEAP32[(($arrayidx23)>>2)]; //@line 4273 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp=(($34)|0)!=0; //@line 4273 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp) { __label__ = 3; break; } else { __label__ = 4; break; } //@line 4273 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 3:
var $35=$t; //@line 4273 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child24=(($35+16)|0); //@line 4273 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx25=(($child24)|0); //@line 4273 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $36=HEAP32[(($arrayidx25)>>2)]; //@line 4273 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cond = $36;__label__ = 5; break; //@line 4273 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 4:
var $37=$t; //@line 4273 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child26=(($37+16)|0); //@line 4273 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx27=(($child26+4)|0); //@line 4273 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $38=HEAP32[(($arrayidx27)>>2)]; //@line 4273 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cond = $38;__label__ = 5; break; //@line 4273 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 5:
var $cond; //@line 4273 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$t=$cond; //@line 4273 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp28=(($cond)|0)!=0; //@line 4273 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp28) { __label__ = 6; break; } else { __label__ = 9; break; } //@line 4273 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 6:
var $39=$t; //@line 4274 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head29=(($39+4)|0); //@line 4274 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $40=HEAP32[(($head29)>>2)]; //@line 4274 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and30=$40 & -8; //@line 4274 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $41=$nb_addr; //@line 4274 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub31=(($and30-$41)|0); //@line 4274 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$trem=$sub31; //@line 4274 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $42=$trem; //@line 4275 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $43=$rsize; //@line 4275 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp32=(($42)>>>0) < (($43)>>>0); //@line 4275 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp32) { __label__ = 7; break; } else { __label__ = 8; break; } //@line 4275 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 7:
var $44=$trem; //@line 4276 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$rsize=$44; //@line 4276 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $45=$t; //@line 4277 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$v=$45; //@line 4277 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 8; break; //@line 4278 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 8:
__label__ = 2; break; //@line 4279 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 9:
var $46=$v; //@line 4281 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $47=$46; //@line 4281 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $48=$m_addr; //@line 4281 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $least_addr=(($48+16)|0); //@line 4281 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $49=HEAPU32[(($least_addr)>>2)]; //@line 4281 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp33=(($47)>>>0) >= (($49)>>>0); //@line 4281 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv=(($cmp33)&1); //@line 4281 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval=(($conv)==(1)); //@line 4281 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool=(($expval)|0)!=0; //@line 4281 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool) { __label__ = 10; break; } else { __label__ = 69; break; } //@line 4281 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 10:
var $50=$v; //@line 4282 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $51=$50; //@line 4282 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $52=$nb_addr; //@line 4282 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr=(($51+$52)|0); //@line 4282 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $53=$add_ptr; //@line 4282 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$r=$53; //@line 4282 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $54=$v; //@line 4284 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $55=$54; //@line 4284 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $56=$r; //@line 4284 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $57=$56; //@line 4284 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp35=(($55)>>>0) < (($57)>>>0); //@line 4284 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv36=(($cmp35)&1); //@line 4284 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval37=(($conv36)==(1)); //@line 4284 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool38=(($expval37)|0)!=0; //@line 4284 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool38) { __label__ = 11; break; } else { __label__ = 68; break; } //@line 4284 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 11:
var $58=$v; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $parent=(($58+24)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $59=HEAP32[(($parent)>>2)]; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$XP=$59; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $60=$v; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $bk=(($60+12)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $61=HEAP32[(($bk)>>2)]; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $62=$v; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp40=(($61)|0)!=(($62)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp40) { __label__ = 12; break; } else { __label__ = 16; break; } //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 12:
var $63=$v; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd=(($63+8)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $64=HEAP32[(($fd)>>2)]; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$F=$64; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $65=$v; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $bk43=(($65+12)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $66=HEAP32[(($bk43)>>2)]; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$R=$66; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $67=$F; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $68=$67; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $69=$m_addr; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $least_addr44=(($69+16)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $70=HEAPU32[(($least_addr44)>>2)]; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp45=(($68)>>>0) >= (($70)>>>0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv46=(($cmp45)&1); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval47=(($conv46)==(1)); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool48=(($expval47)|0)!=0; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool48) { __label__ = 13; break; } else { __label__ = 14; break; } //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 13:
var $71=$R; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $72=$F; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $bk50=(($72+12)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($bk50)>>2)]=$71; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $73=$F; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $74=$R; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd51=(($74+8)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($fd51)>>2)]=$73; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 15; break; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 14:
_abort(); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 15:
__label__ = 28; break; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 16:
var $75=$v; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child54=(($75+16)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx55=(($child54+4)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$RP=$arrayidx55; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $76=HEAP32[(($arrayidx55)>>2)]; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$R=$76; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp56=(($76)|0)!=0; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp56) { __label__ = 18; break; } else { __label__ = 17; break; } //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 17:
var $77=$v; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child58=(($77+16)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx59=(($child58)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$RP=$arrayidx59; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $78=HEAP32[(($arrayidx59)>>2)]; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$R=$78; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp60=(($78)|0)!=0; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp60) { __label__ = 18; break; } else { __label__ = 27; break; } //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 18:
__label__ = 19; break; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 19:
var $79=$R; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child64=(($79+16)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx65=(($child64+4)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$CP=$arrayidx65; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $80=HEAP32[(($arrayidx65)>>2)]; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp66=(($80)|0)!=0; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp66) { var $83 = 1;__label__ = 21; break; } else { __label__ = 20; break; } //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 20:
var $81=$R; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child68=(($81+16)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx69=(($child68)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$CP=$arrayidx69; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $82=HEAP32[(($arrayidx69)>>2)]; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp70=(($82)|0)!=0; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $83 = $cmp70;__label__ = 21; break; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 21:
var $83;
if ($83) { __label__ = 22; break; } else { __label__ = 23; break; } //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 22:
var $84=$CP; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$RP=$84; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $85=HEAP32[(($84)>>2)]; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$R=$85; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 19; break; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 23:
var $86=$RP; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $87=$86; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $88=$m_addr; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $least_addr74=(($88+16)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $89=HEAPU32[(($least_addr74)>>2)]; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp75=(($87)>>>0) >= (($89)>>>0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv76=(($cmp75)&1); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval77=(($conv76)==(1)); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool78=(($expval77)|0)!=0; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool78) { __label__ = 24; break; } else { __label__ = 25; break; } //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 24:
var $90=$RP; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($90)>>2)]=0; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 26; break; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 25:
_abort(); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 26:
__label__ = 27; break; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 27:
__label__ = 28; break;
case 28:
var $91=$XP; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp84=(($91)|0)!=0; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp84) { __label__ = 29; break; } else { __label__ = 56; break; } //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 29:
var $92=$v; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $index=(($92+28)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $93=HEAP32[(($index)>>2)]; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $94=$m_addr; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $treebins87=(($94+304)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx88=(($treebins87+($93<<2))|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$H=$arrayidx88; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $95=$v; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $96=$H; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $97=HEAP32[(($96)>>2)]; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp89=(($95)|0)==(($97)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp89) { __label__ = 30; break; } else { __label__ = 33; break; } //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 30:
var $98=$R; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $99=$H; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($99)>>2)]=$98; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp92=(($98)|0)==0; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp92) { __label__ = 31; break; } else { __label__ = 32; break; } //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 31:
var $100=$v; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $index95=(($100+28)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $101=HEAP32[(($index95)>>2)]; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl=1 << $101; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $neg=$shl ^ -1; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $102=$m_addr; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $treemap96=(($102+4)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $103=HEAP32[(($treemap96)>>2)]; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and97=$103 & $neg; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($treemap96)>>2)]=$and97; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 32; break; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 32:
__label__ = 40; break; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 33:
var $104=$XP; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $105=$104; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $106=$m_addr; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $least_addr100=(($106+16)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $107=HEAPU32[(($least_addr100)>>2)]; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp101=(($105)>>>0) >= (($107)>>>0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv102=(($cmp101)&1); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval103=(($conv102)==(1)); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool104=(($expval103)|0)!=0; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool104) { __label__ = 34; break; } else { __label__ = 38; break; } //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 34:
var $108=$XP; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child106=(($108+16)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx107=(($child106)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $109=HEAP32[(($arrayidx107)>>2)]; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $110=$v; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp108=(($109)|0)==(($110)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp108) { __label__ = 35; break; } else { __label__ = 36; break; } //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 35:
var $111=$R; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $112=$XP; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child111=(($112+16)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx112=(($child111)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($arrayidx112)>>2)]=$111; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 37; break; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 36:
var $113=$R; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $114=$XP; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child114=(($114+16)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx115=(($child114+4)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($arrayidx115)>>2)]=$113; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 37; break;
case 37:
__label__ = 39; break; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 38:
_abort(); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 39:
__label__ = 40; break;
case 40:
var $115=$R; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp120=(($115)|0)!=0; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp120) { __label__ = 41; break; } else { __label__ = 55; break; } //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 41:
var $116=$R; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $117=$116; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $118=$m_addr; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $least_addr123=(($118+16)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $119=HEAPU32[(($least_addr123)>>2)]; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp124=(($117)>>>0) >= (($119)>>>0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv125=(($cmp124)&1); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval126=(($conv125)==(1)); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool127=(($expval126)|0)!=0; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool127) { __label__ = 42; break; } else { __label__ = 53; break; } //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 42:
var $120=$XP; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $121=$R; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $parent129=(($121+24)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($parent129)>>2)]=$120; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $122=$v; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child130=(($122+16)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx131=(($child130)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $123=HEAP32[(($arrayidx131)>>2)]; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$C0=$123; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp132=(($123)|0)!=0; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp132) { __label__ = 43; break; } else { __label__ = 47; break; } //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 43:
var $124=$C0; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $125=$124; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $126=$m_addr; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $least_addr135=(($126+16)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $127=HEAPU32[(($least_addr135)>>2)]; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp136=(($125)>>>0) >= (($127)>>>0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv137=(($cmp136)&1); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval138=(($conv137)==(1)); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool139=(($expval138)|0)!=0; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool139) { __label__ = 44; break; } else { __label__ = 45; break; } //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 44:
var $128=$C0; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $129=$R; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child141=(($129+16)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx142=(($child141)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($arrayidx142)>>2)]=$128; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $130=$R; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $131=$C0; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $parent143=(($131+24)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($parent143)>>2)]=$130; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 46; break; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 45:
_abort(); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 46:
__label__ = 47; break; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 47:
var $132=$v; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child147=(($132+16)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx148=(($child147+4)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $133=HEAP32[(($arrayidx148)>>2)]; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$C1=$133; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp149=(($133)|0)!=0; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp149) { __label__ = 48; break; } else { __label__ = 52; break; } //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 48:
var $134=$C1; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $135=$134; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $136=$m_addr; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $least_addr152=(($136+16)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $137=HEAPU32[(($least_addr152)>>2)]; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp153=(($135)>>>0) >= (($137)>>>0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv154=(($cmp153)&1); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval155=(($conv154)==(1)); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool156=(($expval155)|0)!=0; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool156) { __label__ = 49; break; } else { __label__ = 50; break; } //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 49:
var $138=$C1; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $139=$R; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child158=(($139+16)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx159=(($child158+4)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($arrayidx159)>>2)]=$138; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $140=$R; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $141=$C1; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $parent160=(($141+24)|0); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($parent160)>>2)]=$140; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 51; break; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 50:
_abort(); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 51:
__label__ = 52; break; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 52:
__label__ = 54; break; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 53:
_abort(); //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 54:
__label__ = 55; break; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 55:
__label__ = 56; break; //@line 4285 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 56:
var $142=$rsize; //@line 4286 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp168=(($142)>>>0) < 16; //@line 4286 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp168) { __label__ = 57; break; } else { __label__ = 58; break; } //@line 4286 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 57:
var $143=$rsize; //@line 4287 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $144=$nb_addr; //@line 4287 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add171=(($143+$144)|0); //@line 4287 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or=$add171 | 1; //@line 4287 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or172=$or | 2; //@line 4287 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $145=$v; //@line 4287 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head173=(($145+4)|0); //@line 4287 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($head173)>>2)]=$or172; //@line 4287 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $146=$v; //@line 4287 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $147=$146; //@line 4287 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $148=$rsize; //@line 4287 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $149=$nb_addr; //@line 4287 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add174=(($148+$149)|0); //@line 4287 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr175=(($147+$add174)|0); //@line 4287 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $150=$add_ptr175; //@line 4287 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head176=(($150+4)|0); //@line 4287 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $151=HEAP32[(($head176)>>2)]; //@line 4287 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or177=$151 | 1; //@line 4287 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($head176)>>2)]=$or177; //@line 4287 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 67; break; //@line 4287 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 58:
var $152=$nb_addr; //@line 4289 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or179=$152 | 1; //@line 4289 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or180=$or179 | 2; //@line 4289 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $153=$v; //@line 4289 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head181=(($153+4)|0); //@line 4289 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($head181)>>2)]=$or180; //@line 4289 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $154=$rsize; //@line 4290 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or182=$154 | 1; //@line 4290 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $155=$r; //@line 4290 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head183=(($155+4)|0); //@line 4290 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($head183)>>2)]=$or182; //@line 4290 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $156=$rsize; //@line 4290 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $157=$r; //@line 4290 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $158=$157; //@line 4290 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $159=$rsize; //@line 4290 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr184=(($158+$159)|0); //@line 4290 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $160=$add_ptr184; //@line 4290 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $prev_foot=(($160)|0); //@line 4290 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($prev_foot)>>2)]=$156; //@line 4290 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $161=$m_addr; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $dvsize=(($161+8)|0); //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $162=HEAP32[(($dvsize)>>2)]; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$DVS=$162; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $163=$DVS; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp185=(($163)|0)!=0; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp185) { __label__ = 59; break; } else { __label__ = 66; break; } //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 59:
var $164=$m_addr; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $dv=(($164+20)|0); //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $165=HEAP32[(($dv)>>2)]; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$DV=$165; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $166=$DVS; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr188=$166 >>> 3; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$I=$shr188; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $167=$I; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl189=$167 << 1; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $168=$m_addr; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $smallbins=(($168+40)|0); //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx190=(($smallbins+($shl189<<2))|0); //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $169=$arrayidx190; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $170=$169; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$B=$170; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $171=$B; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$F191=$171; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $172=$m_addr; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $smallmap=(($172)|0); //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $173=HEAP32[(($smallmap)>>2)]; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $174=$I; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl192=1 << $174; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and193=$173 & $shl192; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool194=(($and193)|0)!=0; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool194) { __label__ = 61; break; } else { __label__ = 60; break; } //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 60:
var $175=$I; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl196=1 << $175; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $176=$m_addr; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $smallmap197=(($176)|0); //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $177=HEAP32[(($smallmap197)>>2)]; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or198=$177 | $shl196; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($smallmap197)>>2)]=$or198; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 65; break; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 61:
var $178=$B; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd200=(($178+8)|0); //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $179=HEAP32[(($fd200)>>2)]; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $180=$179; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $181=$m_addr; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $least_addr201=(($181+16)|0); //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $182=HEAPU32[(($least_addr201)>>2)]; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp202=(($180)>>>0) >= (($182)>>>0); //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv203=(($cmp202)&1); //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval204=(($conv203)==(1)); //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool205=(($expval204)|0)!=0; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool205) { __label__ = 62; break; } else { __label__ = 63; break; } //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 62:
var $183=$B; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd207=(($183+8)|0); //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $184=HEAP32[(($fd207)>>2)]; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$F191=$184; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 64; break; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 63:
_abort(); //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 64:
__label__ = 65; break;
case 65:
var $185=$DV; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $186=$B; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd211=(($186+8)|0); //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($fd211)>>2)]=$185; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $187=$DV; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $188=$F191; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $bk212=(($188+12)|0); //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($bk212)>>2)]=$187; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $189=$F191; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $190=$DV; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd213=(($190+8)|0); //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($fd213)>>2)]=$189; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $191=$B; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $192=$DV; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $bk214=(($192+12)|0); //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($bk214)>>2)]=$191; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 66; break; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 66:
var $193=$rsize; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $194=$m_addr; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $dvsize216=(($194+8)|0); //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($dvsize216)>>2)]=$193; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $195=$r; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $196=$m_addr; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $dv217=(($196+20)|0); //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($dv217)>>2)]=$195; //@line 4291 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 67; break;
case 67:
var $197=$v; //@line 4293 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $198=$197; //@line 4293 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr219=(($198+8)|0); //@line 4293 "/home/terminal/emscripten/system/lib/dlmalloc.c"
;
return $add_ptr219; //@line 4293 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 68:
__label__ = 69; break; //@line 4295 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 69:
_abort(); //@line 4297 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4297 "/home/terminal/emscripten/system/lib/dlmalloc.c"
default: assert(0, "bad label: " + __label__);
}
}
_tmalloc_small["X"]=1;
function _tmalloc_large($m, $nb) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $retval;
var $m_addr;
var $nb_addr;
var $v;
var $rsize;
var $t;
var $idx;
var $X;
var $Y;
var $N;
var $K;
var $sizebits;
var $rst;
var $rt;
var $trem;
var $leftbits;
var $i;
var $leastbit;
var $Y68;
var $K70;
var $N73;
var $trem97;
var $r;
var $XP;
var $R;
var $F;
var $RP;
var $CP;
var $H;
var $C0;
var $C1;
var $I;
var $B;
var $F282;
var $TP;
var $H307;
var $I308;
var $X309;
var $Y319;
var $N320;
var $K324;
var $T;
var $K365;
var $C;
var $F404;
$m_addr=$m;
$nb_addr=$nb;
$v=0; //@line 4194 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $0=$nb_addr; //@line 4195 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub=(((-$0))|0); //@line 4195 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$rsize=$sub; //@line 4195 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $1=$nb_addr; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr=$1 >>> 8; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$X=$shr; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $2=$X; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp=(($2)|0)==0; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp) { __label__ = 2; break; } else { __label__ = 3; break; } //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 2:
$idx=0; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 7; break; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 3:
var $3=$X; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp1=(($3)>>>0) > 65535; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp1) { __label__ = 4; break; } else { __label__ = 5; break; } //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 4:
$idx=31; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 6; break; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 5:
var $4=$X; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y=$4; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $5=$Y; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub4=(($5-256)|0); //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr5=$sub4 >>> 16; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and=$shr5 & 8; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$N=$and; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $6=$N; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $7=$Y; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl=$7 << $6; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y=$shl; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub6=(($shl-4096)|0); //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr7=$sub6 >>> 16; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and8=$shr7 & 4; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$K=$and8; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $8=$K; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $9=$N; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add=(($9+$8)|0); //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$N=$add; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $10=$K; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $11=$Y; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl9=$11 << $10; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y=$shl9; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub10=(($shl9-16384)|0); //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr11=$sub10 >>> 16; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and12=$shr11 & 2; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$K=$and12; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $12=$N; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add13=(($12+$and12)|0); //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$N=$add13; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $13=$N; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub14=((14-$13)|0); //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $14=$K; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $15=$Y; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl15=$15 << $14; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y=$shl15; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr16=$shl15 >>> 15; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add17=(($sub14+$shr16)|0); //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$K=$add17; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $16=$K; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl18=$16 << 1; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $17=$nb_addr; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $18=$K; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add19=(($18+7)|0); //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr20=$17 >>> (($add19)>>>0); //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and21=$shr20 & 1; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add22=(($shl18+$and21)|0); //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$idx=$add22; //@line 4198 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 6; break;
case 6:
__label__ = 7; break;
case 7:
var $19=$idx; //@line 4199 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $20=$m_addr; //@line 4199 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $treebins=(($20+304)|0); //@line 4199 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx=(($treebins+($19<<2))|0); //@line 4199 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $21=HEAP32[(($arrayidx)>>2)]; //@line 4199 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$t=$21; //@line 4199 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp24=(($21)|0)!=0; //@line 4199 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp24) { __label__ = 8; break; } else { __label__ = 23; break; } //@line 4199 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 8:
var $22=$nb_addr; //@line 4201 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $23=$idx; //@line 4201 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp26=(($23)|0)==31; //@line 4201 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp26) { __label__ = 9; break; } else { __label__ = 10; break; } //@line 4201 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 9:
var $cond = 0;__label__ = 11; break; //@line 4201 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 10:
var $24=$idx; //@line 4201 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr27=$24 >>> 1; //@line 4201 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add28=(($shr27+8)|0); //@line 4201 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub29=(($add28-2)|0); //@line 4201 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub30=((31-$sub29)|0); //@line 4201 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cond = $sub30;__label__ = 11; break; //@line 4201 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 11:
var $cond; //@line 4201 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl31=$22 << $cond; //@line 4201 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$sizebits=$shl31; //@line 4201 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$rst=0; //@line 4202 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 12; break; //@line 4203 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 12:
var $25=$t; //@line 4205 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head=(($25+4)|0); //@line 4205 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $26=HEAP32[(($head)>>2)]; //@line 4205 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and32=$26 & -8; //@line 4205 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $27=$nb_addr; //@line 4205 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub33=(($and32-$27)|0); //@line 4205 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$trem=$sub33; //@line 4205 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $28=$trem; //@line 4206 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $29=$rsize; //@line 4206 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp34=(($28)>>>0) < (($29)>>>0); //@line 4206 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp34) { __label__ = 13; break; } else { __label__ = 16; break; } //@line 4206 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 13:
var $30=$t; //@line 4207 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$v=$30; //@line 4207 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $31=$trem; //@line 4208 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$rsize=$31; //@line 4208 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp36=(($31)|0)==0; //@line 4208 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp36) { __label__ = 14; break; } else { __label__ = 15; break; } //@line 4208 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 14:
__label__ = 22; break; //@line 4209 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 15:
__label__ = 16; break; //@line 4210 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 16:
var $32=$t; //@line 4211 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child=(($32+16)|0); //@line 4211 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx40=(($child+4)|0); //@line 4211 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $33=HEAP32[(($arrayidx40)>>2)]; //@line 4211 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$rt=$33; //@line 4211 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $34=$sizebits; //@line 4212 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr41=$34 >>> 31; //@line 4212 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and42=$shr41 & 1; //@line 4212 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $35=$t; //@line 4212 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child43=(($35+16)|0); //@line 4212 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx44=(($child43+($and42<<2))|0); //@line 4212 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $36=HEAP32[(($arrayidx44)>>2)]; //@line 4212 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$t=$36; //@line 4212 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $37=$rt; //@line 4213 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp45=(($37)|0)!=0; //@line 4213 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp45) { __label__ = 17; break; } else { __label__ = 19; break; } //@line 4213 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 17:
var $38=$rt; //@line 4213 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $39=$t; //@line 4213 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp46=(($38)|0)!=(($39)|0); //@line 4213 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp46) { __label__ = 18; break; } else { __label__ = 19; break; } //@line 4213 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 18:
var $40=$rt; //@line 4214 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$rst=$40; //@line 4214 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 19; break; //@line 4214 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 19:
var $41=$t; //@line 4215 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp49=(($41)|0)==0; //@line 4215 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp49) { __label__ = 20; break; } else { __label__ = 21; break; } //@line 4215 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 20:
var $42=$rst; //@line 4216 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$t=$42; //@line 4216 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 22; break; //@line 4217 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 21:
var $43=$sizebits; //@line 4219 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl52=$43 << 1; //@line 4219 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$sizebits=$shl52; //@line 4219 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 12; break; //@line 4220 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 22:
__label__ = 23; break; //@line 4221 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 23:
var $44=$t; //@line 4222 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp54=(($44)|0)==0; //@line 4222 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp54) { __label__ = 24; break; } else { __label__ = 28; break; } //@line 4222 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 24:
var $45=$v; //@line 4222 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp56=(($45)|0)==0; //@line 4222 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp56) { __label__ = 25; break; } else { __label__ = 28; break; } //@line 4222 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 25:
var $46=$idx; //@line 4223 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl58=1 << $46; //@line 4223 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl59=$shl58 << 1; //@line 4223 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $47=$idx; //@line 4223 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl60=1 << $47; //@line 4223 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl61=$shl60 << 1; //@line 4223 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub62=(((-$shl61))|0); //@line 4223 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or=$shl59 | $sub62; //@line 4223 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $48=$m_addr; //@line 4223 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $treemap=(($48+4)|0); //@line 4223 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $49=HEAP32[(($treemap)>>2)]; //@line 4223 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and63=$or & $49; //@line 4223 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$leftbits=$and63; //@line 4223 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $50=$leftbits; //@line 4224 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp64=(($50)|0)!=0; //@line 4224 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp64) { __label__ = 26; break; } else { __label__ = 27; break; } //@line 4224 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 26:
var $51=$leftbits; //@line 4226 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $52=$leftbits; //@line 4226 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub66=(((-$52))|0); //@line 4226 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and67=$51 & $sub66; //@line 4226 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$leastbit=$and67; //@line 4226 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $53=$leastbit; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub69=(($53-1)|0); //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y68=$sub69; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $54=$Y68; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr71=$54 >>> 12; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and72=$shr71 & 16; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$K70=$and72; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $55=$K70; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$N73=$55; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $56=$K70; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $57=$Y68; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr74=$57 >>> (($56)>>>0); //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y68=$shr74; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $58=$Y68; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr75=$58 >>> 5; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and76=$shr75 & 8; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$K70=$and76; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $59=$N73; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add77=(($59+$and76)|0); //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$N73=$add77; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $60=$K70; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $61=$Y68; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr78=$61 >>> (($60)>>>0); //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y68=$shr78; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $62=$Y68; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr79=$62 >>> 2; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and80=$shr79 & 4; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$K70=$and80; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $63=$N73; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add81=(($63+$and80)|0); //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$N73=$add81; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $64=$K70; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $65=$Y68; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr82=$65 >>> (($64)>>>0); //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y68=$shr82; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $66=$Y68; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr83=$66 >>> 1; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and84=$shr83 & 2; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$K70=$and84; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $67=$N73; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add85=(($67+$and84)|0); //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$N73=$add85; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $68=$K70; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $69=$Y68; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr86=$69 >>> (($68)>>>0); //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y68=$shr86; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $70=$Y68; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr87=$70 >>> 1; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and88=$shr87 & 1; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$K70=$and88; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $71=$N73; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add89=(($71+$and88)|0); //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$N73=$add89; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $72=$K70; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $73=$Y68; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr90=$73 >>> (($72)>>>0); //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y68=$shr90; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $74=$N73; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $75=$Y68; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add91=(($74+$75)|0); //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$i=$add91; //@line 4227 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $76=$i; //@line 4228 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $77=$m_addr; //@line 4228 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $treebins92=(($77+304)|0); //@line 4228 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx93=(($treebins92+($76<<2))|0); //@line 4228 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $78=HEAP32[(($arrayidx93)>>2)]; //@line 4228 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$t=$78; //@line 4228 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 27; break; //@line 4229 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 27:
__label__ = 28; break; //@line 4230 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 28:
__label__ = 29; break; //@line 4232 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 29:
var $79=$t; //@line 4232 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp96=(($79)|0)!=0; //@line 4232 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp96) { __label__ = 30; break; } else { __label__ = 36; break; } //@line 4232 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 30:
var $80=$t; //@line 4233 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head98=(($80+4)|0); //@line 4233 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $81=HEAP32[(($head98)>>2)]; //@line 4233 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and99=$81 & -8; //@line 4233 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $82=$nb_addr; //@line 4233 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub100=(($and99-$82)|0); //@line 4233 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$trem97=$sub100; //@line 4233 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $83=$trem97; //@line 4234 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $84=$rsize; //@line 4234 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp101=(($83)>>>0) < (($84)>>>0); //@line 4234 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp101) { __label__ = 31; break; } else { __label__ = 32; break; } //@line 4234 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 31:
var $85=$trem97; //@line 4235 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$rsize=$85; //@line 4235 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $86=$t; //@line 4236 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$v=$86; //@line 4236 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 32; break; //@line 4237 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 32:
var $87=$t; //@line 4238 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child104=(($87+16)|0); //@line 4238 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx105=(($child104)|0); //@line 4238 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $88=HEAP32[(($arrayidx105)>>2)]; //@line 4238 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp106=(($88)|0)!=0; //@line 4238 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp106) { __label__ = 33; break; } else { __label__ = 34; break; } //@line 4238 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 33:
var $89=$t; //@line 4238 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child108=(($89+16)|0); //@line 4238 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx109=(($child108)|0); //@line 4238 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $90=HEAP32[(($arrayidx109)>>2)]; //@line 4238 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cond114 = $90;__label__ = 35; break; //@line 4238 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 34:
var $91=$t; //@line 4238 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child111=(($91+16)|0); //@line 4238 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx112=(($child111+4)|0); //@line 4238 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $92=HEAP32[(($arrayidx112)>>2)]; //@line 4238 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cond114 = $92;__label__ = 35; break; //@line 4238 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 35:
var $cond114; //@line 4238 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$t=$cond114; //@line 4238 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 29; break; //@line 4239 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 36:
var $93=$v; //@line 4242 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp115=(($93)|0)!=0; //@line 4242 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp115) { __label__ = 37; break; } else { __label__ = 126; break; } //@line 4242 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 37:
var $94=$rsize; //@line 4242 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $95=$m_addr; //@line 4242 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $dvsize=(($95+8)|0); //@line 4242 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $96=HEAP32[(($dvsize)>>2)]; //@line 4242 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $97=$nb_addr; //@line 4242 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub117=(($96-$97)|0); //@line 4242 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp118=(($94)>>>0) < (($sub117)>>>0); //@line 4242 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp118) { __label__ = 38; break; } else { __label__ = 126; break; } //@line 4242 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 38:
var $98=$v; //@line 4243 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $99=$98; //@line 4243 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $100=$m_addr; //@line 4243 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $least_addr=(($100+16)|0); //@line 4243 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $101=HEAPU32[(($least_addr)>>2)]; //@line 4243 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp120=(($99)>>>0) >= (($101)>>>0); //@line 4243 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv=(($cmp120)&1); //@line 4243 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval=(($conv)==(1)); //@line 4243 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool=(($expval)|0)!=0; //@line 4243 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool) { __label__ = 39; break; } else { __label__ = 125; break; } //@line 4243 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 39:
var $102=$v; //@line 4244 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $103=$102; //@line 4244 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $104=$nb_addr; //@line 4244 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr=(($103+$104)|0); //@line 4244 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $105=$add_ptr; //@line 4244 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$r=$105; //@line 4244 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $106=$v; //@line 4246 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $107=$106; //@line 4246 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $108=$r; //@line 4246 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $109=$108; //@line 4246 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp122=(($107)>>>0) < (($109)>>>0); //@line 4246 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv123=(($cmp122)&1); //@line 4246 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval124=(($conv123)==(1)); //@line 4246 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool125=(($expval124)|0)!=0; //@line 4246 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool125) { __label__ = 40; break; } else { __label__ = 124; break; } //@line 4246 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 40:
var $110=$v; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $parent=(($110+24)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $111=HEAP32[(($parent)>>2)]; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$XP=$111; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $112=$v; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $bk=(($112+12)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $113=HEAP32[(($bk)>>2)]; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $114=$v; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp127=(($113)|0)!=(($114)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp127) { __label__ = 41; break; } else { __label__ = 45; break; } //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 41:
var $115=$v; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd=(($115+8)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $116=HEAP32[(($fd)>>2)]; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$F=$116; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $117=$v; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $bk130=(($117+12)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $118=HEAP32[(($bk130)>>2)]; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$R=$118; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $119=$F; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $120=$119; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $121=$m_addr; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $least_addr131=(($121+16)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $122=HEAPU32[(($least_addr131)>>2)]; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp132=(($120)>>>0) >= (($122)>>>0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv133=(($cmp132)&1); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval134=(($conv133)==(1)); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool135=(($expval134)|0)!=0; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool135) { __label__ = 42; break; } else { __label__ = 43; break; } //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 42:
var $123=$R; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $124=$F; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $bk137=(($124+12)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($bk137)>>2)]=$123; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $125=$F; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $126=$R; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd138=(($126+8)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($fd138)>>2)]=$125; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 44; break; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 43:
_abort(); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 44:
__label__ = 57; break; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 45:
var $127=$v; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child142=(($127+16)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx143=(($child142+4)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$RP=$arrayidx143; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $128=HEAP32[(($arrayidx143)>>2)]; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$R=$128; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp144=(($128)|0)!=0; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp144) { __label__ = 47; break; } else { __label__ = 46; break; } //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 46:
var $129=$v; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child146=(($129+16)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx147=(($child146)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$RP=$arrayidx147; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $130=HEAP32[(($arrayidx147)>>2)]; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$R=$130; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp148=(($130)|0)!=0; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp148) { __label__ = 47; break; } else { __label__ = 56; break; } //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 47:
__label__ = 48; break; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 48:
var $131=$R; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child152=(($131+16)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx153=(($child152+4)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$CP=$arrayidx153; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $132=HEAP32[(($arrayidx153)>>2)]; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp154=(($132)|0)!=0; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp154) { var $135 = 1;__label__ = 50; break; } else { __label__ = 49; break; } //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 49:
var $133=$R; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child156=(($133+16)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx157=(($child156)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$CP=$arrayidx157; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $134=HEAP32[(($arrayidx157)>>2)]; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp158=(($134)|0)!=0; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $135 = $cmp158;__label__ = 50; break; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 50:
var $135;
if ($135) { __label__ = 51; break; } else { __label__ = 52; break; } //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 51:
var $136=$CP; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$RP=$136; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $137=HEAP32[(($136)>>2)]; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$R=$137; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 48; break; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 52:
var $138=$RP; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $139=$138; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $140=$m_addr; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $least_addr162=(($140+16)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $141=HEAPU32[(($least_addr162)>>2)]; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp163=(($139)>>>0) >= (($141)>>>0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv164=(($cmp163)&1); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval165=(($conv164)==(1)); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool166=(($expval165)|0)!=0; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool166) { __label__ = 53; break; } else { __label__ = 54; break; } //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 53:
var $142=$RP; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($142)>>2)]=0; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 55; break; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 54:
_abort(); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 55:
__label__ = 56; break; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 56:
__label__ = 57; break;
case 57:
var $143=$XP; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp172=(($143)|0)!=0; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp172) { __label__ = 58; break; } else { __label__ = 85; break; } //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 58:
var $144=$v; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $index=(($144+28)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $145=HEAP32[(($index)>>2)]; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $146=$m_addr; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $treebins175=(($146+304)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx176=(($treebins175+($145<<2))|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$H=$arrayidx176; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $147=$v; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $148=$H; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $149=HEAP32[(($148)>>2)]; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp177=(($147)|0)==(($149)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp177) { __label__ = 59; break; } else { __label__ = 62; break; } //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 59:
var $150=$R; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $151=$H; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($151)>>2)]=$150; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp180=(($150)|0)==0; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp180) { __label__ = 60; break; } else { __label__ = 61; break; } //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 60:
var $152=$v; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $index183=(($152+28)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $153=HEAP32[(($index183)>>2)]; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl184=1 << $153; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $neg=$shl184 ^ -1; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $154=$m_addr; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $treemap185=(($154+4)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $155=HEAP32[(($treemap185)>>2)]; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and186=$155 & $neg; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($treemap185)>>2)]=$and186; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 61; break; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 61:
__label__ = 69; break; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 62:
var $156=$XP; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $157=$156; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $158=$m_addr; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $least_addr189=(($158+16)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $159=HEAPU32[(($least_addr189)>>2)]; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp190=(($157)>>>0) >= (($159)>>>0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv191=(($cmp190)&1); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval192=(($conv191)==(1)); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool193=(($expval192)|0)!=0; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool193) { __label__ = 63; break; } else { __label__ = 67; break; } //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 63:
var $160=$XP; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child195=(($160+16)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx196=(($child195)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $161=HEAP32[(($arrayidx196)>>2)]; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $162=$v; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp197=(($161)|0)==(($162)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp197) { __label__ = 64; break; } else { __label__ = 65; break; } //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 64:
var $163=$R; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $164=$XP; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child200=(($164+16)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx201=(($child200)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($arrayidx201)>>2)]=$163; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 66; break; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 65:
var $165=$R; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $166=$XP; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child203=(($166+16)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx204=(($child203+4)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($arrayidx204)>>2)]=$165; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 66; break;
case 66:
__label__ = 68; break; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 67:
_abort(); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 68:
__label__ = 69; break;
case 69:
var $167=$R; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp209=(($167)|0)!=0; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp209) { __label__ = 70; break; } else { __label__ = 84; break; } //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 70:
var $168=$R; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $169=$168; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $170=$m_addr; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $least_addr212=(($170+16)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $171=HEAPU32[(($least_addr212)>>2)]; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp213=(($169)>>>0) >= (($171)>>>0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv214=(($cmp213)&1); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval215=(($conv214)==(1)); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool216=(($expval215)|0)!=0; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool216) { __label__ = 71; break; } else { __label__ = 82; break; } //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 71:
var $172=$XP; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $173=$R; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $parent218=(($173+24)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($parent218)>>2)]=$172; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $174=$v; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child219=(($174+16)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx220=(($child219)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $175=HEAP32[(($arrayidx220)>>2)]; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$C0=$175; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp221=(($175)|0)!=0; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp221) { __label__ = 72; break; } else { __label__ = 76; break; } //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 72:
var $176=$C0; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $177=$176; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $178=$m_addr; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $least_addr224=(($178+16)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $179=HEAPU32[(($least_addr224)>>2)]; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp225=(($177)>>>0) >= (($179)>>>0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv226=(($cmp225)&1); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval227=(($conv226)==(1)); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool228=(($expval227)|0)!=0; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool228) { __label__ = 73; break; } else { __label__ = 74; break; } //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 73:
var $180=$C0; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $181=$R; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child230=(($181+16)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx231=(($child230)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($arrayidx231)>>2)]=$180; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $182=$R; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $183=$C0; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $parent232=(($183+24)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($parent232)>>2)]=$182; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 75; break; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 74:
_abort(); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 75:
__label__ = 76; break; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 76:
var $184=$v; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child236=(($184+16)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx237=(($child236+4)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $185=HEAP32[(($arrayidx237)>>2)]; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$C1=$185; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp238=(($185)|0)!=0; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp238) { __label__ = 77; break; } else { __label__ = 81; break; } //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 77:
var $186=$C1; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $187=$186; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $188=$m_addr; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $least_addr241=(($188+16)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $189=HEAPU32[(($least_addr241)>>2)]; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp242=(($187)>>>0) >= (($189)>>>0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv243=(($cmp242)&1); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval244=(($conv243)==(1)); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool245=(($expval244)|0)!=0; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool245) { __label__ = 78; break; } else { __label__ = 79; break; } //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 78:
var $190=$C1; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $191=$R; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child247=(($191+16)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx248=(($child247+4)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($arrayidx248)>>2)]=$190; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $192=$R; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $193=$C1; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $parent249=(($193+24)|0); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($parent249)>>2)]=$192; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 80; break; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 79:
_abort(); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 80:
__label__ = 81; break; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 81:
__label__ = 83; break; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 82:
_abort(); //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 83:
__label__ = 84; break; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 84:
__label__ = 85; break; //@line 4247 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 85:
var $194=$rsize; //@line 4248 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp257=(($194)>>>0) < 16; //@line 4248 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp257) { __label__ = 86; break; } else { __label__ = 87; break; } //@line 4248 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 86:
var $195=$rsize; //@line 4249 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $196=$nb_addr; //@line 4249 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add260=(($195+$196)|0); //@line 4249 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or261=$add260 | 1; //@line 4249 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or262=$or261 | 2; //@line 4249 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $197=$v; //@line 4249 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head263=(($197+4)|0); //@line 4249 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($head263)>>2)]=$or262; //@line 4249 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $198=$v; //@line 4249 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $199=$198; //@line 4249 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $200=$rsize; //@line 4249 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $201=$nb_addr; //@line 4249 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add264=(($200+$201)|0); //@line 4249 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr265=(($199+$add264)|0); //@line 4249 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $202=$add_ptr265; //@line 4249 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head266=(($202+4)|0); //@line 4249 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $203=HEAP32[(($head266)>>2)]; //@line 4249 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or267=$203 | 1; //@line 4249 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($head266)>>2)]=$or267; //@line 4249 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 123; break; //@line 4249 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 87:
var $204=$nb_addr; //@line 4251 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or269=$204 | 1; //@line 4251 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or270=$or269 | 2; //@line 4251 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $205=$v; //@line 4251 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head271=(($205+4)|0); //@line 4251 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($head271)>>2)]=$or270; //@line 4251 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $206=$rsize; //@line 4252 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or272=$206 | 1; //@line 4252 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $207=$r; //@line 4252 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head273=(($207+4)|0); //@line 4252 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($head273)>>2)]=$or272; //@line 4252 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $208=$rsize; //@line 4252 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $209=$r; //@line 4252 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $210=$209; //@line 4252 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $211=$rsize; //@line 4252 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr274=(($210+$211)|0); //@line 4252 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $212=$add_ptr274; //@line 4252 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $prev_foot=(($212)|0); //@line 4252 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($prev_foot)>>2)]=$208; //@line 4252 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $213=$rsize; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr275=$213 >>> 3; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp276=(($shr275)>>>0) < 32; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp276) { __label__ = 88; break; } else { __label__ = 95; break; } //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 88:
var $214=$rsize; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr279=$214 >>> 3; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$I=$shr279; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $215=$I; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl280=$215 << 1; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $216=$m_addr; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $smallbins=(($216+40)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx281=(($smallbins+($shl280<<2))|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $217=$arrayidx281; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $218=$217; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$B=$218; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $219=$B; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$F282=$219; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $220=$m_addr; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $smallmap=(($220)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $221=HEAP32[(($smallmap)>>2)]; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $222=$I; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl283=1 << $222; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and284=$221 & $shl283; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool285=(($and284)|0)!=0; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool285) { __label__ = 90; break; } else { __label__ = 89; break; } //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 89:
var $223=$I; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl287=1 << $223; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $224=$m_addr; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $smallmap288=(($224)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $225=HEAP32[(($smallmap288)>>2)]; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or289=$225 | $shl287; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($smallmap288)>>2)]=$or289; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 94; break; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 90:
var $226=$B; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd291=(($226+8)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $227=HEAP32[(($fd291)>>2)]; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $228=$227; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $229=$m_addr; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $least_addr292=(($229+16)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $230=HEAPU32[(($least_addr292)>>2)]; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp293=(($228)>>>0) >= (($230)>>>0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv294=(($cmp293)&1); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval295=(($conv294)==(1)); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool296=(($expval295)|0)!=0; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool296) { __label__ = 91; break; } else { __label__ = 92; break; } //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 91:
var $231=$B; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd298=(($231+8)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $232=HEAP32[(($fd298)>>2)]; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$F282=$232; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 93; break; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 92:
_abort(); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 93:
__label__ = 94; break;
case 94:
var $233=$r; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $234=$B; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd302=(($234+8)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($fd302)>>2)]=$233; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $235=$r; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $236=$F282; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $bk303=(($236+12)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($bk303)>>2)]=$235; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $237=$F282; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $238=$r; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd304=(($238+8)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($fd304)>>2)]=$237; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $239=$B; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $240=$r; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $bk305=(($240+12)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($bk305)>>2)]=$239; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 122; break; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 95:
var $241=$r; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $242=$241; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$TP=$242; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $243=$rsize; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr310=$243 >>> 8; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$X309=$shr310; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $244=$X309; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp311=(($244)|0)==0; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp311) { __label__ = 96; break; } else { __label__ = 97; break; } //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 96:
$I308=0; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 101; break; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 97:
var $245=$X309; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp315=(($245)>>>0) > 65535; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp315) { __label__ = 98; break; } else { __label__ = 99; break; } //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 98:
$I308=31; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 100; break; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 99:
var $246=$X309; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y319=$246; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $247=$Y319; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub321=(($247-256)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr322=$sub321 >>> 16; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and323=$shr322 & 8; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$N320=$and323; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $248=$N320; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $249=$Y319; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl325=$249 << $248; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y319=$shl325; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub326=(($shl325-4096)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr327=$sub326 >>> 16; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and328=$shr327 & 4; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$K324=$and328; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $250=$K324; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $251=$N320; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add329=(($251+$250)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$N320=$add329; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $252=$K324; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $253=$Y319; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl330=$253 << $252; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y319=$shl330; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub331=(($shl330-16384)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr332=$sub331 >>> 16; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and333=$shr332 & 2; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$K324=$and333; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $254=$N320; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add334=(($254+$and333)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$N320=$add334; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $255=$N320; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub335=((14-$255)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $256=$K324; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $257=$Y319; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl336=$257 << $256; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$Y319=$shl336; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr337=$shl336 >>> 15; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add338=(($sub335+$shr337)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$K324=$add338; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $258=$K324; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl339=$258 << 1; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $259=$rsize; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $260=$K324; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add340=(($260+7)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr341=$259 >>> (($add340)>>>0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and342=$shr341 & 1; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add343=(($shl339+$and342)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$I308=$add343; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 100; break;
case 100:
__label__ = 101; break;
case 101:
var $261=$I308; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $262=$m_addr; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $treebins346=(($262+304)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx347=(($treebins346+($261<<2))|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$H307=$arrayidx347; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $263=$I308; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $264=$TP; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $index348=(($264+28)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($index348)>>2)]=$263; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $265=$TP; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child349=(($265+16)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx350=(($child349+4)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($arrayidx350)>>2)]=0; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $266=$TP; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child351=(($266+16)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx352=(($child351)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($arrayidx352)>>2)]=0; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $267=$m_addr; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $treemap353=(($267+4)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $268=HEAP32[(($treemap353)>>2)]; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $269=$I308; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl354=1 << $269; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and355=$268 & $shl354; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool356=(($and355)|0)!=0; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool356) { __label__ = 103; break; } else { __label__ = 102; break; } //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 102:
var $270=$I308; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl358=1 << $270; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $271=$m_addr; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $treemap359=(($271+4)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $272=HEAP32[(($treemap359)>>2)]; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or360=$272 | $shl358; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($treemap359)>>2)]=$or360; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $273=$TP; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $274=$H307; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($274)>>2)]=$273; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $275=$H307; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $276=$275; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $277=$TP; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $parent361=(($277+24)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($parent361)>>2)]=$276; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $278=$TP; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $279=$TP; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $bk362=(($279+12)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($bk362)>>2)]=$278; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $280=$TP; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd363=(($280+8)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($fd363)>>2)]=$278; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 121; break; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 103:
var $281=$H307; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $282=HEAP32[(($281)>>2)]; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$T=$282; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $283=$rsize; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $284=$I308; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp366=(($284)|0)==31; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp366) { __label__ = 104; break; } else { __label__ = 105; break; } //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 104:
var $cond375 = 0;__label__ = 106; break; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 105:
var $285=$I308; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr370=$285 >>> 1; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add371=(($shr370+8)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub372=(($add371-2)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub373=((31-$sub372)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cond375 = $sub373;__label__ = 106; break; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 106:
var $cond375; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl376=$283 << $cond375; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$K365=$shl376; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 107; break; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 107:
var $286=$T; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head378=(($286+4)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $287=HEAP32[(($head378)>>2)]; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and379=$287 & -8; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $288=$rsize; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp380=(($and379)|0)!=(($288)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp380) { __label__ = 108; break; } else { __label__ = 114; break; } //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 108:
var $289=$K365; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr383=$289 >>> 31; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and384=$shr383 & 1; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $290=$T; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child385=(($290+16)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx386=(($child385+($and384<<2))|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$C=$arrayidx386; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $291=$K365; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl387=$291 << 1; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$K365=$shl387; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $292=$C; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $293=HEAP32[(($292)>>2)]; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp388=(($293)|0)!=0; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp388) { __label__ = 109; break; } else { __label__ = 110; break; } //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 109:
var $294=$C; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $295=HEAP32[(($294)>>2)]; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$T=$295; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 113; break; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 110:
var $296=$C; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $297=$296; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $298=$m_addr; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $least_addr392=(($298+16)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $299=HEAPU32[(($least_addr392)>>2)]; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp393=(($297)>>>0) >= (($299)>>>0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv394=(($cmp393)&1); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval395=(($conv394)==(1)); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool396=(($expval395)|0)!=0; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool396) { __label__ = 111; break; } else { __label__ = 112; break; } //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 111:
var $300=$TP; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $301=$C; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($301)>>2)]=$300; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $302=$T; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $303=$TP; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $parent398=(($303+24)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($parent398)>>2)]=$302; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $304=$TP; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $305=$TP; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $bk399=(($305+12)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($bk399)>>2)]=$304; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $306=$TP; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd400=(($306+8)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($fd400)>>2)]=$304; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 120; break; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 112:
_abort(); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 113:
__label__ = 119; break; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 114:
var $307=$T; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd405=(($307+8)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $308=HEAP32[(($fd405)>>2)]; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$F404=$308; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $309=$T; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $310=$309; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $311=$m_addr; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $least_addr406=(($311+16)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $312=HEAPU32[(($least_addr406)>>2)]; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp407=(($310)>>>0) >= (($312)>>>0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp407) { __label__ = 115; break; } else { var $317 = 0;__label__ = 116; break; } //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 115:
var $313=$F404; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $314=$313; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $315=$m_addr; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $least_addr409=(($315+16)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $316=HEAPU32[(($least_addr409)>>2)]; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp410=(($314)>>>0) >= (($316)>>>0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $317 = $cmp410;__label__ = 116; break;
case 116:
var $317;
var $land_ext=(($317)&1);
var $expval412=(($land_ext)==(1));
var $tobool413=(($expval412)|0)!=0;
if ($tobool413) { __label__ = 117; break; } else { __label__ = 118; break; }
case 117:
var $318=$TP; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $319=$F404; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $bk415=(($319+12)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($bk415)>>2)]=$318; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $320=$T; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd416=(($320+8)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($fd416)>>2)]=$318; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $321=$F404; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $322=$TP; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd417=(($322+8)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($fd417)>>2)]=$321; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $323=$T; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $324=$TP; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $bk418=(($324+12)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($bk418)>>2)]=$323; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $325=$TP; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $parent419=(($325+24)|0); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($parent419)>>2)]=0; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 120; break; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 118:
_abort(); //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 119:
__label__ = 107; break; //@line 4253 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 120:
__label__ = 121; break;
case 121:
__label__ = 122; break;
case 122:
__label__ = 123; break;
case 123:
var $326=$v; //@line 4255 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $327=$326; //@line 4255 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr426=(($327+8)|0); //@line 4255 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$retval=$add_ptr426; //@line 4255 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 127; break; //@line 4255 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 124:
__label__ = 125; break; //@line 4257 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 125:
_abort(); //@line 4258 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4258 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 126:
$retval=0; //@line 4260 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 127; break; //@line 4260 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 127:
var $328=$retval; //@line 4261 "/home/terminal/emscripten/system/lib/dlmalloc.c"
;
return $328; //@line 4261 "/home/terminal/emscripten/system/lib/dlmalloc.c"
default: assert(0, "bad label: " + __label__);
}
}
_tmalloc_large["X"]=1;
function _sys_alloc($m, $nb) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $retval;
var $m_addr;
var $nb_addr;
var $tbase;
var $tsize;
var $mmap_flag;
var $mem;
var $br;
var $ss;
var $asize;
var $base;
var $esize;
var $end;
var $asize97;
var $br106;
var $end107;
var $ssize;
var $mn;
var $sp;
var $oldbase;
var $rsize;
var $p;
var $r;
$m_addr=$m;
$nb_addr=$nb;
$tbase=-1; //@line 3876 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$tsize=0; //@line 3877 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$mmap_flag=0; //@line 3878 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $0=HEAP32[((((_mparams)|0))>>2)]; //@line 3880 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp=(($0)|0)!=0; //@line 3880 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp) { var $1 = 1;__label__ = 3; break; } else { __label__ = 2; break; } //@line 3880 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 2:
var $call=_init_mparams(); //@line 3880 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool=(($call)|0)!=0; //@line 3880 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $1 = $tobool;__label__ = 3; break; //@line 3880 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 3:
var $1;
var $lor_ext=(($1)&1); //@line 3880 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $2=$m_addr; //@line 3883 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $mflags=(($2+440)|0); //@line 3883 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $3=HEAP32[(($mflags)>>2)]; //@line 3883 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and=$3 & 0; //@line 3883 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool1=(($and)|0)!=0; //@line 3883 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool1) { __label__ = 4; break; } else { __label__ = 9; break; } //@line 3883 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 4:
var $4=$nb_addr; //@line 3883 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $5=HEAPU32[((((_mparams+12)|0))>>2)]; //@line 3883 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp2=(($4)>>>0) >= (($5)>>>0); //@line 3883 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp2) { __label__ = 5; break; } else { __label__ = 9; break; } //@line 3883 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 5:
var $6=$m_addr; //@line 3883 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $topsize=(($6+12)|0); //@line 3883 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $7=HEAP32[(($topsize)>>2)]; //@line 3883 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp4=(($7)|0)!=0; //@line 3883 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp4) { __label__ = 6; break; } else { __label__ = 9; break; } //@line 3883 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 6:
var $8=$m_addr; //@line 3884 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $9=$nb_addr; //@line 3884 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $call5=_mmap_alloc($8, $9); //@line 3884 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$mem=$call5; //@line 3884 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $10=$mem; //@line 3885 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp6=(($10)|0)!=0; //@line 3885 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp6) { __label__ = 7; break; } else { __label__ = 8; break; } //@line 3885 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 7:
var $11=$mem; //@line 3886 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$retval=$11; //@line 3886 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 92; break; //@line 3886 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 8:
__label__ = 9; break; //@line 3887 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 9:
var $12=$m_addr; //@line 3911 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $mflags9=(($12+440)|0); //@line 3911 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $13=HEAP32[(($mflags9)>>2)]; //@line 3911 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and10=$13 & 4; //@line 3911 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool11=(($and10)|0)!=0; //@line 3911 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool11) { __label__ = 42; break; } else { __label__ = 10; break; } //@line 3911 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 10:
$br=-1; //@line 3912 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $14=$m_addr; //@line 3913 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $top=(($14+24)|0); //@line 3913 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $15=HEAP32[(($top)>>2)]; //@line 3913 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp13=(($15)|0)==0; //@line 3913 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp13) { __label__ = 11; break; } else { __label__ = 12; break; } //@line 3913 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 11:
var $cond = 0;__label__ = 13; break; //@line 3913 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 12:
var $16=$m_addr; //@line 3913 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $17=$m_addr; //@line 3913 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $top14=(($17+24)|0); //@line 3913 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $18=HEAP32[(($top14)>>2)]; //@line 3913 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $19=$18; //@line 3913 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $call15=_segment_holding($16, $19); //@line 3913 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cond = $call15;__label__ = 13; break; //@line 3913 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 13:
var $cond; //@line 3913 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$ss=$cond; //@line 3913 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$asize=0; //@line 3914 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $20=$ss; //@line 3917 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp16=(($20)|0)==0; //@line 3917 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp16) { __label__ = 14; break; } else { __label__ = 22; break; } //@line 3917 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 14:
var $call18=_sbrk(0); //@line 3918 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$base=$call18; //@line 3918 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $21=$base; //@line 3919 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp19=(($21)|0)!=-1; //@line 3919 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp19) { __label__ = 15; break; } else { __label__ = 21; break; } //@line 3919 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 15:
var $22=$nb_addr; //@line 3920 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add=(($22+48)|0); //@line 3920 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $23=HEAP32[((((_mparams+8)|0))>>2)]; //@line 3920 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub=(($23-1)|0); //@line 3920 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add21=(($add+$sub)|0); //@line 3920 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $24=HEAP32[((((_mparams+8)|0))>>2)]; //@line 3920 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub22=(($24-1)|0); //@line 3920 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $neg=$sub22 ^ -1; //@line 3920 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and23=$add21 & $neg; //@line 3920 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$asize=$and23; //@line 3920 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $25=$base; //@line 3922 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $26=$25; //@line 3922 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $27=HEAP32[((((_mparams+4)|0))>>2)]; //@line 3922 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub24=(($27-1)|0); //@line 3922 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and25=$26 & $sub24; //@line 3922 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp26=(($and25)|0)==0; //@line 3922 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp26) { __label__ = 17; break; } else { __label__ = 16; break; } //@line 3922 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 16:
var $28=$base; //@line 3923 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $29=$28; //@line 3923 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $30=HEAP32[((((_mparams+4)|0))>>2)]; //@line 3923 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub28=(($30-1)|0); //@line 3923 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add29=(($29+$sub28)|0); //@line 3923 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $31=HEAP32[((((_mparams+4)|0))>>2)]; //@line 3923 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub30=(($31-1)|0); //@line 3923 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $neg31=$sub30 ^ -1; //@line 3923 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and32=$add29 & $neg31; //@line 3923 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $32=$base; //@line 3923 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $33=$32; //@line 3923 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub33=(($and32-$33)|0); //@line 3923 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $34=$asize; //@line 3923 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add34=(($34+$sub33)|0); //@line 3923 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$asize=$add34; //@line 3923 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 17; break; //@line 3923 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 17:
var $35=$asize; //@line 3925 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp36=(($35)>>>0) < 2147483647; //@line 3925 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp36) { __label__ = 18; break; } else { __label__ = 20; break; } //@line 3925 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 18:
var $36=$asize; //@line 3926 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $call38=_sbrk($36); //@line 3926 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$br=$call38; //@line 3926 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $37=$base; //@line 3926 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp39=(($call38)|0)==(($37)|0); //@line 3926 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp39) { __label__ = 19; break; } else { __label__ = 20; break; } //@line 3926 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 19:
var $38=$base; //@line 3927 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$tbase=$38; //@line 3927 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $39=$asize; //@line 3928 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$tsize=$39; //@line 3928 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 20; break; //@line 3929 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 20:
__label__ = 21; break; //@line 3930 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 21:
__label__ = 26; break; //@line 3931 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 22:
var $40=$nb_addr; //@line 3934 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $41=$m_addr; //@line 3934 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $topsize43=(($41+12)|0); //@line 3934 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $42=HEAP32[(($topsize43)>>2)]; //@line 3934 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub44=(($40-$42)|0); //@line 3934 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add45=(($sub44+48)|0); //@line 3934 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $43=HEAP32[((((_mparams+8)|0))>>2)]; //@line 3934 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub46=(($43-1)|0); //@line 3934 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add47=(($add45+$sub46)|0); //@line 3934 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $44=HEAP32[((((_mparams+8)|0))>>2)]; //@line 3934 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub48=(($44-1)|0); //@line 3934 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $neg49=$sub48 ^ -1; //@line 3934 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and50=$add47 & $neg49; //@line 3934 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$asize=$and50; //@line 3934 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $45=$asize; //@line 3936 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp51=(($45)>>>0) < 2147483647; //@line 3936 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp51) { __label__ = 23; break; } else { __label__ = 25; break; } //@line 3936 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 23:
var $46=$asize; //@line 3937 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $call53=_sbrk($46); //@line 3937 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$br=$call53; //@line 3937 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $47=$ss; //@line 3937 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $base54=(($47)|0); //@line 3937 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $48=HEAP32[(($base54)>>2)]; //@line 3937 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $49=$ss; //@line 3937 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $size=(($49+4)|0); //@line 3937 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $50=HEAP32[(($size)>>2)]; //@line 3937 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr=(($48+$50)|0); //@line 3937 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp55=(($call53)|0)==(($add_ptr)|0); //@line 3937 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp55) { __label__ = 24; break; } else { __label__ = 25; break; } //@line 3937 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 24:
var $51=$br; //@line 3938 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$tbase=$51; //@line 3938 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $52=$asize; //@line 3939 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$tsize=$52; //@line 3939 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 25; break; //@line 3940 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 25:
__label__ = 26; break;
case 26:
var $53=$tbase; //@line 3943 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp59=(($53)|0)==-1; //@line 3943 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp59) { __label__ = 27; break; } else { __label__ = 41; break; } //@line 3943 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 27:
var $54=$br; //@line 3944 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp61=(($54)|0)!=-1; //@line 3944 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp61) { __label__ = 28; break; } else { __label__ = 37; break; } //@line 3944 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 28:
var $55=$asize; //@line 3945 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp63=(($55)>>>0) < 2147483647; //@line 3945 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp63) { __label__ = 29; break; } else { __label__ = 36; break; } //@line 3945 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 29:
var $56=$asize; //@line 3945 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $57=$nb_addr; //@line 3945 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add65=(($57+48)|0); //@line 3945 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp66=(($56)>>>0) < (($add65)>>>0); //@line 3945 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp66) { __label__ = 30; break; } else { __label__ = 36; break; } //@line 3945 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 30:
var $58=$nb_addr; //@line 3947 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add68=(($58+48)|0); //@line 3947 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $59=$asize; //@line 3947 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub69=(($add68-$59)|0); //@line 3947 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $60=HEAP32[((((_mparams+8)|0))>>2)]; //@line 3947 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub70=(($60-1)|0); //@line 3947 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add71=(($sub69+$sub70)|0); //@line 3947 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $61=HEAP32[((((_mparams+8)|0))>>2)]; //@line 3947 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub72=(($61-1)|0); //@line 3947 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $neg73=$sub72 ^ -1; //@line 3947 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and74=$add71 & $neg73; //@line 3947 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$esize=$and74; //@line 3947 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $62=$esize; //@line 3948 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp75=(($62)>>>0) < 2147483647; //@line 3948 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp75) { __label__ = 31; break; } else { __label__ = 35; break; } //@line 3948 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 31:
var $63=$esize; //@line 3949 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $call77=_sbrk($63); //@line 3949 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$end=$call77; //@line 3949 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $64=$end; //@line 3950 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp78=(($64)|0)!=-1; //@line 3950 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp78) { __label__ = 32; break; } else { __label__ = 33; break; } //@line 3950 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 32:
var $65=$esize; //@line 3951 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $66=$asize; //@line 3951 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add80=(($66+$65)|0); //@line 3951 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$asize=$add80; //@line 3951 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 34; break; //@line 3951 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 33:
var $67=$asize; //@line 3953 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub82=(((-$67))|0); //@line 3953 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $call83=_sbrk($sub82); //@line 3953 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$br=-1; //@line 3954 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 34; break;
case 34:
__label__ = 35; break; //@line 3956 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 35:
__label__ = 36; break; //@line 3957 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 36:
__label__ = 37; break; //@line 3958 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 37:
var $68=$br; //@line 3959 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp88=(($68)|0)!=-1; //@line 3959 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp88) { __label__ = 38; break; } else { __label__ = 39; break; } //@line 3959 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 38:
var $69=$br; //@line 3960 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$tbase=$69; //@line 3960 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $70=$asize; //@line 3961 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$tsize=$70; //@line 3961 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 40; break; //@line 3962 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 39:
var $71=$m_addr; //@line 3964 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $mflags91=(($71+440)|0); //@line 3964 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $72=HEAP32[(($mflags91)>>2)]; //@line 3964 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or=$72 | 4; //@line 3964 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($mflags91)>>2)]=$or; //@line 3964 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 40; break;
case 40:
__label__ = 41; break; //@line 3965 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 41:
__label__ = 42; break; //@line 3968 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 42:
var $73=$tbase; //@line 3982 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp95=(($73)|0)==-1; //@line 3982 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp95) { __label__ = 43; break; } else { __label__ = 52; break; } //@line 3982 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 43:
var $74=$nb_addr; //@line 3983 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add98=(($74+48)|0); //@line 3983 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $75=HEAP32[((((_mparams+8)|0))>>2)]; //@line 3983 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub99=(($75-1)|0); //@line 3983 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add100=(($add98+$sub99)|0); //@line 3983 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $76=HEAP32[((((_mparams+8)|0))>>2)]; //@line 3983 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub101=(($76-1)|0); //@line 3983 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $neg102=$sub101 ^ -1; //@line 3983 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and103=$add100 & $neg102; //@line 3983 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$asize97=$and103; //@line 3983 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $77=$asize97; //@line 3984 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp104=(($77)>>>0) < 2147483647; //@line 3984 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp104) { __label__ = 44; break; } else { __label__ = 51; break; } //@line 3984 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 44:
$br106=-1; //@line 3985 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$end107=-1; //@line 3986 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $78=$asize97; //@line 3988 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $call108=_sbrk($78); //@line 3988 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$br106=$call108; //@line 3988 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $call109=_sbrk(0); //@line 3989 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$end107=$call109; //@line 3989 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $79=$br106; //@line 3991 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp110=(($79)|0)!=-1; //@line 3991 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp110) { __label__ = 45; break; } else { __label__ = 50; break; } //@line 3991 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 45:
var $80=$end107; //@line 3991 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp112=(($80)|0)!=-1; //@line 3991 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp112) { __label__ = 46; break; } else { __label__ = 50; break; } //@line 3991 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 46:
var $81=$br106; //@line 3991 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $82=$end107; //@line 3991 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp114=(($81)>>>0) < (($82)>>>0); //@line 3991 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp114) { __label__ = 47; break; } else { __label__ = 50; break; } //@line 3991 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 47:
var $83=$end107; //@line 3992 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $84=$br106; //@line 3992 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub_ptr_lhs_cast=$83; //@line 3992 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub_ptr_rhs_cast=$84; //@line 3992 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub_ptr_sub=(($sub_ptr_lhs_cast-$sub_ptr_rhs_cast)|0); //@line 3992 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$ssize=$sub_ptr_sub; //@line 3992 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $85=$ssize; //@line 3993 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $86=$nb_addr; //@line 3993 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add116=(($86+40)|0); //@line 3993 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp117=(($85)>>>0) > (($add116)>>>0); //@line 3993 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp117) { __label__ = 48; break; } else { __label__ = 49; break; } //@line 3993 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 48:
var $87=$br106; //@line 3994 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$tbase=$87; //@line 3994 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $88=$ssize; //@line 3995 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$tsize=$88; //@line 3995 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 49; break; //@line 3996 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 49:
__label__ = 50; break; //@line 3997 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 50:
__label__ = 51; break; //@line 3998 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 51:
__label__ = 52; break; //@line 3999 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 52:
var $89=$tbase; //@line 4001 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp123=(($89)|0)!=-1; //@line 4001 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp123) { __label__ = 53; break; } else { __label__ = 91; break; } //@line 4001 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 53:
var $90=$tsize; //@line 4003 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $91=$m_addr; //@line 4003 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $footprint=(($91+432)|0); //@line 4003 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $92=HEAP32[(($footprint)>>2)]; //@line 4003 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add125=(($92+$90)|0); //@line 4003 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($footprint)>>2)]=$add125; //@line 4003 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $93=$m_addr; //@line 4003 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $max_footprint=(($93+436)|0); //@line 4003 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $94=HEAPU32[(($max_footprint)>>2)]; //@line 4003 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp126=(($add125)>>>0) > (($94)>>>0); //@line 4003 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp126) { __label__ = 54; break; } else { __label__ = 55; break; } //@line 4003 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 54:
var $95=$m_addr; //@line 4004 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $footprint128=(($95+432)|0); //@line 4004 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $96=HEAP32[(($footprint128)>>2)]; //@line 4004 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $97=$m_addr; //@line 4004 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $max_footprint129=(($97+436)|0); //@line 4004 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($max_footprint129)>>2)]=$96; //@line 4004 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 55; break; //@line 4004 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 55:
var $98=$m_addr; //@line 4006 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $top131=(($98+24)|0); //@line 4006 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $99=HEAP32[(($top131)>>2)]; //@line 4006 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp132=(($99)|0)!=0; //@line 4006 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp132) { __label__ = 63; break; } else { __label__ = 56; break; } //@line 4006 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 56:
var $100=$m_addr; //@line 4007 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $least_addr=(($100+16)|0); //@line 4007 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $101=HEAP32[(($least_addr)>>2)]; //@line 4007 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp134=(($101)|0)==0; //@line 4007 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp134) { __label__ = 58; break; } else { __label__ = 57; break; } //@line 4007 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 57:
var $102=$tbase; //@line 4007 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $103=$m_addr; //@line 4007 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $least_addr135=(($103+16)|0); //@line 4007 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $104=HEAPU32[(($least_addr135)>>2)]; //@line 4007 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp136=(($102)>>>0) < (($104)>>>0); //@line 4007 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp136) { __label__ = 58; break; } else { __label__ = 59; break; } //@line 4007 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 58:
var $105=$tbase; //@line 4008 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $106=$m_addr; //@line 4008 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $least_addr138=(($106+16)|0); //@line 4008 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($least_addr138)>>2)]=$105; //@line 4008 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 59; break; //@line 4008 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 59:
var $107=$tbase; //@line 4009 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $108=$m_addr; //@line 4009 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $seg=(($108+444)|0); //@line 4009 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $base140=(($seg)|0); //@line 4009 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($base140)>>2)]=$107; //@line 4009 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $109=$tsize; //@line 4010 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $110=$m_addr; //@line 4010 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $seg141=(($110+444)|0); //@line 4010 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $size142=(($seg141+4)|0); //@line 4010 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($size142)>>2)]=$109; //@line 4010 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $111=$mmap_flag; //@line 4011 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $112=$m_addr; //@line 4011 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $seg143=(($112+444)|0); //@line 4011 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sflags=(($seg143+12)|0); //@line 4011 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($sflags)>>2)]=$111; //@line 4011 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $113=HEAP32[((((_mparams)|0))>>2)]; //@line 4012 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $114=$m_addr; //@line 4012 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $magic=(($114+36)|0); //@line 4012 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($magic)>>2)]=$113; //@line 4012 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $115=$m_addr; //@line 4013 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $release_checks=(($115+32)|0); //@line 4013 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($release_checks)>>2)]=-1; //@line 4013 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $116=$m_addr; //@line 4014 "/home/terminal/emscripten/system/lib/dlmalloc.c"
_init_bins($116); //@line 4014 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $117=$m_addr; //@line 4016 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp144=(($117)|0)==((__gm_)|0); //@line 4016 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp144) { __label__ = 60; break; } else { __label__ = 61; break; } //@line 4016 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 60:
var $118=$m_addr; //@line 4017 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $119=$tbase; //@line 4017 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $120=$119; //@line 4017 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $121=$tsize; //@line 4017 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub146=(($121-40)|0); //@line 4017 "/home/terminal/emscripten/system/lib/dlmalloc.c"
_init_top($118, $120, $sub146); //@line 4017 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 62; break; //@line 4017 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 61:
var $122=$m_addr; //@line 4022 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $123=$122; //@line 4022 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr148=(($123-8)|0); //@line 4022 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $124=$add_ptr148; //@line 4022 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $125=$124; //@line 4022 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $126=$m_addr; //@line 4022 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $127=$126; //@line 4022 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr149=(($127-8)|0); //@line 4022 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $128=$add_ptr149; //@line 4022 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head=(($128+4)|0); //@line 4022 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $129=HEAP32[(($head)>>2)]; //@line 4022 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and150=$129 & -8; //@line 4022 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr151=(($125+$and150)|0); //@line 4022 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $130=$add_ptr151; //@line 4022 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$mn=$130; //@line 4022 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $131=$m_addr; //@line 4023 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $132=$mn; //@line 4023 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $133=$tbase; //@line 4023 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $134=$tsize; //@line 4023 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr152=(($133+$134)|0); //@line 4023 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $135=$mn; //@line 4023 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $136=$135; //@line 4023 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub_ptr_lhs_cast153=$add_ptr152; //@line 4023 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub_ptr_rhs_cast154=$136; //@line 4023 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub_ptr_sub155=(($sub_ptr_lhs_cast153-$sub_ptr_rhs_cast154)|0); //@line 4023 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub156=(($sub_ptr_sub155-40)|0); //@line 4023 "/home/terminal/emscripten/system/lib/dlmalloc.c"
_init_top($131, $132, $sub156); //@line 4023 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 62; break;
case 62:
__label__ = 88; break; //@line 4025 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 63:
var $137=$m_addr; //@line 4029 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $seg159=(($137+444)|0); //@line 4029 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$sp=$seg159; //@line 4029 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 64; break; //@line 4031 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 64:
var $138=$sp; //@line 4031 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp160=(($138)|0)!=0; //@line 4031 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp160) { __label__ = 65; break; } else { var $144 = 0;__label__ = 66; break; } //@line 4031 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 65:
var $139=$tbase; //@line 4031 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $140=$sp; //@line 4031 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $base161=(($140)|0); //@line 4031 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $141=HEAP32[(($base161)>>2)]; //@line 4031 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $142=$sp; //@line 4031 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $size162=(($142+4)|0); //@line 4031 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $143=HEAP32[(($size162)>>2)]; //@line 4031 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr163=(($141+$143)|0); //@line 4031 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp164=(($139)|0)!=(($add_ptr163)|0); //@line 4031 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $144 = $cmp164;__label__ = 66; break;
case 66:
var $144;
if ($144) { __label__ = 67; break; } else { __label__ = 68; break; }
case 67:
var $145=$sp; //@line 4032 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $next=(($145+8)|0); //@line 4032 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $146=HEAP32[(($next)>>2)]; //@line 4032 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$sp=$146; //@line 4032 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 64; break; //@line 4032 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 68:
var $147=$sp; //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp165=(($147)|0)!=0; //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp165) { __label__ = 69; break; } else { __label__ = 74; break; } //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 69:
var $148=$sp; //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sflags167=(($148+12)|0); //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $149=HEAP32[(($sflags167)>>2)]; //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and168=$149 & 8; //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool169=(($and168)|0)!=0; //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool169) { __label__ = 74; break; } else { __label__ = 70; break; } //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 70:
var $150=$sp; //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sflags171=(($150+12)|0); //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $151=HEAP32[(($sflags171)>>2)]; //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and172=$151 & 0; //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $152=$mmap_flag; //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp173=(($and172)|0)==(($152)|0); //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp173) { __label__ = 71; break; } else { __label__ = 74; break; } //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 71:
var $153=$m_addr; //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $top175=(($153+24)|0); //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $154=HEAP32[(($top175)>>2)]; //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $155=$154; //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $156=$sp; //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $base176=(($156)|0); //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $157=HEAPU32[(($base176)>>2)]; //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp177=(($155)>>>0) >= (($157)>>>0); //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp177) { __label__ = 72; break; } else { __label__ = 74; break; } //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 72:
var $158=$m_addr; //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $top179=(($158+24)|0); //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $159=HEAP32[(($top179)>>2)]; //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $160=$159; //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $161=$sp; //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $base180=(($161)|0); //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $162=HEAP32[(($base180)>>2)]; //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $163=$sp; //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $size181=(($163+4)|0); //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $164=HEAP32[(($size181)>>2)]; //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr182=(($162+$164)|0); //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp183=(($160)>>>0) < (($add_ptr182)>>>0); //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp183) { __label__ = 73; break; } else { __label__ = 74; break; } //@line 4033 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 73:
var $165=$tsize; //@line 4037 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $166=$sp; //@line 4037 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $size185=(($166+4)|0); //@line 4037 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $167=HEAP32[(($size185)>>2)]; //@line 4037 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add186=(($167+$165)|0); //@line 4037 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($size185)>>2)]=$add186; //@line 4037 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $168=$m_addr; //@line 4038 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $169=$m_addr; //@line 4038 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $top187=(($169+24)|0); //@line 4038 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $170=HEAP32[(($top187)>>2)]; //@line 4038 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $171=$m_addr; //@line 4038 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $topsize188=(($171+12)|0); //@line 4038 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $172=HEAP32[(($topsize188)>>2)]; //@line 4038 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $173=$tsize; //@line 4038 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add189=(($172+$173)|0); //@line 4038 "/home/terminal/emscripten/system/lib/dlmalloc.c"
_init_top($168, $170, $add189); //@line 4038 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 87; break; //@line 4039 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 74:
var $174=$tbase; //@line 4041 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $175=$m_addr; //@line 4041 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $least_addr191=(($175+16)|0); //@line 4041 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $176=HEAPU32[(($least_addr191)>>2)]; //@line 4041 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp192=(($174)>>>0) < (($176)>>>0); //@line 4041 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp192) { __label__ = 75; break; } else { __label__ = 76; break; } //@line 4041 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 75:
var $177=$tbase; //@line 4042 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $178=$m_addr; //@line 4042 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $least_addr194=(($178+16)|0); //@line 4042 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($least_addr194)>>2)]=$177; //@line 4042 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 76; break; //@line 4042 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 76:
var $179=$m_addr; //@line 4043 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $seg196=(($179+444)|0); //@line 4043 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$sp=$seg196; //@line 4043 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 77; break; //@line 4044 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 77:
var $180=$sp; //@line 4044 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp198=(($180)|0)!=0; //@line 4044 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp198) { __label__ = 78; break; } else { var $185 = 0;__label__ = 79; break; } //@line 4044 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 78:
var $181=$sp; //@line 4044 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $base200=(($181)|0); //@line 4044 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $182=HEAP32[(($base200)>>2)]; //@line 4044 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $183=$tbase; //@line 4044 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $184=$tsize; //@line 4044 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr201=(($183+$184)|0); //@line 4044 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp202=(($182)|0)!=(($add_ptr201)|0); //@line 4044 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $185 = $cmp202;__label__ = 79; break;
case 79:
var $185;
if ($185) { __label__ = 80; break; } else { __label__ = 81; break; }
case 80:
var $186=$sp; //@line 4045 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $next205=(($186+8)|0); //@line 4045 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $187=HEAP32[(($next205)>>2)]; //@line 4045 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$sp=$187; //@line 4045 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 77; break; //@line 4045 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 81:
var $188=$sp; //@line 4046 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp207=(($188)|0)!=0; //@line 4046 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp207) { __label__ = 82; break; } else { __label__ = 85; break; } //@line 4046 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 82:
var $189=$sp; //@line 4046 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sflags209=(($189+12)|0); //@line 4046 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $190=HEAP32[(($sflags209)>>2)]; //@line 4046 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and210=$190 & 8; //@line 4046 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool211=(($and210)|0)!=0; //@line 4046 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool211) { __label__ = 85; break; } else { __label__ = 83; break; } //@line 4046 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 83:
var $191=$sp; //@line 4046 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sflags213=(($191+12)|0); //@line 4046 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $192=HEAP32[(($sflags213)>>2)]; //@line 4046 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and214=$192 & 0; //@line 4046 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $193=$mmap_flag; //@line 4046 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp215=(($and214)|0)==(($193)|0); //@line 4046 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp215) { __label__ = 84; break; } else { __label__ = 85; break; } //@line 4046 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 84:
var $194=$sp; //@line 4049 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $base217=(($194)|0); //@line 4049 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $195=HEAP32[(($base217)>>2)]; //@line 4049 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$oldbase=$195; //@line 4049 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $196=$tbase; //@line 4050 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $197=$sp; //@line 4050 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $base218=(($197)|0); //@line 4050 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($base218)>>2)]=$196; //@line 4050 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $198=$tsize; //@line 4051 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $199=$sp; //@line 4051 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $size219=(($199+4)|0); //@line 4051 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $200=HEAP32[(($size219)>>2)]; //@line 4051 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add220=(($200+$198)|0); //@line 4051 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($size219)>>2)]=$add220; //@line 4051 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $201=$m_addr; //@line 4052 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $202=$tbase; //@line 4052 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $203=$oldbase; //@line 4052 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $204=$nb_addr; //@line 4052 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $call221=_prepend_alloc($201, $202, $203, $204); //@line 4052 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$retval=$call221; //@line 4052 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 92; break; //@line 4052 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 85:
var $205=$m_addr; //@line 4055 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $206=$tbase; //@line 4055 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $207=$tsize; //@line 4055 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $208=$mmap_flag; //@line 4055 "/home/terminal/emscripten/system/lib/dlmalloc.c"
_add_segment($205, $206, $207, $208); //@line 4055 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 86; break;
case 86:
__label__ = 87; break;
case 87:
__label__ = 88; break;
case 88:
var $209=$nb_addr; //@line 4059 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $210=$m_addr; //@line 4059 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $topsize226=(($210+12)|0); //@line 4059 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $211=HEAPU32[(($topsize226)>>2)]; //@line 4059 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp227=(($209)>>>0) < (($211)>>>0); //@line 4059 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp227) { __label__ = 89; break; } else { __label__ = 90; break; } //@line 4059 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 89:
var $212=$nb_addr; //@line 4060 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $213=$m_addr; //@line 4060 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $topsize229=(($213+12)|0); //@line 4060 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $214=HEAP32[(($topsize229)>>2)]; //@line 4060 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $sub230=(($214-$212)|0); //@line 4060 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($topsize229)>>2)]=$sub230; //@line 4060 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$rsize=$sub230; //@line 4060 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $215=$m_addr; //@line 4061 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $top231=(($215+24)|0); //@line 4061 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $216=HEAP32[(($top231)>>2)]; //@line 4061 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$p=$216; //@line 4061 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $217=$p; //@line 4062 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $218=$217; //@line 4062 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $219=$nb_addr; //@line 4062 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr232=(($218+$219)|0); //@line 4062 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $220=$add_ptr232; //@line 4062 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $221=$m_addr; //@line 4062 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $top233=(($221+24)|0); //@line 4062 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($top233)>>2)]=$220; //@line 4062 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$r=$220; //@line 4062 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $222=$rsize; //@line 4063 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or234=$222 | 1; //@line 4063 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $223=$r; //@line 4063 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head235=(($223+4)|0); //@line 4063 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($head235)>>2)]=$or234; //@line 4063 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $224=$nb_addr; //@line 4064 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or236=$224 | 1; //@line 4064 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or237=$or236 | 2; //@line 4064 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $225=$p; //@line 4064 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head238=(($225+4)|0); //@line 4064 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($head238)>>2)]=$or237; //@line 4064 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $226=$p; //@line 4067 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $227=$226; //@line 4067 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr239=(($227+8)|0); //@line 4067 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$retval=$add_ptr239; //@line 4067 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 92; break; //@line 4067 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 90:
__label__ = 91; break; //@line 4069 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 91:
var $call242=___errno(); //@line 4071 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($call242)>>2)]=12; //@line 4071 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$retval=0; //@line 4072 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 92; break; //@line 4072 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 92:
var $228=$retval; //@line 4073 "/home/terminal/emscripten/system/lib/dlmalloc.c"
;
return $228; //@line 4073 "/home/terminal/emscripten/system/lib/dlmalloc.c"
default: assert(0, "bad label: " + __label__);
}
}
_sys_alloc["X"]=1;
function _free($mem) {
;
var __label__;
__label__ = 1;
while(1) switch(__label__) {
case 1:
var $mem_addr;
var $p;
var $psize;
var $next;
var $prevsize;
var $prev;
var $F;
var $B;
var $I;
var $TP;
var $XP;
var $R;
var $F60;
var $RP;
var $CP;
var $H;
var $C0;
var $C1;
var $tsize;
var $dsize;
var $nsize;
var $F245;
var $B247;
var $I249;
var $TP285;
var $XP286;
var $R288;
var $F293;
var $RP306;
var $CP317;
var $H343;
var $C0385;
var $C1386;
var $I447;
var $B449;
var $F452;
var $tp;
var $H475;
var $I476;
var $X;
var $Y;
var $N;
var $K;
var $T;
var $K525;
var $C;
var $F558;
$mem_addr=$mem;
var $0=$mem_addr; //@line 4740 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp=(($0)|0)!=0; //@line 4740 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp) { __label__ = 2; break; } else { __label__ = 196; break; } //@line 4740 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 2:
var $1=$mem_addr; //@line 4741 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr=(($1-8)|0); //@line 4741 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $2=$add_ptr; //@line 4741 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$p=$2; //@line 4741 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $3=$p; //@line 4753 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $4=$3; //@line 4753 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $5=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4753 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp1=(($4)>>>0) >= (($5)>>>0); //@line 4753 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp1) { __label__ = 3; break; } else { var $8 = 0;__label__ = 4; break; } //@line 4753 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 3:
var $6=$p; //@line 4753 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head=(($6+4)|0); //@line 4753 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $7=HEAP32[(($head)>>2)]; //@line 4753 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and=$7 & 3; //@line 4753 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp2=(($and)|0)!=1; //@line 4753 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $8 = $cmp2;__label__ = 4; break;
case 4:
var $8;
var $land_ext=(($8)&1);
var $expval=(($land_ext)==(1));
var $tobool=(($expval)|0)!=0;
if ($tobool) { __label__ = 5; break; } else { __label__ = 193; break; }
case 5:
var $9=$p; //@line 4754 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head4=(($9+4)|0); //@line 4754 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $10=HEAP32[(($head4)>>2)]; //@line 4754 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and5=$10 & -8; //@line 4754 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$psize=$and5; //@line 4754 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $11=$p; //@line 4755 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $12=$11; //@line 4755 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $13=$psize; //@line 4755 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr6=(($12+$13)|0); //@line 4755 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $14=$add_ptr6; //@line 4755 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$next=$14; //@line 4755 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $15=$p; //@line 4756 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head7=(($15+4)|0); //@line 4756 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $16=HEAP32[(($head7)>>2)]; //@line 4756 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and8=$16 & 1; //@line 4756 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool9=(($and8)|0)!=0; //@line 4756 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool9) { __label__ = 77; break; } else { __label__ = 6; break; } //@line 4756 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 6:
var $17=$p; //@line 4757 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $prev_foot=(($17)|0); //@line 4757 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $18=HEAP32[(($prev_foot)>>2)]; //@line 4757 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$prevsize=$18; //@line 4757 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $19=$p; //@line 4758 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head11=(($19+4)|0); //@line 4758 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $20=HEAP32[(($head11)>>2)]; //@line 4758 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and12=$20 & 3; //@line 4758 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp13=(($and12)|0)==0; //@line 4758 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp13) { __label__ = 7; break; } else { __label__ = 8; break; } //@line 4758 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 7:
var $21=$prevsize; //@line 4759 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add=(($21+16)|0); //@line 4759 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $22=$psize; //@line 4759 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add15=(($22+$add)|0); //@line 4759 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$psize=$add15; //@line 4759 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 195; break; //@line 4762 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 8:
var $23=$p; //@line 4765 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $24=$23; //@line 4765 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $25=$prevsize; //@line 4765 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $idx_neg=(((-$25))|0); //@line 4765 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr16=(($24+$idx_neg)|0); //@line 4765 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $26=$add_ptr16; //@line 4765 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$prev=$26; //@line 4765 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $27=$prevsize; //@line 4766 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $28=$psize; //@line 4766 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add17=(($28+$27)|0); //@line 4766 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$psize=$add17; //@line 4766 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $29=$prev; //@line 4767 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$p=$29; //@line 4767 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $30=$prev; //@line 4768 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $31=$30; //@line 4768 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $32=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4768 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp18=(($31)>>>0) >= (($32)>>>0); //@line 4768 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv=(($cmp18)&1); //@line 4768 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval19=(($conv)==(1)); //@line 4768 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool20=(($expval19)|0)!=0; //@line 4768 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool20) { __label__ = 9; break; } else { __label__ = 74; break; } //@line 4768 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 9:
var $33=$p; //@line 4769 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $34=HEAP32[((((__gm_+20)|0))>>2)]; //@line 4769 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp22=(($33)|0)!=(($34)|0); //@line 4769 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp22) { __label__ = 10; break; } else { __label__ = 70; break; } //@line 4769 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 10:
var $35=$prevsize; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr=$35 >>> 3; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp25=(($shr)>>>0) < 32; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp25) { __label__ = 11; break; } else { __label__ = 23; break; } //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 11:
var $36=$p; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd=(($36+8)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $37=HEAP32[(($fd)>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$F=$37; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $38=$p; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $bk=(($38+12)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $39=HEAP32[(($bk)>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$B=$39; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $40=$prevsize; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr28=$40 >>> 3; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$I=$shr28; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $41=$F; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $42=$B; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp29=(($41)|0)==(($42)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp29) { __label__ = 12; break; } else { __label__ = 13; break; } //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 12:
var $43=$I; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl=1 << $43; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $neg=$shl ^ -1; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $44=HEAP32[((((__gm_)|0))>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and32=$44 & $neg; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[((((__gm_)|0))>>2)]=$and32; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 22; break; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 13:
var $45=$F; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $46=$I; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl34=$46 << 1; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx=((((__gm_+40)|0)+($shl34<<2))|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $47=$arrayidx; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $48=$47; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp35=(($45)|0)==(($48)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp35) { __label__ = 15; break; } else { __label__ = 14; break; } //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 14:
var $49=$F; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $50=$49; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $51=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp37=(($50)>>>0) >= (($51)>>>0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp37) { __label__ = 15; break; } else { var $60 = 0;__label__ = 18; break; } //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 15:
var $52=$B; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $53=$I; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl40=$53 << 1; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx41=((((__gm_+40)|0)+($shl40<<2))|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $54=$arrayidx41; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $55=$54; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp42=(($52)|0)==(($55)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp42) { var $59 = 1;__label__ = 17; break; } else { __label__ = 16; break; } //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 16:
var $56=$B; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $57=$56; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $58=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp44=(($57)>>>0) >= (($58)>>>0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $59 = $cmp44;__label__ = 17; break; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 17:
var $59;
var $60 = $59;__label__ = 18; break;
case 18:
var $60;
var $land_ext47=(($60)&1);
var $expval48=(($land_ext47)==(1));
var $tobool49=(($expval48)|0)!=0;
if ($tobool49) { __label__ = 19; break; } else { __label__ = 20; break; }
case 19:
var $61=$B; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $62=$F; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $bk51=(($62+12)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($bk51)>>2)]=$61; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $63=$F; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $64=$B; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd52=(($64+8)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($fd52)>>2)]=$63; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 21; break; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 20:
_abort(); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 21:
__label__ = 22; break;
case 22:
__label__ = 69; break; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 23:
var $65=$p; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $66=$65; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$TP=$66; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $67=$TP; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $parent=(($67+24)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $68=HEAP32[(($parent)>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$XP=$68; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $69=$TP; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $bk56=(($69+12)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $70=HEAP32[(($bk56)>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $71=$TP; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp57=(($70)|0)!=(($71)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp57) { __label__ = 24; break; } else { __label__ = 28; break; } //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 24:
var $72=$TP; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd61=(($72+8)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $73=HEAP32[(($fd61)>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$F60=$73; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $74=$TP; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $bk62=(($74+12)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $75=HEAP32[(($bk62)>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$R=$75; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $76=$F60; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $77=$76; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $78=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp63=(($77)>>>0) >= (($78)>>>0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv64=(($cmp63)&1); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval65=(($conv64)==(1)); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool66=(($expval65)|0)!=0; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool66) { __label__ = 25; break; } else { __label__ = 26; break; } //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 25:
var $79=$R; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $80=$F60; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $bk68=(($80+12)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($bk68)>>2)]=$79; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $81=$F60; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $82=$R; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd69=(($82+8)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($fd69)>>2)]=$81; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 27; break; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 26:
_abort(); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 27:
__label__ = 40; break; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 28:
var $83=$TP; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child=(($83+16)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx73=(($child+4)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$RP=$arrayidx73; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $84=HEAP32[(($arrayidx73)>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$R=$84; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp74=(($84)|0)!=0; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp74) { __label__ = 30; break; } else { __label__ = 29; break; } //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 29:
var $85=$TP; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child77=(($85+16)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx78=(($child77)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$RP=$arrayidx78; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $86=HEAP32[(($arrayidx78)>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$R=$86; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp79=(($86)|0)!=0; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp79) { __label__ = 30; break; } else { __label__ = 39; break; } //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 30:
__label__ = 31; break; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 31:
var $87=$R; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child82=(($87+16)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx83=(($child82+4)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$CP=$arrayidx83; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $88=HEAP32[(($arrayidx83)>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp84=(($88)|0)!=0; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp84) { var $91 = 1;__label__ = 33; break; } else { __label__ = 32; break; } //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 32:
var $89=$R; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child87=(($89+16)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx88=(($child87)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$CP=$arrayidx88; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $90=HEAP32[(($arrayidx88)>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp89=(($90)|0)!=0; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $91 = $cmp89;__label__ = 33; break; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 33:
var $91;
if ($91) { __label__ = 34; break; } else { __label__ = 35; break; } //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 34:
var $92=$CP; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$RP=$92; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $93=HEAP32[(($92)>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$R=$93; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 31; break; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 35:
var $94=$RP; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $95=$94; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $96=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp92=(($95)>>>0) >= (($96)>>>0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv93=(($cmp92)&1); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval94=(($conv93)==(1)); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool95=(($expval94)|0)!=0; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool95) { __label__ = 36; break; } else { __label__ = 37; break; } //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 36:
var $97=$RP; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($97)>>2)]=0; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 38; break; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 37:
_abort(); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 38:
__label__ = 39; break; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 39:
__label__ = 40; break;
case 40:
var $98=$XP; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp101=(($98)|0)!=0; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp101) { __label__ = 41; break; } else { __label__ = 68; break; } //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 41:
var $99=$TP; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $index=(($99+28)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $100=HEAP32[(($index)>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx104=((((__gm_+304)|0)+($100<<2))|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$H=$arrayidx104; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $101=$TP; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $102=$H; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $103=HEAP32[(($102)>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp105=(($101)|0)==(($103)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp105) { __label__ = 42; break; } else { __label__ = 45; break; } //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 42:
var $104=$R; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $105=$H; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($105)>>2)]=$104; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp108=(($104)|0)==0; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp108) { __label__ = 43; break; } else { __label__ = 44; break; } //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 43:
var $106=$TP; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $index111=(($106+28)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $107=HEAP32[(($index111)>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl112=1 << $107; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $neg113=$shl112 ^ -1; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $108=HEAP32[((((__gm_+4)|0))>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and114=$108 & $neg113; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[((((__gm_+4)|0))>>2)]=$and114; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 44; break; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 44:
__label__ = 52; break; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 45:
var $109=$XP; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $110=$109; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $111=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp117=(($110)>>>0) >= (($111)>>>0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv118=(($cmp117)&1); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval119=(($conv118)==(1)); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool120=(($expval119)|0)!=0; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool120) { __label__ = 46; break; } else { __label__ = 50; break; } //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 46:
var $112=$XP; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child122=(($112+16)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx123=(($child122)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $113=HEAP32[(($arrayidx123)>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $114=$TP; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp124=(($113)|0)==(($114)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp124) { __label__ = 47; break; } else { __label__ = 48; break; } //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 47:
var $115=$R; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $116=$XP; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child127=(($116+16)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx128=(($child127)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($arrayidx128)>>2)]=$115; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 49; break; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 48:
var $117=$R; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $118=$XP; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child130=(($118+16)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx131=(($child130+4)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($arrayidx131)>>2)]=$117; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 49; break;
case 49:
__label__ = 51; break; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 50:
_abort(); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 51:
__label__ = 52; break;
case 52:
var $119=$R; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp136=(($119)|0)!=0; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp136) { __label__ = 53; break; } else { __label__ = 67; break; } //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 53:
var $120=$R; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $121=$120; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $122=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp139=(($121)>>>0) >= (($122)>>>0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv140=(($cmp139)&1); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval141=(($conv140)==(1)); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool142=(($expval141)|0)!=0; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool142) { __label__ = 54; break; } else { __label__ = 65; break; } //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 54:
var $123=$XP; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $124=$R; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $parent144=(($124+24)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($parent144)>>2)]=$123; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $125=$TP; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child145=(($125+16)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx146=(($child145)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $126=HEAP32[(($arrayidx146)>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$C0=$126; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp147=(($126)|0)!=0; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp147) { __label__ = 55; break; } else { __label__ = 59; break; } //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 55:
var $127=$C0; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $128=$127; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $129=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp150=(($128)>>>0) >= (($129)>>>0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv151=(($cmp150)&1); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval152=(($conv151)==(1)); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool153=(($expval152)|0)!=0; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool153) { __label__ = 56; break; } else { __label__ = 57; break; } //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 56:
var $130=$C0; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $131=$R; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child155=(($131+16)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx156=(($child155)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($arrayidx156)>>2)]=$130; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $132=$R; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $133=$C0; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $parent157=(($133+24)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($parent157)>>2)]=$132; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 58; break; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 57:
_abort(); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 58:
__label__ = 59; break; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 59:
var $134=$TP; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child161=(($134+16)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx162=(($child161+4)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $135=HEAP32[(($arrayidx162)>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$C1=$135; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp163=(($135)|0)!=0; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp163) { __label__ = 60; break; } else { __label__ = 64; break; } //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 60:
var $136=$C1; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $137=$136; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $138=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp166=(($137)>>>0) >= (($138)>>>0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $conv167=(($cmp166)&1); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $expval168=(($conv167)==(1)); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool169=(($expval168)|0)!=0; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool169) { __label__ = 61; break; } else { __label__ = 62; break; } //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 61:
var $139=$C1; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $140=$R; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $child171=(($140+16)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx172=(($child171+4)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($arrayidx172)>>2)]=$139; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $141=$R; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $142=$C1; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $parent173=(($142+24)|0); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($parent173)>>2)]=$141; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 63; break; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 62:
_abort(); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 63:
__label__ = 64; break; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 64:
__label__ = 66; break; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 65:
_abort(); //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
throw "Reached an unreachable!" //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 66:
__label__ = 67; break; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 67:
__label__ = 68; break; //@line 4770 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 68:
__label__ = 69; break;
case 69:
__label__ = 73; break; //@line 4771 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 70:
var $143=$next; //@line 4772 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head183=(($143+4)|0); //@line 4772 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $144=HEAP32[(($head183)>>2)]; //@line 4772 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and184=$144 & 3; //@line 4772 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp185=(($and184)|0)==3; //@line 4772 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp185) { __label__ = 71; break; } else { __label__ = 72; break; } //@line 4772 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 71:
var $145=$psize; //@line 4773 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[((((__gm_+8)|0))>>2)]=$145; //@line 4773 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $146=$next; //@line 4774 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head188=(($146+4)|0); //@line 4774 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $147=HEAP32[(($head188)>>2)]; //@line 4774 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and189=$147 & -2; //@line 4774 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($head188)>>2)]=$and189; //@line 4774 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $148=$psize; //@line 4774 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or=$148 | 1; //@line 4774 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $149=$p; //@line 4774 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head190=(($149+4)|0); //@line 4774 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($head190)>>2)]=$or; //@line 4774 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $150=$psize; //@line 4774 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $151=$p; //@line 4774 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $152=$151; //@line 4774 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $153=$psize; //@line 4774 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr191=(($152+$153)|0); //@line 4774 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $154=$add_ptr191; //@line 4774 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $prev_foot192=(($154)|0); //@line 4774 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($prev_foot192)>>2)]=$150; //@line 4774 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 195; break; //@line 4775 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 72:
__label__ = 73; break;
case 73:
__label__ = 75; break; //@line 4777 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 74:
__label__ = 194; break; //@line 4779 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 75:
__label__ = 76; break;
case 76:
__label__ = 77; break; //@line 4781 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 77:
var $155=$p; //@line 4783 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $156=$155; //@line 4783 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $157=$next; //@line 4783 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $158=$157; //@line 4783 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp199=(($156)>>>0) < (($158)>>>0); //@line 4783 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp199) { __label__ = 78; break; } else { var $161 = 0;__label__ = 79; break; } //@line 4783 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 78:
var $159=$next; //@line 4783 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head202=(($159+4)|0); //@line 4783 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $160=HEAP32[(($head202)>>2)]; //@line 4783 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and203=$160 & 1; //@line 4783 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool204=(($and203)|0)!=0; //@line 4783 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $161 = $tobool204;__label__ = 79; break;
case 79:
var $161;
var $land_ext206=(($161)&1);
var $expval207=(($land_ext206)==(1));
var $tobool208=(($expval207)|0)!=0;
if ($tobool208) { __label__ = 80; break; } else { __label__ = 192; break; }
case 80:
var $162=$next; //@line 4784 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head210=(($162+4)|0); //@line 4784 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $163=HEAP32[(($head210)>>2)]; //@line 4784 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and211=$163 & 2; //@line 4784 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $tobool212=(($and211)|0)!=0; //@line 4784 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($tobool212) { __label__ = 153; break; } else { __label__ = 81; break; } //@line 4784 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 81:
var $164=$next; //@line 4785 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $165=HEAP32[((((__gm_+24)|0))>>2)]; //@line 4785 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp214=(($164)|0)==(($165)|0); //@line 4785 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp214) { __label__ = 82; break; } else { __label__ = 87; break; } //@line 4785 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 82:
var $166=$psize; //@line 4786 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $167=HEAP32[((((__gm_+12)|0))>>2)]; //@line 4786 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add217=(($167+$166)|0); //@line 4786 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[((((__gm_+12)|0))>>2)]=$add217; //@line 4786 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$tsize=$add217; //@line 4786 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $168=$p; //@line 4787 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[((((__gm_+24)|0))>>2)]=$168; //@line 4787 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $169=$tsize; //@line 4788 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or218=$169 | 1; //@line 4788 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $170=$p; //@line 4788 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head219=(($170+4)|0); //@line 4788 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($head219)>>2)]=$or218; //@line 4788 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $171=$p; //@line 4789 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $172=HEAP32[((((__gm_+20)|0))>>2)]; //@line 4789 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp220=(($171)|0)==(($172)|0); //@line 4789 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp220) { __label__ = 83; break; } else { __label__ = 84; break; } //@line 4789 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 83:
HEAP32[((((__gm_+20)|0))>>2)]=0; //@line 4790 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[((((__gm_+8)|0))>>2)]=0; //@line 4791 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 84; break; //@line 4792 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 84:
var $173=$tsize; //@line 4793 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $174=HEAPU32[((((__gm_+28)|0))>>2)]; //@line 4793 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp224=(($173)>>>0) > (($174)>>>0); //@line 4793 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp224) { __label__ = 85; break; } else { __label__ = 86; break; } //@line 4793 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 85:
var $call=_sys_trim(__gm_, 0); //@line 4794 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 86; break; //@line 4794 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 86:
__label__ = 195; break; //@line 4795 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 87:
var $175=$next; //@line 4797 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $176=HEAP32[((((__gm_+20)|0))>>2)]; //@line 4797 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp229=(($175)|0)==(($176)|0); //@line 4797 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp229) { __label__ = 88; break; } else { __label__ = 89; break; } //@line 4797 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 88:
var $177=$psize; //@line 4798 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $178=HEAP32[((((__gm_+8)|0))>>2)]; //@line 4798 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add232=(($178+$177)|0); //@line 4798 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[((((__gm_+8)|0))>>2)]=$add232; //@line 4798 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$dsize=$add232; //@line 4798 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $179=$p; //@line 4799 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[((((__gm_+20)|0))>>2)]=$179; //@line 4799 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $180=$dsize; //@line 4800 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $or233=$180 | 1; //@line 4800 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $181=$p; //@line 4800 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head234=(($181+4)|0); //@line 4800 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($head234)>>2)]=$or233; //@line 4800 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $182=$dsize; //@line 4800 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $183=$p; //@line 4800 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $184=$183; //@line 4800 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $185=$dsize; //@line 4800 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add_ptr235=(($184+$185)|0); //@line 4800 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $186=$add_ptr235; //@line 4800 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $prev_foot236=(($186)|0); //@line 4800 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[(($prev_foot236)>>2)]=$182; //@line 4800 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 195; break; //@line 4801 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 89:
var $187=$next; //@line 4804 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $head238=(($187+4)|0); //@line 4804 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $188=HEAP32[(($head238)>>2)]; //@line 4804 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and239=$188 & -8; //@line 4804 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$nsize=$and239; //@line 4804 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $189=$nsize; //@line 4805 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $190=$psize; //@line 4805 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $add240=(($190+$189)|0); //@line 4805 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$psize=$add240; //@line 4805 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $191=$nsize; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr241=$191 >>> 3; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp242=(($shr241)>>>0) < 32; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp242) { __label__ = 90; break; } else { __label__ = 102; break; } //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 90:
var $192=$next; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $fd246=(($192+8)|0); //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $193=HEAP32[(($fd246)>>2)]; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$F245=$193; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $194=$next; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $bk248=(($194+12)|0); //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $195=HEAP32[(($bk248)>>2)]; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$B247=$195; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $196=$nsize; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shr250=$196 >>> 3; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
$I249=$shr250; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $197=$F245; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $198=$B247; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp251=(($197)|0)==(($198)|0); //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp251) { __label__ = 91; break; } else { __label__ = 92; break; } //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 91:
var $199=$I249; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl254=1 << $199; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $neg255=$shl254 ^ -1; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $200=HEAP32[((((__gm_)|0))>>2)]; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $and256=$200 & $neg255; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
HEAP32[((((__gm_)|0))>>2)]=$and256; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
__label__ = 101; break; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 92:
var $201=$F245; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $202=$I249; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl258=$202 << 1; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx259=((((__gm_+40)|0)+($shl258<<2))|0); //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $203=$arrayidx259; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $204=$203; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp260=(($201)|0)==(($204)|0); //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp260) { __label__ = 94; break; } else { __label__ = 93; break; } //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 93:
var $205=$F245; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $206=$205; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $207=HEAPU32[((((__gm_+16)|0))>>2)]; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $cmp263=(($206)>>>0) >= (($207)>>>0); //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
if ($cmp263) { __label__ = 94; break; } else { var $216 = 0;__label__ = 97; break; } //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
case 94:
var $208=$B247; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $209=$I249; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $shl266=$209 << 1; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $arrayidx267=((((__gm_+40)|0)+($shl266<<2))|0); //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $210=$arrayidx267; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
var $211=$210; //@line 4806 "/home/terminal/emscripten/system/lib/dlmalloc.c"
v
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment