Created
April 15, 2012 09:55
-
-
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.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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